Hi, I've got a problem with the new v4 I/O reading some particular classes we have. Specifically I've attempted this under v4-00-0{2|3}, and not that it matters but FermiLinux {9.0|7.3}, gcc 3.{3|2}.1. The basic problem is that we had some classes, say, DataBlock1 and DataBlock2 that derive from DataBlockBase and PureAbstractInterface. All classes are explicitly instrumented with ClassDef and listed in the LinkDef.h with a "+". DataBlockBase derives from TObject. But PureAbstractInterface does not and has ClassDef version=0; the PureAbstractInterface class doesn't have any data -- it is just interface. The problem is when reading back files written under v3-05-07 and v4-00-0{2|3} I get: $ root -b -q read_test.C [...] Error in <TBuffer::CheckByteCount>: object of class PureAbstractInterface read too many bytes: 6 instead of 2 Warning in <TBuffer::CheckByteCount>: PureAbstractInterface::Streamer() not in sync with data on file, fix Streamer() Error in <TBuffer::CheckByteCount>: object of class PureAbstractInterface read too many bytes: 6 instead of 2 Warning in <TBuffer::CheckByteCount>: PureAbstractInterface::Streamer() not in sync with data on file, fix Streamer() [...] The data seems to come back in okay, but these messages occur for every such object read in. How do I make them go away. Example code/scripts/files are in the attached tar file. Thanks, -robert Robert W. Hatcher | rhatcher@fnal.gov 630-840-3102 FNAL CD/EXP (MINOS) | MS 220, PO Box 500, Batavia IL 60510
This archive was generated by hypermail 2b29 : Sun Jan 02 2005 - 05:50:06 MET