Odejava/ode binaries on intel mac

I just got an intel mac and unsurprisingly none of my jme-physics code works on it.  Does anyone know where I can get binaries of ode and odejava, or do I need to build them myself?


There are no builds of jmephysics for intel mac yet. I would like to switch jME Physics 2 to ODE 0.6 as it was released recently. You could make sure that one compiles on intel macs smoothly. If yes the way to a jmephysics2 build should be short…

I will certainly try, but I've had real difficulty finding out how to build odejava from source

ok, I have no problem compiling ode source into a library, but I don't think I'm generating the jni for it correctly (i.e. going from libode.dylib to libodejava.jnilib).  When I try to incorporate my generated libodejava.jnilib into jmephysics, I get unsatisfied link errors.



Following the instructions in odejava (simply running the make-osx.sh script) doesn't seem to work without a little bit of tweaking of the swig-generated odejava.cxx file (it seems to be missing a declaration, it's not clear to me why, though I can make it work by hacking in the missing declarations into odejava.cxx).  I'm also not clear whether I should be using the swig-generated .java files, or the ones supplied in the jme-physics cvs. (By the way, I'm using the old jme-physics at the moment as I have an existing project which uses that.  I'm happy to convert it across though, just haven't got around to it yet).



if anyone can shed any light on these problems, it would be very much appreciated

Old jmephysics (from sourceforge) should work with odejava binaries. Don't use the generated source but the existing one. Which links are unsatisfied?

oh, wait they renamed some things in ODE 0.6 maybe ccylinder stuff is missing? (it's 'capsule' now)

I'm not trying to use ODE 0.6 yet, I figured I'd try with existing code first.  Here's the exception



SEVERE: Native code library failed to load: java.lang.UnsatisfiedLinkError: get_ODEJAVA_VERSION

java.lang.NoClassDefFoundError: org.odejava.ode.OdeConstants

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

at com.jmex.physics.PhysicsWorld.<init>(PhysicsWorld.java:191)



I'm guessing it's caused by confusion between the swig-generated java and the equivalent classes in the jme-physics project.  I'll try again following your instructions and see where I get from there.


get_ODEJAVA_VERSION is defined in odejava it does not matter which ODE version you use. Try the latest odejava release with ode 0.5 though to get the old jmephysics working. 0.6 won't work with odejava, I think.

If get_ODEJAVA_VERSION is not found your library does not export that function, meaning it is lacking something from the odejava.cxx file or it is not a jni lib at all.