Update installation path for libjdic.so and libtray.so
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
libjdic-java (Ubuntu) |
New
|
Undecided
|
Unassigned |
Bug Description
Binary package hint: libjdic-bin
Currently, installation of package libjdic-bin will put JNI libraries (libjdic.so and libtray.so) to /usr/lib/jni
But when using JDIC with SUN JRE, this path isn't in the java.library.path.
(Standard SUN JRE library path is /usr/lib/
So the libjdic.so isn't find in the library path and Java applications will crash with a UnsatisfiedLink
It would be interesting to update the destination path for libjdic.so and libtray.so to /usr/lib ?
Ubuntu: 9.10
libjdic-bin: 0.9.5-3ubuntu1
sun-java6-jre: 6-15-1
In Lucid even copying libraries to /usr/lib doesnot solve the problem, giving error: UnsatisfiedLink Error: Can't load library: /usr/lib/ jvm/java- 6-sun-1. 6.0.20/ jre/lib/ amd64/server: /usr/lib/ jvm/java- 6-sun-1. 6.0.20/ jre/lib/ amd64:/ usr/lib/ jvm/java- 6-sun-1. 6.0.20/ jre/../ lib/amd64: /usr/java/ packages/ lib/amd64: /usr/lib64: /lib64: /lib:/usr/ lib/libjdic. so
Caused by: java.lang.
I could only solve this error modifing the source code and hard-code the path in System.load of load_native_ library. diff
Ubuntu : 10.04 reflect. InvocationTarge tException NativeMethodAcc essorImpl. invoke0( Native Method) NativeMethodAcc essorImpl. invoke( NativeMethodAcc essorImpl. java:39) DelegatingMetho dAccessorImpl. invoke( DelegatingMetho dAccessorImpl. java:25) reflect. Method. invoke( Method. java:597) jdic.tray. internal. ServiceManager. getService( Unknown Source) jdic.tray. TrayIcon. <init>( Unknown Source) IconTray. loadIcon( IconTray. java:45) TestTomcat. main(TestTomcat .java:40) UnsatisfiedLink Error: Can't load library: /usr/lib/ jvm/java- 6-sun-1. 6.0.20/ jre/lib/ amd64/server: /usr/lib/ jvm/java- 6-sun-1. 6.0.20/ jre/lib/ amd64:/ usr/lib/ jvm/java- 6-sun-1. 6.0.20/ jre/../ lib/amd64: /usr/java/ packages/ lib/amd64: /usr/lib64: /lib64: /lib:/usr/ lib/libjdic. so ClassLoader. loadLibrary( ClassLoader. java:1702) Runtime. load0(Runtime. java:770) System. load(System. java:1003) jdic.init. JdicManager$ 1.run(Unknown Source) AccessControlle r.doPrivileged( Native Method) jdic.init. JdicManager. loadLibrary( Unknown Source) jdic.tray. internal. impl.GnomeTrayA ppletService. <clinit> (Unknown Source) jdic.tray. internal. impl.ServiceMan agerStub_ unix.getService (Unknown Source)
libjdic-bin/kava : 0.9.5-3ubuntu2
sub-java6-jre : 6.20dlj-1ubuntu3
-----
Full error:
java.lang.
at sun.reflect.
at sun.reflect.
at sun.reflect.
at java.lang.
at org.jdesktop.
at org.jdesktop.
at TestTomcat.
at TestTomcat.
Caused by: java.lang.
at java.lang.
at java.lang.
at java.lang.
at org.jdesktop.
at java.security.
at org.jdesktop.
at org.jdesktop.
at org.jdesktop.
... 8 more