Error Compiling ROOT 6.20/04


ROOT Version: 6.20/04
Platform: Linux: 64 bit Fedora32 (5.6.18-300.fc32.x86_64)
Compiler: gcc (GCC) 10.1.1 20200507 (Red Hat 10.1.1-1); Python 3.8.3


I am trying to compile Release 6.20/04 - 2020-04-01 on 64 bit Fedora 32 as:
cmake ../root-6.20.04 -DCMAKE_INSTALL_PREFIX=../root_install
and then
cmake --build . -- -j8
But, the compilation fails with the following error:

[ 81%] Built target Geom
In module 'std' imported from input_line_1:1:
/usr/lib/gcc/x86_64-redhat-linux/10/../../../../include/c++/10/bits/unique_ptr.h:207:12: error: 'std::__uniq_ptr_data<ROOT::Experimental::TTaskGroup, std::default_delete<ROOT::Experimental::TTaskGroup>, true, true>' has different
      definitions in different modules; definition in module 'std.condition_variable' is here
    struct __uniq_ptr_data : __uniq_ptr_impl<_Tp, _Dp>
           ^
/usr/lib/gcc/x86_64-redhat-linux/10/../../../../include/c++/10/bits/unique_ptr.h:207:12: note: definition in module 'std.condition_variable' is here
Scanning dependencies of target G__Quadp
[ 81%] Building CXX object math/quadp/CMakeFiles/G__Quadp.dir/G__Quadp.cxx.o
Scanning dependencies of target G__Physics
[ 81%] Building CXX object math/physics/CMakeFiles/G__Physics.dir/G__Physics.cxx.o
Scanning dependencies of target G__Proof
[ 81%] Building CXX object proof/proof/CMakeFiles/G__Proof.dir/G__Proof.cxx.o
Error: Error loading the #pragma extra_include.
gmake[2]: *** [bindings/pyroot/CMakeFiles/G__PyROOT.dir/build.make:105: bindings/pyroot/G__PyROOT.cxx] Error 1
gmake[1]: *** [CMakeFiles/Makefile2:26351: bindings/pyroot/CMakeFiles/G__PyROOT.dir/all] Error 2
gmake[1]: *** Waiting for unfinished jobs....
[ 81%] Built target G__Physics
[ 81%] Built target G__Quadp
[ 81%] Built target G__Proof
[ 81%] Built target G__Hist
gmake: *** [Makefile:172: all] Error 2

Does anyone have any idea about this problem and its solution?

Regards,

Ajay

See here:

Ok.
Thank you.

Does configuring the build with -Druntime_cxxmodules=OFF help?

1 Like

I think, -Druntime_cxxmodules is OFF by default. Please check Build Options.

EDIT: Strangely enough, it compiled without complaining!
Please note that - I never set -Druntime_cxxmodules to ON or OFF. By default, it is OFF, and ROOT (6.20/04) doesn’t compile. But, if I manually set it OFF then it compiles! Can you explain this behaviour?

I’m happy it worked!

The page you linked to is out of date, the default was changed to ON in v6.20. You can check with git grep ROOT_BUILD_OPT cmake | grep runtime_cxx.

Cheers,
Enrico

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