[Fixed] Error "No physics implementation was registered nor found!" on OS X

I'm using jME-Physics 2.1 on Mac OS X (Mac Intel) and I get this error, when I try to launch Lesson1 :





9 f?vr. 2008 12:30:26 org.odejava.Odejava <clinit>

GRAVE: Native code library (32 and 64 bit library) failed to load: java.lang.UnsatisfiedLinkError: /Library/Java/Extensions/libodejava.jnilib:

java.lang.UnsatisfiedLinkError: /Library/Java/Extensions/libodejava.jnilib:

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

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

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

        at java.lang.Runtime.loadLibrary0(Runtime.java:822)

        at java.lang.System.loadLibrary(System.java:992)

        at org.odejava.Odejava.<clinit>(Odejava.java:88)

        at com.jmex.physics.impl.ode.OdePhysicsSpace$OdeFactory.getImplementationVersion(OdePhysicsSpace.java:210)

        at com.jmex.physics.PhysicsSpace.scanAvailableImplementations(PhysicsSpace.java:370)

        at com.jmex.physics.PhysicsSpace.create(PhysicsSpace.java:339)

        at com.jmex.physics.util.SimplePhysicsGame.initSystem(SimplePhysicsGame.java:90)

        at com.jme.app.BaseGame.start(Unknown Source)

        at Lesson1.main(Lesson1.java:97)

9 f?vr. 2008 12:30:26 com.jmex.physics.PhysicsSpace scanAvailableImplementations

ATTENTION: Failed to use physics implementation 'com.jmex.physics.impl.ode.OdePhysicsSpace$OdeFactory' due to Exception/Error: java.lang.UnsupportedOperationException: Failed to load natives

java.lang.UnsupportedOperationException: Failed to load natives

        at org.odejava.Odejava.init(Odejava.java:125)

        at com.jmex.physics.impl.ode.OdePhysicsSpace$OdeFactory.getImplementationVersion(OdePhysicsSpace.java:210)

        at com.jmex.physics.PhysicsSpace.scanAvailableImplementations(PhysicsSpace.java:370)

        at com.jmex.physics.PhysicsSpace.create(PhysicsSpace.java:339)

        at com.jmex.physics.util.SimplePhysicsGame.initSystem(SimplePhysicsGame.java:90)

        at com.jme.app.BaseGame.start(Unknown Source)

        at Lesson1.main(Lesson1.java:97)

Caused by: java.lang.UnsatisfiedLinkError: /Library/Java/Extensions/libodejava.jnilib:

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

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

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

        at java.lang.Runtime.loadLibrary0(Runtime.java:822)

        at java.lang.System.loadLibrary(System.java:992)

        at org.odejava.Odejava.<clinit>(Odejava.java:88)

        … 6 more

9 f?vr. 2008 12:30:26 class Lesson1 start()

GRAVE: Exception in game loop

java.lang.IllegalStateException: No physics implementation was registered nor found!

        at com.jmex.physics.PhysicsSpace.create(PhysicsSpace.java:347)

        at com.jmex.physics.util.SimplePhysicsGame.initSystem(SimplePhysicsGame.java:90)

        at com.jme.app.BaseGame.start(Unknown Source)

        at Lesson1.main(Lesson1.java:97)





I am using libodejava.jnilib from the jme-physics-2.1.zip archive.



Any idea to solve this problem ? Thank you.



[edit] I got an old version of libodejava.jnilib in my path. I deleted it, and everything works fine.

Make sure you have the -Djava.library.path=<path_to_ode>/impl/lib in your IDE settings or your command line.