Re: ANNOUNCE: DBD::Sybase 1.08
"Jason L. Froebe" <[email protected]> Tue, 8 May 2007 04:53:38 -0700 (PDT)
| Newsgroups | gmane.comp.lang.perl.modules.dbi.sybase |
|---|---|
| Message-ID | <[email protected]> |
Hi Michael, I thought it was specifically for 64bit. I never ran across it on 32bit that I recall. No matter, good info :) jason --- [email protected] 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 > [email protected]@peppler.org - 07.05.2007 20:07 > > Sent by: [email protected] > 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 <[email protected]> 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 <[email protected]> > > > > > > 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