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. |