Fail to compile root 6.20.04 on Fedora 32

Hi,

I’m trying to compile root on fedora32. The compilation fails at the TreePlayer target. Here is the output if I restart the compilation with the target TreePlayer (All the previous compilation states wen fine):

ninja TreePlayer
[1/36] Generating G__TreePlayer.cxx, ../../lib/TreePlayer.pcm
FAILED: tree/treeplayer/G__TreePlayer.cxx lib/TreePlayer.pcm 
cd /home/pacaud/virgo/root/trunk/Linux-x86_64-FED30/build/root/package_build/tree/treeplayer && /usr/bin/cmake -E env LD_LIBRARY_PATH=/home/pacaud/virgo/root/trunk/Linux-x86_64-FED30/build/root/package_build/lib: ROOTIGNOREPREFIX=1 /home/pacaud/virgo/root/trunk/Linux-x86_64-FED30/build/root/package_build/bin/rootcling -rootbuild -v2 -f G__TreePlayer.cxx -cxxmodule -s /home/pacaud/virgo/root/trunk/Linux-x86_64-FED30/build/root/package_build/lib/libTreePlayer.so -m libGpad_rdict.pcm -m libGraf_rdict.pcm -m libGraf3d_rdict.pcm -m libHist_rdict.pcm -m libImt_rdict.pcm -m libMathCore_rdict.pcm -m libRIO_rdict.pcm -m libTree_rdict.pcm -excludePath /home/pacaud/virgo/root/trunk/Linux-x86_64-FED30/build/root -excludePath /home/pacaud/virgo/root/trunk/Linux-x86_64-FED30/build/root/package_build -I/home/pacaud/virgo/root/trunk/Linux-x86_64-FED30/build/root -I/home/pacaud/virgo/root/trunk/Linux-x86_64-FED30/build/root/package_build/etc/cling/ -I/home/pacaud/virgo/root/trunk/Linux-x86_64-FED30/build/root/package_build/include -I/home/pacaud/virgo/root/trunk/Linux-x86_64-FED30/build/root/tree/treeplayer/inc -I/home/pacaud/virgo/root/trunk/Linux-x86_64-FED30/build/root/tree/treeplayer -I/home/pacaud/virgo/root/trunk/Linux-x86_64-FED30/build/root/hist/hist/inc -I/home/pacaud/virgo/root/trunk/Linux-x86_64-FED30/build/root/hist/hist -I/home/pacaud/virgo/root/trunk/Linux-x86_64-FED30/build/root/core/imt/inc -I/home/pacaud/virgo/root/trunk/Linux-x86_64-FED30/build/root/math/mathcore/v7/inc -I/home/pacaud/virgo/root/trunk/Linux-x86_64-FED30/build/root/math/mathcore/inc -I/home/pacaud/virgo/root/trunk/Linux-x86_64-FED30/build/root/math/mathcore -I/home/pacaud/virgo/root/trunk/Linux-x86_64-FED30/build/root/tree/tree/inc -I/home/pacaud/virgo/root/trunk/Linux-x86_64-FED30/build/root/tree/tree -I/home/pacaud/virgo/root/trunk/Linux-x86_64-FED30/build/root/tree/treeplayer/inc -I/home/pacaud/virgo/root/trunk/Linux-x86_64-FED30/build/root/tree/treeplayer/inc -I/home/pacaud/virgo/root/trunk/Linux-x86_64-FED30/build/root/package_build/include -I/home/pacaud/virgo/root/trunk/Linux-x86_64-FED30/build/root/tree/treeplayer -I/home/pacaud/virgo/root/trunk/Linux-x86_64-FED30/build/root/graf2d/gpad/inc -I/home/pacaud/virgo/root/trunk/Linux-x86_64-FED30/build/root/graf2d/graf/inc -I/home/pacaud/virgo/root/trunk/Linux-x86_64-FED30/build/root/hist/hist/inc -I/home/pacaud/virgo/root/trunk/Linux-x86_64-FED30/build/root/math/mathcore/inc -I/home/pacaud/virgo/root/trunk/Linux-x86_64-FED30/build/root/core/imt/inc -I/home/pacaud/virgo/root/trunk/Linux-x86_64-FED30/build/root/math/matrix/inc -I/home/pacaud/virgo/root/trunk/Linux-x86_64-FED30/build/root/io/io/inc -I/home/pacaud/virgo/root/trunk/Linux-x86_64-FED30/build/root/core/thread/inc -I/home/pacaud/virgo/root/trunk/Linux-x86_64-FED30/build/root/graf3d/g3d/inc -I/home/pacaud/virgo/root/trunk/Linux-x86_64-FED30/build/root/tree/tree/inc -I/home/pacaud/virgo/root/trunk/Linux-x86_64-FED30/build/root/net/net/inc -I/home/pacaud/virgo/root/trunk/Linux-x86_64-FED30/build/root/core/multiproc/inc -writeEmptyRootPCM ROOT/TTreeReaderFast.hxx ROOT/TTreeReaderValueFast.hxx TBranchProxyClassDescriptor.h TBranchProxyDescriptor.h TBranchProxyDirector.h TBranchProxy.h TChainIndex.h TFileDrawMap.h TFormLeafInfo.h TFormLeafInfoReference.h TFriendProxyDescriptor.h TFriendProxy.h TRefArrayProxy.h TRefProxy.h TSelectorDraw.h TSelectorEntries.h TSimpleAnalysis.h TTreeDrawArgsParser.h TTreeFormula.h TTreeFormulaManager.h TTreeGeneratorBase.h TTreeIndex.h TTreePerfStats.h TTreePlayer.h TTreeProxyGenerator.h TTreeReaderArray.h TTreeReaderGenerator.h TTreeReader.h TTreeReaderUtils.h TTreeReaderValue.h TTreeTableInterface.h TMPWorkerTree.h ROOT/TTreeProcessorMP.hxx ROOT/TTreeProcessorMT.hxx /home/pacaud/virgo/root/trunk/Linux-x86_64-FED30/build/root/tree/treeplayer/inc/LinkDef.h
In module 'std' imported from input_line_1:1:
/usr/lib/gcc/x86_64-redhat-linux/10/../../../../include/c++/10/bits/unique_ptr.h:204: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:204:12: note: definition in module 'std.condition_variable' is here
Error: Error loading the #pragma extra_include.
ninja: build stopped: subcommand failed.

Compilation options were:

-DCMAKE_PREFIX_PATH=/home/pacaud/virgo/FFTW/v3r3p81/Linux-x86_64-FED30 -DCMAKE_INSTALL_RPATH=/home/pacaud/virgo/FFTW/v3r3p81/Linux-x86_64-FED30/lib -DCMAKE_INSTALL_LIBDIR=lib -DCMAKE_INSTALL_PREFIX=/home/pacaud/virgo/root/trunk/Linux-x86_64-FED30 -Dopengl=OFF -Dkrb5=OFF -Dxrootd=OFF -Dcastor=OFF -Drpath=ON -Dfftw3=ON -DCMAKE_INSTALL_PREFIX=/home/pacaud/virgo/root/trunk/Linux-x86_64-FED30 -DFFTW_DIR=/home/pacaud/virgo/FFTW/v3r3p81/${tag} -DFFTW_INCLUDE_DIR=/home/pacaud/virgo/FFTW/v3r3p81/Linux-x86_64-FED30/include -DFFTW_LIBRARY=/home/pacaud/virgo/FFTW/v3r3p81/Linux-x86_64-FED30/lib/libfftw3.so

Any idea on how to fix this issue ?

ROOT Version: 6.20.04
Platform: Fedora 32
Compiler: Gcc10


@EmmanuelP we still didn’t build ROOT with gcc 10, so thanks for the report! It is something we should to start to look at…Can I ask you please to open a Jira ticket please?

@vvassilev do you have an idea what can be wrong here (I could try maybe to reproduce it)?

Oksana.

Done: Loading...

I hope the issue is correctly created, I was confused by the JIRA interface, and created it linked to another unrelated issue. I have deleted the link.

Thanks a lot, everything is fine! We are already looking into problem!

@EmmanuelP Temporary solution: cmake with -Dimt=OFF

Thanks @musinsky, works fine now. I’m disabling imt for now in my build until this issue is fixed.

Could you also try applying the proposed patch in the JIRA issue:

diff --git a/interpreter/cling/include/cling/std.modulemap b/interpreter/cling/include/cling/std.modulemap

index 6b9acf1140..620768a503 100644

--- a/interpreter/cling/include/cling/std.modulemap

+++ b/interpreter/cling/include/cling/std.modulemap

@@ -429,4 +429,9 @@ module "std" [system] {

     export *

     header "bits/stl_tree.h"

   }

+  module "bits/unique_ptr.h" {

+    requires !header_existence

+    export *

+    header "bits/unique_ptr.h"

+  }

 }

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