Installing & Using Arroyo on Mac OS X


The information in this document was current as of October 2004-ish. Changes in more recent versions of Arroyo may have made it obsolete! I believe at the very least you can use command-line options to configure to set the library variables, rather than patching the makefiles, which is what I describe below.

Compilation & Installation on 10.4 Tiger

Work in progress - see below for 10.3 notes

doxygen: There's a binary Mac OS X version of Doxygen available here. Use this rather than Fink because fink is now stupid on 10.4 and wants to compile and install all of tcl-tk as a dependency for doxygen, which is unnecessary because Apple ships their own tcl/tk with 10.4. The binary installer is for a Mac-OS-X-ized version of doxygen; to get the command line version in your path do this:

sudo ln -s /Applications/

Compilation & Installation

This is what I needed to do in order to get Arroyo installed on my Powerbook laptop running OS X 10.3.

** Required Libraries **

BLAS and LAPACK come standard on all Mac OS X computers as part of the vecLib library. These take advantage of the AltiVec instructions in the PowerPC, which are 128-bit vector instructions similar to MMX/SSE on Intel. I'm not sure how whether Arroyo will benefit from these; there's also a -faltivec option to GCC that I haven't experimented with yet.

CFITSIO is easily installed from the source.

	./configure --prefix=/usr/local
	make ; sudo make install
DON'T install the precompiled fftw3 from fink; it ends up having linking errors for some unknown reason. Installing directly from the source works fine..

Installing FFTW from source

	./configure; make; sudo make install
	./configure --enable-float; make; sudo make install

** Arroyo itself **

Here is a patch for ./configure to detect Mac OS and use the vecLib frameworks.

>   powerpc)
>     LAPACK_LIBS="-framework vecLib -dynamic";;
The same change needs to be made in the tutorials/arroyo_codelets directory, which has its own Makefile. Here's a patch for that:
< LIBS = -L../../lib/.libs -larroyo -lcfitsio -lfftw3 -lfftw3f -llapack -lblas -lg2c -lstdc++ -lm
> ifeq "${MACHTYPE}" "powerpc" 
>       LIBS = -L../../lib/.libs -larroyo -lcfitsio -lfftw3 -lfftw3f -framework vecLib -dynamic -lstdc++ -lm
> else
>       LIBS = -L../../lib/.libs -larroyo -lcfitsio -lfftw3 -lfftw3f -llapack -lblas -lg2c -lstdc++ -lm
> endif