Skip to content
Snippets Groups Projects
Select Git revision
  • b9e901b0cd1f928b59c832707f335074350e6654
  • master default protected
  • nightly_master
  • online_much_readconf_cleanup protected
  • online_mvd_readconf_cleanup protected
  • jul25_patches
  • cleanup_rich_v25a
  • jul24_patches
  • nov23_patches
  • DC_2404
  • nighly_master
  • DC_Jan24
  • DC_Nov23
  • DC_Oct23
  • feb23_patches
  • L1Algo-dev9
  • dec21_patches protected
  • apr21_patches protected
  • dev_2025_44
  • dev_2025_43
  • dev_2025_42
  • dev_2025_41
  • dev_2025_40
  • dev_2025_39
  • dev_2025_38
  • dev_2025_37
  • dev_2025_36
  • dev_2025_35
  • dev_2025_34
  • dev_2025_33
  • dev_2025_32
  • dev_2025_31
  • dev_2025_30
  • RC_jul25
  • dev_2025_29
  • dev_2025_28
  • dev_2025_27
  • dev_2025_26
38 results

autoinstall_framework.sh

Blame
  • Florian Uhlig's avatar
    Administrator authored
    This version is an exact copy of the last revision of the trunk branch
    of the old SVN repository of CbmRoor at
    https://subversion.gsi.de/cbmsoft/cbmroot/trunk
    The old SVN repository will still be available for read access.
    cba14ef1
    History
    autoinstall_framework.sh 5.93 KiB
    #!/bin/bash
    #
    ##   semi-automated script installing FairSoft, FairRoot and CbmRoot
    #
    
    # 31.08.2018 - re-introduce old version
    # 24.05.2018 - switch to oct17p1 as dev version
    # 31.01.2017 - make ROOT6 the default
    # 17.12.2015 - split fairsoft directory into src and install
    # 01.12.2015 - add selection of root version
    # 17.07.2015 - introduce option to compile dev settings 
    # 02.06.2015 - introduce parameters for individual package selection
    # 13.03.2015 - initial version
    # by David Emschermann
    
    #-------------------------------------
    # usage:
    # svn co https://subversion.gsi.de/cbmsoft/cbmroot/trunk $CBMSRCDIR
    # cd $CBMSRCDIR
    # ./autoinstall_framework.sh dev 0 0 1
    # or
    # ./autoinstall_framework.sh 0 0 1
    # or
    # ./autoinstall_framework.sh 1 1 1
    #-------------------------------------
    
    # choose your root verion
    export ROOTVER=6
    
    # put your desired variants here:
    export FSOFTDEV=jun19p2
    export FROOTDEV=v18.2.1
    
    export FSOFTPRO=jun19p1
    export FROOTPRO=v18.2.0
    
    export FSOFTOLD=may18p1
    export FROOTOLD=v18.0.7
    
    #-------------------------------------
    
    export NUMOFCPU=`cat /proc/cpuinfo | grep processor | wc -l`
    export CBMSRCDIR=`pwd`
    
    #-------------------------------------
    
    # set default version to pro
    export FSOFTVER=$FSOFTPRO
    export FROOTVER=$FROOTPRO
    
    # check if we want to run with GSI compiler
    if [ $# -ge 1 ]; then
      if [ "$1" == "gsi" ]; then
        # use a different compiler from GSI
        module use /cvmfs/it.gsi.de/modulefiles/
        module load compiler/gcc/4.9.2
        export CXX=g++
        shift
      fi
    fi
    
    # check if we want to run with dev
    if [ $# -ge 1 ]; then
      if [ "$1" == "dev" ]; then
        export FSOFTVER=$FSOFTDEV
        export FROOTVER=$FROOTDEV
        shift
      elif [ "$1" == "old" ]; then
        export FSOFTVER=$FSOFTOLD
        export FROOTVER=$FROOTOLD
        shift
      fi
    fi
    
    echo FSOFTVER: $FSOFTVER
    echo FROOTVER: $FROOTVER
    
    # install everything by default
    SETUP_FAIRSOFT=1
    SETUP_FAIRROOT=1
    SETUP_CBMROOT=1
    
    echo number of parameters: $#
    
    # handle parameters, if supplied
    if [ $# -eq 1 ]; then
      SETUP_FAIRSOFT=$1
      SETUP_FAIRROOT=0
      SETUP_CBMROOT=0
    fi
    # handle parameters, if supplied
    if [ $# -eq 2 ]; then
      SETUP_FAIRSOFT=$1
      SETUP_FAIRROOT=$2
      SETUP_CBMROOT=0
    fi
    # handle parameters, if supplied
    if [ $# -eq 3 ]; then
      SETUP_FAIRSOFT=$1
      SETUP_FAIRROOT=$2
      SETUP_CBMROOT=$3
    fi
    
    echo "Install Fairsoft:" $SETUP_FAIRSOFT
    echo "Install Fairroot:" $SETUP_FAIRROOT
    echo "Install Cbmroot :" $SETUP_CBMROOT
    echo
    
    # exit
    
    #
    ##   FairSoft
    #
    
    if [ $SETUP_FAIRSOFT -ge 1 ]; then
      echo "Setting up Fairsoft ..."
    
      # check if sqlite3 is available
      if [ -f /usr/include/sqlite3.h ] ; then
       echo 
       echo "Sqlite3 is available" 
       echo 
      else 
       echo 
       echo "Sqlite3 is not available"
       echo 
       echo "On Debian, please install as follows:"
       echo "sudo apt install libsqlite3-dev"
       echo 
       echo "On OpenSuSE, please install as follows:"
       echo "zypper install libsqlite3-0 sqlite3-devel"
       echo
       echo "afterwards, restart autoinstall_framework.sh"
       echo 
       sleep 5
       exit
      fi
    
      cd ..
      git clone https://github.com/FairRootGroup/FairSoft fairsoft_src_${FSOFTVER}_root${ROOTVER}
      cd fairsoft_src_${FSOFTVER}_root${ROOTVER}
      git tag -l
      git checkout -b $FSOFTVER $FSOFTVER
    
      #emacs -nw automatic.conf
      #./configure.sh automatic.conf
    
      if [ $ROOTVER -eq 6 ]; then
        sed s/build_root6=no/build_root6=yes/ automatic.conf > automatic1_root.conf
      else 
        cp automatic.conf automatic1_root.conf
      fi
      FSOFTINSTALLPATH=`pwd | sed s/fairsoft_src_/fairsoft_/`
      sed /SIMPATH_INSTALL/d automatic1_root.conf > automatic2_path.conf
      echo "  SIMPATH_INSTALL=$FSOFTINSTALLPATH/installation" >> automatic2_path.conf
      sed s/compiler=/compiler=gcc/ automatic2_path.conf > automatic3_gcc.conf
      ./configure.sh automatic3_gcc.conf
      
      cd $CBMSRCDIR
      echo done installing FairSoft
    fi
    
    
    #
    ##   FairRoot
    #
    
    if [ $SETUP_FAIRROOT -ge 1 ]; then
      echo "Setting up Fairroot ..."
    
      # set SIMPATH
      cd ..
      echo "SIMPATH	before: $SIMPATH"
      cd fairsoft_${FSOFTVER}_root${ROOTVER}/installation/
      export SIMPATH=`pwd`
      echo "SIMPATH	now   : $SIMPATH"
      cd $CBMSRCDIR
    
      echo PATH=$SIMPATH/bin:$PATH
      export PATH=$SIMPATH/bin:$PATH
      
      cd ..
      git clone https://github.com/FairRootGroup/FairRoot.git fairroot_src_$FROOTVER-fairsoft_${FSOFTVER}_root${ROOTVER}
      cd fairroot_src_$FROOTVER-fairsoft_${FSOFTVER}_root${ROOTVER}
      git tag -l
      git checkout -b $FROOTVER $FROOTVER
      mkdir build
      cd build
      cmake \
        -DCMAKE_CXX_COMPILER=$($SIMPATH/bin/fairsoft-config --cxx) \
        -DCMAKE_C_COMPILER=$($SIMPATH/bin/fairsoft-config --cc) \
        -DCMAKE_INSTALL_PREFIX=../../fairroot_$FROOTVER-fairsoft_${FSOFTVER}_root${ROOTVER} \
        ..
      nice make install -j$NUMOFCPU
      
      cd $CBMSRCDIR
      echo done installing FairRoot
    fi
    
    
    #
    ##   CbmRoot
    #
    
    if [ $SETUP_CBMROOT -ge 1 ]; then
      echo "Setting up Cbmroot ..."
    
      # set SIMPATH
      cd ..
      echo "SIMPATH	before: $SIMPATH"
      cd fairsoft_${FSOFTVER}_root${ROOTVER}/installation/
      export SIMPATH=`pwd`
      echo "SIMPATH	now   : $SIMPATH"
      cd $CBMSRCDIR
    
      # set FAIRROOTPATH
      cd ..
      cd fairroot_$FROOTVER-fairsoft_${FSOFTVER}_root${ROOTVER}
      export FAIRROOTPATH=`pwd`
      echo "FAIRROOTPATH: $FAIRROOTPATH"
      cd $CBMSRCDIR
    
      echo PATH=$SIMPATH/bin:$PATH
      export PATH=$SIMPATH/bin:$PATH
      
      cd ..
    #  if [ -d fieldmaps ]; then
    #    svn up fieldmaps    
    #  else
    #    svn co https://subversion.gsi.de/cbmsoft/cbmroot/fieldmaps fieldmaps
    #  fi
      
      #svn co https://subversion.gsi.de/cbmsoft/cbmroot/trunk cbm_$CBMSRCDIR
      cd $CBMSRCDIR
      mkdir build
      cd build
      cmake \
        -DCMAKE_CXX_COMPILER=$($SIMPATH/bin/fairsoft-config --cxx) \
        -DCMAKE_C_COMPILER=$($SIMPATH/bin/fairsoft-config --cc) \
        ..
      nice make -j$NUMOFCPU
      cd ..
      
    #  cd input
    #  ln -s ../../fieldmaps/* .
    #  cd ..
        
      echo done installing CbmRoot
    
      echo
      echo ". build/config.sh"
      echo "export SIMPATH=$SIMPATH"
      echo "export FAIRROOTPATH=$FAIRROOTPATH"
    
    fi
    
    #####################################################################################
    #####################################################################################