This article will give some tips to find the origin of UnsatisfiedLinkError in the Data Management Agent. This error occurs when java tries to load a native library (.so) but cannot do so bacause the library file cannot be found or cannot be loaded because of missing dependencies.
Agent native libraries
The Agent has 2 native libraries:
- jras
On 64 bit systems this library is called libjras64.so and just libjras.so on 32 bit systems [1].
- db
On 64 bit systems this library is called libdb64.so and just libdb.so on 32 bit systems [1].
Both libraries must be in the installation directory of the Agent. Also make sure that the correct libraries are available for the architecture (32/64 bit).
Checking for library dependencies
The jras and db libraries also have dependencies on other system libraries like libc for instance. If any of these libraries are not available or not in the library path anUnsatisfiedLinkError will result. To check what system libraries are referenced and also if they are reachable or not, use the ldd command. Open a terminal in the Agent installation directory and run
ldd libdb.so
or
ldd libdb64.so
depending on the architecture. The ldd command will then list all the library dependencies and also show which dependant libraries are not reachable. Any reported problems have to be addressed (e.g. missing libraries will have to be installed etc) before the Agent will start up properly.
[1] Or where java runs in 32 bit mode on a 64 bit system
Comments
0 comments
Please sign in to leave a comment.