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

Question ID : 217
Created on 2013-11-19 at 9:17 AM
Author : Veryant Support [support@veryant.com]

Online URL : http://support.veryant.com/support/phpkb/question.php?ID=217



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).


Back to Original Question