scikit-hep/root_numpy

compatibility with root v6.16?

alanjtaylor opened this issue · 1 comments

Hi,
I'm currently trying to install root_numpy with ROOT v6.16 installed and python 3.7.3.
I get a number of errors including, for example:

/usr/local/Cellar/root/6.16.00/include/root/TStorage.h:86:4: error: use of undeclared identifier 'R__likely'
   ClassDef(TStorage,0)  //Storage manager class
   ^
/usr/local/Cellar/root/6.16.00/include/root/Rtypes.h:325:4: note: expanded from macro 'ClassDef'
   _ClassDefOutline_(name,id,virtual,)   \
   ^
/usr/local/Cellar/root/6.16.00/include/root/Rtypes.h:299:4: note: expanded from macro '_ClassDefOutline_'
   _ClassDefBase_(name,id, virtual_keyword, overrd)       \
   ^
/usr/local/Cellar/root/6.16.00/include/root/Rtypes.h:274:11: note: expanded from macro '_ClassDefBase_'
      if (R__likely(recurseBlocker >= 2)) {                                                                     \
          ^
In file included from root_numpy/src/_librootnumpy.cpp:639:
In file included from /usr/local/Cellar/root/6.16.00/include/root/TClass.h:23:
In file included from /usr/local/Cellar/root/6.16.00/include/root/TDictionary.h:44:
In file included from /usr/local/Cellar/root/6.16.00/include/root/TNamed.h:25:
In file included from /usr/local/Cellar/root/6.16.00/include/root/TObject.h:18:
/usr/local/Cellar/root/6.16.00/include/root/TStorage.h:86:13: error: 'TStorage' does not refer to a value
   ClassDef(TStorage,0)  //Storage manager class
            ^
/usr/local/Cellar/root/6.16.00/include/root/TStorage.h:33:7: note: declared here
class TStorage {
      ^
/usr/local/Cellar/root/6.16.00/include/root/TStorage.h:111:1: error: use of undeclared identifier 'R__INTENTIONALLY_UNINIT_BEGIN'
R__INTENTIONALLY_UNINIT_BEGIN
^
/usr/local/Cellar/root/6.16.00/include/root/TStorage.h:113:1: error: use of undeclared identifier 'R__INTENTIONALLY_UNINIT_END'
R__INTENTIONALLY_UNINIT_END
^
In file included from root_numpy/src/_librootnumpy.cpp:639:
In file included from /usr/local/Cellar/root/6.16.00/include/root/TClass.h:23:
In file included from /usr/local/Cellar/root/6.16.00/include/root/TDictionary.h:44:
In file included from /usr/local/Cellar/root/6.16.00/include/root/TNamed.h:25:
/usr/local/Cellar/root/6.16.00/include/root/TObject.h:133:4: error: unknown type name 'R__ALWAYS_INLINE'
   R__ALWAYS_INLINE Bool_t IsOnHeap() const { return TestBit(kIsOnHeap); }
   ^
/usr/local/Cellar/root/6.16.00/include/root/TObject.h:133:27: error: expected ';' at end of declaration list
   R__ALWAYS_INLINE Bool_t IsOnHeap() const { return TestBit(kIsOnHeap); }
                          ^
                          ;
/usr/local/Cellar/root/6.16.00/include/root/TObject.h:169:30: error: unknown type name 'Bool_t'; did you mean '::Bool_t'?
   void     SetBit(UInt_t f, Bool_t set);
                             ^~~~~~
                             ::Bool_t
/usr/local/Cellar/root/6.16.00/include/root/RtypesCore.h:59:24: note: '::Bool_t' declared here
typedef bool           Bool_t;      //Boolean (0=false, 1=true) (bool)
                       ^
In file included from root_numpy/src/_librootnumpy.cpp:639:
In file included from /usr/local/Cellar/root/6.16.00/include/root/TClass.h:23:
In file included from /usr/local/Cellar/root/6.16.00/include/root/TDictionary.h:44:
In file included from /usr/local/Cellar/root/6.16.00/include/root/TNamed.h:25:
/usr/local/Cellar/root/6.16.00/include/root/TObject.h:172:4: error: unknown type name 'R__ALWAYS_INLINE'
   R__ALWAYS_INLINE Bool_t TestBit(UInt_t f) const { return (Bool_t) ((fBits & f) != 0); }
   ^
/usr/local/Cellar/root/6.16.00/include/root/TObject.h:172:21: error: duplicate member 'Bool_t'
   R__ALWAYS_INLINE Bool_t TestBit(UInt_t f) const { return (Bool_t) ((fBits & f) != 0); }
                    ^
/usr/local/Cellar/root/6.16.00/include/root/TObject.h:133:21: note: previous declaration is here
   R__ALWAYS_INLINE Bool_t IsOnHeap() const { return TestBit(kIsOnHeap); }
                    ^
/usr/local/Cellar/root/6.16.00/include/root/TObject.h:172:27: error: expected ';' at end of declaration list
   R__ALWAYS_INLINE Bool_t TestBit(UInt_t f) const { return (Bool_t) ((fBits & f) != 0); }
                          ^
                          ;
/usr/local/Cellar/root/6.16.00/include/root/TObject.h:210:11: error: unknown type name 'Bool_t'; did you mean '::Bool_t'?
   static Bool_t    GetObjectStat();
          ^~~~~~
          ::Bool_t
/usr/local/Cellar/root/6.16.00/include/root/RtypesCore.h:59:24: note: '::Bool_t' declared here
typedef bool           Bool_t;      //Boolean (0=false, 1=true) (bool)
                       ^
In file included from root_numpy/src/_librootnumpy.cpp:639:
In file included from /usr/local/Cellar/root/6.16.00/include/root/TClass.h:23:
In file included from /usr/local/Cellar/root/6.16.00/include/root/TDictionary.h:44:
In file included from /usr/local/Cellar/root/6.16.00/include/root/TNamed.h:25:
/usr/local/Cellar/root/6.16.00/include/root/TObject.h:211:35: error: unknown type name 'Bool_t'; did you mean '::Bool_t'?
   static void      SetObjectStat(Bool_t stat);
                                  ^~~~~~
                                  ::Bool_t
/usr/local/Cellar/root/6.16.00/include/root/RtypesCore.h:59:24: note: '::Bool_t' declared here
typedef bool           Bool_t;      //Boolean (0=false, 1=true) (bool)
                       ^

Is root_numpy compatible with root 6.16? or is there another issue here?

Thanks,
Alan

Hi,
I found the same issue here - https://trac.macports.org/ticket/57007
and resolved it with the symlink.
Apologies!
Alan