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: Tina Messmann <tina dot messmann at xinux dot de>
Subject: Re: problem bringing Sybase::DBlib to work
Date: Nov 22 2001 9:35AM

Michael Peppler wrote:

>Tina Messmann writes:
> > Hello All,
> > 
> > sorry if this is a stupid question, i am a beginner and just subscribed 
> > to this list.
> > I try to create a very simple script to connect to a Sybase Server.
> > When inserting the line 'use Sybase::DBlib;' and invoking the script, 
> > the following error occurs:
> > 
> > /usr/bin/perl: relocation error: 
> > /usr/local/lib/perl5/site_perl/5.6.1/i586-linux/auto/Sybase/DBlib/DBlib.so: 
> > undefined symbol: dbinit
> > 
> > I tried to use DBD::Sybase, but i get a similar error:
> > 
> > /usr/bin/perl: relocation error: 
> > /usr/local/lib/perl5/site_perl/5.6.1/i586-linux/auto/DBD/Sybase/Sybase.so: 
> > undefined symbol: cs_ctx_alloc
> > 
> > The installation of both modules worked fine.
>
>What this means is that neither libsybdb.so, nor libcs.so are linked
>into DBlib.so, respectively Sybase.so.
>
>So I have a feeling that the installation actually did not work
>correctly.
>
>First, try to do this:
>
>ldd /usr/local/lib/perl5/site_perl/5.6.1/i586-linux/auto/Sybase/DBlib/DBlib.so
>
>This should display something like this:
>
>troll (8:11AM):92 > ldd /usr/lib/perl5/site_perl/5.6.0/i386-linux/auto/Sybase/DBlib/DBlib.so 
>	libsybdb.so => /opt/sybase-12.5/OCS/lib/libsybdb.so (0x40023000)
>	libm.so.6 => /lib/libm.so.6 (0x400d9000)
>	libc.so.6 => /lib/libc.so.6 (0x400fb000)
>	/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x80000000)
>
>If libsybdb.so isn't listed, then your build did not work, and you
>should try to reinstall.
>
>Michael
>
Hello Michael,
i installed the freetds implementation of the CT-Lib and there i found 
the libsybdb.so.
Output from ldd is now:

sahadum:~# ldd 
/usr/local/lib/perl5/site_perl/5.6.1/i586-linux/auto/Sybase/DBlib/DBlib.so
       libsybdb.so.0 => /usr/local/sybase/lib/libsybdb.so.0 (0x40021000)
       libm.so.6 => /lib/libm.so.6 (0x4003a000)
       libc.so.6 => /lib/libc.so.6 (0x4005c000)
       /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x80000000)

Looks good regarding your answer....but now i get the following 
relocation error, when invoking the script:

/usr/bin/perl: relocation error: 
/usr/local/lib/perl5/site_perl/5.6.1/i586-linux/auto/Sybase/DBlib/DBlib.so: 
undefined symbol: dbsetlname

Any idea, what is now missing?

Thanks in advance
Tina