diff --git a/cmake/modules/RootConfiguration.cmake b/cmake/modules/RootConfiguration.cmake index 7055457189e9d..dd73530daa6fd 100644 --- a/cmake/modules/RootConfiguration.cmake +++ b/cmake/modules/RootConfiguration.cmake @@ -434,26 +434,24 @@ if(qt6web) else() set(hasqt6webengine undef) endif() -if (tmva-cpu) - set(hastmvacpu define) -else() - set(hastmvacpu undef) -endif() -if (tmva-gpu) - set(hastmvagpu define) -else() - set(hastmvagpu undef) -endif() -if (tmva-cudnn) - set(hastmvacudnn define) -else() - set(hastmvacudnn undef) -endif() -if (tmva-pymva) - set(haspymva define) -else() - set(haspymva undef) -endif() +set(hastmvacpu undef) +set(hastmvagpu undef) +set(hastmvacudnn undef) +set(haspymva undef) +if(tmva) + if (tmva-cpu) + set(hastmvacpu define) + endif() + if (tmva-gpu) + set(hastmvagpu define) + endif() + if (tmva-cudnn) + set(hastmvacudnn define) + endif() + if (tmva-pymva) + set(haspymva define) + endif() +endif(tmva) if (uring) set(hasuring define) else() diff --git a/cmake/modules/SearchInstalledSoftware.cmake b/cmake/modules/SearchInstalledSoftware.cmake index 71b257e95ea7e..1d05b239ada17 100644 --- a/cmake/modules/SearchInstalledSoftware.cmake +++ b/cmake/modules/SearchInstalledSoftware.cmake @@ -1016,6 +1016,8 @@ if(tmva) message(SEND_ERROR "cudnn not found while -Dtmva-cudnn=ON. Install it on the system, or disable option 'tmva-cudnn'") endif() endif() + else() + set(tmva-cudnn OFF CACHE BOOL "Disabled because 'tmva-gpu' unavailable (${tmva-cudnn_description})" FORCE) endif() if(tmva-pymva) if(NOT Python3_NumPy_FOUND OR NOT Python3_Development_FOUND) diff --git a/test/PostInstall/check-headers.sh b/test/PostInstall/check-headers.sh index 98122e5600872..a4999f0196483 100644 --- a/test/PostInstall/check-headers.sh +++ b/test/PostInstall/check-headers.sh @@ -28,19 +28,17 @@ fi # Check all installed headers for include errors. Some headers cannot be used standalone: -suppressions="TMVA\|vdt" # External -suppressions+="\|RField[A-Z]\|RtypesImp.h\|TAtomicCount[A-Z]\|CladDerivator.h\|TBranchProxyTemplate" # Not to be used standalone +suppressions="RField[A-Z]\|RtypesImp.h\|TAtomicCount[A-Z]\|CladDerivator.h\|TBranchProxyTemplate" # Not to be used standalone suppressions+="\|TWin32" # Why are these installed in Linux? suppressions+="\|xRooHypoSpace.h\|xRooFit" # Uses macros to declare namespaces -suppressions+="\|RDaos.h" # Might not be installed suppressions+="\|RIoUring.hxx" # Might not be installed +suppressions+="\|TCudnn.h" # Might not be installed suppressions+="\|CPyCppyy/DispatchPtr.h\|CPyCppyy/API.h" # Would need to include Python.h suppressions+="\|/bvh" # Includes a non-functioning std::span in c++17 suppressions+="\|cfortran.h" # Seems unable to run with modern compilers suppressions+="\|hipSYCL.h\|GenVectorX" # Unconditionally installed on Fedora/Ubuntu even if broken suppressions+="\|TR[A-Z].*__ctors.h" # R interface without any includes, so cannot be parsed as C++ suppressions+="\|RTaskArena.hxx\|TThreadExecutor.hxx\|TTreeProcessorMT.hxx" # Will raise errors if imt=Off - HEADERS=$(find "${INCLUDE_DIR}" -type f -name '*.h*' | grep -v "${suppressions}") xargs -P ${NCPU:-1} -n 1 "${CXX}" -fsyntax-only -x c++ -std=c++${CXXSTANDARD} ${CXXFLAGS} -I"${INCLUDE_DIR}" <<< "${HEADERS}" diff --git a/tmva/tmva/inc/TMVA/DNN/Architectures/Cpu/CpuTensor.h b/tmva/tmva/inc/TMVA/DNN/Architectures/Cpu/CpuTensor.h index b5559d0146de7..f0b6c5b95fa6a 100644 --- a/tmva/tmva/inc/TMVA/DNN/Architectures/Cpu/CpuTensor.h +++ b/tmva/tmva/inc/TMVA/DNN/Architectures/Cpu/CpuTensor.h @@ -18,7 +18,7 @@ #define TMVA_DNN_ARCHITECTURES_CPU_CPUTENSOR #include - +#include #include "TMatrix.h" #include "TMVA/Config.h" diff --git a/tmva/tmva/inc/TMVA/DNN/RNN/GRULayer.h b/tmva/tmva/inc/TMVA/DNN/RNN/GRULayer.h index 33a01754dfc34..8f79bf42b5b3b 100644 --- a/tmva/tmva/inc/TMVA/DNN/RNN/GRULayer.h +++ b/tmva/tmva/inc/TMVA/DNN/RNN/GRULayer.h @@ -35,7 +35,9 @@ #include #include "TMatrix.h" +#include "TMVA/DNN/GeneralLayer.h" #include "TMVA/DNN/Functions.h" +#include "TMVA/DNN/CNN/ContextHandles.h" namespace TMVA { diff --git a/tmva/tmva/inc/TMVA/DNN/RNN/LSTMLayer.h b/tmva/tmva/inc/TMVA/DNN/RNN/LSTMLayer.h index 16e6df15d9829..9cf42e258269f 100644 --- a/tmva/tmva/inc/TMVA/DNN/RNN/LSTMLayer.h +++ b/tmva/tmva/inc/TMVA/DNN/RNN/LSTMLayer.h @@ -35,7 +35,9 @@ #include #include "TMatrix.h" +#include "TMVA/DNN/GeneralLayer.h" #include "TMVA/DNN/Functions.h" +#include "TMVA/DNN/CNN/ContextHandles.h" namespace TMVA { diff --git a/tmva/tmva/inc/TMVA/DNN/RNN/RNNLayer.h b/tmva/tmva/inc/TMVA/DNN/RNN/RNNLayer.h index 3eb10083ed9cb..3d9a121e98185 100644 --- a/tmva/tmva/inc/TMVA/DNN/RNN/RNNLayer.h +++ b/tmva/tmva/inc/TMVA/DNN/RNN/RNNLayer.h @@ -35,7 +35,9 @@ #include #include "TMatrix.h" +#include "TMVA/DNN/GeneralLayer.h" #include "TMVA/DNN/Functions.h" +#include "TMVA/DNN/CNN/ContextHandles.h" namespace TMVA {