I have been asked to install a software for data reconstruction on root 6.10 systems. This software is basically a set of ROOT libraries which can be installed in root 5 versions (tested personally with root 5.34).
Trying to install with ROOT6 I get a lot of errors, some due to more stringent c++ checks, others due to libraries. For example, it looks for G__ci.h, which If I have understood correctly refers to CINT compiler, which has been replaced by CLING.
I could not find a tutorial about converting code from root5 to root6. Is it difficult? Can it be done without changing too much the source libraries?
I would really appreciate some help on this issue, sorry for the trouble.
could you make a list of well defined items which you are encountering issues with? Once a clear description is provided, we can provide support to solve them one by one.
I sincerely do not know what are the well defined items, but I can try to make a clear list the main errors:
#include “G__ci.h” LEADS TO File or directory not found:
many istances of invalid use of incomplete type ‘class TBuffer’ LEADS TO forward declaration of class TBuffer in ROOT/include/Rtypes.h:
using::asin LEADS TO ::asin has not been declared (likely atan, atan2, etc.)
constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value __is_integer was not declared in this scope LEADS TO suggested alternative struct __is_integer in /usr/include/c++/6/bits/cpp_type_traits.h.