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

ROOT Version: v6.24.06
Platform: WSL (Ubuntu 18.04)
Compiler: g++ 7.50


Hey everyone! I’m new to ROOT and I’m trying to build it from scratch on WSL using the default instructions from the main website. I’m using the latest stable build from Github. The configuration step goes through as expected without issue using

cmake -DCMAKE_INSTALL_PREFIX=<installdir> <sourcedir>

I’m then building with

cmake --build . --target install

and get the following (this is a non-clean build. The same error still occurs)

[  0%] Built target OPENUI5
[  0%] Built target LZMA
[  0%] Built target VDT
[  0%] Built target TBB
[  0%] Built target xxhash
[  0%] Built target lz4
...
[ 73%] Built target G__SQLIO
[ 73%] Built target SQLIO
[ 73%] Built target G__Rint
[ 73%] Built target Rint
[ 73%] Generating G__Fumili.cxx, ../../lib/Fumili.pcm
<<< cling interactive line includer >>>: fatal error: module file '.../builds/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 'Graf' in '.../builds/root_build/lib/Graf.pcm'
Error: Module 'Graf.pcm' failed to load.
...

I’ve been trying to look around the forum for a similar issue but haven’t found a direct solution as of yet. All of the dependencies have been installed as well as most of the optional dependencies. Any ideas of where I can look or do to help with this issue?

Just a guess; as it says:

Rint.pcm is out of date

Could it be that you had an old (not empty) build directory ? can you try to remove completely the content of the build directory before doing the build ?

Delete lib/*.pcm and r-reun the build step please: cmake --build . --target install. We know that this needs to get fixed… Does this help?

Note that at the moment (@vvassilev) the error message is reversed, and it is really complaining that Graf.pcm is out of date.

@Axel I am encountering this same issue and following the rm lib/*.pcm and cmake --build . --target install commands does not fix it.

[ 97%] Generating tutorials/hsimple.root
<<< cling interactive line includer >>>: fatal error: module file ‘/home/username/ResearchFiles/root/rootbuildir/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/username/ResearchFiles/root/rootbuildir/lib/MathCore.pcm’
Failed to load module MathCore
Failed to load module Hist
etc…

I’d appreciate your help!

@vvassilev any hints what else it could be?

@eguiraud, has reported a similar issue. I could not reproduce it locally. We seem to have a missing dependency in the build system. @eguiraud, is that issue still reproducible for you?

Hi,
it just happened to me again this morning, but I removed all *.pcm files from the build directory to work around it. I don’t have a recipe to reliably reproduce the problem.

@Axel @vvassilev
After deleting the .pcm files, I instead used a different command. Before I was using:
cmake --build . --target install
but then I used:
cmake --build . – -j6
specifying 6 cores for the compilation and I did not hit the error, rather I got to 100%. I hope this helps!

1 Like

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?