Prerequisite for Compiling XRootD Ceph
Recent versions of XRootD and the XRootDCeph plugin require a compiler with C++14 support. SL 7 (at least) only includes g++ around version 4.8, supporting C++11. Version 9 of the g++ compiler, supporting C++14, is available in the Developer Toolset version 9, part of the Software Collections meta-package. The file describing the Software Collections repository is:
# CentOS-SCLo-sclo.repo
#
# Please see http://wiki.centos.org/SpecialInterestGroup/SCLo for more
# information
[softwarecollections]
name=EL7 - SCLo rh
baseurl=http://mirror.centos.org/centos/7/sclo/$basearch/rh/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-SCLo
[softwarecollections-testing]
name=EL7 - SCLo rh Testing
baseurl=http://buildlogs.centos.org/centos/7/sclo/$basearch/rh/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-SCLo
[softwarecollections-source]
name=EL7 - SCLo rh Source
baseurl=http://vault.centos.org/centos/7/sclo/Source/rh/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-SCLo
To install from this repo, copy the file in place and tell yum to enable it:
cp softwarecollections.repo /etc/yum.quattor.repos.d/
yum-config-manager --enable softwarecollections
You can then install the devtoolset:
yum install -y devtoolset-9
To use programs from the devtoolset:
The XRootD developer packages required for compilng the XRootDCeph plugin are xrootd-devel, xrootd-server-devel, xrootd-private-devel, and xrootd-client-devel.
You can install with a command such as: