PEPPLER.ORG
Michael Peppler
Sybase Consulting
Menu
Home
Sybase on Linux
Install Guide for Sybase on Linux
General Sybase Resources
General Perl Resources
Freeware
Sybperl
Sybase::Simple
DBD::Sybase
BCP Tool
Bug Tracker
Mailing List Archive
Downloads Directory
FAQs
Sybase on Linux FAQ
Sybperl FAQ
Personal
Michael Peppler's resume

sybperl-l Archive

Up    Prev    Next    

From: Knut Behrends <knb at gfz-potsdam dot de>
Subject: Re: ANNOUNCE: DBD::Sybase 1.08
Date: May 7 2007 12:00PM

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