With the above-mentioned (explicit) settings, f597803 of the v6-22-00-patches built fine (make -j10):
------------------------------------------------------------------
| Welcome to ROOT 6.21/03 https://root.cern |
| (c) 1995-2020, The ROOT Team; conception: R. Brun, F. Rademakers |
| Built for linuxx8664gcc on Jun 03 2020, 08:35:00 |
| From heads/v6-22-00-patches@v6-21-02-62-gf597803869 |
| Try '.help', '.demo', '.license', '.credits', '.quit'/'.q' |
------------------------------------------------------------------
But a (also parallel) build of 46e8785 in the v6-20-00-patches failed, saying…
/usr/bin/ld: CMakeFiles/NetxNG.dir/src/TNetXNGSystem.cxx.o:(.data.rel.ro._ZTV13TNetXNGSystem[_ZTV13TNetXNGSystem]+0x410): undefined reference to `TSystem::GetDirName(char const*)'
collect2: error: ld returned 1 exit status
make[2]: *** [net/netxng/CMakeFiles/NetxNG.dir/build.make:143: lib/libNetxNG.so] Error 1
make[1]: *** [CMakeFiles/Makefile2:23551: net/netxng/CMakeFiles/NetxNG.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
Following the failed parallel build I did another make (not parallel, not fresh, i.e. started just after the failure) and got the following:
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<RooDataSet, std::default_delete<RooDataSet>, true, true>' has different
definitions in different modules; defined 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
Error: /home/furutaka/work/root/root-build-v6-20-00-patches-46e8785/bin/rootcling: compilation failure (/home/furutaka/work/root/root-build-v6-20-00-patches-46e8785/lib/libRooStats1e22a9ec0b_dictUmbrella.h)
make[2]: *** [roofit/roostats/CMakeFiles/G__RooStats.dir/build.make:223: roofit/roostats/G__RooStats.cxx] Error 1
make[1]: *** [CMakeFiles/Makefile2:28391: roofit/roostats/CMakeFiles/G__RooStats.dir/all] Error 2
make: *** [Makefile:172: all] Error 2
Sorry, I misunderstood…
At home I did a try to build v6-20-00-patches 80f1451b9695f56df65f606915fc21e10abafdc0 (HEAD -> v6-20-00-patches, origin/v6-20-00-patches) with the flag you suggested, and the build was successful!
set(gdml ON CACHE BOOL "")
set(minuit2 ON CACHE BOOL "")
set(python ON CACHE BOOL "")
set(roofit ON CACHE BOOL "")
set(gsl_shared ON CACHE BOOL "")
set(vmc ON CACHE BOOL "")
set(imt OFF CACHE BOOL "")
set(runtime_cxxmodules OFF CACHE BOOL "")
set(LLVM_ENABLE_DOXYGEN ON CACHE BOOL "")
set(LLVM_ENABLE_SPHINX ON CACHE BOOL "")
set(CMAKE_INSTALL_PREFIX /usr/local/root CACHE PATH "")
set(THREADS_PREFER_PTHREAD_FLAG TRUE)
set(CMAKE_THREAD_PREFER_PTHREAD TRUE)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pthread")
Let’s start from scratch. There are too many dead ends, and there is no way we can be certain that any of us know what exactly we are talking about. Your report is super important to us, you’re not the only one, but we fail to reproduce the problem. I.e. we really appreciate your help with this.
So:
take v6-20-00-patches, the current HEAD, commit hash 80f1451b9695f56df65f606915fc21e10abafdc0. No additional patches or modification, please.
configure the way you do; please share how exactly you invoked cmake. Please do not cut anything out. (Note that -Dimt=Off should not be needed anymore.)
Please share your CMakeLists.txt by uploading it, instead of quoting from it.
Please share the complete build log ... > make.log 2>&1, not just the end. Just upload the log file.
So I did another build of 80f1451b9695f56df65f606915fc21e10abafdc0. I’ll attach some files (my cmake setting, cmake output, CMakeCache.txt, and the log of make), but in essence:
make sure the cloned git repo,
Dig a directory and cd into it,
cmake -C ../RootBuildOptions.cmake ../root.git (uploaded as RootBuildOptions.txt because the extention .cmake is told not authorized)
…and if you find any other issue please open a new topic - it’s much easier for us to work on a dedicated issue per topic, and for everyone to find things back if the original topic’s title still matches what the topic is about in the end