notes
Xcode comes with gcc-4.0.1 and mpi.
I am currently installing the minimal tools to compile and install LifeV (parallel version) on my intel MacBook.
Note: I told the installer to format my disk with case-sensitive + journaling.
Requirements
- Xcode 3 gfortran (which is part of the fink package gcc42)
- aquamacs :-) or emacs.
- make sure that you use templates.el and dirvars.el:
http://www.lifev.org/documentation/codingstandards
http://www.lifev.org/documentation/codingstandards/Emacs
Xcode3 openmpi
I tried by using openmpi that is shipped with leopard/Xcode3.
New now it works with openmpi!
Note: openmpi is in /usr and, eg, for trilinos I needed:
--with-mpi=/usr \
--with-mpi-libs="-lmpi_cxx -lmpi -lopen-rte -lopen-pal -lutil"
Installing trilinos
discover
the mpi flags::
$ mpicxx -show
for example I get::
g++ -D_REENTRANT -I/usr//include -Wl,-u,_munmap \
-Wl,-multiply_defined,suppress -L/usr//lib -lmpi_cxx -lmpi\
-lopen-rte -lopen-pal -lutil
the libraries are -lmpi_cxx -lmpi -lopen-rte -lopen-pal -lutil
Boost
dowload and install boost:
fink install boost1.33
parmetis
dowload and detar Parmetis3.1 Modify ParMETISLib/stdheaders.h:
#include <malloc.h>
should be:
#include <malloc/malloc.h>
modify Makefile.in following your needs (eg, tell which mpi compiler to use).
Then compile and copy the header and the libraries where you need them, e.g.:
PARMETIS_INST_DIR=where you want to install
mkdir -p ${PARMETIS_INST_DIR}/include
mkdir -p ${PARMETIS_INST_DIR}/lib
cp -p libmetis.a libparmetis.a ${PARMETIS_INST_DIR}/lib
cp -p parmetis.h ${PARMETIS_INST_DIR}/include
LifeV
download lifev, then:
make -f Makefile.cvs LIBTOOL=glibtool
important: use glibtool under mac. then, e.g.:
mkdir debug
cd debug
../configure --with-trilinos=/Users/simone/local/debug-mpich-1/trilinos-8 \
--with-mpi=/Users/simone/local/mpich-1.2.5/ch_p4 \
--with-parmetis=PARMETIS_INST_DIR \
--with-boost-include=/sw/include \
--with-boost-lib=/sw/lib \
--with-mpi="/usr" \
GCC=gcc GXX=g++ F77=gfortran-mp-4.2
Note that you have to install gfortran, possibly from fink or macport
Remarks are welcome :-)