- "The JVM shared library '...libjvm.dylib' does not contain the JNI_CreateJavaVM symbol"

Last edited on

When trying to start the Squish IDE the following error dialog may be shown:

---------------------------------------
Squishide
---------------------------------------

 Alert

 The JVM shared library "/Users/myuser/squish-xyz/bin/ide/jre/Contents/Home/jre/bin/../lib/server/libjvm.dylib"
 does not contain the JNI_CreateJavaVM symbol.

---------------------------------------
 [OK]
---------------------------------------

This may happen only for older versions of OS X (it works on OS X 10.10).

This is caused by an issue in the built-in OS X unpacking tool, which incorrectly re-creates one of the files contained in Squish packages.

(More specifically: The file bin/ide/jre/Contents/MacOS/libjli.dylib is being created as a plain text file containing a relative path instead of being created as a symbolic link pointing to the path ../Home/jre/lib/jli/libjli.dylib.)

The solution is to delete the Squish package folder and then extract the Squish package again, but using a different extraction tool, for example The Unarchiver.