344 - UnsatisfiedLinkError on Unix/Linux Data Management Agent

Modified on Mon, 21 Jul at 12:55 PM

 

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

 

Was this article helpful?

That’s Great!

Thank you for your feedback

Sorry! We couldn't be helpful

Thank you for your feedback

Let us know how can we improve this article!

Select at least one of the reasons
CAPTCHA verification is required.

Feedback sent

We appreciate your effort and will try to fix the article