Building Root With Specific C++ Compilers

I’m trying to build the newest installation of root (6.18.04) with a specific gcc version which is not the default on my system.

I have some other software that requires root to work that is having problems with ABI (something like the default C++ compiler and libraries being used have different ABI versions) and I’m seeing if I can fix the problem by using a newer C++ compiler. In this instance I’m using gcc 9.2.

Root has to be built with pythia 6 and I’ve tried to specify the c++ compiler by using the following cmake command;

/home/lar/cthorpe/cmake-3.15.2/bin/cmake -DPYTHIA6_LIBRARY=/home/lar/cthorpe/install2/root/lib/libPythia6.so -Dpyhia6=ON -DCMAKE_CXX_COMPILER=/home/lar/cthorpe/gcc_9_2/bin/g++-9.2 -DCMAKE_C_COMPILER=/home/lar/cthorpe/gcc_9_2/bin/gcc-9.2   ~/install2/root-6.18.04 > cmakeout.txt

The output from cmake is attached in case there is anything abnormal in there.

However make fails partway through. Running make with VERBOSE=1, make fails at the line:

 [30%] Building arm_neon.h...
cd /home/lar/cthorpe/install2/root/interpreter/llvm/src/tools/clang/lib/Headers && ../../../../bin/clang-tblgen -gen-arm-neon -I /home/lar/cthorpe/install2/root-6.18.04/interpreter/llvm/src/tools/clang/lib/Headers -I /home/lar/cthorpe/install2/root-6.18.04/interpreter/llvm/src/include /home/lar/cthorpe/install2/root-6.18.04/interpreter/llvm/src/tools/clang/include/clang/Basic/arm_neon.td -o /home/lar/cthorpe/install2/root/interpreter/llvm/src/tools/clang/lib/Headers/arm_neon.h.tmp
../../../../bin/clang-tblgen: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by ../../../../bin/clang-tblgen)
../../../../bin/clang-tblgen: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.26' not found (required by ../../../../bin/clang-tblgen)
../../../../bin/clang-tblgen: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by ../../../../bin/clang-tblgen)
make[2]: *** [interpreter/llvm/src/tools/clang/lib/Headers/arm_neon.h.tmp] Error 1
make[2]: Leaving directory `/home/lar/cthorpe/install2/root'
make[1]: *** [interpreter/llvm/src/tools/clang/lib/Headers/CMakeFiles/clang-headers.dir/all] Error 2
make[1]: Leaving directory `/home/lar/cthorpe/install2/root'
make: *** [all] Error 2

On this system there is no libstdc++.so.6 in /lib64 however there is one in ~/gcc_9_2/lib64/ so I wonder if something I have done is causing it to look in the wrong place? (If that is the actual problem).

cmakeout.txt (10.4 KB)

_ROOT Version:6.18.04
Platform: Not Provided
Compiler: Not Provided


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