We recently upgraded our machines to 64-bit Scientific Linux and now I’m getting the following compilation error:
In file included from …/cfitsio/include/fitsio.h:55,
/usr/local/veritas/root-5.24/lib/root/cint/cint/include/limits.h:8:11: error: missing binary operator before token "("
Error: external preprocessing failed. :0:
!!!Removing out/stage6RootDict.cpp out/stage6RootDict.h !!!
I’m pretty sure that this is a known bug for which a patch already exists according to the changelog:
2009-07-08 08:14 axel
* [r29394] cint/cint/include/limits.h, cint/cint/src/loadfile.cxx: CPP predicate sizeof is only valid for CINT; limits.h might get included by external CPP. Pass G__EXTERNAL_CPP when invoking external CPP to signal that we cannot rely on CINT's extensions. Construct limits.h from CPP info if available, fallback on a 32bit int.
However, that post-dates the most recent production ROOT build and there isn’t a development release posted yet beyond that. I desperately need this patch, which can’t affect more than a file or two—how do I get hold of just the files that I need?