ROOT failing to start

Hello,

I’m encountering an interesting issue when trying to start ROOT by invoking root -l. The following message is prompted:

root.exe: /opt/ROOT/root-6.14.02/source/interpreter/llvm/src/tools/clang/include/clang/Serialization/Module.h:72: clang::serialization::InputFile::InputFile(const clang::FileEntry*, bool, bool): Assertion !(isOverridden && isOutOfDate) && "an overridden cannot be out-of-date"' failed.

To me it’s a bit surprising why clang is reporting that issue since I’m working primarily with gcc. Probably someone can shed some light on the nature of that and how to solve it?

Thanks for any help!


ROOT Version: 6.14.02
Platform: Fedora 28
Compiler: gcc 8.2.1-4


cling (ROOT’s interpreter) is based on llvm/clang.
This error usually means that you recompiled part of your build directory, not all of it.
Give a cmake --build . from the top of your build directory, it should fix it.

Cheers,
Enrico

Thanks a lot for the quick reply and the provided information. After calling cmake --build . the error remains and ROOT refuses to start. The command itself succeeded.
Actually, I cannot remember having rebuilt part of the build recently. The only thing that happened was a small system upgrade. Not sure if that touched anything of relevance …
Could there be another reason for this behaviour?

I see that you have ROOT installed in /opt/ROOT/. After giving the build command, did you install this latest build in /opt/ROOT (e.g. with make install)?

If yes, and that still doesn’t fix it:

  • option 1 is that someone more knowledgeable than me, e.g. @dpiparo or @Axel, knows exactly what components need to be rebuilt and give you a more specific command to run
  • option 2 is that you rebuild and reinstall from scratch (i.e. from an empty build directory, after removing your current installation): this is the nuclear option and should definitely work

Cheers,
Enrico

Sorry it was me being stupid: forgot the make install of course. After installing it, ROOT starts again.
But cling issues a warning about a mismatch between compiler versions (e.g. original compilation done with an older version of gcc). Should I fix that by rebuilding from scratch or can that warning be safely ignored for now?

I any case: thanks again.

The safe option would be to recompile ROOT with your new compiler. It’s hard to predict what mismatches there might be in code compiled by a previous gcc version vs a newer one (I think the most likely symptom would be weird crashes at runtime).

Cheers,
Enrico

I see. Thank you for your help.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.