You have rpath to record search paths for shared libraries at link time. This enables you not to set LD_LIBRARY_PATH at runtime. Something like "cc -Wl,-rpath,/path/to/libdir -L/path/to/libdir -lfoo" is what you want. Le 18/03/2011 18:46, Mark Sienkiewicz a écrit :
The above just means my memory is too faulty to of much use ;). I'll just echo Carl's request for specific cases where $LD_LIBRARY_PATH needs to be set.
Here is a case that might resemble what you are talking about:
Compile a C extension that requires a shared library that is not in the standard system path. To import it, LD_LIBRARY_PATH needs to be right.
This is not really different from what happens in a compiled language, except in one way: In C, I can compile it -static or I can give the full path to the .so file. Either results in a thing that works without LD_LIBRARY_PATH.
With distutils, you can't. It goes to great lengths to ensure that you can only compile a C extension with "cc ... -L/some/directory -lname" -- I can't find any way to make it do "cc ... /some/directory/libname.so"
So, the real problem here is that distutils uses "cc -L", but it demonstrates a case where LD_LIBRARY_PATH can be important to a python program even when Python itself can run without it.
_______________________________________________ Distutils-SIG maillist - Distutils-SIG@python.org http://mail.python.org/mailman/listinfo/distutils-sig
-- Cordialement, KiOrKY GPG Key FingerPrint: 0x1A1194B7681112AF Pensez à l’environnement. N’imprimez ce courriel que si vous en avez vraiment besoin.