Dear ROOTers,
I am trying to install ROOT 6.14.00 on a server with SL6 as OS. I installed the compiler gcc4.8 and I am using the following settings to point to the correct compiler and python versions:
cmake3 -DCMAKE_CXX_COMPILER=/opt/exp_soft/t2k.org/riccioc/gcc-4.8.2/install/gcc-4.8.2/bin/g++4.8 -DCMAKE_C_COMPILER=/opt/exp_soft/t2k.org/riccioc/gcc-4.8.2/install/gcc-4.8.2/bin/gcc4.8 -DPYTHON_EXECUTABLE=/usr/bin/python3.4 …/root-6.12.06/
Then I build root using the command cmake3 --build . and the error message is the following
[ 74%] Performing build step for ‘TBB’
CMake Error at /opt/exp_soft/t2k.org/riccioc/root/build_root-6.14.00/TBB-prefix/src/TBB-stamp/TBB-build-RelWithDebInfo.cmake:16 (message):
Command failed: 2
‘make’ ‘compiler=gcc’ ‘CXXFLAGS= -mno-rtm’ ‘CPLUS=/opt/exp_soft/t2k.org/riccioc/gcc-4.8.2/install/gcc-4.8.2/bin/g++4.8’ ‘CONLY=/opt/exp_soft/t2k.org/riccioc/gcc-4.8.2/install/gcc-4.8.2/bin/gcc4.8’
See also
/opt/exp_soft/t2k.org/riccioc/root/build_root-6.14.00/TBB-prefix/src/TBB-stamp/TBB-build-*.log
gmake[2]: *** [TBB-prefix/src/TBB-stamp/TBB-build] Error 1
gmake[1]: *** [CMakeFiles/TBB.dir/all] Error 2
gmake: *** [all] Error 2
The TBB log files contain the following message:
$ more /opt/exp_soft/t2k.org/riccioc/root/build_root-6.14.00/TBB-prefix/src/TBB-stamp/TBB-build-*.log
::::::::::::::
/opt/exp_soft/t2k.org/riccioc/root/build_root-6.14.00/TBB-prefix/src/TBB-stamp/TBB-build-err.log
::::::::::::::
…/…/build/Makefile.tbb:32: CONFIG: cfg=debug arch=intel64 compiler=gcc target=linux runtime=cc4.4.7_libc2.12_kernel2.6.32
cc1plus: error: unrecognized command line option “-mno-rtm”
make[4]: *** [concurrent_hash_map.o] Error 1
make[3]: *** [tbb] Error 2
::::::::::::::
/opt/exp_soft/t2k.org/riccioc/root/build_root-6.14.00/TBB-prefix/src/TBB-stamp/TBB-build-out.log
::::::::::::::
Created ./build/linux_intel64_gcc_cc4.4.7_libc2.12_kernel2.6.32_release and …_debug directories
Do you know how I can solve?
Ciro
PS. Note that I cannot be superuser.
_ROOT Version: 6.14.00
_Platform: SL6
_Compiler: gcc4.8
amadio
July 22, 2018, 5:50pm
2
You need a compiler with C++11 support to be able to compile ROOT, and GCC-4.8.2 is too old for that. The oldest supported version is GCC 4.8.5.
Hi Amadio,
thank you very much for your reply. I installed gcc8.1 and I have the same problem:
CMake Error at /opt/exp_soft/t2k.org/riccioc/root/build_root-6.14.00/TBB-prefix/src/TBB-stamp/TBB-build-RelWithDebInfo.cmake:16 (message):
Command failed: 2
‘make’ ‘compiler=gcc’ ‘CXXFLAGS= -mno-rtm’ ‘CPLUS=/opt/exp_soft/t2k.org/riccioc/gcc-8.1.0/build/install/bin/g++8.1’ ‘CONLY=/opt/exp_soft/t2k.org/riccioc/gcc-8.1.0/build/install/bin/gcc8.1’
See also
/opt/exp_soft/t2k.org/riccioc/root/build_root-6.14.00/TBB-prefix/src/TBB-stamp/TBB-build-*.log
gmake[2]: *** [TBB-prefix/src/TBB-stamp/TBB-build] Error 1
gmake[1]: *** [CMakeFiles/TBB.dir/all] Error 2
gmake: *** [all] Error 2
Do you know what it is going on here?
Thank you for your help,
Ciro
amadio
July 26, 2018, 5:58pm
4
Could you please post the error from the log file (i.e. .../TBB-stamp/TBB-build-*.log
)?
Here are the logs:
more /opt/exp_soft/t2k.org/riccioc/root/build_root-6.14.00/TBB-prefix/src/TBB-stamp/TBB-build-*.log
::::::::::::::
/opt/exp_soft/t2k.org/riccioc/root/build_root-6.14.00/TBB-prefix/src/TBB-stamp/TBB-build-err.log
::::::::::::::
…/…/build/Makefile.tbb:32: CONFIG: cfg=debug arch=intel64 compiler=gcc target=linux runtime=cc4.4.7_libc2.12_kernel2.6.32
cc1plus: error: unrecognized command line option “-mno-rtm”
make[4]: *** [concurrent_hash_map.o] Error 1
make[3]: *** [tbb] Error 2
::::::::::::::
/opt/exp_soft/t2k.org/riccioc/root/build_root-6.14.00/TBB-prefix/src/TBB-stamp/TBB-build-out.log
::::::::::::::
Created ./build/linux_intel64_gcc_cc4.4.7_libc2.12_kernel2.6.32_release and …_debug directories
Seems to me that the problem is that TBB installation is trying to use gcc4.4.7 even if I set gcc8.1 as complier in this way:
cmake3 -DCMAKE_CXX_COMPILER=/opt/exp_soft/t2k.org/riccioc/gcc-8.1.0/build/install/bin/g++8.1 -DCMAKE_C_COMPILER=/opt/exp_soft/t2k.org/riccioc/gcc-8.1.0/build/install/bin/gcc8.1 -DPYTHON_EXECUTABLE=/opt/exp_soft/t2k.org/riccioc/Python-2.7.3/python …/root-6.14.00/
amadio
July 26, 2018, 6:43pm
6
That should not happen. I will take a look at it and fix. If you hard-code gcc-8.1
in the right place, or make gcc
run your gcc-8.1
you should be able to make it work, though. I recommend prepending $HOME/bin
to your $PATH
and placing wrapper scripts to gcc
and g++
there.
I have a setup.sh in /opt/exp_soft/t2k.org/riccioc/gcc-8.1:
export PATH=/opt/exp_soft/t2k.org/riccioc/gcc-8.1.0/build/install/gcc-8.1.0/bin:$PATH
export LD_LIBRARY_PATH=/opt/exp_soft/t2k.org/riccioc/gcc-8.1.0/build/install/gcc-8.1.0/lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=/opt/exp_soft/t2k.org/riccioc/gcc-8.1.0/build/install/gcc-8.1.0/lib64:$LD_LIBRARY_PATH
alias gcc=‘gcc8.1’
alias c++=‘c++8.1’
alias cc=‘gcc8.1’
Should I write it in a different way?
amadio
July 27, 2018, 12:41pm
8
Yes, alias is usually not picked up by sub-processes, so TBB will end up using the actual gcc
. Here is my suggestion:
mkdir -p $HOME/bin
export PATH=$HOME/bin:$PATH
ln -s $(which gcc-8.1) $HOME/bin/gcc
ln -s $(which g++-8.1) $HOME/bin/g++
Hi Amadio,
this solved the problem with TBB, but I have another error:
[ 26%] Building arm_neon.h…
…/…/…/…/bin/clang-tblgen: /usr/lib64/libstdc++.so.6: version GLIBCXX_3.4.20' not found (required by ../../../../bin/clang-tblgen) ../../../../bin/clang-tblgen: /usr/lib64/libstdc++.so.6: version
GLIBCXX_3.4.14’ not found (required by …/…/…/…/bin/clang-tblgen)
…/…/…/…/bin/clang-tblgen: /usr/lib64/libstdc++.so.6: version GLIBCXX_3.4.19' not found (required by ../../../../bin/clang-tblgen) ../../../../bin/clang-tblgen: /usr/lib64/libstdc++.so.6: version
GLIBCXX_3.4.21’ not found (required by …/…/…/…/bin/clang-tblgen)
gmake[2]: *** [interpreter/llvm/src/tools/clang/lib/Headers/arm_neon.h.tmp] Error 1
gmake[1]: *** [interpreter/llvm/src/tools/clang/lib/Headers/CMakeFiles/clang-headers.dir/all] Error 2
gmake: *** [all] Error 2
Do you know how to solve this, as well?
Thank you,
Ciro
amadio
July 30, 2018, 6:15am
10
Hi @riccioc , the error above means that your compiler and the standard library are mutually incompatible. It’s a common problem with C++. The problem you see is similar to the one reported here .
system
Closed
August 13, 2018, 6:15am
11
This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.