Compiling for Mac OS X is generally the same as other platforms, but with some additional work required in post-install processing.

Dependencies (version I have used successfully in parens):

boost (1_34_1)

cmake (2.4.8)

fftw (2.1.5)

gsl (1.8)

hdf5 (1.6.6)

jpeg (v6b)

png (1.2.23)

numpy (1.0.4)

Qt/Mac (3.3.8)

szip (2.1)

tiff (3.8.2)

zlib (1.2.1)

====================

You have two routes available. You can install the above dependencies using a package manager such as fink or macports. This is the easier and faster option, but has the downside of making it more difficult to distribute your built package or moving it to a different machine. If you choose this option, just skip to the end.

The other option is to build all dependencies manually from source. This is the method I chose for the self-contained EMAN package. However, some of the packages required either patches or some careful massaging to compile properly. It will require a bit more effort than using the package manager.

====================

Compiling dependencies from source:

I opted to place my build environment in a disk image to make it easier to move it from machine to machine. Use Disk Utility to create a sparse disk image with a max size of 50gb (it will shrink to the total size of the files contained.)

I called the disk image "EMAN" and used the following directory structure for organization.

attachment:dirstructure.jpg

"build" is for EMAN build files. "dep" is the dependency tree root. "extlib" is for modified dependency libraries. "EMAN" is for the EMAN source itself. "Resources" are support files to be used in the creation of Mac OS X app bundles. "src" is for downloaded source tarballs and patches. "stage" is where the EMAN package will be prepared for distribution. "vars10.x.sh" is for environment variables specific to building for each Mac OS X version.

Because 10.4 and 10.5 use different versions of Python, I decided to build EMAN and dep libraries separately for each deployment target.