Problems building ROOT on CentOS8 (cppyy issue)

Please read tips for efficient and successful posting and posting code

ROOT Version: 6.22.08
Platform: CentOS8
Compiler: gcc version 8.3.1

Dear ROOT forum. I am having some trouble compiling ROOT for the Jefferson Lab “apps”. Please
see the following URL for a breakdown of the problem. It might be something simple. I emphasize, I have not changed ROOT, I just cannot compile it “out of the box”.

Dr. Robert Michaels, JLab

The DispatchPtr.h header file is being picked up from a normal cppyy install (be it from your OS’s package manager, pip, …). ROOT has a fork of cppyy copied into its source tree, which does not track cppyy closely, but which has kept all the same names. The upshot is incompatibilities such as these (both build time and run-time) due to clashes of two same-named, but rather functionally different, Python packages.

Not sure what to do about it: you have to isolate the ROOT build and its run-time (meaning also that you can’t use whatever Python package is the reason for installing cppyy on the system). Certainly, unless ROOT changes its strategy, as the use of cppyy proliferates, soon enough it will be impossible to use ROOT in a normal Python environment.

Thank you. This solved the original problem. I added a second arg to the implementation file and it compiled, and all of ROOT compiles. I did several checks of ROOT and pyROOT which look good. The one thing that currently fails is the “make” of files in 6.22.08/root-6.22.08/test. Something about “rootcling not installed in standard location”. I may post a message about that if I can’t figure it out. I’m not sure how important it is, perhaps it is obsolete, but I used to always compile and run the test codes as part of my certification. Thanks again.

And my “rootcling” problem was a simple mistake in the $PATH. Apparently python3 has that, too. Now, I have finished installing ROOT 6.22.08 for JLab “apps”. Thank you for the advice. I think I’m done.

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