ROOT 5.34.25 build issue on Ubuntu 12.04 LTS

Has anybody seen the follow error before during a build? Or have pointers to where it may be arising from? This is ROOT 5.34.25 on Ubuntu 12.04 LTS, starting from a fresh VM. The GCC version is 4.6. Thanks for any pointers. I’ve spent a bit of time trying to diagnose this (tried to write it up here, but timed out and lost it all!). If it’s important, I’m installing within one of Anaconda’s virtual environments (Python environment). However, I’m about to try without this just to isolate the problem more.

Is this a ROOT issue? Or a issue on my side?

Generating dictionary graf2d/graf/src/G__Graf.cxx... core/utils/src/rootcint_tmp -cint -f graf2d/graf/src/G__Graf.cxx -c -I/home/travis/miniconda/envs/test-environment/include/freetype2 -I/home/travis/miniconda/envs/test-environment/include /home/travis/build/XENON1T/pax/root/graf2d/graf/inc/TArc.h /home/travis/build/XENON1T/pax/root/graf2d/graf/inc/TArrow.h /home/travis/build/XENON1T/pax/root/graf2d/graf/inc/TAttImage.h /home/travis/build/XENON1T/pax/root/graf2d/graf/inc/TBox.h /home/travis/build/XENON1T/pax/root/graf2d/graf/inc/TCrown.h /home/travis/build/XENON1T/pax/root/graf2d/graf/inc/TCurlyArc.h /home/travis/build/XENON1T/pax/root/graf2d/graf/inc/TCurlyLine.h /home/travis/build/XENON1T/pax/root/graf2d/graf/inc/TCutG.h /home/travis/build/XENON1T/pax/root/graf2d/graf/inc/TDiamond.h /home/travis/build/XENON1T/pax/root/graf2d/graf/inc/TEllipse.h /home/travis/build/XENON1T/pax/root/graf2d/graf/inc/TFrame.h /home/travis/build/XENON1T/pax/root/graf2d/graf/inc/TGaxis.h /home/travis/build/XENON1T/pax/root/graf2d/graf/inc/TGraphPolargram.h /home/travis/build/XENON1T/pax/root/graf2d/graf/inc/TGraphPolar.h /home/travis/build/XENON1T/pax/root/graf2d/graf/inc/TGraphQQ.h /home/travis/build/XENON1T/pax/root/graf2d/graf/inc/TImage.h /home/travis/build/XENON1T/pax/root/graf2d/graf/inc/TImagePlugin.h /home/travis/build/XENON1T/pax/root/graf2d/graf/inc/TLatex.h /home/travis/build/XENON1T/pax/root/graf2d/graf/inc/TLegendEntry.h /home/travis/build/XENON1T/pax/root/graf2d/graf/inc/TLegend.h /home/travis/build/XENON1T/pax/root/graf2d/graf/inc/TLine.h /home/travis/build/XENON1T/pax/root/graf2d/graf/inc/TLink.h /home/travis/build/XENON1T/pax/root/graf2d/graf/inc/TMarker.h /home/travis/build/XENON1T/pax/root/graf2d/graf/inc/TMathText.h /home/travis/build/XENON1T/pax/root/graf2d/graf/inc/TPave.h /home/travis/build/XENON1T/pax/root/graf2d/graf/inc/TPaveLabel.h /home/travis/build/XENON1T/pax/root/graf2d/graf/inc/TPaveStats.h /home/travis/build/XENON1T/pax/root/graf2d/graf/inc/TPavesText.h /home/travis/build/XENON1T/pax/root/graf2d/graf/inc/TPaveText.h /home/travis/build/XENON1T/pax/root/graf2d/graf/inc/TPie.h /home/travis/build/XENON1T/pax/root/graf2d/graf/inc/TPieSlice.h /home/travis/build/XENON1T/pax/root/graf2d/graf/inc/TPoints.h /home/travis/build/XENON1T/pax/root/graf2d/graf/inc/TPolyLine.h /home/travis/build/XENON1T/pax/root/graf2d/graf/inc/TText.h /home/travis/build/XENON1T/pax/root/graf2d/graf/inc/TTF.h /home/travis/build/XENON1T/pax/root/graf2d/graf/inc/TWbox.h /home/travis/build/XENON1T/pax/root/graf2d/graf/inc/LinkDef.h Syntax Error: FP_NAN, # define FP_NAN FP_NAN FP_INFINITE, # define FP_INFINITE FP_INFINITE FP_ZERO, # define FP_ZERO FP_ZERO FP_SUBNORMAL, # define FP_SUBNORMAL FP_SUBNORMAL FP_NORMAL # define FP_NORMAL FP_NORMAL Maybe missing ';' /home/travis/miniconda/envs/test-environment/include/math.h:210: Error: Missing whitespace at or after line 466. Error: Unexpected end of file (G__fgetspace():2) /home/travis/miniconda/envs/test-environment/include/math.h:469: Report: Unrecognized string '__END_DECLS' ignored /home/travis/miniconda/envs/test-environment/include/math.h:470: Warning: Error occurred during reading source files Warning: Error occurred during dictionary source generation !!!Removing graf2d/graf/src/G__Graf.cxx graf2d/graf/src/G__Graf.h !!! Error: core/utils/src/rootcint_tmp: error loading headers... make: *** [graf2d/graf/src/G__Graf.cxx] Error 1

Having looked at the build server, it appears as though I’m using the same versions of everything… except I’m not using the patches branch. However, there doesn’t appear to be anything in patches that isn’t in 5.34.25 that would explain it? cdash.cern.ch/buildSummary.php?buildid=99816

Just in case anybody else finds this later… it may be some issue between GCC and clang…

Tried --with-clang. No luck.

There is very little difference between 5.34.25 and what we build in the nightlies in the 5.34.00-patches branch. The pointer to the build cdash.cern.ch/buildSummary.php?buildid=99816 is made by CMake, but the classic one made with confiogure/make does not show any problem.

In your output I see /home/travis/miniconda/envs/test-environment/include/math.h
What is this header? Is the one corresponding to the STL for gcc 4.6?

I have the same problem installing root 5.34.28 on Ubuntu 14.04 LTS

Can it be that you have another ROOT version installed somewhere (and this “old” version is “seen” when you try to build the “new” one)?
Try something like:
which root
type root
which root-config
type root-config
locate libCore

My Anaconda include directory had some header math.h. And I think it tried to use that one instead of the standard math.h.

In the op’s case I see that he or she also has some version of anaconda:
/home/travis/miniconda/envs/test-environment/include/math.h

So, my solution was to go to anaconda include, move the file math.h to whatever else, like math_NEW.h After that root uses the correct math.h and compiles.

We add the same problem on CentOS 6.8, with the 5.34.36 release of Root.

The solution we tested with success was to use the ‘-p’ option with rootcint_tmp.
We modified the Module.mk files for graf2d/graf (’-p’ added to the definition of CINTFLAGS variable) and graf2d/x11ttf (command line).