JNI access to shared library that depends on other shared libraries, gives fatal relocation error
0 posts in topic
Flat View  Flat View
TOPIC ACTIONS:
 

Posted By:   Veniamin_Bourakov
Posted On:   Friday, August 10, 2001 03:57 PM

I am trying to JNI wrap one of the shared libraries that are currently used as part of our C++ application. This library depends on other libraries that are linked to the aplication. So when I accessing Solaris version of the library from Java through JNI, I am getting the following error: Exception in thread "main" java.lang.UnsatisfiedLinkError: /nms/base/lib/_solaris/libTopoJNI.so: ld.so.1: /usr/j2se/bin/../bin/sparc/native_threads/java: fatal: relocation error: file /nms/base/lib/_solaris/libTopoJNI.so: symbol __0dTRWCollectableStringG__vtbl: referenced symbol not found All the required libraries are in the LD_LIBRARY_PATH. Should I do System.loadLibrary() on every dependent library?   More>>

I am trying to JNI wrap one of the shared libraries that are currently used as part of our C++ application. This library depends on other libraries that are linked to the aplication. So when I accessing Solaris version of the library from Java through JNI, I am getting the following error:



Exception in thread "main" java.lang.UnsatisfiedLinkError: /nms/base/lib/_solaris/libTopoJNI.so: ld.so.1: /usr/j2se/bin/../bin/sparc/native_threads/java: fatal: relocation error: file /nms/base/lib/_solaris/libTopoJNI.so: symbol __0dTRWCollectableStringG__vtbl: referenced symbol not found



All the required libraries are in the LD_LIBRARY_PATH.



Should I do System.loadLibrary() on every dependent library?

Or how do I solve this?



thanks



P.S. It works on NT, but I'll have to make it work on AIX and HP-UX as well after this

   <<Less
About | Sitemap | Contact