Last update:
Operating system
Start from a CentOS8 machine (tested on CentOS Linux release 8.4.2105)
sudo yum -y install epel-release yum-utils wget git
sudo yum-config-manager --set-enabled powertools
sudo yum-config-manager --set-enabled appstream
New INFN CA
sudo wget -O /etc/yum.repos.d/EGI-trustanchors.repo http://repository.egi.eu/sw/production/cas/1/current/repo-files/EGI-trustanchors.repo
sudo yum -y install ca-policy-egi-core
sudo ln -s /etc/grid-security/certificates/USERTrustRSACertificationAuthority.pem /etc/pki/ca-trust/source/anchors/
sudo ln -s /etc/grid-security/certificates/GEANTeScienceSSLCA4.pem /etc/pki/ca-trust/source/anchors/
sudo wget -O /etc/pki/ca-trust/source/anchors/GEANT-OV-RSA-CA-4.pem https://pandora.infn.it/public/483fb5/dl/GEANT-OV-RSA-CA-4.pem
sudo update-ca-trust extract
Setting yum repositories
sudo wget -O /etc/yum.repos.d/mc-extras.repo https://nexus.pd.infn.it/artifacts/repository/repo-files/mc-extras.repo
sudo wget -O /etc/yum.repos.d/acts.repo https://portal.nersc.gov/cfs/atlas/kkrizka/repos/acts/acts.repo
Some useful packages.. and some extras
sudo
yum -y install binutils-devel boost173-devel bzip2 chrpath cmake
doxygen eigen3-devel emacs eog expat-devel freeglut-devel gcc gcc-c++
gedit giflib-devel glibc glibc-common glibc-devel glibc-headers glibc-static
glibc-utils graphviz htop libjpeg-turbo-devel libpng-devel libquadmath-devel
libSM-devel libstdc++-devel libtiff-devel libX11-devel libXext-devel
libXft-devel libXmu-devel libXpm-devel make mesa-dri-drivers mlocate
mysql mysql-devel openmotif-devel patch python2 python3-devel rsync screen sshpass
subversion tbb-devel texlive texlive-multirow texlive-sectsty texlive-tocloft
texlive-xtab valgrind vim-enhanced xorg-x11-xauth xrootd-devel zip zlib-devel
Framework
Install geant4 and others dependencies:
sudo
yum -y install clhep-devel eigen3-devel geant4 geant4-devel gsl-devel HepMC3-devel
sudo geant4-dataset-download
Install ROOT
Due to a bug on the released rpm packages as temporary solution install ROOT from this repository:
sudo wget -O /etc/yum.repos.d/root.repo https://nexus.pd.infn.it/artifacts/repository/repo-files/root-c17.repo
sudo yum -y install root root-gdml root-genvector root-geom root-graf3d-eve
root-graf3d-eve7 root-gui-browserv7 root-minuit2 root-smatrix root-tmva
root-tpython root-unuran python3-root root-gui-fitpanel root-roofit root-roofit-more root-tmva-gui
Check if it installs the version: 6.22.06-1
Workarounds
sudo alternatives --set python /usr/bin/python3
sudo sed -i 's|include_next|include|g' /usr/include/c++/8/cstdlib
sudo sed -i 's|include_next|include|g' /usr/include/c++/8/bits/std_abs.h
sudo sed -i 's|include_next|include|g' /usr/include/c++/8/cmath
sudo
wget -O /usr/include/c++/8/x86_64-redhat-linux/bits/c++config.h
https://raw.githubusercontent.com/MuonColliderSoft/MuonCollider-docker/v.1.5/CentOS8/c%2B%2Bconfig.h
sudo
wget -O /usr/include/c++/8/x86_64-redhat-linux/32/bits/c++config.h
https://raw.githubusercontent.com/MuonColliderSoft/MuonCollider-docker/v.1.5/CentOS8/c%2B%2Bconfig_32.h
Installation
Build setup
If you decide to follow these instructions and to install under /opt you need superuser privileges
sudo su -
Move to installation directory
cd /opt
git clone https://github.com/MuonColliderSoft/MuonCutil.git
cd /opt/MuonCutil && git checkout v02-07-MC
cd /opt
git clone https://github.com/MuonColliderSoft/iLCInstall.git
cd /opt/iLCInstall && git checkout v02-03-01-MC
Copy the last configuration files
cd /opt/iLCInstall/
mkdir releases/development
cp /opt/MuonCutil/releases/development/* releases/development
Software installation
./ilcsoft-install releases/development/release-base.cfg --install-prefix=/opt/ilcsoft -v -i
./ilcsoft-install releases/development/release-ilcsoft.cfg --install-prefix=/opt/ilcsoft -v -i
Install the last geometry
For the MuonCollider we update the detector's geometry
cd /opt/ilcsoft/muonc
git clone https://github.com/MuonColliderSoft/detector-simulation.git
cd /opt/ilcsoft/muonc/detector-simulation && git checkout v01-02-MC
Post installation
Change ced2go to force to use python2
sed -i 's|/bin/env python|/usr/bin/env python2|g' /opt/ilcsoft/muonc/CEDViewer/v01-18/bin/ced2go
Define the init file for profile
wget -O /etc/profile.d/ilcsoft.sh https://raw.githubusercontent.com/MuonColliderSoft/MuonCollider-docker/v.1.5/CentOS8/profile.d_ilcsoft.sh
Install via rpms – experimental --
This is a working in progress method to install the software, alternative to the manual installation procedure, use at your own risk.
BTW With this installation you need to modify the geometry's path in the configuration file: /usr/share/muonc-detector-geometry/MuColl_v1/MuColl_v1.xml; also for ACTs the geometry and the material description files are in the /usr/share/ACTSTracking/data/ directory.
Setting yum repository
sudo wget -O /etc/yum.repos.d/muoncollider.repo https://cld-smact-02.pd.infn.it/artifacts/repository/repo-files/muoncollidersoft.repo
Install the required packages
sudo
yum -y install python3-dd4hep muonc-detector-geometry ilc-marlin-dd4hep
ilc-marlin-fastjet ilc-marlin-kinfit-processors ilc-overlay
ilc-lcfi-plus ilc-conformal-tracking ilc-marlin-reco
ilc-forward-tracking ilc-marlin-trk-processors ilc-ced-viewer
ilc-ddmarlin-pandora ilc-lctuple ilc-clic-performance ilc-acts-tracking
sudo geant4-dataset-download
Test
To check your installation you can use the following simple tests. You need again the utils repository, so login as user and clone it again:
git clone https://github.com/MuonColliderSoft/MuonCutil.git
cd MuonCutil/SoftCheck/
Simulation
ddsim
--compactFile
/opt/ilcsoft/muonc/detector-simulation/geometries/MuColl_v1/MuColl_v1.xml
--steeringFile sim_steer.py > sim.out
Reconstruction
Marlin
--InitDD4hep_mod4.DD4hepXMLFile=/opt/ilcsoft/muonc
/detector-simulation/geometries/MuColl_v1/MuColl_v1.xml
reco_steer.xml > reco.out
Event display
ced2go -d /opt/ilcsoft/muonc/detector-simulation/geometries/MuColl_v1/MuColl_v1.xml Output_REC.slcio