On Jul 17, 2007, at 1:12 PM, Simon BASLE wrote:
Correction to previous message :
it doesn't work in fact if I don't use the Java 1.4 version (that
comes
with my Ubuntu distribution, so it is not the sun implementation I
think).
If I do
System.load("/usr/lib/libsister.so");
System.load("/usr/lib/libfoo.so");
it works (in java 1.4)...
If I remove the first load (sister), it says that I have an "undefined
symbol" (which is declared in the sister library).
If I run it in java 1.5 I get the UnsatisfiedLinkError no matter what.
This seems to have something to do with JNI itself but I you have an
idea it is welcome :)
Try it in Java 1.6 and see if you get any more information in the
link error.
Try setting LD_LIBRARY_PATH to /usr/lib (this will likely work).
Compare the value of java.library.path in both versions (you might
dump all system properties and compare them for likely suspects).
I think there's also an envariable similar to LD_LIBRARY_PATH
(LD_DEBUG?) which if set causes the dynamic linker to produce debug
information.