Thursday, February 3, 2011

Madagascar on Mac OS X

I am experimenting with Madagascar, a public domain processing system descended from SEPlib. My plan is to use seismic unix (SU) as usual for graphics and most analysis, but M brings some important new functionality that is not in SU. Specifically, more 3D applications and parallel computing capability (my power mac has 8 cores, a mini cluster).

Here is an outline of how to install Madagascar on Mac OS X. This worked on my powerbook and desktop power mac. The workflow assumes you have already installed the Xcode development tools and gfortran or g95.

(1) Download Madagascar source from sourceforge:

http://sourceforge.net/projects/rsf/files/

(2) In your downloads folder, double click on the zip file to unpack. A new folder will be created named madagascar-1.1 with all the stuff in it.

(3) Make a directory ~/usr/local (~ means your home directory)

(4) Move the folder from item (2) to ~/usr/local

(5) Install Java for Mac OS X 10.6 Update 3 Developer Package. You must have a mac developer account.

(6) As superuser, use macports to install scons. Note: this will fail while installing db46 unless you have done step (5).

(7) In the directory ~/usr/local/madagascar-1.1 type configure at the command line. This will create a file named env.csh

(8) Assuming you are using the tcsh shell, you will have a file in your home directory named .tcshrc which is a resource file for tcsh. It is invisible to the finder (due to the leading dot), but can be seen and edited using the vi editor. Open the env.csh file and copy its contents (except the leading line) to the bottom of your .tcshrc file. Close the file and quit/restart the terminal application.

(9) As superuser in ~/usr/local/madagascar-1.1 type make and when that completes type make install

(10) Exit superuser and type rehash

(11) If all goes well, you can proceed to test your install as described on this page

Here is a simple test that worked (thanks to some advice from Sergy Fomel):

================ makefile ================

================ terminal output ================

================ Graphics result ================