Java.lang.LinkageError: Version mismatch

I run into a problem just recently, (with an update of the SDK). After the update no one of my project is working, evan a fresh generated BasicGame won’t start.

I’m running a 2011 macbook pro with dedicated graphics. Someone else got this problem?

run: 2011-nov-25 13:57:02 com.jme3.system.JmeSystem initialize INFO: Running on jMonkeyEngine 3.0.0 Beta 2011-nov-25 13:57:02 com.jme3.system.Natives extractNativeLibs INFO: Extraction Directory: /Users/kwando/jMonkeyProjects/ErrorGame Exception in thread "LWJGL Renderer Thread" java.lang.LinkageError: Version mismatch: jar version is '22', native library version is '21' at org.lwjgl.Sys.<clinit>( at at BUILD SUCCESSFUL (total time: 3 seconds)

You seem to mix a wrong lwjgl.jar and jME3-lwjgl-natives.jar in your project. Did you set the project to save the libraries in its own /lib/ directory? The project should only have the jme3 and jme3-libraries registered under “Libraries” in the preferences.

Yeah, I kind of now what the problem is (wrong version of lwjgl lib and jme3) but I haven’t done anything suspicious, like fiddling with the libraries or things like that. Only the jme3 jar and jme3-libraries are listed in the Project Properties.

Projects seems to compile, but the wrong lwjgl lib-version is loaded when it’s time to run.

Thanks for the fast response, and I’m sorry to bother you guys with this kind of problems… Keep up the good work :slight_smile:

Hm, maybe you updated only part of the plugins? The libraries are in a different plugin. Definitely not something I can reproduce…

I will try to make a clean install of the SDK this weekend to see if I can nail the problem down. Thanks anyway. :slight_smile:

Maybe delete the dll files of old projects manually, maybe something goes wrong when the new ones are extracted and you still have old ones lying around? But you said its like that for new projects too, so probably not :confused:

I wiped my installation and used the installer from the Download tab and everything works as it should do, however when I install the updates it’s starting to give me the same mismatch error again.

This is what the updater is doing:

Android Support [ ->] Applet Support [ ->] AssetPack Support [ ->] Desktop Deployment Support [ ->] Font Creator [ ->] jMonkeyEngine3 External Libraries [ ->] jMonkeyEngine3 Library [ ->] Material Support [ ->] Model Import Tool [ ->] NiftyGUI Support [ ->] OgreXML Support [ ->] Project Templates [ ->] Project Test Data [ ->] SceneComposer [ ->] SDK Core [ ->] SDK Engine [ ->] SDK Libraries [ ->] Terrain Editor [ ->] Tests Template [ ->] Vehicle Creator [ ->] Welcome Screen [ ->]

Hm, the versions are correct and they contain the correct libraries… Really don’t know whats going wrong on your computer oO never heard of this issue from others.

Found it… I had put a lwjgl in the /Library/java/Extensions and set it up as a library inside Netbeans (not JMP). Removed that folder and everything works like a charm. :slight_smile:

1 Like

D’oh, OK :slight_smile: I had to do that too waaay back in jME2 times… Another reason to use jME3, it manages the native itself :wink:

I also encountered this error while trying to run the MonkeyZone demo game. In my case the conflict was caused by the file liblwjgl.jnilib in the root folder of the project after I brought the game down from SVN. Removing the liblwjgl.jnilib allowed the MonkeyZone client to start. By the way, big thanks to all the guys who work on this project, I am loving it so far!