WSL Build from source error: RInt.pcm is out of date \ cannot read module signature

I also have the this error, and did not clearly see a conclusion or solution in this thread.
My sequence of commands is

  253  mkdir rootBuild
  254  cd rootBuild
  255  cmake -DCMAKE_INSTALL_PREFIX=/Users/Paul/Documents/local -Dbuiltin_glew=ON ../root-6.26.00
  256  cmake --build . --target install

I downloaded root-6.26.00 last Friday for the build. My specific error message is


[ 86%] Generating G__Rint.cxx, ../../lib/Rint.pcm
Scanning dependencies of target G__Rint
[ 86%] Building CXX object core/rint/CMakeFiles/G__Rint.dir/G__Rint.cxx.o
[ 86%] Built target G__Rint
[ 86%] Building CXX object core/rint/CMakeFiles/Rint.dir/src/TRint.cxx.o
[ 86%] Building CXX object core/rint/CMakeFiles/Rint.dir/src/TTabCom.cxx.o
[ 86%] Linking CXX shared library ../../lib/libRint.so
[ 86%] Built target Rint
[ 86%] Generating G__MathMore.cxx, ../../lib/MathMore.pcm
<<< cling interactive line includer >>>: fatal error: module file '/Users/Paul/Documents/local/src/rootBuild/lib/Rint.pcm' is out of date and needs to be rebuilt: could
      not read module signature
<<< cling interactive line includer >>>: note: imported by module 'MathCore' in '/Users/Paul/Documents/local/src/rootBuild/lib/MathCore.pcm'
Error: Module 'MathCore.pcm' failed to load.
Error: Error loading the default rootcling header files.
make[2]: *** [math/mathmore/G__MathMore.cxx] Error 1
make[1]: *** [math/mathmore/CMakeFiles/G__MathMore.dir/all] Error 2
make: *** [all] Error 2

If I could make Rint more “up-to-date” I would.

Paul

I should have mentioned in my above post that I am running OSX 12.3 Monterey

Thanks, this looks like a missing dependency. @vvassilev do I read this correctly that math core depends on a header from rint? @moneta @bellenot could you please investigate? We need a bug report on this, blocking 6.26/02. @bellenot could you open this, please?

I made two changes and it compiled and installed completely

  1. I used
    make -j3
    rather than just
    make
    I hope that this didn’t have any effect, as it would indicate a race condition somewhere in the makefile

  2. I clicked on the “XCode” application before the gmake command. I clicked on the xcode application because I wanted to see what version of xcode I was running. When I did this xcode popped up a window saying that it needed to download additional files. Note that I had already done the xcode-select command, so this was in addition to that.

After this two changes, most likely the latter, everything worked.

Paul

After trying to successfully rebuild root from source after updating my OS this is the solution that worked for me.

Hi,
I am just trying to compile ROOT 6.26/04 on Debian testing (bookworm) and unfortunately it crashes with an issue w.r.t. to RInt.pcm:

 [84%] Generating G__Rint.cxx, ../../lib/Rint.pcm
Scanning dependencies of target G__Rint
[ 84%] Building CXX object core/rint/CMakeFiles/G__Rint.dir/G__Rint.cxx.o
[ 84%] Built target G__Rint
[ 84%] Building CXX object core/rint/CMakeFiles/Rint.dir/src/TRint.cxx.o
[ 84%] Building CXX object core/rint/CMakeFiles/Rint.dir/src/TTabCom.cxx.o
[ 84%] Linking CXX shared library ../../lib/libRint.so
[ 84%] Built target Rint
[ 84%] Generating G__MathMore.cxx, ../../lib/MathMore.pcm
<<< cling interactive line includer >>>: fatal error: module file '/products/src.ROOT/root_build/v6-26-04/lib/Rint.pcm' is out of date and needs to be rebuilt: could not read module signature
<<< cling interactive line includer >>>: note: imported by module 'MathCore' in '/products/src.ROOT/root_build/v6-26-04/lib/MathCore.pcm'
Error: Module 'MathCore.pcm' failed to load.
Error: Error loading the default rootcling header files.
gmake[2]: *** [math/mathmore/CMakeFiles/G__MathMore.dir/build.make:142: math/mathmore/G__MathMore.cxx] Error 1
gmake[1]: *** [CMakeFiles/Makefile2:26638: math/mathmore/CMakeFiles/G__MathMore.dir/all] Error 2
gmake: *** [Makefile:156: all] Error 2

Any advice for a work-around?
Thank you,
w.w.

Hi,
trying to compile again with the recent ROOT 6.26/06 on Debian testing (bookworm) it crashes with the same issue w.r.t. RInt.pcm being out-of-date. However, removing all *.pcm files and then running make -j6 successfully completes the build. Thanks for the hint above.
Thanks for continuing to investigate the issue,
w.w.

1 Like

FYI I just hit the same issue on latest root master on my Fedora 35.
I first tried rm lib/*.pcm as @Axel suggested. Then cmaking however failed with a similar error - in particular the old error plus:

gmake[2]: *** [sql/mysql/CMakeFiles/G__RMySQL.dir/build.make:88: sql/mysql/G__RMySQL.cxx] Error 1
gmake[2]: *** [io/sql/CMakeFiles/G__SQLIO.dir/build.make:91: io/sql/G__SQLIO.cxx] Error 1
gmake[1]: *** [CMakeFiles/Makefile2:41433: sql/mysql/CMakeFiles/G__RMySQL.dir/all] Error 2
gmake[1]: *** Waiting for unfinished jobs....
gmake[1]: *** [CMakeFiles/Makefile2:35775: io/sql/CMakeFiles/G__SQLIO.dir/all] Error 2
[ 75%] Built target unordered_mapDict
<<< cling interactive line includer >>>: remark: building module 'MultiProc' as '[...]/rb/lib/MultiProc.pcm' [-Rmodule-build]
Error: Building module 'MultiProc' implicitly. If 'MultiProc' requires a 
dictionary please specify build dependency: 'G__Imt.cxx' depends on 'MultiProc'.
Otherwise, specify '-mByproduct MultiProc' to disable this diagnostic.
Subprocess aborted
gmake[2]: *** [net/auth/CMakeFiles/G__RootAuth.dir/build.make:89: net/auth/G__RootAuth.cxx] Error 1
gmake[1]: *** [CMakeFiles/Makefile2:36142: net/auth/CMakeFiles/G__RootAuth.dir/all] Error 2
Subprocess aborted

Then, I applyed @eguiraud 's suggestion to delete all .pcm files (i.e. find . -name "*.pcm" -type f -delete), then cmake was successful.

I never changed the number of cores in cmake - always entering -j32.

@vvassilev FYI! Do we need to add that -mByproduct and do you know why?

I am still facing this error when building on the current master branch. Can someone help with it?

How did you start the build (exact commad line)?

cmake -Dtesting=ON -Droottest=ON roottest -Dtmva-sofie=ON -Dbuiltin_xrootd=ON -DPython3_EXECUTABLE=python3 -DPython2_EXECUTABLE=python -DCMAKE_INSTALL_PREFIX=../install ../root
 cmake --build . --target install

I got the following error

<<< cling interactive line includer >>>: fatal error: module file '/home/neel/Desktop/Root/build/lib/Rint.pcm' is out of date and needs to be rebuilt: could not read module signature
<<< cling interactive line includer >>>: note: imported by module 'MathCore' in '/home/neel/Desktop/Root/build/lib/MathCore.pcm'
Error: Module 'MathCore.pcm' failed to load.
Error: Error loading the default rootcling header files.
make[2]: *** [math/mathmore/CMakeFiles/G__MathMore.dir/build.make:130: math/mathmore/G__MathMore.cxx] Error 1
make[1]: *** [CMakeFiles/Makefile2:36652: math/mathmore/CMakeFiles/G__MathMore.dir/all] Error 2
make: *** [Makefile:163: all] Error 2

Getting a similar kind of error since recently on my Mac as well. Using a custom ROOT build that was working fine a week ago, but trying to run the root executable now results in the following error message (results in a segfault):

input_line_1:1:2: error: module 'Darwin' uses additional module map
      '/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/_types.modulemap' used when the module was
      built
#include <new>
 ^
input_line_1:1:2: note: imported by module 'std' in '/Users/ahmadh/biodynamo/build/third_party/root/lib/std.pcm'
Warning in cling::IncrementalParser::CheckABICompatibility():
  Failed to extract C++ standard library version.
Warning in cling::IncrementalParser::CheckABICompatibility():
  Possible C++ standard library mismatch, compiled with _LIBCPP_ABI_VERSION '1'
  Extraction of runtime standard library version was: ''
input_line_2:1:2: fatal error: module file '/Users/ahmadh/biodynamo/build/third_party/root/lib/std.pcm' is out of date and needs to be rebuilt
#include "cling/Interpreter/RuntimeUniverse.h"
 ^
input_line_2:1:2: note: imported by module 'Cling_Runtime_Extra' in '/Users/ahmadh/biodynamo/build/third_party/root/lib/Cling_Runtime_Extra.pcm'
input_line_2:1:2: note: imported by module 'Cling_Runtime' in '/Users/ahmadh/biodynamo/build/third_party/root/lib/Cling_Runtime.pcm'
Replaced symbol atexit cannot be found in JIT!
Replaced symbol at_quick_exit cannot be found in JIT!
<<< cling interactive line includer >>>: fatal error: module file '/Users/ahmadh/biodynamo/build/third_party/root/lib/Darwin.pcm' is out of date and needs to be rebuilt

I have the feeling something with the standard C++ libs has changed on my machine, but I am not aware of any updates. Perhaps something changed in the background

Edit: I haven’t tried rebuilding with deleting the *.pcm files yet, but it is strange to me that these PCM files got invalidated suddenly.

This looks like a different error on a different platform. Can you open a different thread to keep this one focused on the original problem?

@Neel_Shah
Can you try:

cmake --build . --target clean 
cmake --build . --target install -- -j 1

Hello @pcanal I tried the solution provided by you but i am still facing that issue.
Can you suggest some other solution?

Hello @Neel_Shah

I think you are facing this open issue (C++ modules: dependency issue on out of date Rint.pcm · Issue #10271 · root-project/root · GitHub).
Which platform are you using it ?
@vvassilev do you know what is causing this ?

Lorenzo

Hello @moneta
I am using Ubuntu 20.04.

This is pretty much my development platform and I do not encounter this problem.

Can you please start from scratch and send us:

  • The complete cmake command use to configure
  • The complete output of that cmake command
  • The complete output of building with cmake --build . --target install -- -j 1 (or simply make).