Project

General

Profile

Building on Scientific Linux 7

Synergia can be built on the Scientific Linux 7 (or CentOS 7) platform using the following steps.

The best way to install Synergia on Scientific Linux 7 is to install most of the dependency packages from rpms. Some of the packages come from the epel repository, so install that first:

sudo yum install epel-release
Install packages:
sudo yum install git cmake bzip2 gcc-c++ boost-devel gsl-devel python-devel hdf5-devel numpy openmpi-devel mpi4py-openmpi pyparsing python-tables

If you will be using interactive tools, also install:

sudo yum install python-matplotlib

You need to load the mpi module before building. Give the command:

module load mpi

If that doesn't work, log out and log back in again. Then cd back into the synergia2-devel directory and continue.

Clone and bootstrap the contract:

git clone -b devel http://bitbucket.org/fnalacceleratormodeling/contract-synergia2 synergia2-devel
cd synergia2-devel
./bootstrap

Then start the build:

./contract.py

On Scientific Linux 7.3, the libfabrics package is broken so Synergia scripts will hang for 15 seconds when you try to run them. This won't be fixed until SL 7.4. See https://bugzilla.redhat.com/show_bug.cgi?id=1408316. The solution is to build and install an updated libfabrics package from the project page at https://github.com/ofiwg/libfabric/releases. The current latest release as of 2017-08-16 is libfabrics-1.5.0.

To build and install this, become root with sudo -i or su.

cd /root/rpmbuild/SOURCES
curl https://github.com/ofiwg/libfabric/releases/libfabric-1.5.0.tar.bz2 -o libfabric-1.5.0.tar.bz2
rpmbuild -ta libfabric-1.5.0.tar.bz2
cd ../RPMS/x86_64
yum install libfabric-1.5*.el7.rpm

If the versions change, adjust the instructions accordingly. Alternatively, download and install libfabric-1.5.0 rpm below.