How do I install ESyS-Particle on Mac OSX?

Created by Dion Weatherley
Keywords:
installation Mac OSX
Last updated by:
Dion Weatherley

A couple of people have had success installing ESyS-Particle on Mac OSX 10.6, although the installation is somewhat more complicated than for linux-based operating systems. The following instructions provide guidelines that may assist those hoping to run ESyS-Particle on OSX.

*******************
Install LSM on MAC
*******************

0. make sure XCode is installed, including the optional unix utilities
Instructions on how to download and install XCode are available here:
http://guide.macports.org/chunked/installing.xcode.html

1. make sure all you have mac ports installed. If you do not have mac ports,
please, download and install from http://www.macports.org/.
Instructions on how to download and install macports are available here:
http://guide.macports.org/chunked/installing.macports.html

2. then you will need to install all LSM required packages via mac ports.
$sudo port install boost autoconf automake libtool
Please note that this can take a long time to complete

All new packages will be installed in /opt/local/... , so make sure you have
them in your path. W.r.t. the boost libraries, make sure they are installed
_with_ boost_python (see macports documentation on details)

IMPORTANT: DO NOT install openmpi via macports, use the one supplied with OSX!!
The macports one is newer (1.5.x vs. 1.2.8), but ESyS-Particle doesn't link
using this one.
Also, it is _not_ necessary to install the current gcc from macports, the system
supplied 4.2.1 works fine

3. Download a copy of the ESyS-Particle source code:
e.g. Follow steps 4-6 of FAQ 1613 at https://answers.launchpad.net/esys-particle/+faq/1613 to download the latest development version of ESyS-Particle from Launchpad.

4. Edit the autogen.sh script to support the OSX environment:
vi autogen.sh
In Mac OSX the libtoolize package was renamed to glibtoolize, so replace libtoolize
with /opt/local/bin/glibtoolize
then append /opt/local/bin/ to each other command
e.g. autoconf -> /opt/local/bin/autoconf

5. Generate the configure script:
sh ./autogen.sh

6. Configure the build system:

./configure --prefix=... --exec-prefix=...

(setting exec-prefix is very important!)

One hint here: --exex-prefix=foo installs the executables in foo/bin, i.e.
--exex-prefix=foo/bin will result in the executables in foo/bin/bin

6.1. if you're using a recent boost version (>1.40, AFAIK), you need to add
LDFLAGS=-lboost_system to the configure options IF you've set the
DYLD_LIBRARY_PATH to include the location of your boost libraries. If you
haven't set the DYLD_LIBRARY_PATH, you need to add LDFLAGS="-L/path/to/boost/
-lboost_system" instead (where /path/to/boost/ is replaced by the actual
location of the boost shared libs).

7. make

8. hack all make files in esys-particle folder with something like this :
********
for f in `find * -name "Makefile"`; do cat $f | sed "s/pythondir\ \=\
\/Library\/Python\/2\.5\/site\-packages/pythondir\ \=\
\/Users\/lsm\/test\/lib\/python\-2\.5\/site\-packages/g" > ttt; mv ttt $f; done

********
where "lsm" is the username and "test" is the install destination specified by
--prefix=..
THIS IS NOT NECESSARY if you set the python path accordingly.

9. make install

10. Make sure to set DYLD_LIBRARY_PATH together with LD_LIBRARY_PATH. The rest of
 settings are the same as for linux install.

From this point
GOOD LUCK!!!

Many thanks to Artak Amirbekyan, Steffen Abe and others for providing these instructions.

Update: These instructions have been updated for Mac OSX 10.9.