...
checking ccache... no (only used when forced)
Undefined symbols:
"___gxx_personality_v0", referenced from:
___gxx_personality_v0$non_lazy_ptr in ccPxLxY6.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
/Users/Felix/Downloads/openttd-trunk-r19527/trunk/config.lib: line 929: ./G5_detector: No such file or directory
detecting G5... no
...
It finishes, but when I try to build, I get the same error again:
[LANG] Compiling and Linking endian_check
Undefined symbols:
"___gxx_personality_v0", referenced from:
___gxx_personality_v0$non_lazy_ptr in cc5Ndv4r.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
make[1]: *** [endian_check] Error 1
[SRC] Compiling and Linking endian_check
Undefined symbols:
"___gxx_personality_v0", referenced from:
___gxx_personality_v0$non_lazy_ptr in cc2xq0Wq.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
make: *** [all] Error 2
I think that OSX support has been deprecated for OpenTTD, which should be the reason as to why it won't compile. See http://www.tt-forums.net/viewtopic.php? ... 47&start=0 for the whole reasoning behind the decision. Maybe you can find someone who have workarounds there too?
I dread the sad day when I actually can't compile OpenTTD on OS X. With no maintainer, that's eventually going to happen.
I then have to play the game with Crossover/DarWINE (I thought this was a good solution, but in tests it's a bit sucky)...or I have to stop with the game
EDIT: or Mac players put an effort into fnding a Mac maintainer in places like macnn.com and macintouch.com....
I spoke with Steve yesterday, and he told me that he is about to finalise the merger talks with Bill wich means that they themselves are going to drop support in the near future.
The date that they officially will switch to win7 will be announced soon.
First, as far as I know, all that needs to be done is to download the source, compile it, and then upload it, so I don't think I need to know any code. Second, http://www.youtube.com/watch?v=99X8WDQWAKg. Brother Maynard, bring out the holy hand grenade.
I dread the sad day when I actually can't compile OpenTTD on OS X. With no maintainer, that's eventually going to happen.
I then have to play the game with Crossover/DarWINE (I thought this was a good solution, but in tests it's a bit sucky)...or I have to stop with the game
EDIT: or Mac players put an effort into fnding a Mac maintainer in places like macnn.com and macintouch.com....
After trying a lot of things, I succeeded in cross-compiling OpenTTD for PPC, Intel and Intel-64bit. Here's some information for other people having problems:
I don't know if this is a problem with my individual system configuration, but the zlib compiled as 64bit library by default, libpng compiled as 32bit. If you're getting linker errors stating one of your libs has the wrong architecture when compiling OpenTTD, you can add "-arch i386" or "-arch x86_64" to the CFLAGS, CXXFLAGS and LDFLAGS to make sure your binaries have the right architecture, like this:
If you want to compile a universal binary: You can compile OpenTTD for i386 and ppc at the same time, this will result in a universal binary running on Intel and PPC Macs. However, it does not support 64bit. You can do this by adding "-arch i386 -arch ppc" to CFLAGS, CXXFLAGS and LDFLAGS as described above. Of course, you need to have universal binary files of libpng, zlib and liblzo2 to link against. The easiest way to do this is to compile them two times, one for each architecture, and merge them with lipo afterwards. You can NOT compile OpenTTD with 64bit AND i386/ppc at the same time, because you need the -D_SQ64 flag for compiling 64bit. However, you can compile OpenTTD two times and merge your binaries with lipo afterwards.
You have to run ./configure AFTER you set all those environment variables.
You mean "./configure --enable-universal=64 --enable-static" doesn't work? It works fine for me in the cross-compile environment, although it needs cross-compiled libraries to match.
I'm not that deep into this configure stuff (in fact, I really dislike all this autotools stuff because it NEVER works for me without fixing something), so I used compiler flags instead of configure flags. You probably don't get the _SQ64 error, do you?
I hate autotools too and for your information: OpenTTD's configure isn't autotools.
You get the _SQ64 error because -arch does funky things and because the compiler testing doesn't care about C(XX)FLAGS. If you use CXX="g++ -arch ppc64" CC="gcc -arch ppc64" you would not be getting the error (for PPC64) and similarly it holds for x86_64.
Yes, I patched OpenTTD further for my own needs, and thus this file was outdated and I removed it. It wasn't meant to be a permanent resource, sorry.
Here is the new binary, which has the cargodist minipack included - it also includes incomereduce, a patch I made with some friends to have a more challenging game on our server, on which you earn less money:
actually with these kind of mods its rather worth its own patch pack or whatever thread as it's not really related to compile problems anywhere - nor offer a binary which one would want to use, if just looking for an at least trunk-compatible binary.