Re: ANNOUNCE: DBD::Sybase 1.08
"Jason L. Froebe" <[email protected]> Mon, 7 May 2007 11:07:09 -0700 (PDT)
| Newsgroups | gmane.comp.lang.perl.modules.dbi.sybase |
|---|---|
| Message-ID | <[email protected]> |
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