How to install MpdRoot or BmnRoot

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 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 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. The May 2016 release of FairSoft can be downloaded from GitHub:
  2. cd /opt
    git clone https://github.com/FairRootGroup/FairSoft.git fairsoft
    cd fairsoft
    git checkout may16p1
    
  3. Apply patch to support GCC without C++11 and XRootD compilation with GCC 5:
    wget http://mpd.jinr.ru/data/fairsoft_may16p1.patch
    patch -p1 -i fairsoft_may16p1.patch
    
  4. Installing fairsoft:
  5. ./configure.sh 
    

    Follow the instructions on the screen. It’s preferred to install binaries and libraries to “/opt/fairsoft/install” directory. ROOT 6 is not supported by MpdRoot and BmnRoot now.

    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

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

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

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

      git clone --recursive https://git.jinr.ru/nica/bmnroot.git
      
    • Clone GIT repository for developers with SSH
    • Register on the site https://git.jinr.ru with @jinr.ru mail and add SSH key https://git.jinr.ru/help/ssh/README to your profile – https://git.jinr.ru/profile/keys/new.

      for MpdRoot (dev developer branch):

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

      for BmnRoot (dev developer branch):

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

  4. Installation procedure for MpdRoot or BmnRoot:

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

      By default, SetEnv.sh points to /opt/fairsoft/install directory. If you installed FAIRSOFT to another directory, please, change only SIMPATH variable in the file. For example, on the nc-farm, change the string to “export SIMPATH=/opt/fairsoft_root5/install” to use FairSoft with ROOT 5, or “export SIMPATH=/opt/fairsoft_root6/install” for FairSoft with ROOT 6.

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

  5. Update your local branch from origin branch:

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