I made some files with ROOT 6.14.00, gcc 6.2.0, SL 6.9. The files contain nothing but a TDirectoryFile, within which are a bunch of TH1Ds. Then, I copied the files to my laptop running ROOT 6.06.08, gcc 4.8.4, Ubuntu 14.04. Turned out I can’t read the files, clicking at any histogram gave me this:
root [0] new TBrowser
(TBrowser *) 0x2a695e0
root [1] Error R__unzip_header: error in header
Info in TFile::GetStreamerInfoList: cannot find the StreamerInfo record in file cQq13_m3p0_cQq11_m5p0_ctq1_m7p0_rwgt_snake.root
(TFile *) 0x35e2ad0
Error in TBufferFile::ReadClassBuffer: Could not find the StreamerInfo for version 10 of the class TAxis, object skipped at offset 165
[…]
Now, I didn’t expect even looking at histograms can cause trouble within versions. Is this really expected and the only thing I can do to read these files is to update my laptop’s ROOT?
the reason is because these files have been compressed with LZ4 and the algorithm is not available in ROOT 6.06.
I see two possible solutions: either updating ROOT 6.06 which is anyway 2y old or select zlib compression for the files created with 6.14.
Got a second problem: files produced by 6.10/09 can’t be read by 6.14/00, giving this issue:
Error in TBufferFile::ReadClassBuffer: Could not find the StreamerInfo for version 7 of the class TH1, object skipped at offset 63
Error in TBufferFile::CheckByteCount: object of class TH1 read too few bytes: 2 instead of 1052
Is this the same or a different issue? In any case I’ll see if changing algos help.
I support your statement: you did quite some tests and build remnants, dirty environments and so on sometimes play nasty tricks.
Let us know if something else happens.