Yeung
July 14, 2022, 1:29am
1
Hello,
I am trying to build the master from source but the following error occurs. I used these options CMAKE_CXX_STANDARD 17
CXX_STANDARD_STRING 17
c++: error: unrecognized command line option ‘-std=OFF’
gmake[2]: *** [interpreter/llvm/src/lib/Demangle/CMakeFiles/LLVMDemangle.dir/Demangle.cpp.o] Error 1
gmake[2]: *** Waiting for unfinished jobs....
Could you please take a look? Thanks.
Please read tips for efficient and successful posting and posting code
ROOT Version: 6.27/01
Platform: CentOS7.9
Compiler: gcc9.3.0
It should be: cmake -DCMAKE_CXX_STANDARD=17 ...
Yeung
July 14, 2022, 7:25am
3
The -std=OFF
appears in this file interpreter/llvm/src/lib/Support/CMakeFiles/LLVMSupport.dir/flags.make
......
CXX_FLAGS = -std=c++17 -Wno-implicit-fallthrough -Wno-noexcept-type -pipe -Wshadow -Wall -W -Woverloaded-virtual -fsigned-char -pthread -fno-semantic-interposition -fPIC -fvisibility-inlines-hidden -Werror=date-time -std=OFF -w -ffunction-sections -fdata-sections -O3 -DNDEBUG -fvisibility=hidden -fvisibility-inlines-hidden -std=c++17
......
What was the full “cmake” line that you used to configure it?
Yeung
July 14, 2022, 7:31am
5
I used ccmake ../source/root
and only modified CMAKE_CXX_STANDARD
and CXX_STANDARD_STRING
from 14 to 17, and then pressed c
to configure and g
to generate CMakeLists. After this, I used cmake --build . --clean-first -- install -j12
to build and install.
You seem to be using “CentOS 7”. How do you get “GCC 9.3” (and the new CMake) on it?
Well, usage of the “devtoolset
” is not supported .
If you have CVMFS, you could try the tools provided by the “LCG views ” environment.
Yeung
July 15, 2022, 6:44am
7
I built the gcc9.3.0 and cmake3.19.2.
I’m a bit confused because ROOT6.26/04 was built successfully in the same way.
I saw this BOOL type in interpreter/CMakeLists.txt
set(LLVM_CXX_STD "c++${CMAKE_CXX_STANDARD}" CACHE BOOL "")
Yeung
July 19, 2022, 12:54am
9
The problem is solved by using
cmake -DLLVM_CXX_STD=c++17 -DCMAKE_CXX_STANDARD=17 -DCXX_STANDARD_STRING=17 ../source/root
to configure.
If I don’t add -DLLVM_CXX_STD=c++17
, this option will be configured to be OFF
, leading to this build error.
Also, as can be seen in the ccmake GUI, the LLVM_CXX_STD
option can only be either OFF
or On
. Therefore, I had to explicitly use -DLLVM_CXX_STD=c++17
.
I guess, this should be sufficient :
cmake -DCMAKE_CXX_STANDARD=17 ../source/root
I just encountered this error doing an incremental build of master. clearing the build directory and starting a build from scratch “fixed” it.
1 Like
system
Closed
August 2, 2022, 12:16pm
12
This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.