kiorky wrote:
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.
You left out the hard part: How do I make distutils do that?
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
_______________________________________________
Distutils-SIG maillist - Distutils-SIG@python.org
http://mail.python.org/mailman/listinfo/distutils-sig