first in reply to your 1 points:
1. I have installed automake 1.10
2. ok, I hasn't used the branch, but the head
rev 1323 sounds like SVN to me, but I only found a CVS repos on the
https://odejava.dev.java.net/source/browse/odejava/ website.
Yesterday I started a new try, with (hopefully) the right branch, I downloaded the following:
cvs -d :pserver:username@cvs.dev.java.net:/cvs checkout odejava -r with-odejava-jni
Then I followed the odejava/odejava-jni/build/build-odejava-jni-osx.sh script:
sh-3.2# export JAVA_INCLUDE=/System/Library/Frameworks/JavaVM.framework/Home/include
sh-3.2# export DEV_SDK=/Developer/SDKs/MacOSX10.5.sdk/
sh-3.2# cat src/ode.patch|grep \(revision|head -1|sed -e 's/.*(revision \(.*\))/\1/'
sh-3.2# svn -q co
https://opende.svn.sourceforge.net/svnroot/opende/trunk opende -r 996
1 2 3 4 5 6 7 8 9
| Error validating server certificate for 'https://opende.svn.sourceforge.net:443': - The certificate is not issued by a trusted authority. Use the fingerprint to validate the certificate manually! Certificate information: - Hostname: *.svn.sourceforge.net - Valid: from Oct 9 14:15:07 2007 GMT until Dec 8 15:15:07 2008 GMT - Issuer: Equifax Secure Certificate Authority, Equifax, US - Fingerprint: fb:75:6c:40:58:ae:21:8c:63:dd:1b:7b:6a:7d:bb:8c:74:36:e7:8a (R)eject, accept (t)emporarily or accept (p)ermanently? t |
sh-3.2# cd opende/
sh-3.2# patch -p0 < ../src/ode.patch
1 2 3 4 5 6
| patching file include/ode/common.h patching file include/ode/objects.h patching file include/ode/odecpp.h patching file ode/src/error.cpp patching file ode/src/joint.cpp patching file ode/src/joint.h |
sh-3.2# sh autogen.sh
[Code]Please make sure that you use automake 1.8.2 or later
Warnings about underquoted definitions are harmless
Running aclocal
Running autoheader
Running automake
configure.in:5: installing `./config.sub'
configure.in:8: installing `./missing'
configure.in:8: installing `./install-sh'
configure.in:5: installing `./config.guess'
drawstuff/dstest/Makefile.am: installing `./depcomp'
Running autoconf
Now you are ready to run ./configure
[/code]
sh-3.2# automake --version
1 2 3 4 5 6 7
| automake (GNU automake) 1.10 Written by Tom Tromey <tromey@redhat.com> and Alexandre Duret-Lutz <adl@gnu.org>.
Copyright 2006 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
sh-3.2# export CFLAGS="-arch ppc -arch i386 -isysroot $DEV_SDK"
sh-3.2# export CXXFLAGS=$CFLAGS
sh-3.2# ./configure --disable-dependency-tracking --without-tests
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
| checking build system type... i386-apple-darwin9.1.0 checking host system type... i386-apple-darwin9.1.0 checking target system type... i386-apple-darwin9.1.0 checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... ./install-sh -c -d checking for gawk... no checking for mawk... no checking for nawk... no checking for awk... awk checking whether make sets $(MAKE)... yes checking for style of include used by make... GNU checking for gcc... gcc checking for C compiler default output file name... a.out (...) checking for isnan... yes checking for isnanf... no checking for _isnan... no checking for _isnanf... no checking for __isnan... yes checking for __isnanf... yes checking for working alloca.h... yes checking for alloca... yes checking for stdlib.h... (cached) yes checking for GNU libc compatible malloc... yes checking for obstacks... no checking for stdlib.h... (cached) yes checking for GNU libc compatible realloc... yes checking sys/select.h usability... yes checking sys/select.h presence... yes checking for sys/select.h... yes checking sys/socket.h usability... yes checking sys/socket.h presence... yes checking for sys/socket.h... yes checking types of arguments for select... int,fd_set *,struct timeval * checking for vprintf... yes checking for _doprnt... no configure: creating ./config.status config.status: creating Makefile config.status: creating include/Makefile config.status: creating include/ode/Makefile config.status: creating ode/Makefile config.status: creating ode/src/Makefile config.status: creating drawstuff/Makefile config.status: creating drawstuff/src/Makefile config.status: creating drawstuff/dstest/Makefile config.status: creating ode/test/Makefile config.status: creating ode-config config.status: creating include/ode/config.h config.status: executing depfiles commands Configuration: Target system type: i386-apple-darwin9.1.0 Build system type: i386-apple-darwin9.1.0 Host system type: i386-apple-darwin9.1.0 Use double precision: no Use OPCODE: yes Use gyroscopic term: yes Is this a Pentium: yes Is the CPU x86-64: no Is this a release build: no Is this a debug build: no Using SONAME: no Headers will be installed in /usr/local/include/ode Libraries will be installed in /usr/local/lib |
After I tried configure the first time today, I got the following error:
1 2 3 4
| (...) checking for C compiler default output file name... configure: error: C compiler cannot create executables See `config.log' for more details. |
It was the same error I got the first time I tried to compile it, previous to my first post. This time I searched a little longer on the net, and I found, that installing XCode 3.0 isn't enough on Mac OS 10.5 Leopard. The 'Unix Support Tools' must be installed, too, and it is only possible to install them AFTER the first Leopard installation, in a second, seperate installation process involving the Leopard DVD. After installing the Unix Support Tools, configure went fine, like shown above.
I Continued the process:
sh-3.2# make
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| Making all in include Making all in ode make all-am make[3]: Nothing to be done for `all-am'. make[2]: Nothing to be done for `all-am'. Making all in drawstuff Making all in src g++ -DHAVE_CONFIG_H -I. -I../../include/ode -I../../include -I../../include -arch i386 -isysroot /Developer/SDKs/MacOSX10.5.sdk/ -c -o libdrawstuff_a-drawstuff.o `test -f 'drawstuff.cpp' || echo './'`drawstuff.cpp g++ -DHAVE_CONFIG_H -I. -I../../include/ode -I../../include -I../../include -arch i386 -isysroot /Developer/SDKs/MacOSX10.5.sdk/ -c -o libdrawstuff_a-osx.o `test -f 'osx.cpp' || echo './'`osx.cpp /Developer/SDKs/MacOSX10.5.sdk../../include/ode/config.h:348: error: ‘uint32’ has a previous declaration as ‘typedef short unsigned int uint32’ (...) make[2]: *** [libdrawstuff_a-osx.o] Error 1 make[1]: *** [all-recursive] Error 1 make: *** [all-recursive] Error 1 |
The same error I had the first time, so I commented out the uint32 define in the config.h file again
sh-3.2# emacs include/ode/config.h
sh-3.2# make
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| Making all in include Making all in ode make all-am make[3]: Nothing to be done for `all-am'. make[2]: Nothing to be done for `all-am'. Making all in drawstuff Making all in src (...) g++ -DHAVE_CONFIG_H -I. -I../../include/ode -arch i386 -isysroot /Developer/SDKs/MacOSX10.5.sdk/ -I../../include -I../../include -arch i386 -isysroot /Developer/SDKs/MacOSX10.5.sdk/ -c -o test_basket.o test_basket.cpp test_basket.cpp: In function ‘void simLoop(int)’: test_basket.cpp:183: error: ‘__isnanf’ was not declared in this scope make[2]: *** [test_basket.o] Error 1 make[1]: *** [all-recursive] Error 1 make: *** [all-recursive] Error 1 |
And that's it, I don't know how to continue now. Btw changing $DEV_SDK from /Developer/SDKs/MacOSX10.5.sdk/ to /Developer/SDKs/MacOSX10.4u.sdk/ like it is said in the odejava/odejava-jni/build/build-odejava-jni-osx.sh script doesn't help much, it only results in the compiler error, which states, that the compiler doesn't produce a executable, because the given SDK doesn't match the OS.
Is another note, I doesn't understand the behaviour of the buildscript. It is bundled with a download, which is containing all sourcecode aside from opende, but as one of the first steps, it tries to download odejava again, which causes a new odejava checkout in the checkout some already has downloaded. Therefore I used the buildscript as a guide to compile odejava, and didn't executed it (besides the fact, that it downloads the head, and you said, I should use the with-odejava-jni branch)
If I made no errors with that, its looks like leopard does behave a little bit different then tiger here, which is bad (for me, and all other leopard users), if nobody in the odejava dev team has leopard on an available machine.