ROOT v6.04.18.Linux-slc6-x86_64-gcc4.9 with Software Colections devtoolset-3

Hello,

I am trying to install a binary distribution on Scientific Linux 6. I downloaded the binary https://root.cern.ch/download/root_v6.04.18.Linux-slc6-x86_64-gcc4.9.tar.gz. I was thinking that I could run it if I used the Software collections devtoolset-3 which brings gcc 4.9 but nope

scl enable devtoolset-3 bash
echo $LD_LIBRARY_PATH
/opt/rh/devtoolset-3/root/usr/lib64:/opt/rh/devtoolset-3/root/usr/lib:/usr/remote/prive/root/SL6-x86_64/root_v6.04.18.Linux-slc6-x86_64-gcc4.9/lib
which gcc
/opt/rh/devtoolset-3/root/usr/bin/gcc

. /path//root_v6.04.18.Linux-slc6-x86_64-gcc4.9/bin/thisroot.sh

root
root: /usr/lib64/libstdc++.so.6: version `CXXABI_1.3.8’ not found (required by root)

=> Does this means that the path to the library libstdc++.so.6 is fixed in the compile code and it cannot use the libstdc++.so.6 that comes from gcc-4.9 and is listed in LD_LIBRARY_PATH.

JMB

Hi JMB,

That’s due to the way that devtoolset “patches” libstdc++. We don’t support it for the time being. You’re likely better off with docker, a VM or a more recent distro.

Cheers, Axel.

What about:

Thanks,

So in short : I need a platform with gcc 4.9 natively installed with the system right ?

BTW: Why is that that recent ROOT6 binaries are not built for scientific linux 6 ? Has the decision been made at some point to drop builds for SL6 ?

JM

Hi JM!
If you make the change to devtoolset “permanent” like having
source /opt/rh/devtoolset-3/enable in .bashrc you could compile root with the new gcc but you should not forget that all further usage is tied to devtoolset …
For usage in a cluster within job submission you have to take care either to source your profile or to enable the devtoolset in the submission script

Hi Adrian,

Thanks !

The idea was to use a binary package and avoid recompilation.

As I understand the situation, the best for us is to start providing
CentOS7 platforms to our researchers.

JM

Hi! Yeah, i already migrated a small cluster for personal analysis to centos7 with the planning that after i am comfortable with it to migrate also the grid cluster. Given the latest trends in vectorization, FMV - Function Multi Versioning from gcc 6.4 i believe and also support for the new hardware a newer os + compiler is really needed…

The problem with SLC6 is that the system compiler (GCC 4.4.7) is too old, so it’s not enough to build ROOT. Since ROOT needs C++11, you need at least GCC 4.8.5 to build ROOT, but the ABI might be different than the system compiler, so everything that uses ROOT needs to be compiled with the same compiler.

My short answer: yes, that would be the easiest. I would expect all software out there to work with CentOS7 these days…

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.