Issues running from CVS head

I'm getting the following errors when running from CVS head:



Exception in thread "main" java.lang.UnsatisfiedLinkError: ODEJAVA_VERSION_get
   at org.odejava.ode.OdeJNI.ODEJAVA_VERSION_get(Native Method)
   at org.odejava.ode.OdeConstants.<clinit>(OdeConstants.java:12)
   at org.odejava.Odejava.getLibraryVersion(Odejava.java:125)
   at org.odejava.Odejava.<clinit>(Odejava.java:95)
   at com.jmex.physics.impl.ode.OdePhysicsSpace.<init>(OdePhysicsSpace.java:321)
   at com.jmex.physics.impl.ode.OdePhysicsSpace$OdeFactory.create(OdePhysicsSpace.java:198)
   at com.jmex.physics.PhysicsSpace.create(PhysicsSpace.java:317)
   at com.surrealhorizons.meridian.World.<init>(World.java:46)
   at com.surrealhorizons.meridian.World.<init>(World.java:56)
   at com.surrealhorizons.torrent.TorrentWorld.<init>(TorrentWorld.java:30)
   at com.surrealhorizons.torrent.InGameState.<init>(InGameState.java:43)
   at com.surrealhorizons.torrent.Torrent.main(Torrent.java:31)



I'm under OS X and am having to build my own JNI because it looks like it's no longer provided in the repository. Is it possible that there's a wrapper update not committed? Looks like there are newer .SOs/.DLLs than there are source for them.

As posted here you need to use the new odejava-jni including it's natives. Probably you have some old natives somewhere? (path, jdk etc.)

I think that's what I'm having issues with, so I'm confused about this reply.



I've built new jars, copied the odejava-jni.jar to a location included in my application's classpath. Unfortunately you've not shipped an OS X native, unless I've missed it.



So perhaps I'm not using the new natives, but I've compiled them from the sources present in CVS. Is it possible that those are out-of-date? Mine are dated 12/23/06 ,with the wrapper sources timestamped 7/4/06. odejava-jni.jar is dated sometime in February, and the Linux/win32 natives 3/7. So as everything else is newer, and as libodejava.jnilib is missing, I'm suspecting the C++ sources present in CVS head of not having been updated, but I could be wrong.

Yes, OSX natives for odejava-jni are missing :frowning: (I have to mac available). It would be great it you can compile those.



I'm not sure about the sources you are talking about. The cpp sources in jME Physics 2 ODE Binding should have been deleted. The native sources plus instructions are in odejava-jni. They should be from February 2007.

irrisor said:

Yes, OSX natives for odejava-jni are missing :( (I have to mac available). It would be great it you can compile those.


Absolutely, be happy to. But I'm still confused. Can you provide paths for what should have been deleted or added? Specifically:


I'm not sure about the sources you are talking about. The cpp sources in jME Physics 2 ODE Binding should have been deleted.


If you mean the sources in impl/ode/lib/src, they're still around. I've done a 'cvs up -dP', which I'd think would remove old directories and add new ones--at least, it has in the past.


The native sources plus instructions are in odejava-jni. They should be from February 2007.


What's the exact path of these? I've tried doing a find, but with no luck. I've also looked in the jar on the off chance that the sources were being put there for some reason. No luck.

I've also just done a new checkout. Still getting the old odejava_wrap sources, and don't appear to have anything new at first glance.

Thanks.

Oh, you're right, I forgot to remove those.



Odejava can be found on dev.java.net:

https://odejava.dev.java.net/



The sources can be found in the folder odejava/odejava-jni on :pserver:guest@cvs.dev.java.net:/cvs

Ah, gotcha. Got it built. Since SOP seems to have been including other projects directly into the source tree, I didn't think to fetch the external project.



What's the best way to get a) the jnilib I built for OS X and b) the patches I made to the instructions to you? There were various path inconsistencies, plus instructions to build the final product as a .so when OS X uses .jnilib as the JNI extension, plus I changed $JAVA_INCLUDE to $JAVA_HOME/include as it seems far more likely that someone will have the latter variable set already.

great!



I have sent you a pm (just in the case you did not notice)

thewordnerd, still around? Didn't you want to send your mac natives? It would be great if they could be added to cvs…

irrisor what kind of build tool are you using maven or the eclipse or netbeans plug-in for maven?

IntelliJ IDEA, Maven 2 and Visual Studio / autotools+gcc for the natives