Differences between revisions 13 and 14
Revision 13 as of 2008-03-19 04:41:00
Size: 2001
Editor: root
Comment:
Revision 14 as of 2008-03-19 04:41:43
Size: 2003
Editor: root
Comment:
Deletions are marked like this. Additions are marked like this.
Line 32: Line 32:
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. 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, please skip to the end.

Compiling for Mac OS X is generally the same as other platforms.

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, please 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.

EMAN_COMPILE_MacOS_X_for_Distribution (last edited 2009-07-22 21:32:58 by root)