"RooGlobalFunc.h" is missing


ROOT Version: 6.10/08
Platform: Ubuntu 17.10
Compiler: g++ 7.2.0 (Though I am not entirely sure)


Hello everyone,
I am trying to compile some code and for some reason (that I don’t fully understand) I have to rely on an older (< 6.12) ROOT version for the program to work properly.
However I am getting an error message that RooGlobalFunc.h can not be found:


fatal error: RooGlobalFunc.h: No such file or directory
 #include "RooGlobalFunc.h"

When searching for that file, I can find it three times on my system:


find ../ -name RooGlobalFunc.h
../root-6.10.08/roofit/roofitcore/inc/RooGlobalFunc.h
../build-6.14/include/RooGlobalFunc.h
../root-6.14.00/roofit/roofitcore/inc/RooGlobalFunc.h

It appears twice in ROOT 6.14 but only once in ROOT 6.10. All of the files are identical.
My naive approach now would be to just copy the files I need into the build directory where they are missing.
This seems to work as trying to compile again it is now complaining about a different missing file and I could maybe just continue this until it eventually works.

Is there a better approach to solve this issue (I am sure there is) and do you know why these files seem to be missing?

Thank you very much
Philipp

Hi Philipp,

the error seems linked to an incomplete build/installation of ROOT. As you can see from your last snippet, you do have the file in the sources directory for both 614 and 610 but in the binary directory (../build-6.14/include/RooGlobalFunc.h) only for 614.

Did you configure the builds differently?

Cheers,
D

1 Like

Thank you very much for your quick answer.
The only difference in the configuration that I did (on purpose) was to include Minuit2. Other than that I don’t think I did anything differently.

Cheers
Philipp


Edit 1:
I built it again yesterday and it still cannot be found in the build directory.
Here are the steps I took:


mkdir root-6.10.08
cd root-6.10.08
cmake ../root-6.10.08/
vim CMakeCache.txt (I changed the variable minuit2 to ON)
cmake --build .

It doesn’t seem to me, that one could possibly screw something up with these few steps, but nevertheless it doesn’t work.
I tried to follow this guide here: https://root.cern.ch/building-root


Edit 2:
I tried the exact same again with ROOT version 6.08, so I assume my mistake lies in the process of compiling ROOT.
Has anyone an idea, what I could have possibly screwed up with the five simple commands I used to build it?

See: ROOT Build Prerequisites
Try (note: the “build” subdirectory MUST be different from the “source code” subdirectory and in case of problems, attach the “cmake.out.txt” file here):

rm -rf root-6.10.08 # make sure no "remnants" from previous builds are present
mkdir root-6.10.08 # create the "build" subdirectory
cd root-6.10.08
unset ROOTSYS # nothing in your environment should point to another ROOT version
cmake -Dall="ON" -Dsoversion="ON" /source/code/of/root-6.10.08 > cmake.out.txt 2>&1
cmake --build . >> cmake.out.txt 2>&1
1 Like

Everything compiled without giving me any error messages.
Thank you very much, I think that solved my problems.

Kind regards,
Philipp

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