Missing native libraries: libbulletjme.dylib / liblwjgl.dylib

I have a friend who is trying to get jME3 to run, but is having some problems.

He’s running a Mac 32bit, which has no pre-installed JDK, so he has installed SoyLatte (http://landonf.bikemonkey.org/static/soylatte/).

Running a headless Application works fine, but when he tries to run a rendering program, he gets the following error:



com.jme3.system.Natives extractNativelib

WARNING: Cannot locate native library: macosx/libbulletjme.dylib

Exception in thread “LWJGL Renderer Thread” java.lang.UnsatisfiedLinkError: Can’t load library: /users/username/Documents/workspace/Project/liblwjgl.dylib

at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1651)

at java.lang.Runtime.load0(Runtime.java:770)

at java.lang.System.load(System.java:1005)

at org.lwjgl.Sys$1.run(Sys.java:70)

at java.security.AccessController.doPrivileged(Native Method)

at org.lwjgl.Sys.doLoadLibrary(Sys.java.66)

at org.lwjgl.Sys.loadLibrary(Sys.java:95)

at org.lwjgl.Sys.(Sys.java:112)

at com.jme3.system.lwjgl.LwjglAbstractDisplay.run(LwjglAbstractDisplay.java:204)

at java.lang.Thread.run(Thread.java:619)



He tried extracting liblwjgl.jnilib from the macosx natives folder in jME3-lwjgl-natives.jar and renaming it to liblwjgl.dylib, but then he got the following error instead:



com.jme3.system.Natives extractNativeLib

WARNING: Cannot locate native library: macosx/libbulletjme.dylib

Exception in thread “LWJGL Renderer Thread” java.lang.UnsatisfiedLinkError: /Users/username/Documents/workspace/Project/liblwjgl.dylib: dlopen(/Users/username/Documents/workspace/Project/liblwjgl.dylib, 1): Library not loaded: /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ImageIO.framework/Versions/A/Resources/libJPEG.dylib

Referenced from: /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ImageIO.framework/Versions/A/ImageIO

Reason: Incompatible library version: ImageIO requires version 1.0.0 or later, but libJPEG.dylib provides version 0.0.0

at java.lang.ClassLoader$NativeLibrary.load(Native Method)

at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1770)

at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1648)

at java.lang.Runtime.load0(Runtime.java:770)

at java.lang.System.load(System.java:1005)

at org.lwjgl.Sys$1.run(Sys.java:70)

at java.security.AccessController.doPrivileged(Native Method)

at org.lwjgl.Sys.doLoadLibrary(Sys.java:66)

at org.lwjgl.Sys.loadLibrary(Sys.java:95)

at org.lwjgl.Sys.(Sys.java:112)

at com.jme3.system.lwjgl.LwjglAbstractDisplay.run(LwjglAbstractDisplay.java:204)

at java.lang.Thread.run(Thread.java:619)



I’ll ask him to try extracting the libbulletjme.jnilib from jME3-bullet-natives.jar as well and see if that helps. Does anyone know why he’s getting this problem and if there is a solution?

native bullet needs to be compiled by you, there are not all binary distirbutions in it per default

Somethings wonky there. The extension is “jnilib” on macosx, why does he use SoyLatte? Its not working properly. You just need to update to OSX 10.6 to get the JDK6 (also on 32bit Intels).

1 Like

Ah, he has OSX 10.6 now and there is indeed JDK6 and now everything works! Thanks!