Installing JETSCAPE - TianyuDai/JETSCAPE-rhic-ags GitHub Wiki

Overview

To run JETSCAPE, you will need to install several software pre-requisites, and then build JETSCAPE. Acquiring the pre-requisites using a container environment will be simpler than installing the pre-requisites manually.

Recommended: Singularity

The simplest way to run JETSCAPE is through Singularity.

You will first want to verify if you have Singularity installed on your workstation:

singularity --version

If you don't, you will first have to install Singularity. If installing Singularity is not an option, try the Docker or manual installation.

Install JETSCAPE in a Singularity Container

Create a Singularity container of JETSCAPE built from the Docker container available on Docker Hub. Note that v1.4 does not refer to the version of JETSCAPE. The versioning on Docker Hub is different. Using the --sandbox flag creates the JETSCAPE Singularity container as a writable directory. The directory name chosen here is "jetbox". You can create any directory name you prefer.

This command creates the Singularity container with the required software prerequisites to run JETSCAPE. Only run this command in a directory that has a couple Gb of disk space, since this directory will be used for everything that follows.

singularity build --sandbox jetbox docker://jetscape/base:v1.4

Shell into the newly built container.

singularity shell --writable jetbox

This last command essentially created a virtual machine where all the libraries required are available to compile and run JETSCAPE.

Create a directory called "rhic_ags_school" and CD into it.

mkdir /rhic_ags_school
cd /rhic_ags_school

On RCF (RHIC computing facility)

CD in a repository where you have plenty of disk space (say "/sphenix/u/...")

cd /sphenix/user/...

and try the following:

singularity build jet.sif docker://jetscape/base:v1.4
singularity shell jet.sif
cd /sphenix/user/...
mkdir rhic_ags_school
cd rhic_ags_school

Mounting an external directory

CD in a repository where you have plenty of disk space and try to start singularity while specifying a certain directory that should be mounted inside the container:

(replace "/scratch" by the directory you want to mount)

singularity build --sandbox jetbox docker://jetscape/base:v1.4
singularity shell --writable  --bind /scratch:/mnt/ jetbox_bind
cd /mnt
mkdir rhic_ags_school
cd rhic_ags_school

Clone JETSCAPE.

git clone https://github.com/TianyuDai/JETSCAPE-rhic-ags

CD into the cloned repository. Get external packages

cd JETSCAPE-rhic-ags
cd external_packages
bash get_music.sh 
cd ..

Create a directory called build. CD into the build directory and build JETSCAPE.

mkdir build
cd build
cmake -DUSE_MUSIC=ON ../
make -j

At this point, JETSCAPE is ready to be used!

Alternative installation: from source codes

The manual installation instructions are relatively straightforward, although your mileage may vary depending on your OS and the libraries already installed on your workstation.

Alternative installation: Docker

Installation instructions with Docker are not yet fully tested. You can find them here. Please ask for help on Slack if you need to use the Docker instructions.