How to install MpdRoot or BmnRoot (new)

Before installing MpdRoot or BmnRoot make sure that the following packages are installed on your system!

  • Install packages needed for RedHat-based OS (eg, Scientific Linux):
  • su
    yum install subversion git make cmake gcc-gfortran gcc-c++ binutils file patch redhat-lsb-core libX11-devel libXmu-devel libXpm-devel libXft-devel libXext-devel mesa-libGLU-devel libxml2-devel expat-devel zlib-devel postgresql-devel mysql-devel openssl-devel curl-devel automake libtool fftw3-devel

  • Install packages needed for Debian-based OS (eg, Ubuntu):
  • sudo apt-get install subversion git make cmake gcc gfortran binutils patch lsb-release libx11-dev libxmu-dev libxpm-dev libxft-dev libxext-dev dpkg-dev xlibmesa-glu-dev libglew-dev libxml2-dev libexpat1-dev zlib1g-dev libpqxx3-dev libmysqlclient-dev libssl-dev libcurl4-openssl-dev automake libtool fftw3-dev

    Installing the external packages

  1. Set an installation path for the external packages, e.g. /opt
  2. export INSTALLATION_PATH=/opt
    cd $INSTALLATION_PATH
    
  3. Install the FairSoft package
  4. The October 2017 release of FairSoft can be downloaded from GitHub:

    git clone https://github.com/FairRootGroup/FairSoft.git fairsoft
    cd fairsoft
    git checkout oct17p1
    

    Apply patch (to correct the ROOT bug concerned with PostgreSQL reading):

    wget http://mpd.jinr.ru/data/fairsoft_oct17p1.patch
    patch -p1 -i fairsoft_oct17p1.patch
    

    Installing fairsoft:

    ./configure.sh
    # 1) GCC (on Linux)
    # 1) No Debug Info
    # 1) Yes (install Simulation engines and event generators)
    # 2) Internet (install G4 files from internet)
    # 2) No (not install the python bindings)
    # path: $INSTALLATION_PATH/fairsoft/install
    

    Follow the instructions on the screen. You can use options suggested above. ROOT 6 is required for MpdRoot and BmnRoot.

  5. Install the FairRoot environment
  6. The last release of FairRoot can be downloaded from GitHub:

    cd $INSTALLATION_PATH
    export SIMPATH=$INSTALLATION_PATH/fairsoft/install
    export PATH=$SIMPATH/bin:$PATH
    git clone https://github.com/FairRootGroup/FairRoot.git fairroot
    cd fairroot
    git checkout v-17.10b
    

    Apply patch (to correct FairParAsciiFileIo class and wrong message on different compilers):

    wget http://nc13.jinr.ru/data/fairsoft_jun19p1gcc10pg.patch
    patch -p1 -i fairsoft_jun19p1gcc10pg.patch
    

    Installing fairroot:

    mkdir build
    cd build
    cmake -DCMAKE_INSTALL_PREFIX="$INSTALLATION_PATH/fairroot/install" -DBUILD_EXAMPLES=OFF ..
    make
    make install
    

    Installing the main soft

  1. Go to the installation directory

  2. Go to the directory where you want to install the MpdRoot or BmnRoot software, e. g. home directory:

    cd ~
    

  3. Clone GIT repository

  4. Register on JINR GitLab with @jinr.ru mail, if you have not already done. Add SSH key (readme) to your profile to not enter the password every time you access.

    • Clone GIT repository with HTTPS (read-only access)
    • for MpdRoot (pro release branch. If you want the last developer version, add -b dev):

      git clone -b new_fair_structur --recursive https://git.jinr.ru/nica/mpdroot.git
      

      for BmnRoot (pro release branch. If you want the last developer version, add -b dev):

      git clone -b new_fair_structure --recursive https://git.jinr.ru/nica/bmnroot.git
      
    • Clone GIT repository with SSH (for developers)
    • for MpdRoot (dev developer branch):

      git clone -b new_fair_structur --recursive git@git.jinr.ru:nica/mpdroot.git
      

      for BmnRoot (dev developer branch):

      git clone -b new_fair_structure --recursive git@git.jinr.ru:nica/bmnroot.git
      

  5. Installation procedure for MpdRoot or BmnRoot:

    • Configure:
    • "cd mpdroot" or "cd bmnroot"
      mkdir build
      . SetEnv.sh
      cd build
      cmake ..
      

      By default, in the SetEnv.sh file SIMPATH points to /opt/fairsoft/install, and FAIRROOTPATH – /opt/fairroot/install directories. If you installed FairSoft or FairRoot to another directory, please, change SIMPATH and FAIRROOTPATH variables in the file (“export SIMPATH=[your FairSoft install path]” and “export FAIRROOTPATH=[your FairRoot install path]”).

    • Build the framework:
    • make
      . config.sh
      
    • Run “. config.sh” every time you run terminal to work with BmnRoot/MpdRoot

  6. Update your local branch from origin branch:

  7. "cd mpdroot" or "cd bmnroot"
    git pull --recurse-submodules