ROOT Version v5-22-00 Patch Release Notes
A new production version ROOT v5-22-00j has been released Mar 31, 2010.
Binary tar balls are not available for patch releases.
The AFS version of v5-22-00i for many different platforms and compilers can be found at:
/afs/cern.ch/sw/lcg/app/releases/ROOT/5.22.00j/
The complete source tree for all systems (23.5 MB) is available here:
ftp://root.cern/root/root_v5.22.00j.source.tar.gz
Alternatively get the source from Subversion (broken) using:
svn co http://root.cern/svn/root/tags/v5-22-00j root
After obtaining the source read the file README/INSTALL (broken) (in short just do: cd root; ./configure; make).
To get the source of the head of the v5-22-00-patches branch do:
svn co http://root.cern/svn/root/branches/v5-22-00-patches root
Changes in the head of the v5-22-00-patches branch
- IO
- Added support for reading file written by 5.27/02 and containing a data member like:
std::container *fDataObjects; which has been streamed member-wise (see revision r33173 of the trunk).
- Prevent the use of an optimized StreamerInfo when reading a collection streamed member wise. The solves the issue 73642 reported in Atlas' Savannah.
- Avoid spurrious warning message when reading file with a TTree writen with ROOT 5.29/03 or later:
Warning in <tstreamerinfo::compile>: Counter fNClusterRange should not be skipped from class TTree</tstreamerinfo::compile>
- Added support for reading file written by 5.27/02 and containing a data member like:
- Xrootd
- Import fixes #33677 fixing a fake authentication failure with proxies created by voms-proxy-init when the input certificates are PKCS12-formatted
- CINT
- Prevent buffer overrun due to long include directives (issue #68546, r33793).
Changes in version v5-22-00j (Apr 23, 2010)
- Core
- Prevent object related to TClass and CINT from being allocated inside a TMapFile.
- Support cross-compilation of 32-bit binaries on MacOS X 64-bit.
Changes in version v5-22-00i (Mar 31, 2010)
- Xrootd
- Meta
- Add dictionary for
vector<pair<int,int> >
used inTSchemaRule
(r32475, bug #53130).
- Add dictionary for
- I/O
- Avoid spurrious warning message when reading file produced by ROOT v5.27 and above.
Changes in version v5-22-00h (Feb 8, 2010)
- Xrootd
- New version (v20100205-0000) containing several fixes needed in particular by ATLAS; this includes the new SSL module for authentication needed by Castor.
- Import crucial fix #32322 on for the krb5 security module
- Krb5auth
- Netx
- Import the relevant parts of patch #30949 adding the possibility to set on the fly (via the option field of the URL) the new read-ahead policies explicitely introduced in XrdClient for ATLAS.
- I/O
- Fix in TXNetFile, TRFIOFile and TDCacheFile for accessing members in a zip archive [Bad link].
- Add support reading TWebFiles via a web proxy.
Changes in version v5-22-00g (Jan 22, 2010)
- Core
- makelib.sh: when using the --enable-explicitlink option make sure all ROOT libs are fully linked. In most cases -ld was missing. This fixes issue [Bad link].
- Fix in rootcint when using the -p option ([Bad link]).
- CINT
- Fix deprecation warnings for Python 2.6 (r32033, issue #61490)
- Work around warning "cast from pointer-to-function and pointer to object" in some Reflex dictionaries. (r32074 r32090, bug #61758)
- I/O
- TDCacheFile: fix regression which caused dcap://host:port/path to fail.
Changes in version v5-22-00f (Dec 7, 2009)
- Core
- On MacOS X determine correct ROOTSYS in case libCore.so is a symlink (as was already done on Linux systems).
- I/O
- TDCacheFile: dCap client does not ignore ?filetype=raw and other options, so remove it. Fixes issue #57409.
- TDCacheFile: increase readahead size from 8k to 128k and make it settable via DCACHE_RA_BUFFER env var.
- Make vector<long> and vector<long long> equivalent (and hence suppress: TStreamerInfo::BuildOld:0: RuntimeWarning: Cannot convert DataHeaderElement_p2::m_Hashes from type:vector<unsigned long long> to type:vector<unsigned long>, skip element )
- Fix the reading of the TFile title in the header for file produced with v3 or older and for file larger than 2G
- Saves about 20% CPU time for I/O with Atlas AODs by not injecting the Streamer() trampolines in Cintex
- TTree
- Fix the FastCloner re-ordering of basket per entry when the baskets are synchronized across branches (this happens after a good OptimizeBasket of the tree).
- PyROOT
- Fix for issue [Bad link] and [Bad link].
- Reflex
- Allow softlinks when locating genreflex.py (r31534 r31543 r31556 r31563, issue #59896)
Changes in version v5-22-00e (Oct 11, 2009)
- MacOS X Snow Leopard
- Support for 32-bit build on 64-bit Snow Leopard.
- TTree
- Repair nesting of 'named' TTreeFormula (issue #53994).
- Core
- In TUnixSystem and TWinNTSystem, change the dynamic library search order. First look into LD_LIBRARY_PATH (or PATH on Windows) and then in what is specified in Root.DynamicPath. This allows by changing LD_LIBRARY_PATH to search for alternative versions of plugins without changing the rootrc file(s).
- Fix in root-config a problem with relative symbolic links.
Changes in version v5-22-00d (July 27, 2009)
- MySQL
- Fix portability problem between 32 and 64 bit as long is not a portable type.
- Core
- Fix tab completion for the case
root [0] .x tutorials/ [TAB]
- Add support for skipping the reading of the $HOME/<name> (e.g. $HOME/.rootrc) resource file. To do this set the shell variable ROOTENV_NO_HOME. This might be useful in case the home directory resides on an automounted remote file system and one wants to avoid this file system from being mounted. Fix for issue [Bad link].
- Fix tab completion for the case
- CINT
- Speed up the dictionary initialization: nlogn instead of n^2. (r29297, issue #52457).
- Fix the implementation of ShowMembers in the case where the members of a class with a genreflex dictionary are of type with a rootcint dictionary and no genreflex dictionary.
- TTree
- Insure that the TTreeCloner (fast merging) is able to also copy 'uninitialized' TStreamerInfo describing abstract classes (This fixed savannah report #52856)
- Enhance support for reading class (A) stored in a vector where one the member is no longer part of the current class layout (of class A) and the member is a class type .
- I/O
- Fix the initialization of the checksum information for a TSchemaRule (hence fixing the lookup based on checksum)
- PyROOT
- Fix for issue [Bad link].
Changes in version v5-22-00c (June 27, 2009)
- CINT
- Only use workaround against Microsoft compiler bug ('unused' returned reference for forward declared classes, see v5-22-00b) on Windows; silences (correct) warnings on other platforms (r28683).
- Typedefs that are defined in a scope that is not part of the dictionary will not get an entry in the rootmap file, (r29026, issue #51846).
- TTree
- Several fixes to properly support "flushing the write basket before streaming the branch".
- PyROOT
- Fix a crash while loading 'std::set
'. This fixes issue #49779.
- Fix a crash while loading 'std::set
- rootcint
- Correct algorithm to find ROOTSYS, now it works also if rootcint is a symlink.
Changes in version v5-22-00b (May 14, 2009)
- Base
- In GetOptions() fix parsing of script names with + somewhere in path.
- Roll back mod made in r25519 which was not a good idea as it required the user to make two gStyle->Set... statements to get a white canvas.
- I/O
- Prevent a potential infinite loop when reading the StreamerInfos.
- TTree
- Improve performance of read back of sub-branches contains stl container of simple types
- Prevent an infinite loop when reading a file containing a class which is split and has a vector member that has been removed in the current class layout.
- Enhance support for reading class (A) stored in a vector where one the member is no longer part of the current class layout (of class A)
- Meta
- Support the case where loading the library needed for an autoload entry does not lead to the loading of a CINT dictionary; This happens if the library has a Reflex dictionary and Cintex is not enabled.
- In TClass::Clone, insure that the copy is using the same 'dictionary' as the original so that it is really setting up an alias.
- Insure the autoloader is properly enabled when it is needed (for example after an explicit call to TSystem::Load even without a TApplication object).
- Cint
- Insure that the creation and deletion of object in Cintex matches the way object are created and delete by the compiler.
- Fix a silent corruption of the I/O system that can be triggered by a call to UpdateMembers() before Cintex got invoked. (r28049, issue #48338)
- Call TypeBase::Deallocate() instead of ::op delete in Reflex::Class::Destruct(), and only if requested. (r28086, issue #47076)
- Allow transient declarations even for typedef-to-class. (r28335 + r28374, issue #49472)
- Fix invalid memory access in ~ScopeBase() after UpdateMembers(). (r28337, issue #49533)
- Silence warnings when compiling Reflex dictionaries with -pedantic (r28394, issue #49792)
- Do not try to automatically create a dictionary for template classes that were loaded via CINTEX (r28415, issue 49926)
- Work around a silly error generated by the Microsoft compiler when seeing an 'unused' returned reference to a forward declared class.
- Graf
- Fix in PaintAxis: the option "U", for unlabeled axis, was not implemented in case of alphanumeric axis' labels.
- Hist
- Fix bad side effect introduced in revision 28200 in TGraph::GetHistogram().
- Geom
- Fixed issue with un-initialized variable in TGeoScaledShape::DistFromInside(). This fixes issue [Bad link].
- MathCore
- Fix bug [Bad link] in fitting TGraphErrors
- Fix a problem in likelihood fit caused by negative pdf values
- Fix a bug in creating the Integrator class when MathMore is not built.
- SMatrix
- Remove tolerance check when inverting matrices (both with BK or LU methods)
- Xrootd
- Import fixes in the security modules
- Proof
- Fix problem with handling entry lists
- Fix problem with retrieving files from the cache
- Fix problem with schema evolution
- Fix problem causing random crashes when asking for the memory plot
Changes in version v5-22-00a (Feb 12, 2009)
- Misc
- Add support for Microsoft Visual C++ version 9.0
- Base
- Fix issue [Bad link], crash caused by PATH being larger than 8192 characters.
- Fix issue [Bad link], determination of ROOTSYS broken when libCore is in a symlinked path.
- Fix root-config, determination of ROOTSYS broken when root-config is in a symlinked path.
- Fix issue in TFolder::ls() not handling wildcards properly.
- Meta
- Implement TClass::Clone (It replaces the copy constructor which was removed)
- Suppress error message in TClass::BuildRealData if the class is used 'only' for a transient member.
- Implement new mode 1<<7 for TClassEdit::ShortType() to strip off default template parameters.
- Fix issue [Bad link], genreflex failing for functions taking multidimensional arrays.
- Prevent a segmentation fault and reintroduce the proper warning message when a file contains an empty collection of long double.
- TTree
- Force the TStreamerInfo used by a split branch to be non-optimized.
- Fix the logic when trying to match the branch from one tree to the other (avoid an infinite loop if the first branch is missing in the new tree).
- PyROOT
- Fix for issue [Bad link].
- Windows: Create the Python module libPyROOT.pyd from libPyROOT.lib instead of copying it from libPyROOT.dll. This solves a problem in GaudiPython.
- CINT / Reflex
- Fix issue [Bad link], genreflex failing for functions taking multidimensional arrays. (r27214)
- Don't cache Reflex::Members. Repairs Cintex for classes with duplicate dictionaries. (r27303)
- genreflex: prepend return type of shadows' final overriders by '::' where applicable; fixes issue [Bad link]. Also keep constness of original return type. (r27305)
- Correct CINT's handling of unsigned numbers larger than INT_MAX. (r27306)
- When looking up list<A>::iterator, list<A> was looked up only as a struct, where in fact (for CINT) it's a typedef. This prevents template instantiation (which fails during library load) and autoloading in the case of rootmap (re-) registration for types like list<A>::iterator. (r27310)
- Reflex::Type::SizeOf() was giving the wrong answer if the underlying type was not yet initialized when the derived type (e.g. array, typedef) was built; see issue [Bad link]. (r27325)
- Remove stray spaces in genreflex-created rootmap files for types containing (basic_)string as template argument. (r27408)
- Insert basic_string<char> through Cintex for backward compatibility reasons. (r27408)
- Rename unsigned int template arguments as provided by GCCXML to not end on "ul", fixing issue reported by Atlas with boost::array. (r27408)
- Fitting (MathCore + Hist)
- Fix issue [Bad link] for normalization of error resulting from fitting a TGraph
- Fix a problem in Chi2 calculation in case of overflow
- Fix issue [Bad link] when setting a function range outside histogram range
- Fix issue [Bad link] for creating a list of functions when using TGraph default constructor
- Fix issue [Bad link] for avoiding crashes when a linear fit fails.
- TAlienFile / xrootd
- Fix issue [Bad link] TAlienFile size being recorded as size 0.
- Fix issue [Bad link] concerning TFile::Cp() of AliEn files.
- XrdProofd
- Fix a free/delete mismatch possibly causing a segv when restarting the daemon
- Fix a backward-incompatibility issue causing the error message "unknown action code: 5112"
- Xrootd, import of fixes from the CVS head:
- for possible crashes of the daemon after a 'prepare'.
- improving the server hostname check in GSI authentication.
- Hist
- Fix issue [Bad link] in TH3::Project3D for the error calculation in case of weighted histogram (or when using option "E") and no axis range is set.