Why do I get the error message “java.lang.UnsatisfiedLinkError: no ### in java.library.path?


This error means that the JVM failed to load a native library.

The library name is traced in the error message. A typical case in which this error can appear is when iscobol.file.index property is set to "ctree" or "ctree2" and isCOBOL is not able to find the c-tree client library (ctree.dll on Windows, libctree.so on Unix and libctree.jnilib on Mac OS X).

On Windows machines, native libraries are loaded from the paths listed in %PATH% environment variable.

On Unix, they’re loaded from the paths listed in $LD_LIBRARY_PATH environment variable (be aware that the name could be different depending on the o.s.).

On Mac OS X, they're loaded from the paths listed in $DYLD_LIBRARY_PATH environment variable.

To specify the library path in a cross-platform way, you can take advantage of the -Djava.library.path Java property (i.e. java -Djava.library.path=/home/isCOBOL2013R1/native/lib MAIN).


Article ID: 217
Created: November 19, 2013
Last Updated: December 5, 2013
Author: Support KB Author

Online URL: https://support.veryant.com/phpkb/article.php?id=217