A lot of Java libraries are no longer pure Java, they quite often are wrappers around other native libraries, making them available to Java developers. This is all fine, until you run into the problem that libraries cannot be located and your application simply exits (since the naughty library developers are using a hard
System.exit(x) call). The larger your application, then longer it will take to get to the point where it tanks. Sometimes, especially when migrating to a new server, it is useful to just test whether all your native libraries are present and your application will work (well, at least from the native library point of view).
With that in mind, I created a tiny library called loadlib4j, which allows you to quickly test from the command-line, whether libraries are present or not.
You can run it like this to look for the Intel MKL runtime library, which needs to be on
LD_LIBRARY_PATH under Linux (for Windows, the
mkl_rt.dll library must on the
java -jar loadlib4j-0.0.1.jar libmkl_rt.so
This will output something like this:
libmkl_rt.so: false libmkl_rt: false mkl_rt: true
The tool automatically tests loading the library without extension and
lib prefix as well. So you don’t have to be too careful. 😉
You can supply as many libraries as arguments to the tool as you wish.