Skip to content

Vc.pcm not found when running root after building with external Vc with runtime_cxxmodules ON #18949

@jmcarcell

Description

@jmcarcell

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.

Metadata

Metadata

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions