PyLucene: How to package libraries that link against OpenJDK libraries?

Felix Schwarz felix.schwarz at oss.schwarz.eu
Mon Jun 2 12:31:26 UTC 2008


Andrew Haley wrote:
> Colin Walters wrote:
>> On Thu, May 22, 2008 at 5:33 PM, Felix Schwarz
>> <felix.schwarz at 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




More information about the devel mailing list