Hi !
Featured games (85)
games approved by the League of Dukes
Games in Showcase (623)
Games in Android Showcase (176)
games submitted by our members
Games in WIP (676)
games currently in development
News: Read the Java Gaming Resources, or peek at the official Java tutorials
    Home     Help   Search   Login   Register   
Pages: [1]
  ignore  |  Print  
  Running ODE + Xith3d examples on OS X tutorial  (Read 1067 times)
0 Members and 1 Guest are viewing this topic.
Offline eiki

Junior Newbie

Java games rock!

« Posted 2003-12-21 03:12:27 »

Hi all,
my name is Eirikur Hrafnsson and I've spent a lot of time now getting odejava to work on MacOS X and would like to share my tutorial with the forum since I did not find any information on how to do that in the last two weeks! And believe you me I have searched every corner for every hint I could find.

This step by step describes how to get ODE and ODEJava and the examples running on OSX. The process has robbed me of many sleepless nights so I think it will be appreciated by at least the mac-java developers out there : )

Hopefully the ode java guys will add this tutorial to the project along with the precompiled binaries I sent them...anyways here goes:

Odejava (Open Dynamics Engine for Java)
Project website:
License: BSD, see license.txt file
ODE website:
Author: Jani Laakso,
Date: 21. December 2003
Author of this readme: Eirikur S. Hrafnsson,,

Hi mac fans!
This is a dummy's guide (for people like me : ) to getting ODE for Java running on MacOS X and the excellent test applications!
I wrote the guide after about 2 weeks of trying to get ode on OS X to work and because nobody seemed to have it running under osx yet!
In other words this readme covers compiling the necessary libode.dylib dynamic library and libjavaode.jnilib (java to native library)
to get you started with ode for java on the best Unix and Java development operating system on the planet ; )

Just follow the simple steps to goodness...

1. Install the OS X developer tools
- Install the developer tools that came with your MacOS X install disks if you have not already done that. If using Panther (OS X 10.3) you have to install XCode to get the java to native header files.
- Update to java 1.4 if you have not already. (use system update)

2. Install SWIG
-download swig compiling tool from, they have a readme on how to install it (fairly easy) but you might have to create a symbolic link in Terminal
- sudo ln -s /usr/local/bin/swig /usr/bin/swig

2.  Get ODE (the native c++ stuff)
- Download the latest version of ODE, see
- You can either get a release from the website or the latest source directly from CVS using these commands from within the Terminal app
- cvs login
- press enter when asked for password
- cvs -z3 co ode

3. Prepare ODE and ODE for java
- Move the ode folder you get from the ode CVS or from the expanded downloaded ODE release file to "pathtoyourfolder"/odejava/ode (same place as this readme)
- With TextEdit open the file "pathtoyourfolder"/odejava/ode/config/user-settings.example and set these parameters and save the file (must be plain text)
- PLATFORM=osx  and change from double to single.
- save
- Rename the file to "user-settings"
- Move the "pathtoyourfolder"/odejava//net directory (odejava package) under "pathtoyourfolder"/odejava//ode/
- Move odejava.cpp, odejava.h and odejava.i from "pathtoyourfolder"/odejava/ to "pathtoyourfolder"/odejava//ode/net/java/dev/odejava/ode/

(If you want to use double precision you need to do some changes to source files (see the official readme))

4. Compile ODE
- Using Terminal app issue these commands, they should go smoothly, otherwise check the ODE INSTALL readme to see if any changes have been made
- cd "pathtoyourfolder"/odejava
- cd ode
- make configure
- make ode-lib
Now plenty of *.o files under /tmp/ode/ode/src and that's all you need

5. Swig compile odejava.i
- Using Terminal app issue these commands
- cd "pathtoyourfolder"/odejava/ode/net/java/dev/odejava/ode
- swig -Wall -java -c++ -package odejava.i

6. Compile Java ODE stuff
- Using Terminal app issue these commands
- cd "pathtoyourfolder"/odejava/ode
- g++ -c -I /System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Headers -I include net/java/dev/odejava/ode/odejava_wrap.cxx -o net/java/dev/odejava/ode/odejava_wrap.o
- g++ -c -I /System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Headers -I include net/java/dev/odejava/ode/odejava.cpp -o net/java/dev/odejava/ode/odejava.o
(If you get a lot of errors compiling odejava_wrap.cxx you probably set PRECISION=DOUBLE but haven't made all the source changes, see 3. and the official readme)

7. Compile libode.dylib and libjavaode.jnilib
- Using Terminal app issue these commands
- cd "pathtoyourfolder"/odejava/ode
- g++ -W -Wall -Llib -dynamiclib -o lib/libode.dylib ode/src/*.o
- g++ -W -Wall -Llib -dynamiclib -o lib/libodejava.jnilib net/java/dev/odejava/ode/odejava_wrap.o net/java/dev/odejava/ode/odejava.o -lode -framework JavaVM
- sudo cp libode.dylib /usr/lib/  (or make a symbolic link)
- sudo cp libodejava.jnilib /Library/Java/Extensions/  (or make a symbolic link)

Congratulations! Basically your done! Now you can start developing those cool games you where thinking of : D
Just add the "" package to classpath or just add the folder "pathtoyourfolder"/odejava/ode to your classpath. Or make your own jar : )

8. Run the way cool examples and laugh at me for spending so much time to get OdeJava working on osx ; )
- For the examples using JOGL to run you need to copy or symlink "pathtoyourfolder"/odejava/ode/lib/xith3d/jogl/macos/libjogl.jnilib to /Library/Java/Extensions/
- Add the "" package or in other words "pathtoyourfolder"/odejava/ode to your classpath.
- Put all the needed 3rd party libraries somewhere in classpath or use the java -cp option
- You need these libs that are under pathtoyourfolder"/odejava/
- lib/xith3d/xith3d.jar:lib/xith3d/vecmath.jar:lib/xith3d/jogl/macos/jogl.jar:lib/xith3d/xith_utilities.jar:lib/xith3d/log4j.jar

- Run the demos with there commands from Terminal (clicking mouse buttons and dragging, pressing space and alphanumeric keys really make the demos interesting)
- java -Djava.library.path="/Library/Java/Extensions"
- java -Djava.library.path="/Library/Java/Extensions"
- java -Djava.library.path="/Library/Java/Extensions" (no graphics test)

my setup example
I just run this command from anywhere in the Terminal app because I moved the libraries to one place.
java -cp "/Users/Shared/idega/3DJava/odejava/ode:/idega/lib/xith3d.jar:/idega/lib/vecmath.jar:/idega/lib/jogl.jar:/idega/lib/xith_utilities.jar:/idega/lib/log4j.jar" -Djava.library.path="/Library/Java/Extensions"

I hope this readme helped you and you are finally on your way to creating really cool stuff on the mac with Java!

Thanks, questions and piles of electronic cash can be mailed to me at ; )

Best of luck!
Eirikur S. Hrafnsson,
Chief Software Engineer
Idega Software, J2EE RAD frameworks and other cool stuff
Offline Jani Laakso

Junior Devvie

Do it with Java!

« Reply #1 - Posted 2003-12-21 10:52:38 »

Great work, hope you can compile another version soon. Odejava 0.2 supports all ODE functions on low level API, also TriMesh and some contrib sections like Terrain and Cone. High level API is a lot easier and cleaner to use, it depends to low level API.

I'll add CVS structure soon to, so you can test compiling it from Odejava CVS and hopefully edit your instructions.

PS. There was precompiled MacOSX binaries at
Pages: [1]
  ignore  |  Print  
You cannot reply to this message, because it is very, very old.

KaiHH (12 views)
2015-10-06 20:22:20

KaiHH (11 views)
2015-10-06 19:41:59

BurntPizza (21 views)
2015-10-06 19:04:48

basil_ (44 views)
2015-09-30 17:04:40

shadowstryker (22 views)
2015-09-29 15:55:06

TheSpaceHedgehog (28 views)
2015-09-29 01:58:48

GamerC4 (54 views)
2015-09-24 21:10:38

GamerC4 (71 views)
2015-09-24 21:09:48

htuy (28 views)
2015-09-24 04:57:24

htuy (38 views)
2015-09-24 04:56:35
Math: Inequality properties
by Roquen
2015-10-01 13:30:46

Math: Inequality properties
by Roquen
2015-09-30 16:06:05

HotSpot Options
by Roquen
2015-08-29 11:33:11

Rendering resources
by Roquen
2015-08-17 12:42:29

Rendering resources
by Roquen
2015-08-17 09:36:56

Rendering resources
by Roquen
2015-08-13 07:40:51

Networking Resources
by Roquen
2015-08-13 07:40:43

List of Learning Resources
by gouessej
2015-07-09 11:29:36 is not responsible for the content posted by its members, including references to external websites, and other references that may or may not have a relation with our primarily gaming and game production oriented community. inquiries and complaints can be sent via email to the info‑account of the company managing the website of java‑
Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines | Managed by Enhanced Four Valid XHTML 1.0! Valid CSS!