[python-sybase] dcl_result_drop symbol not found

Andrew McNamara andrewm at object-craft.com.au
Fri, 12 Sep 2003 13:33:43 +1000


>I found a post from April for this problem, but there was no resolution
>in the archives.
>
>I am attempting to use the Sybase module on Solaris 8 with Sybase 12.5.
>Everything installs fine, but when I try to 'import Sybase', I get the
>following error:
>
>>>> import Sybase
>Traceback (most recent call last):
>  File "<stdin>", line 1, in ?
>  File "/usr/local/lib/python2.2/site-packages/Sybase.py", line 20, in ?
>    from sybasect import *
>ImportError: ld.so.1: python: fatal: relocation error: file
>/opt/sybase/sol/OCS/lib/libct.so: symbol dcl_result_drop: referenced
>symbol not found

I'm just guessing here, but Solaris has a cute shared library search
path mechanism - you can use one path while building (-L), but specify
an alternate path to use when running (-R). What's probably happened is
that -L has been specified while building, which has allowed the build
to complete, but then when you go to run, you've only got the default
system path. 

You can use "ldd" to find out what /opt/sybase/sol/OCS/lib/libct.so is
dependant on (and what's missing). You can rebuild specifying -R at link
time (just make it the same as -L), or you can use LD_LIBRARY_PATH.

-- 
Andrew McNamara, Senior Developer, Object Craft
http://www.object-craft.com.au/