Installation of a software dependent on root

Dear Experts,

I am trying to install a software (GammaCombo) locally in my computer. I have all the prerequisites needed to install this software. The “cmake” command works fine, but while doing “make install”, I am getting a very long error message and the installation fails. The screenshot is attached.

The error starts at:

and ends at:

I would be grateful if anyone can help me to solve this issue.

Thanks in advance!


I guess there is a mismatch in the C++ language standard used by different libraries (i.e. GammaCombo and ROOT).

You need to make sure that the same “-std=...” C++ compiler flag is used when building all your software.

One of the first flags in the output of “root-config --cflags” is " -std=..." (and this tells you what C++ language standard your ROOT binaries were built with).

Looking at your first screenshot, I can see “HAS_CPP17 - Success”. This may suggest that the GammaCombo is using “-std=c++17”.

You have two options then.

  1. You can build ROOT using: cmake -DCMAKE_CXX_STANDARD=17 ...

  2. You can build GammaCombo using the same standard as your existing ROOT is using. E.g., if ROOT is using “c++=14”, you could try to build GammaCombo using: cmake -DCMAKE_CXX_STANDARD=14 ...

Thank you very much.

I tried the second one and it worked.