I don't know how else to describe it, I can't get jME 2 to do anything. I keep getting this singularly unhelpful error:
java.lang.UnsatisfiedLinkError: /System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Libraries/liblwjgl.jnilib: no suitable image found. Did find: /System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Libraries/liblwjgl.jnilib: no matching architecture in universal wrapper
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1878)
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1779)
at java.lang.Runtime.loadLibrary0(Runtime.java:823)
at java.lang.System.loadLibrary(System.java:1045)
at org.lwjgl.Sys$1.run(Sys.java:72)
at java.security.AccessController.doPrivileged(Native Method)
at org.lwjgl.Sys.doLoadLibrary(Sys.java:65)
at org.lwjgl.Sys.loadLibrary(Sys.java:81)
at org.lwjgl.Sys.<clinit>(Sys.java:98)
at org.lwjgl.opengl.Display.<clinit>(Display.java:129)
at com.jme.system.lwjgl.LWJGLPropertiesDialog$ModesRetriever.run(LWJGLPropertiesDialog.java:682)
at com.jme.app.AbstractGame.getAttributes(AbstractGame.java:252)
at com.jme.app.BaseGame.start(BaseGame.java:67)
at jmetest.scene.TestPassNode.main(TestPassNode.java:62)
I have the lwjgl natives set up correctly, I even downloaded the distribution from the lwjgl site and used those.
If i try to force it to use the 32-bit JRE, i get a version mismatch error. If i forcibly replace the liblwjgl.jnlib in the VM it blows up. I can't think of anything else to try.
Can anyone help?
I've gotten past that error, or superseded it, there's no way to tell, by deleting the liblwjgl.dnlib in my Java insallation. I'm now getting the
Native library not set - go to
http://www.jmonkeyengine.com/wiki/doku.php?id=no_lwjgl_in_java.library.path
for details.
java.lang.UnsatisfiedLinkError: no lwjgl in java.library.path
error message, even though I've pointed the lwjgl JARs to their natives. :|
So, by removing all swt (including jme-swt.jar) JARs and using swt_fake, combined with forcibly replacing the liblwjgl.dnlib in the Java installation with the newest version (I downloaded the latest from the lwjgl site and used the JARs too), it works.
That's messed up. Why would it be insisting on using the native library in the Java installation?
So, there's still no swt support for Mac OS X? I downloaded the latest version, added that in instead of swt_fake, and it blows up with the lock error. That's really bizarre, the latest version of swt was supposed to add Cocoa compatibility. Anyone know what's going on?
I too am interested in any compatibility issues with OS X. I'm developing on windows at the moment but would like to avoid any pitfalls for making the switch to OS X.
For me, everything works on SnowLeopard as it did in Leopard by going to Utilities->Java Preferences and choosing 32bit Java as the preferred one.
The LWJGL binaries that come with jme2 currently are only 32bit. If you need 64bit, get the newest version of LWJGL from their site.
SWT/Swing of course is always a problem because of the special Java UI implementation by Apple, don't know about the status, maybe it works by getting all the newest libs…