SnowLeopard is a great new OS that will probably cause you much grief in the first few weeks of running it, especially since Apple is still ironing out kinks.
If you upgraded from Leopard, you will notice that as soon as you go to compile qualnet, it will tell you that it can't find make. So you realize, oh my gosh, I have to reinstall Xcode. You go to the developer.apple.com web site and download Xcode 3.2, the only supported Xcode for Snow Leopard, and all seems to be good. make now works. The numerous deprecated ... warnings make you nervous as you watch qualnet compile and then BOOM, it fails.
Easy fix
The easy way to fix this problem is to add -m32 to the FLAGS variable in the Makefile-darwin-x86-gcc-4.0 file, or to your active Makefile, whichever is most applicable. The new compiler that comes with Xcode 3.2 is very picky and will give you a ton of warnings that you can't do anything about. The rest of the instructions on this page were written before the -m32 fix was pointed out to me by Brad Smith and still work (with less warnings) so the choice is yours.
Harder, older, but still lovable fix
It turns out that gcc-4.2, which comes with Xcode 3.2, does not do too well with qualnet, so you need to get back your trusty gcc-4.0. Normally, if you have an older version of Xcode lying around, you can find a gcc4.0.pkg file in it and install the older gcc-4.0 by double clicking it, but in case you don't, i'm attaching the needed package to this page for your convenience.
To install gcc-4.0, download gcc4.0.pkg (attached here for your convenience). It actually comes from iPhone SDK 3.0 if you're curious.
Installing gcc-4.0 will not change the /usr/bin/gcc or /usr/bin/g++ symbolic links on your computer so it doesn't at all interfere with the Xcode 3.2 installation, which is great if you also want to do some Mac development or iPhone development with the newest tools.
To get the qualnet makefile to use gcc-4.0, what I did was to specify the compiler explicitly following these steps:
Copy Makefile-darwin-x86-gcc-4.0 to Makefile-darwin-x86-gcc-4.0-explicit
Edit Makefile-darwin-x86-gcc-4.0-explicit to make the following change:
Insert:
# # ReDefine compilers. # CC = gcc-4.0 CXX = g++-4.0
below
... # # Load rules for UNIX platforms. # include Makefile-unix-common
and above
# # Add Darwin-specific libraries. # LIBS += -lpthread ...
Make sure Makefile is either a symbolic link to your new Makefile using ln -s Makefile-darwin-x86-gcc-4.0-explicit Makefile or is a copy of it.
make clean and make and everything should be groovy.
Here is my Makefile-darwin-x86-gcc-4.0-explicit for your convenience. It hasn't been customized in any way except to get it to use gcc-4.0 explicitly.
