Back Midas Rome Roody Rootana
  Root Analyzer Framework  Not logged in ELOG logo
Message ID: 23     Entry time: 12 Jul 2020
Author: Thomas Lindner 
Topic: Bug Report 
Subject: Compiling rootana on Macos 10.15.4 
I had some trouble building rootana on my new laptop, running MacOS 10.15.4 (Xcode 11.5).

Most of rootana compiled fine, but the steps with rootcint fail.  For instance:

rootcint -f obj/TMainDisplayWindowDict.cxx -DHAVE_ROOT   -DOS_LINUX -DOS_DARWIN -I./include 
include/TMainDisplayWindow.hxx include/TMainDisplayWindow_LinkDef.h
In file included from input_line_12:12:
In file included from ./include/TMainDisplayWindow.hxx:4:
In file included from /Applications/root_v6.18.99/include/TGClient.h:27:
In file included from /Applications/root_v6.18.99/include/TString.h:26:
In file included from /Applications/root_v6.18.99/include/TMathBase.h:32:
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/cmath:317:9: error: no member named 
'signbit' in the global namespace
using ::signbit;
      ~~^
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/cmath:318:9: error: no member named 
'fpclassify' in the global namespace
using ::fpclassify;
      ~~^
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/cmath:319:9: error: no member named 
'isfinite' in the global namespace
using ::isfinite;
      ~~^
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/cmath:320:9: error: no member named 'isinf' 
in the global namespace
using ::isinf;
      ~~^
/Library/Developer/CommandLineTools/usr/bin/../include/c++/v1/cmath:321:9: error: no member named 'isnan' 
in the global namespace

This is probably a problem with my Xcode installation.  But I found a work-around, which was explicitly 
defining CPATH before the rootcint command in the Makefile:
obj/TMainDisplayWindowDict.cxx obj/TRootanaDisplayDict.cxx obj/TFancyHistogramCanvasDict.cxx: 
obj/%Dict.cxx:
    CPATH=/usr/local/include rootcint -f $@ $(CXXFLAGS_ROOTCINT) -I./include include/$*.hxx 
include/$*_LinkDef.h

obj/TNetDirectoryDict.cxx: obj/%Dict.cxx:
    CPATH=/usr/local/include rootcint -f $@ $(CXXFLAGS_ROOTCINT) -I./include include/$*.h 
include/$*_LinkDef.h

As I say, this is probably a problem with my installation; but I include the work-around in case it is helpful.

In the medium term we will try to remove the dependence on the old, ugly rootcint, since it often has 
problems.
ELOG V3.1.4-2e1708b5