unsatisfied link error: lwjgl.getNativeLibraryVersion()

I get this error when trying to use the MilkshapeASCII demo.



I have lwjgl .9 and jme .6

I tried with lwjgl.jar 0.9 in my classpath as well as the (different) one in jme’s lib subdir.



What have I forgotten?



tone

Basically, you need to specify where your lwjgl.dll is. You do this by setting java.library.path as a VM parameter, like:



java -Djava.library.path=./lib jmetest.base.TestSimpleGame

I forget how to do all this SOOO rapidly.

I tried



C:funjme>java -Djava.library.path=./lib jmetest.renderer.loader.TestMilkshapeASCII



and got



url: file:/C:/fun/jme/jmetest/data/images/Monkey.jpg
Jun 3, 2004 3:34:25 PM com.jme.app.SimpleGame start
INFO: Application started.
Jun 3, 2004 3:34:25 PM com.jme.system.PropertiesIO <init>
INFO: PropertiesIO created
Jun 3, 2004 3:34:25 PM com.jme.system.PropertiesIO load
INFO: Read properties
Jun 3, 2004 3:34:28 PM com.jme.system.LWJGLDisplaySystem <init>
INFO: LWJGL Display System created.
java.lang.NoClassDefFoundError: org/lwjgl/Display
        at com.jme.system.LWJGLDisplaySystem.getValidDisplayMode(LWJGLDisplaySys
tem.java:187)
        at com.jme.system.LWJGLDisplaySystem.isValidDisplayMode(LWJGLDisplaySyst
em.java:90)
        at com.jme.system.PropertiesDialog.verifyAndSaveCurrentSelection(Propert
iesDialog.java:299)
        at com.jme.system.PropertiesDialog.access$000(PropertiesDialog.java:66)
        at com.jme.system.PropertiesDialog$2.actionPerformed(PropertiesDialog.ja
va:246)
        at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
        at javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(Unknow
n Source)
        at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
        at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
        at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Sour
ce)
        at java.awt.Component.processMouseEvent(Unknown Source)
        at java.awt.Component.processEvent(Unknown Source)
        at java.awt.Container.processEvent(Unknown Source)
        at java.awt.Component.dispatchEventImpl(Unknown Source)
        at java.awt.Container.dispatchEventImpl(Unknown Source)
        at java.awt.Component.dispatchEvent(Unknown Source)
        at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
        at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
        at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
        at java.awt.Container.dispatchEventImpl(Unknown Source)
        at java.awt.Window.dispatchEventImpl(Unknown Source)
        at java.awt.Component.dispatchEvent(Unknown Source)
        at java.awt.EventQueue.dispatchEvent(Unknown Source)
        at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown Source)

        at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
        at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
        at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
        at java.awt.EventDispatchThread.run(Unknown Source)



What am I missing?

tone

you need to set the classpath as well as the system path



C:funjme>java -cp ./lib/jme.jar;./lib/jmetest.jar;./lib/jmetest-data.jar;./lib/lwjgl.jar -Djava.library.path=./lib jmetest.renderer.loader.TestMilkshapeASCII



Or similar for your system



BTW, Milkshape ASCII is having some issues right now, I would use the regular milkshape loader (.ms3d files) for now.

Thanks, but it is still fussy. Sorry to lack the chops to grasp what is awry.



C:funjme>java -cp .;./lib/jme.jar;./lib/jmetest.jar;./lib/jmetest-data.jar;./lib/lwjgl.jar -Djava.library.path=./lib jmetest.renderer.TestManyChildren
url: file:/C:/fun/jme/jmetest/data/images/Monkey.jpg
Stats are true
java.lang.NoSuchMethodError: org.lwjgl.opengl.GL11.glLightfv(IILjava/nio/FloatBuffer;)V
        at com.jme.scene.state.LWJGLLightState.set(LWJGLLightState.java:115)
        at com.jme.scene.Spatial.setStates(Spatial.java:512)
        at com.jme.scene.Spatial.onDraw(Spatial.java:181)
        at com.jme.scene.Node.draw(Node.java:195)
        at com.jme.scene.Spatial.onDraw(Spatial.java:182)
        at com.jme.renderer.LWJGLRenderer.draw(LWJGLRenderer.java:1047)
        at jmetest.renderer.TestManyChildren.render(TestManyChildren.java:92)
        at com.jme.app.SimpleGame.start(SimpleGame.java:71)
        at jmetest.renderer.TestManyChildren.main(TestManyChildren.java:68)

Wait… classpath may have been finding obsolete versions of things!

Making way…



tone

You need to put lwjgl.jar in your classpath

Had it, but the wrong one. Thanks for your patient help.

Ran most of the test. The guy in the wheelchair was wild.



tone

No problem. I can sympathise on how strange java’s 50 million command parameters can be.

BTW MilkshapeASCII is fixed.