-
Notifications
You must be signed in to change notification settings - Fork 1.5k
Interpreter autoload lookup failure when runtime_cxxmodules=ON #9583
Description
- Checked for duplicates
Describe the bug
The provided reproducer's "bad" test fails when the reproducer is built against a ROOT with runtime_cxxmodules=ON but passes when runtime_cxxmodules=OFF. Verified with 6.24/06 and 6.25/02.
Expected behavior
Tests "good," and "bad" should both pass.
To Reproduce
- Ensure you are using ROOT >= 6.24/00
- Ensure you are using CMake >= 3.22.0
- Execute the provided
runitscript to configure, build, and execute the tests.
Setup
- Problem verified on 6.24/06 and 6.25/02.
- SLF7.
- ROOT was compiled for UPS, configured using FNAL/art standard options. See attached ROOT build logs for details.
Additional context
The showstopper issue appears to be that when looking for information about gallery::Event (defined in an "old-style" dictionary rather than a C++ module), it mistakenly identifies the TMVA module as providing Event and never loads the dictionary containing the definition for gallery::Event. This issue does not occur if we look for the aliased gallery::GalleryEvent instead, nor if runtime_cxxmodules=OFF.
In addition, when runtime_cxxmodules=ON—even for the "good" case—I get many messages of the form:
Error in <TCling::RegisterRdictForLoadPCM>: Rdict '/scratch/greenc/products/root/v6_25_02/Linux64bit+3.10-2.17-e20-p399-debug/lib/libNet_rdict.pcm' is both in Module extension and in File system.This may be due to the presence of dev=ON, asserts=ON, CMAKE_BUILD_TYPE=Debug, LLVM_BUILD_TYPE=Debug or LLVM_ENABLE_ASSERTIONS=ON, but regardless: is this a real error, or indicative of another (or the same) bug, or should this be ignored by the art infrastructure which would otherwise convert it to a fatal exception?