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: "Brothers, Eric" <ebrother at lehman dot com>
Subject: RE: Question/problem using SYBASE::DBD
Date: Feb 24 2005 4:51PM

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: owner-sybperl-l@peppler.org [mailto:owner-sybperl-l@peppler.org]
On Behalf Of Michael Peppler
Sent: Friday, February 18, 2005 11:47 AM
To: sybperl-l@peppler.org
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  -  mpeppler@peppler.org  -  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.