RE: Question/problem using SYBASE::DBD
"Brothers, Eric" <[email protected]>
| Newsgroups | gmane.comp.lang.perl.modules.dbi.sybase |
|---|---|
| Message-ID | <750FEEDC21AA8345BD8353D74A5D2F4802797C@njcmgexm025.leh.lbcorp.lehman.com> |
I've slimmed down my LD_LIB_PATH and confirmed (via truss) that the libcomn_r lib is loading from $SYBASE/$SYBASE_OCS/lib but for some reason no luck. Nm of the offending .so (libskrb.so.12.5.1.0) yields [93] | 0| 0|FUNC |GLOB |0 |UNDEF |com_unsignstrncmp While nm of the libcomn_r.so yields [1286] | 191452| 92|FUNC |GLOB |0 |8 |com_unsignstrncmp Note: both are in the same lib directory I noticed that when I compiled a test ctlib program (dynamically linked) with kerberos support using Forte, I didn't have any issues using kerberos... Unfortuately looks like I have to use gcc (using 3.2.2 at the moment) to compile the DBD mod (Sybase.so)...So is gcc the cause of this issue? I'm getting a sinking feeling that there is some silliness going on with the symbol tables. I don't understand why it can't find the symbol...since truss shows libcomn_r.so opening before libskrb.so.12.5.1.0. Also noticed the same problem with the SybPerl mod. Thanks in advance for any advice. Rgds, Eric -----Original Message----- From: [email protected] [mailto:[email protected]] On Behalf Of Michael Peppler Sent: Friday, February 18, 2005 11:47 AM To: [email protected] Subject: Re: Question/problem using SYBASE::DBD On Mon, 2005-02-14 at 17:55, Brothers, Eric wrote: > I'm trying to use kerberos authentication with the latest version of > your sybase DBD module (DBD-Sybase-1.05) and the latest version of DBI > (DBI-1.47) on Solaris 8. I'm using perl 5.8. > Both DBI and the DBD compile just fine. But when I run a test program > I can't seem to load the appropriate kerberos libs. > > bash-2.03$ ./kerbSybTest.pl > ld.so.1: /opt/perl-5.8.0/bin/perl: fatal: relocation error: file > ../ASE-12_52/OCS-12_5/lib/libskrb.so.12.5.1.0: symbol > com_unsignstrncmp: referenced symbol not found > Killed Double check the LD_LIBRARY_PATH values to make sure that the correct version of the libraries are loaded at run-time. > > Funny thing is, isql -V works just fine. > > Any ideas? How can the same sech mech entry work for isql (ctlib) and > fail for dbd (ctlib)? ctlib is statically linked (well, for most things). The comn_xxx symbols should normally be found in the libcomn.so library. If you happen to pick up the wrong one at run time you'll get errors. Michael -- Michael Peppler - [email protected] - http://www.peppler.org/ Sybase DBA/Developer Sybase on Linux FAQ: http://www.peppler.org/FAQ/linux.html ------------------------------------------------------------------------------ This message is intended only for the personal and confidential use of the designated recipient(s) named above. If you are not the intended recipient of this message you are hereby notified that any review, dissemination, distribution or copying of this message is strictly prohibited. This communication is for information purposes only and should not be regarded as an offer to sell or as a solicitation of an offer to buy any financial product, an official confirmation of any transaction, or as an official statement of Lehman Brothers. Email transmission cannot be guaranteed to be secure or error-free. Therefore, we do not represent that this information is complete or accurate and it should not be relied upon as such. All information is subject to change without notice.