Re[2]: [python-sybase] installation problem of the Sybase module

Andrew McNamara andrewm at object-craft.com.au
Wed, 03 Apr 2002 18:12:40 +1000


>Yes, setting LD_LIBRARY_PATH will fix it, but problem is that one does not
>always have control of its value, as it can be overridden by some other
>application.  

Yep.

>Btw.  the sympton of the problem is that it complains about
>missing symbol comn_free.  I've seen that both on linux and Solaris.

I'm guessing that libintl is related to gettext() internationalisation,
and Sybase is shipping their own version of the library that is
incompatible with the linux one (neither my RH or my Debian system appear
to have one, BTW).

>As to "-R", that can be used, but better is to use -rpath. 
>
>>From GNU ld man page:
>
>           For  compatibility with other ELF linkers, if the "-R"
>           option is followed by a directory name, rather than  a
>           file name, it is treated as the "-rpath" option.

Ah - thanks for that. I was a little hasty in my reading.

>Indeed it might be preferable to use -rpath in setup.py.  The problem with
>that is when you are delivering binaries.  Then it may be that the target
>machine has Sybase client libs in a different directory, like if they have
>12.5 client libs and not 11.9.2, or have installed those into user
>directory.

Yes. While either LD_LIBRARY_PATH or -R will let you work around this
problem, neither are really "the answer". Sybase probably should be naming
their version of the library differently (but then, you may still have
symbol name collisions).

>Another option would be to link statically.

Sigh.

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