A guided tour to a full installation of FairSoft + FairRoot + R3BRoot

Preparing the environment - Installing stuff required for FairSoft

In principle, you can skip this step and try to get things done. If nothing breaks and you get no errors, great. If you do run into problems, be prepared to do everything again.

If you have (sudo-)control over your system, look at the FairSoft dependencies and execute the install string matching your linux distribution.

In case you do not have sudoers rights or the installed versions are too old (e.g. automake), you might have to install specific stuff from source yourself and add it to the $PATH and $LD_LIBRARY_PATH environment variables - have fun with that.

Environment Variables

Everything discussed here is completely and utterly dependent on environment variables. Use:

$ env # to print all environment variables, can / should be used with grep
$ env | grep root # case sensitive
$ which <program name> # prints location of the program. Useful to check if e.g. root is correctly loaded. (/usr/bin/root is wrong when using FairSoft)

If not all envs are correct all the time, compilation might fail, or worse, succeed just so that your scripts will fail on you later on.
Most errors can be avoided by environment variables. It is a very good idea to set the environment variables at every installation step using scripts.
It is your duty to make sure every single environment variable is correct all the time

Create a base path for your installation

Create a directory to hold a (versioned) installation of FairSoft + FairRoot. In my case I use the date of compilation, so I can fall back to or test versions compiled earlier, e.g. /data/jmayer/Simulations/2017-03-08.

The Goal is to have approximately this structure:

$ cd /data/jmayer/Simulations/2017-03-08
$ ls
build-FairRoot.sh FairRoot FairRoot-build FairRoot-src FairSoft FairSoft-src ucesb upexps

While R3BRoot lives in /data/jmayer/Simulations/R3BRoot - and gets compiled alot more often.
ucesb and upexps might also live somewhere else, depending on your needs. Remember that they need to be compiled with the correct root version, however.

Installing FairSoft

This will install FairSoft to FairSoft/ (so make sure the source directory is actually FairSoft-src). Settings are:

Installing FairRoot

In your base directory where you have the directories FairSoft-src and FairSof, do

git clone https://github.com/FairRootGroup/FairRoot.git -b dev FairRoot-src
wget https://gist.githubusercontent.com/janmayer/746246e9c7cce4816830/raw/bui...
chmod +x build-FairRoot.sh
./build-FairRoot.sh

This will download the dev-Version of FairRoot and install it using this script:

Installing UCESB + UPEXPS

Installing R3BRoot

git clone https://github.com/R3BRootGroup/R3BRoot.git -b dev R3BRoot
cd R3BRoot
wget https://gist.githubusercontent.com/janmayer/3fcdb2f3bf9fbf43d5ec4b41604f...
chmod +x build.sh
vim build.sh # edit the BASEPATH (and UCESB_DIR) to match your system
./build.sh