Andrew Haley wrote:
Colin Walters wrote:On Thu, May 22, 2008 at 5:33 PM, Felix Schwarz <felix schwarz oss schwarz eu> wrote:d) JCC uses JNI so the library paths must be set correctly at runtime. Unfortunately, the OpenJDK package does not add its paths to /etc/ld.so.conf.d (did I miss something?) Is there another workaround besides using rpath (bad, see a) or filing a bug against OpenJDK?OpenJDK doesn't need to add its paths to /etc/ld.so.conf.d. It calls (for example)putenv("LD_LIBRARY_PATH=/usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/jre/lib/amd64/server:\ /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/jre/lib/amd64:\ /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/jre/../lib/amd64" + the old path.) and re-execs java.
Unfortunately, I don't see a possibility for me to do the same as OpenJDK does currently (maybe I'm just too blind to see). python-jcc is a Python library and how can I re-exec arbitrary programs which don't expect that?
Furthermore setting LD_LIBRARY_PATH is only useful for new processes so I can't just add this env variable in the library (before loading the binary module).
I filed a new review request so you may add comments directly in this bug: https://bugzilla.redhat.com/show_bug.cgi?id=449360 Thanks for your input :-) Felix Schwarz