Check duplicate issues.
Description
master currently fails to build because operator==(string const &, const char*) is absent from the modules.
This was traced back to the following change in c3f319f:
diff --git a/tmva/sofie/CMakeLists.txt b/tmva/sofie/CMakeLists.txt
index 91d2bf52ece..768b017c48f 100644
--- a/tmva/sofie/CMakeLists.txt
+++ b/tmva/sofie/CMakeLists.txt
@@ -82,7 +82,6 @@ ROOT_STANDARD_LIBRARY_PACKAGE(ROOTTMVASofie
src/SOFIE_common_helpers.cxx
DEPENDENCIES
Core
- TMVA
${EXTRA_SOFIE_DEPENDENCIES}
)
diff --git a/tmva/sofie/inc/TMVA/SOFIE_common.hxx b/tmva/sofie/inc/TMVA/SOFIE_common.hxx
index 9fbdb91726c..2619d28ba53 100644
--- a/tmva/sofie/inc/TMVA/SOFIE_common.hxx
+++ b/tmva/sofie/inc/TMVA/SOFIE_common.hxx
@@ -1,8 +1,6 @@
#ifndef TMVA_SOFIE_SOFIE_COMMON
#define TMVA_SOFIE_SOFIE_COMMON
-#include "TMVA/RTensor.hxx"
-
#include "ROOT/RSpan.hxx"
#include <stdexcept>
RTensor.hxx transitively (and directly) includes <string>, so the comparison operator seems to end up in ROOTTMVASofie.pcm. Note that only including <string> in the same location does not achieve the same workaround.
The original include hides a problem in modules much higher in the dependency tree, which falsely omit the comparison operator.
Reproducer
Build master in e.g. alma10 at or after commit c3f319f.
Configure with:
-DCMAKE_BUILD_TYPE=RelWithDebInfo "-Dall=OFF" "-Darrow=OFF" "-Dasan=OFF" "-Dasimage=ON" "-Dasserts=OFF" "-Dbuiltin_cfitsio=OFF" "-Dbuiltin_civetweb=ON" "-Dbuiltin_clang=ON" "-Dbuiltin_cling=ON" "-Dbuiltin_fftw3=OFF" "-Dbuiltin_freetype=OFF" "-Dbuiltin_ftgl=OFF" "-Dbuiltin_gl2ps=OFF" "-Dbuiltin_glu=OFF" "-Dbuiltin_gsl=OFF" "-Dbuiltin_llvm=ON" "-Dbuiltin_lz4=OFF" "-Dbuiltin_lzma=OFF" "-Dbuiltin_mathjax=ON" "-Dbuiltin_mathtext=ON" "-Dbuiltin_nlohmannjson=OFF" "-Dbuiltin_openssl=OFF" "-Dbuiltin_openui5=ON" "-Dbuiltin_pcre=OFF" "-Dbuiltin_tbb=OFF" "-Dbuiltin_unuran=OFF" "-Dbuiltin_vdt=ON" "-Dbuiltin_xrootd=OFF" "-Dbuiltin_xxhash=OFF" "-Dbuiltin_zlib=OFF" "-Dbuiltin_zstd=OFF" "-Dccache=ON" "-Dcefweb=OFF" "-Dcheck_connection=OFF" "-Dclad=ON" "-Dclingtest=OFF" "-Dcocoa=OFF" "-Dcoverage=OFF" "-Dcuda=OFF" "-Dcurl=ON" "-Ddaos=OFF" "-Ddataframe=ON" "-Ddavix=ON" "-Ddcache=OFF" "-Ddev=OFF" "-Ddistcc=OFF" "-Dfail-on-missing=ON" "-Dfcgi=OFF" "-Dfftw3=ON" "-Dfitsio=ON" "-Dfortran=ON" "-Dgdml=ON" "-Dgminimal=OFF" "-Dgnuinstall=OFF" "-Dgsl_shared=OFF" "-Dgviz=OFF" "-Dhttp=ON" "-Dimt=ON" "-Dlibcxx=OFF" "-Dmacos_native=OFF" "-Dmathmore=ON" "-Dmemory_termination=OFF" "-Dminimal=OFF" "-Dminuit2_omp=ON" "-Dmpi=OFF" "-Dopengl=ON" "-Dpyroot=ON" "-Dpythia8=ON" "-Dqt6canv=OFF" "-Dqt6web=OFF" "-Droofit=ON" "-Droot7=ON" "-Drootbench=OFF" "-Droottest=ON" "-Druntime_cxxmodules=ON" "-Dshadowpw=OFF" "-Dshared=ON" "-Dsoversion=OFF" "-Dspectrum=ON" "-Dsqlite=ON" "-Dssl=ON" "-Dtest_distrdf_dask=ON" "-Dtest_distrdf_pyspark=ON" "-Dtest_roofit_hs3testsuite=ON" "-Dtest_tmva_sofie=ON" "-Dtesting=ON" "-Dtmva-cpu=ON" "-Dtmva-cudnn=OFF" "-Dtmva-gpu=OFF" "-Dtmva-pymva=OFF" "-Dtmva=ON" "-Dunfold=ON" "-Dunuran=ON" "-During=OFF" "-Dvdt=ON" "-Dvecgeom=OFF" "-Dwebgui=ON" "-Dwin_broken_tests=OFF" "-Dwinrtdebug=OFF" "-Dx11=ON" "-Dxml=ON" "-Dxrootd=ON" -DROOT_COMPILEDATA_IGNORE_BUILD_NODE_CHANGES=ON
Test using ctest -R roottest-root-dataframe-test_snapshotNFile -V.
Note that the modules need to be rebuilt fully and headers need to be wiped from the build dir, e.g.:
rm -rf <buildDir>/include
find . -name "*.pcm" -delete
ROOT version
master
Installation method
Source
Operating system
Alma10 and many others
See #23472 for what happens when the include is put back.
Check duplicate issues.
Description
master currently fails to build because
operator==(string const &, const char*)is absent from the modules.This was traced back to the following change in c3f319f:
RTensor.hxxtransitively (and directly) includes<string>, so the comparison operator seems to end up inROOTTMVASofie.pcm. Note that only including<string>in the same location does not achieve the same workaround.The original include hides a problem in modules much higher in the dependency tree, which falsely omit the comparison operator.
Reproducer
Build master in e.g. alma10 at or after commit c3f319f.
Configure with:
Test using
ctest -R roottest-root-dataframe-test_snapshotNFile -V.Note that the modules need to be rebuilt fully and headers need to be wiped from the build dir, e.g.:
ROOT version
master
Installation method
Source
Operating system
Alma10 and many others
See #23472 for what happens when the include is put back.