I’ve come across a puzzling error message when trying to open a file with a non-trivial
TTree inside which contains lots of custom classes and std containers/types.
The file was produced on a CentOS7 machine, and I am opening it on a MacBook.
The puzzling errors are all related to
Warning in <TClass::Init>: no dictionary for class __pair_base<unsigned int,float> is available ...
I tracked down the error message to the fact that
std::pair has an empty base class in the libstdc++ implementation, while this doesn’t seem the case in libc++.
From the original JIRA issue I understood that the expected behavior for
root  auto c = TClass::GetClass("pair<int,int>");auto pb = c->GetListOfBases();pb->GetEntries() (int) 0
while if I perform this check on my 6.22/08 install (compiled with gcc 9.3.0 on CentOS7) I get
root  auto c = TClass::GetClass("pair<int,int>");auto pb = c->GetListOfBases();pb->GetEntries() (int) 1
(this particular ROOT install is available on cvmfs:
So, my question is, is this a regression? Or is this intended behavior?
In the latter case, how can I avoid the truckload of warnings when opening files on my MacBook?
ROOT Version: 6.22/08
Compiler: gcc 9.3.0