[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Handling native libs within a Virtual Machine



Matthias Klose wrote:
>> If I follow the instructions for "Local installation" [2] which keeping
>> Debian Policy [3] in mind I then can do the following (to simulate
> 
> local installations should never install directly into /usr, always in
> /usr/local.  I think the Debian packaging guidelines are clear about that.

Right.  I was "simulating" (part) of what a Debian package would do
based on my interpretation of Debian Java Policy.

>> What does everyone think of this alternative?
> 
> Please correct me if I'm wrong, but binaries must be able to run
> without an explicit set of environment variables.  With your setup
> every additional binary would need to setup this runtime
> environment. Even applications not directly depending on a jni library
> would need to know about that environment.

Can you clarify "binaries must be able to run without an explicit set of
environment variables"?

The only case where an environment variable would be required is
for those applications that depend on a jni libary -- and the only environment
variable needed then is LD_LIBRARY_PATH.  And then the only addition
to LD_LIBRARY_PATH is the canonical location for Java native
libraries: /usr/lib/jni.  As such that location could be added in
/etc/environment or even more generally to ldconfig(8).  Either of these
solutions would eliminate the need for ALL Java launchers setting ANY
environment variables (were that the desired goal).

In examining an Etch system I find the following (partial output):
tmarble@tv 3% cd /usr/bin
tmarble@tv 4% grep LD_LIBRARY_PATH *
dh_shlibdeps:Before dpkg-shlibdeps is run, LD_LIBRARY_PATH will have added to it the
dpkg-shlibdeps:if ($ENV{LD_LIBRARY_PATH}) {
fakeroot:if test -n "$LD_LIBRARY_PATH"; then
firefox:## Set LD_LIBRARY_PATH
Binary file gdb matches
Binary file gdbtui matches
kaffe:# CLASSPATH and LD_LIBRARY_PATH as needed.
mozilla:## Set LD_LIBRARY_PATH
Binary file nautilus matches
Binary file php matches
Binary file php4 matches
Binary file php4-cgi matches
Binary file php-cgi matches
unix-lpr.sh:LD_LIBRARY_PATH=${X11HOME}/lib
tmarble@tv 5%

And so I'm wondering if a clarification of Debian Java Policy for JVM's would
allow us to address this bug:

sun-java5-jre does not add /usr/lib/jni to the library path
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=382686

Regards,

--Tom

_____________________________________________________________________________
Tom.Marble@sun.com
Senior Java Performance Engineer                       Sun Microsystems, Inc.
http://blogs.sun.com/tmarble                What do you want from Java Libre?



Reply to: