How do I install ESyS-Particle on CentOS?

Created by Vince Boros
Keywords:
ESyS-Particle CentOS
Last updated by:
Vince Boros

These instructions have been tested on CentOS 5.3. For ESyS-Particle to run on CentOS, follow these steps:

1/ Install Centos 5.3.

2/ Install the Development Libraries and Development Tools:
    a/ Click "Applications -> Add/Remove Software" to invoke the Package Manager.
    b/ Click the "Browse" tab.
    c/ Click "Development" in the left window pane.
    d/ Check "Development Libraries" and "Development Tools" in the right window pane.
    e/ Click "Apply".

    This installs the following packages required by ESyS-Particle:
      python-2.4.3-24
      python-devel-2.4.3-24
      autoconf-2.59-12
      automake-1.9.6-2.1
      libtool-1.5.22-6.1
      gcc-4.1.2-44
      boost-1.33.1-10
      boost-devel-1.33.1-10

3/ Install OpenMPI:
    a/ Check the "openmpi-devel-1.2.7-6" package that appears under the "List" tab in the Package Manager and "Apply" the changes.

    This will also install:
      openmpi-1.2.7-6
      openmpi-libs-1.2.7-6
      mpi-selector-1.0.1-1

    Set OpenMPI as the default MPI implemention (in a shell window):
    b/ sudo mpi-selector-menu (If your sudoers files is not configured, enter superuser mode ("su") and then run "mpi-selector-menu")

    Follow the "mpi-selector-menu" directions for setting OpenMPI as the system default MPI and the user default MPI.

    Create $HOME/.openmpi/mca-params.conf if it does not already exist and add this line (courtesy Gonzalo Tancredi and Feng Chen):
    btl=^openib,udapl

4/ Download the "cppunit-1.12.0-3" and "cppunit-devel-1.12.0-3" RPM packages and install them:
    a/ rpm -i cppunit-1.12.0-3.el5.rf.i386.rpm
    b/ rpm -i cppunit-devel-1.12.0-3.el5.rf.i386.rpm

    http://dag.wieers.com hosts an RPM repository.

    This CentOS installation is based on Red Hat's Enterprise Linux 5, so the "el5" versions of the RPM packages were downloaded.

5/ After downloading the latest POV-Ray source code from http://www.povray.org/, and unzipping and untarring (e.g., "tar -zxf povray-3.6.tar.gz"), run the provided "configure" script and then build POV-Ray:
    a/ ./configure COMPILED_BY="your name <your email address>"
    b/ make
    c/ sudo make install

6/ There is no need to upgrade the Boost C++ libraries (presently version 1.33.1), but if you choose not to you will need to modify ESyS-Particle's "configure.ac" script (described below). To use a newer version of Boost, remove the current version:
    a/ In the Package Manager, uncheck the "boost-1.33.1-10" and "boost-devel-1.33.1-10" packages under the "List" tab and "Apply" the changes.

    After downloading the source code for the latest Boost C++ libraries from http://www.boost.org, and unzipping and untarring, run the provided "bootstrap.sh" shell script and then build Boost:
    b/ ./bootstrap.sh --with-libraries=system,filesystem,regex,python
    c/ sudo ./bjam install

7/ Install the Bazaar (bzr) version control system and then follow steps 4-6 of the FAQ at https://answers.launchpad.net/esys-particle/+faq/1613 to download ESyS-Particle.

8/ If you chose not to upgrade from the Boost 1.33.1 libraries provided with CentOS 5.3, you will need to modify a configuration file to allow ESyS-Particle can run with Boost 1.33. Change to the newly created esys-particle folder and edit "configure.ac":
    a/ Replace the line "AX_BOOST_BASE([1.34.1])" with "AX_BOOST_BASE([1.33.1])"

9/ Now you can build ESyS-Particle:
    a/ ./autogen.sh
    b/ ./configure CC=mpicc CXX=mpic++ --without-epydoc --without-vtk
    c/ make -j N # Replace N with the number of processor cores on your machine.
    d/ sudo make install

10/ Update your shell's environment variables:
    a/ export PATH=/usr/local/bin:$PATH
    b/ export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
    c/ export LIBRARY_PATH=/usr/local/lib:$LIBRARY_PATH
    d/ export PYTHONPATH=/usr/local/lib/python2.5/site-packages:$PYTHONPATH

    Additionally, add these lines to the end of ".bashrc" in your home directory.

11/ Run a test script (e.g., bingle_output.py) from the ESyS-Particle Tutorial:
    a/ mpirun -np 2 `which mpipython` bingle_output.py