Skip to content

3. Installation

Omar Ahmed edited this page Jun 12, 2022 · 2 revisions

Overview

Currently, there are two ways to use SPUMONI: (1) using the Docker image with SPUMONI pre-installed , and (2) building it from source. I would recommend using the Docker image, however if you would like to build from source, please see the section below to understand the dependencies you need in order to build.


Docker/Singularity Image

I would generally recommend this approach since you can avoid having to make sure you have the needed dependencies such as zlib and cmake. The commands below show how to download the docker image and running a command with it. The command just prints out the usage information for spumoni.

docker pull oma219/spumoni:latest
docker run oma219/spumoni spumoni -h

Singularity, if you are working in a shared cluster environment, can also download the Docker image and convert it to a Singularity image that can be run. The commands below show how that would work.

singularity pull docker://oma219/spumoni:latest
singularity run spumoni_latest.sif spumoni -h

Build from Source

On the releases page, you can also download and unzip a copy of the source code. In order to build spumoni, there are a couple of dependencies that you would need to have on your machine as shown below.

spumoni dependencies/build tools:

The commands below show how to build from the source code after downloading it, and unzipping it. Then, you want to make sure you specify the SPUMONI_BUILD_DIR variable in the correct folder (build folder).

tar -xvf source.tar.gz
cd source
mkdir build && cd build
cmake ..
make install

export SPUMONI_BUILD_DIR=$(pwd)
# use spumoni ...

Important Note for Mac Users:

  • For building spumoni on Mac, you want to use the GNU gcc compiler instead of clang on Mac. That can be accomplished by following the commands below.
brew install gcc@9
export CC=/usr/local/Cellar/gcc@9/9.4.0/bin/gcc-9
export CXX=/usr/local/Cellar/gcc@9/9.4.0/bin/g++-9
  • The commands above will tell cmake to use the GNU gcc that you just installed instead of clang that comes with Macs.

Clone this wiki locally