|
|
sybperl-l Archive
Up Prev Next
From: "Jason L dot Froebe" <jason at froebe dot net>
Subject: Re: ANNOUNCE: DBD::Sybase 1.08
Date: May 8 2007 11:53AM
Hi Michael,
I thought it was specifically for 64bit. I never ran across it on
32bit that I recall. No matter, good info :)
jason
--- michael.peppler@bnpparibas.com wrote:
> Actually it has nothing to do with 64bit - and all to do with the way
> perl
> handles signals in threaded mode in perl 5.8 and later.
>
> But yes, using the reentrant libraries mean that signal handling is
> broken, and that any signal delivered to the program will result in a
>
> segfault.
>
> Michael
>
>
>
>
> Internet
> jason@froebe.net@peppler.org - 07.05.2007 20:07
>
> Sent by: owner-sybperl-l@peppler.org
> To: Stefan.Karlsson, knb, sybperl-l
> cc:
> Subject: Re: ANNOUNCE: DBD::Sybase 1.08
>
> DBD::Sybase shouldn't be compiled on Linux x86-64 using the reentrant
> libraries. It will segfault on certain signals. This is due to a
> bug
> with 64bit perl and not DBD::Sybase.
>
> So, use the non-reentrant libraries.
>
> jason
>
> --- Stefan Karlsson wrote:
>
> > The libraries specified are the 32-bit libraries:
> > -lsybct -lsybcs -lsybtcl -lsybcomn -lsybintl -lsybblk
> >
> > Use the 64-bit versions:
> > sybct64, sybcs64, sybblk64
> >
> > Also, note that the thread-safe versions of the libraries are named
> > _r,
> > e.g: sybct_r64
> >
> > I'm really completely oblivious to what the DBD module needs so
> this
> > is
> > in no way authoritative advise, but for client applications you
> only
> > need to specify sybct and sybcs with 15.0. For Bulk Library me
> thinks
> >
> > sybblk is needed too. So condensing my suggestion:
> >
> > replace: -lsybct -lsybcs -lsybtcl -lsybcomn -lsybintl
> -lsybblk
> >
> > with: -lsybct64 -lsybcs64 -lsybblk64
> >
> > or, more likely: -lsybct_r64 -lsybcs_r64 -lsybblk_r64
> >
> > HTH,
> >
> > /Stefan
> >
> > Knut Behrends wrote:
> > > Hello Michael,
> > >
> > > just some feedback. No answer needed on this mail. I am posting
> > this to
> > > provide an entry for the mailing list archive...maybe this will
> > help
> > > another user a little bit, somehow.
> > >
> > > DBD::Sybase still does not compile on amd64, ASE 15 client libs.
> > Can't
> > > install DBD::Sybase on amd64 by means of CPAN/shell get and
> > CPAN/shell
> > > test. Please see info below.
> > >
> > > Instead, after unsuccessfully trying to install via CPAN, I have
> > managed
> > > to find a DBD::Sybase module that works by installing the
> > freetds-based
> > > "libdbd-sybase-perl" package that comes with the Ubuntu
> > distribution.
> > >
> > > However, I have no clear idea why it works, and what its
> > capabilities
> > > and bugs are.
> > >
> > > Best regards,
> > > Knut
> > >
> > >
> > > #####################################
> > >
> > > libdbd-sybase-perl
> > > Sybase/MS SQL database driver for the DBI module
> > > Package maintainer: Steve Langasek
> > >
> > > When I install it and run
> > > perl -MDBI -e '$dbh = DBI->connect("dbi:Sybase:SYBASE_MYSERVER",
> > "sa",
> > > "secret"); print "$dbh->{syb_oc_version}\n";'
> > > freetds v0.63
> > >
> > > ldd /usr/lib/perl5/auto/DBD/Sybase/Sybase.so
> > > libct.so.3 => /usr/lib/libct.so.3 (0x00002b7b4f429000)
> > > libtds.so.4 => /usr/lib/libtds.so.4 (0x00002b7b4f568000)
> > > libdl.so.2 => /lib/libdl.so.2 (0x00002b7b4f69d000)
> > > libm.so.6 => /lib/libm.so.6 (0x00002b7b4f7a1000)
> > > libc.so.6 => /lib/libc.so.6 (0x00002b7b4f922000)
> > > /lib64/ld-linux-x86-64.so.2 (0x0000555555554000)
> > >
> > >
> > > head /proc/version
> > > Linux version 2.6.17-11-generic (root@king) (gcc version 4.1.2
> > 20060928
> > > (prerelease) (Ubuntu 4.1.1-13ubuntu5)) #2 SMP Tue Mar 13 22:06:20
> > UTC
> > > 2007 (Ubuntu 2.6.17-11.37-generic
> > >
> > > perl -v
> > > This is perl, v5.8.8 built for x86_64-linux-gnu-thread-multi
> > >
> > > print "$DBI::VERSION\n";'
> > > 1.53
> > >
> > > print "$DBD::Sybase::VERSION\n";'
> > > 1.00
> > >
> > > ################
> > > DBD::Sybase 1.08 installation:
> > >
> > >
> > > make test
> > >
> > > cc -c -I/opt/sybase/OCS-15_0/include -DSYB_LP64
> > > -I/usr/local/lib/perl/5.8.8/auto/DBI -D_REENTRANT -D_GNU_SOURCE
> > > -DTHREADS_HAVE_PIDS -DDEBIAN -fno-strict-aliasing -pipe
> > > -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
> -O2
> > > -DVERSION=\"1.08\" -DXS_VERSION=\"1.08\" -fPIC
> > > "-I/usr/lib/perl/5.8/CORE" Sybase.c
> > > rm -f blib/arch/auto/DBD/Sybase/Sybase.so
> > > LD_RUN_PATH="/opt/sybase/OCS-15_0/lib" cc
> > -L/opt/sybase/OCS-15_0/lib
> > > -shared -L/usr/local/lib Sybase.o dbdimp.o -o
> > > blib/arch/auto/DBD/Sybase/Sybase.so \
> > > -L/opt/sybase/OCS-15_0/lib -lsybct -lsybcs -lsybtcl
> > -lsybcomn
> > > -lsybintl -lsybblk -ldl -lm \
> > >
> > > /usr/bin/ld: skipping incompatible
> > /opt/sybase/OCS-15_0/lib/libsybct.so
> > > when searching for -lsybct
> > > /usr/bin/ld: skipping incompatible
> > /opt/sybase/OCS-15_0/lib/libsybct.a
> > > when searching for -lsybct
> > > /usr/bin/ld: skipping incompatible
> > /opt/sybase/OCS-15_0/lib/libsybct.so
> > > when searching for -lsybct
> > > /usr/bin/ld: skipping incompatible
> > /opt/sybase/OCS-15_0/lib/libsybct.a
> > > when searching for -lsybct
> > > /usr/bin/ld: cannot find -lsybct
> > > collect2: ld returned 1 exit status
> > > make: *** [blib/arch/auto/DBD/Sybase/Sybase.so] Error 1
> > > /usr/bin/make -j3 -- NOT OK
> > > Running make test
> > > Can't test without successful make
> > > Failed during this command:
> > > MEWP/DBD-Sybase-1.08.tar.gz : make NO
> > >
> > > ################
> > > (Although, it would be nice if the library incompatibility
> problems
> > > mentioned below were solved...is it just some compiler switch I
> > should
> > > change/add?).
> > >
> > >
> > > Michael Peppler wrote:
> > >> I've just released DBD::Sybase 1.08 to CPAN. This a bug fix and
> > >> performance enhancement release.
> > >>
> > >> I'd like to thank Tim Bunce for his help with this release.
> > >>
> > >> From the CHANGES file:
> > >>
> > >> Release 1.08
> > >>
> > >> Detect missing libblk.a library, and disable the BLK api
> calls
> > >> if necessary.
> > >> Added code to force dlopen() to use RTLD_GLOBAL.
> > >> Corrected ct_option() functionality detection.
> > >> Fixed incorrect handling of bind_params() (Thanks to Tim
> > Bunce).
> > >> Added serverType DSN parameter.
> > >> Added tds_keepalive DSN parameter.
> > >> Fixed incorrect handling of multiple result sets with DBI
> > >> 1.53 and later.
> > >> Re-wrote $dbh->ping() in C, it's now four times faster.
> > >> Allow automated build without prompts.
> > >> Improved nsql().
> > >> Added corrected handling of DATE and TIME values (ASE 12.5.2
> > and
> > >> later).
> > >> Added handling of UNSIGNED INT and BIGINT (ASE 15 and
> later).
> > >> Added PERL_NO_GET_CONTEXT #define.
> > >>
> > >> Bug Fixes
> > >>
> > >> 624 - Empty strings incorrectly passed as NULL.
> > >> 616 - Spurious error message when the login request times
> out.
> > >> 614 - Documentation improvement for syb_xxx methods.
> > >> 610 - Segfault when using signals with the threaded
> libraries
> > and
> > >> perl >= 5.8.
> > >>
> > >>
> > >> As always, bug fixes, comments, etc. are welcome!
> > >>
> > >> Michael
> > >
> > >
> > >
> >
>
>
> Jason L. Froebe
>
> Help find a cure for breast cancer! Net proceeds benefit the Susan
> G.
> Komen Breast Cancer Foundation and the National Philanthropic Trust.
> Help
> by donating at http://www.the3day.org/chicago07/jfroebe - I'm walking
> 60
> miles in 3 days in August 2007. (The day I return from TechWave is
> the
> first day of the Walk)
>
> WebBlog http://jfroebe.livejournal.com
> Tech log http://www.froebe.net/blog
> Froebe Fibers http://www.froebe-fibers.com
>
>
> This message and any attachments (the "message") is
> intended solely for the addressees and is confidential.
> If you receive this message in error, please delete it and
> immediately notify the sender. Any use not in accord with
> its purpose, any dissemination or disclosure, either whole
> or partial, is prohibited except formal approval. The internet
> can not guarantee the integrity of this message.
> BNP PARIBAS (and its subsidiaries) shall (will) not
> therefore be liable for the message if modified.
>
> ---------------------------------------------
>
> Ce message et toutes les pieces jointes (ci-apres le
> "message") sont etablis a l'intention exclusive de ses
> destinataires et sont confidentiels. Si vous recevez ce
> message par erreur, merci de le detruire et d'en avertir
> immediatement l'expediteur. Toute utilisation de ce
> message non conforme a sa destination, toute diffusion
> ou toute publication, totale ou partielle, est interdite, sauf
> autorisation expresse. L'internet ne permettant pas
> d'assurer l'integrite de ce message, BNP PARIBAS (et ses
> filiales) decline(nt) toute responsabilite au titre de ce
> message, dans l'hypothese ou il aurait ete modifie.
>
>
Jason L. Froebe
Help find a cure for breast cancer! Net proceeds benefit the Susan G. Komen Breast Cancer Foundation and the National Philanthropic Trust. Help by donating at http://www.the3day.org/chicago07/jfroebe - I'm walking 60 miles in 3 days in August 2007. (The day I return from TechWave is the first day of the Walk)
WebBlog http://jfroebe.livejournal.com
Tech log http://www.froebe.net/blog
Froebe Fibers http://www.froebe-fibers.com
|