-
Couldn't load subscription status.
- Fork 1.4k
Description
Check duplicate issues.
- Checked for duplicates
Description
I have been trying to turn runtime_cxxmodules ON in Spack (spack/spack#50432) and I have found that when building with a standalone Vc and then running root I get the following error (reproduced on Alma 9 with GCC 14, on Ubuntu 24.04 with GCC 13 and in the Spack CI).
<<< cling interactive line includer >>>: fatal error: module file '/tmp/root/spack-stage/spack-stage-root-6.36.00-3zoafy6mjx64vkgps6eq5nhuamqu57ri/spack-build-3zoafy6/lib/Vc.pcm' not found: module file not found
<<< cling interactive line includer >>>: note: imported by module 'MathCore' in '/cvmfs/sw-nightlies.hsf.org/key4hep/releases/2025-05-31/x86_64-almalinux9-gcc14.2.0-opt/root/6.36.00-3zoafy/lib/root/MathCore.pcm'
input_line_4:2:2: error: use of undeclared identifier 'include'
followed by a bunch of errors that depend on exactly what I'm running with root. The /tmp/root... folder is the build directory.
Reproducer
Build Vc standalone, and then build ROOT with -Dbuiltin_vc=OFF and -Druntime_cxxmodules=ON and then delete the build directory. If the build directory is not deleted, the error is not triggered since Vc.pcm can be found (my guess). This problem is also fixed by changing to -Dbuiltin_vc=ON.
Full build command from Spack:
cmake .. '-DCMAKE_BUILD_TYPE:STRING=Release' '-DCMAKE_VERBOSE_MAKEFILE:BOOL=ON' '-DCMAKE_INTERPROCEDURAL_OPTIMIZATION:BOOL=OFF' '-DCMAKE_POLICY_DEFAULT_CMP0090:STRING=NEW' '-DCMAKE_FIND_USE_PACKAGE_REGISTRY:BOOL=OFF' '-DCMAKE_EXPORT_COMPILE_COMMANDS:BOOL=ON' '-Dfail-on-missing:BOOL=ON' '-Dfortran:BOOL=OFF' '-Dgminimal:BOOL=ON' '-Dlibcxx:BOOL=OFF' '-Droottest:BOOL=OFF' '-Drpath:BOOL=ON' '-Dshared:BOOL=ON' '-Dsoversion:BOOL=ON' '-Dtesting:BOOL=OFF' '-DCLING_CXX_PATH:STRING=/cvmfs/sw.hsf.org/contrib/x86_64-almalinux9-gcc11.4.1-opt/gcc/14.2.0-yuyjov/bin/g++' '-Dbuiltin_cfitsio:BOOL=OFF' '-Dbuiltin_davix:BOOL=OFF' '-Dbuiltin_fftw3:BOOL=OFF' '-Dbuiltin_freetype:BOOL=OFF' '-Dbuiltin_ftgl:BOOL=OFF' '-Dbuiltin_gif:BOOL=ON' '-Dbuiltin_gl2ps:BOOL=OFF' '-Dbuiltin_glew:BOOL=OFF' '-Dbuiltin_gsl:BOOL=OFF' '-Dbuiltin_llvm:BOOL=ON' '-Dbuiltin_lz4:BOOL=OFF' '-Dbuiltin_lzma:BOOL=OFF' '-Dbuiltin_nlohmannjson:BOOL=OFF' '-Dbuiltin_openssl:BOOL=OFF' '-Dbuiltin_pcre:BOOL=OFF' '-Dbuiltin_tbb:BOOL=OFF' '-Dbuiltin_unuran:BOOL=OFF' '-Dbuiltin_vc:BOOL=OFF' '-Dbuiltin_vdt:BOOL=OFF' '-Dbuiltin_veccore:BOOL=OFF' '-Dbuiltin_xrootd:BOOL=OFF' '-Dbuiltin_xxhash:BOOL=OFF' '-Dbuiltin_zlib:BOOL=OFF' '-Dbuiltin_gif:BOOL=ON' '-Dbuiltin_jpeg:BOOL=OFF' '-Dbuiltin_png:BOOL=OFF' '-Dafdsmrgd:BOOL=OFF' '-Dafs:BOOL=OFF' '-Dalien:BOOL=OFF' '-Darrow:BOOL=OFF' '-Dasimage:BOOL=ON' '-Dbonjour:BOOL=OFF' '-Dcastor:BOOL=OFF' '-Dccache:BOOL=OFF' '-Dchirp:BOOL=OFF' '-Dcocoa:BOOL=OFF' '-Ddataframe:BOOL=ON' '-Ddavix:BOOL=ON' '-Ddaos:BOOL=OFF' '-Ddcache:BOOL=OFF' '-Dfftw3:BOOL=ON' '-Dfitsio:BOOL=OFF' '-Dftgl:BOOL=ON' '-Dgdml:BOOL=ON' '-Dgeom:BOOL=ON' '-Dgeombuilder:BOOL=OFF' '-Dgenvector:BOOL=ON' '-Dgeocad:BOOL=OFF' '-Dgfal:BOOL=OFF' '-Dgl2ps:BOOL=ON' '-Dglite:BOOL=OFF' '-Dglobus:BOOL=OFF' '-Dgviz:BOOL=OFF' '-Dhdfs:BOOL=OFF' '-Dhttp:BOOL=ON' '-Dimt:BOOL=ON' '' '-Dkrb5:BOOL=OFF' '-Dldap:BOOL=OFF' '-Dmathmore:BOOL=ON' '' '-Dminimal:BOOL=OFF' '-Dminuit:BOOL=ON' '-Dmlp:BOOL=ON' '-Dmonalisa:BOOL=OFF' '-Dopengl:BOOL=ON' '' '' '-Dpythia8:BOOL=OFF' '' '' '-Dr:BOOL=ON' '-Drfio:BOOL=OFF' '-Droofit:BOOL=ON' '-Droot7:BOOL=ON' '-Druby:BOOL=OFF' '-Dsapdb:BOOL=OFF' '-Dshadowpw:BOOL=OFF' '-Dspectrum:BOOL=ON' '-Dsqlite:BOOL=ON' '-Dsrp:BOOL=OFF' '-Dssl:BOOL=ON' '' '-Dtbb:BOOL=ON' '-Dtcmalloc:BOOL=OFF' '-Dtmva:BOOL=ON' '-Dunuran:BOOL=ON' '-Duse_gsl_cblas:BOOL=OFF' '-Dvc:BOOL=ON' '-Dvdt:BOOL=ON' '-Dveccore:BOOL=OFF' '' '-Dx11:BOOL=ON' '-Dxft:BOOL=ON' '-Dxml:BOOL=ON' '-Dxrootd:BOOL=ON' '-Dcuda:BOOL=OFF' '-Dwebgui:BOOL=ON' '-Dtmva-cpu:BOOL=ON' '-Dtmva-gpu:BOOL=OFF' '-Dtmva-pymva:BOOL=OFF' '-Dcudnn:BOOL=OFF' '-Dpyroot:BOOL=ON' '-Dtmva-sofie:BOOL=OFF' '-Dtmva-cudnn:BOOL=ON' '-Dtmva-cudnn:BOOL=OFF' '-Dtpython:BOOL=ON' '-Dmysql:BOOL=OFF' '-Dpgsql:BOOL=OFF' '-Dodbc:BOOL=OFF' '-Dasimage_tiff:BOOL=ON' '-DCMAKE_CXX_STANDARD:STRING=20'
ROOT version
I only tested this on v6.36.00. Edit: Also tested with 6.36.04.
Installation method
Spack, source
Operating system
Linux: Alma 9 and Ubuntu 24.04
Additional context
The LCG stacks are also built with external Vc, but they do not see this problem because <Vc>/include is added to ROOT_INCLUDE_PATH, which is another way of solving this issue. Note that sourcing thisroot.sh does not add <Vc>/include to ROOT_INCLUDE_PATH.