[python-sybase] relocation error when importing Sybase

skip at pobox.com skip at pobox.com
Wed Nov 23 05:52:58 EST 2005


    >> > ImportError: ld.so.1: python: fatal: relocation error: file /home/
    >> > disk1/server/lib/libtcl.so: symbol svr4_tli: referenced symbol not
    >> > found
    >> 
    >> Check that your LD_LIBRARY_PATH is set right.
    >> (i.e. $SYBASE/SYBASE.sh is sourced.)

    Marcos> It seems that we need more explicit error messages ;-)

That's only useful up to a point.  There are plenty of error messages in
Python that could be more user-friendly.  This probably isn't one of them
though.  The code in Python that raises the ImportError exception doesn't
really know the details of why the import failed, only that it failed.
dlopen() failures can happen for lots of reasons.  Here's the relevant bit
from the dlopen() man page on Solaris 10 about return values.

     The dlopen() function returns NULL  if  pathname  cannot  be
     found,  cannot  be  opened  for  reading, or is not a shared
     object or a relocatable object. dlopen() also  returns  NULL
     if an error occurs during the process of loading pathname or
     relocating its symbolic references.  See  NOTES.  Additional
     diagnostic information is available through dlerror().

Python (perhaps helpfully, perhaps not) regurgitates the message from
dlerror().  It has no control over the content of that message, and it
probably has no business trying to interpret it.

-- 
Skip Montanaro
Katrina Benefit Concerts: http://www.musi-cal.com/katrina
skip at pobox.com


More information about the Python-sybase mailing list