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: