Missing symbol in CVS and Beta2 of jmephysics2

I can't find anything about the problem I've been having running the jmephysics2 tutorials and interactive tests.

When I run with (as far as I can tell) all libraries and jars set up correctly, under linux, I get the error:

15-Apr-2006 19:20:35 org.odejava.Odejava <clinit>

SEVERE: Native code library failed to load: java.lang.UnsatisfiedLinkError: /path/lib/libodejava.so: /path/lib/libodejava.so: undefined symbol: _Z20dCollideSphereSphereP6dxGeomS0_iP12dContactGeomi

java.lang.UnsatisfiedLinkError: get_PARENTSPACEID_ZERO

at org.odejava.ode.OdeJNI.get_PARENTSPACEID_ZERO(Native Method)

at org.odejava.ode.Ode.getPARENTSPACEID_ZERO(Ode.java:73)

at org.odejava.Space.<clinit>(Space.java:76)

at com.jmex.physics.impl.ode.OdePhysicsSpace.<init>(OdePhysicsSpace.java:243)

at com.jmex.physics.impl.ode.OdePhysicsSpace$OdeFactory.create(OdePhysicsSpace.java:119)

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

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

at com.jme.app.BaseGame.start(BaseGame.java:61)

at net.java.dev.aircarrier.physicstest.Lesson1.main(Lesson1.java:69)

(I replaced the path with just "path", but it is correct. I'm not sure whether the line ending "Geomi" is being cut off or really ends like that).

I've tried getting ODE from CVS and adding to the library path, I don't know whether this is necessary, but I wasn't sure whether the odejava library contains ODE itself or just the JNI wrapper.

I get the same error using

  1. CVS source built by eclipse directly, with libs from CVS
  2. CVS source build with ANT in eclipse, with libs from CVS
  3. Tutorial code in eclipse, but using the jar and libs from beta2 zip (the stack trace is from this last attempt)

    I also wanted to ask about collision detection - the main reason I want jmephysics is to get accurate collision of moving bounding boxes with static meshes and bounding boxes, for a plane dogfighting game. I don't particularly want the physics simulation, since I don't want realistic physics, but rather behaviour like planes bouncing away from obstacles isntead of tumbling into them, but jme collisions don't seem to give enough information on collisions for this. Ideally, I would like to use jmephysics just to enforce non-intersection of the planes with the "level" by sliding the plane bounding box along objects it collides with, and leave setting of heading and desired velocity (velocity in the case of no contact) to my code. Would this be possible?

    [EDIT] Looks like I can do that… more or less, by setting friction to 0. I should check these things before I ask. That method works with jmephysics, so I assume it will still be ok in jmephysics2 if I ever get it working :slight_smile:

Me too :frowning: , i get this same error for all interactive tests since i updated from cvs today ???

i'm running on linux btw

dammit! That really looks like I forgot something when compiling the natives on linux. Unfortunately I'm on vocation and don't have a linux system with appropriate graphics card here to test it… stay tuned, I'll see what I can do here…

couldn’t get my linux vm to work :frowning: - maybe someone familiar with compiling with gcc/g++ can do it? Here is the ode+odejava source for it. You need to make ode-lib and then a dynamic lib (so) from odejavas .cxx and .cpp.

I’ll try to find the prob tomorrow again if nobody made it until then.

Ok, linux native is fixed now (in beta2 download and CVS). Sorry for that - ode Makefile was corrupted :expressionless:

Please try again (I ran the non-graphical tests here, only).

Hey relax some irrisor, it's easter weekend, time to take a break from Your great work on jme.

It's working fine as ever now :slight_smile:

I noticed however that the cylinder in TestBasicRepresentation is missing in the reset action and it behaves strange as when it comes to rest on the

ground it gets catapulted away?

Thanks irrisor, I didn't mean to send you off on a quest to fix it immediately :slight_smile:

I'll give it a go from both sources, thanks again for the fix.

[EDIT] Works fine, I also get the cylinder being launched into orbit though. I'll start switching my game over to it and see how it goes.

Ok, maybe not the best thread for this but as i started below - in lesson3 the red cube (stopper i belive) is vanishing (or forced away) when hitting the floor. (still on linux)

EDIT: and the line:

shingoki said:

Thanks irrisor, I didn't mean to send you off on a quest to fix it immediately :)

Hehe, sure - it just annoyed me that the release was broken.  :)

regarding those cylinder and infinity issues: that's quite interesting as I have read on the ODE mailing list that they'd exist, but never experienced them myself (on Windows). Seems I really have to compare behaviour of ODE on Windows and Linux (and probably Mac also).
Replacing infinity by a high value (1000 should already be ok) is fine to circumvent that one thing.
The problems with cylinder have not been solved in ODE yet. I think I'm going to wait for that - the ODE community seems quite active lately.

Hi Irrisor,

I have just downloaded the Beta 2 of the Physics Engine and I m still getting this

java.lang.UnsatisfiedLinkError: org.odejava.ode.OdeJNI.get_PARENTSPACEID_ZERO()J

What should I do



please don't cross-post.