Building ROOT
Main Page -> Control & Readout Software Documentation and Howto's -> Building ROOT
In the pCT project we need to use a version of ROOT which is compiled with c++17 in order to build packages with ROOT dependencies with c++17 standard. .
ROOT implements a custom adaptor to std::string_view
if not compiled with c++17 and this conflicts with the real one if a packages uses c++17 standard and ROOT libraries/includes.
sudo yum install git cmake gcc-c++ gcc binutils \
libX11-devel libXpm-devel libXft-devel libXext-devel \
gcc-gfortran openssl-devel pcre-devel \
mesa-libGL-devel mesa-libGLU-devel glew-devel ftgl-devel mysql-devel \
fftw-devel cfitsio-devel graphviz-devel \
avahi-compat-libdns_sd-devel libldap-dev python-devel \
libxml2-devel gsl-static gsl-devel \
libAfterImage libAfterImage-devel
sudo python3 -m pip install numpy
# clone the repository
git clone http://github.com/root-project/root.git
# choose a build directory
mkdir build_root; cd build_root
scl enable devtoolset-8 bash
# configure: choose install target, on the lab machine we need to disable asimage for some reason
# the important flag is the C++ standard
cmake3 -DCMAKE_INSTALL_PREFIX=/opt/root -DCMAKE_CXX_STANDARD=17 ../
#build
cmake3 --build . -- -j4
# install (eventually using sudo)
cmake3 --build . --target install