ROOT Version v5-24-00 Patch Release Notes

A new production version ROOT v5-24-00b has been released Oct 11, 2009.

Binary tar balls are not available for patch releases.

The AFS version of v5-24-00b for many different platforms and compilers can be found at:


The complete source tree for all systems (23.5 MB) is available here:

Alternatively get the source from Subversion (broken) using:

svn co root

After obtaining the source read the file README/INSTALL (in short just do: cd root; ./configure; make).

To get the source of the head of the v5-24-00-patches branch do:

svn co root

Changes in the head of the v5-24-00-patches branch

  • Core
    • Fix sandbox access violation in Gentoo when running ./configure.
    • On MacOS X determine correct ROOTSYS in case 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.
    • TDCacheFile: fix regression which caused dcap://host:port/path to fail.
    • Make long and long long equivalent. 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 TStreamerInfo::CompareContent to properly look at only persistent members and to properly match members.
    • Allow streaming of base classes with an external streamer and Reflex dictionaries (r31300, issue #59093)
    • Avoid spurrious warning message when reading file produced by ROOT v5.27 and above.
    • 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>
  • CINT
    • CINT's limits.h was exposing a CINT-only preprocessor expression to external preprocessors (r30669, issue #56225)
    • Remove the artificial methods Streamer() and StreamerNVirtual() injected by Cintex. They were causing an overhead for I/O and Streamer() was introducing a vtable. (r31078)
    • Flag the artificial method ShowMembers() injected by Cintex as virtual only if the class already has a vtable. Otherwise CINT believes there is a vtable where there isn't. (r31078, issue #58277)
    • Allow softlinks when locating (r31535 r31544 r31557 r31564, issue #59896)
    • Work around warning "cast from pointer-to-function and pointer to object" in some Reflex dictionaries. (r32074 r32091, bug #61758)
  • net/krb5auth
    • Explicitely add include path for the openssl headers to avoid problems on some systems (e.g. kubuntu)
  • net/globusauth
    • Extend support for Globus installations coming with Debian/Fedora/EPE
  • proofd
    • Fix a problem in XrdProofdProofServ::FreeClientID (fix for issue #57061).
  • TTree
    • Disable the read and write cache when merging Trees in the "fastclone" mode.
    • Remove serious slow down in some cases of reading TTrees where some of the data member has been 'removed' form the current class layout.
  • Xrootd
    • Fix a problem with the xrootd build when running make via 'sudo' (issue [Bad link]).
    • Fix a problem with the detection of libreadline and lib(n)curses (fixes issue with CentOS on the forum, affecting probably all the distributions of the Red-Hat family installing readline).
    • Add support for OpenSSL 1.0.0 (required by new linux distributions, e.g. Fedora 12).
  • PyROOT
    • Fix for issue [Bad link] and [Bad link].

Changes in version v5-24-00b (Oct 11, 2009)

  • Hist
    • Fix a problem in default constructor of TH2 and TH3, issue #56712

Changes in version v5-24-00a (Oct 8, 2009)

  • MacOS X Snow Leopard
    • Support for 32-bit build on 64-bit Snow Leopard.
  • gcc 4.4.1
    • Add support for gcc 4.4.1 (gcc guys did not fix issue reported in 4.4.0 for 4.4.1).
  • Threads
    • Add support for native recursive mutexes (pthread and Win32) and remove not satisfactory generic recursive implementation.
    • Remove support for older pthread versions (PthreadDraftVersion < 10), all modern systems support version 10 now.
    • Fix a couple of memory leaks showing up when running repeated queries in PROOF-Lite
    • Fix several issues in TProofOutputFile showing up in particular in PROOF-Lite
    • Import workaround r29504. This allows to setup xproofd to serve in optimized way multiple ROOT version independently of the fix in the TTreeCache initialization (patch 29126).
    • Fix a problem with TProofServ::CopyFromCache potentially slowing down session start-up in PROOF-Lite with compiled selectors.
    • In TDataSetManager::ScanDataSet in browse mode, show by default only users' datasets instead of all
    • In TDataSetManagerFile, import fixes 29171:
      • Correctly classify as TTree all TTree derived classes (e.g. TNtuple's)
      • Fix a problem in saving the end-point URL for local files
      • Fix realtime notification during 'verify'
    • In TFileMerger, fix file descriptor leak (bug #54591)
    • In TPacketizerAdaptive and TPacketizer, import change 30574 removing, as default,  the limit on the number of workers accessing a given file server
    • In XrdProofdManager, import fix 30573 to fix the behaviour of the xpd.allowedusers directive
  • Krb5Auth
    • Fix to detect the correct version of (krb5_c_)valid_cksumtype
  • GlobusAuth
    • fix due to TString(int) ctor now being explicit.
  • 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].
    • In TUnixSystem::GetLinuxProcInfo(), make sure that the file is valid before using it. Fixes occasional segv observed in PROOF.
    • 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.
    • Change TExMap hash, key and values from (U)Long_t to (U)Long64_t. This makes TExMap streamable in a portable way. On 64-bit platforms there is no difference, but on 32-bit platforms all values will now be 64-bit. This fixes a big portability issue with THnSparse which uses TExMap internally where the versions created on a 32-bit platform could not be read on a 64-bit platform and vice versa.
  • CINT
    • Speed up the dictionary initialization: nlogn instead of n^2 (r29296, 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.
    • genreflex: generate the correct ClassDef function implementations for templated classes in namespaces (r29489).
  • 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 .
    • Repair nesting of 'named' TTreeFormula (issue #53994).
  • I/O
    • Fix the initialization of the checksum information for a TSchemaRule (hence fixing the lookup based on checksum)
    • In TFile, import fix 30170 to retrieve the correct local file name (inclusive of prefix) in TFile::Open()
  • Windows
    • Increase the stack size to 4Mb (default is 1Mb) on Windows.
    • ix a problem when generating ROOT resource version from ROOT_RELEASE when it contains 00 (e.g. 5.24.00).
  • Hist
  • Minuit2
    • Fix the building when using OpenMP (issue
    • Add a protection against very small step sizes which can cause nan values in InitialGradientCalculator
    • Fix a compilation error when compiling with -DDEBUG
    • Fix a bug when exiting from MnFunctionCross when the minimum was invalid
    • Fix a problem in Minuit2Minimizer restoring ROOT error level after fitting
  • Minuit
    • Fixes in TMinuitMinimizer: issue #54279 and forcing the use of gradient functions when requested
  • PyROOT
    • Fix for issue [Bad link].
  • RooFit
    • Fix for persistence of RooDataHist
    • Fix in RooProfileLL: save and restore values of profiled parameters when finding global minimum
    • Fix in RooDataHist in handling of weights in set()
    • Fix in RooRealIntegral in forwarding of normaliztion set in createIntegral()
    • Fix in import of multiple weighted datasets in RooDataSet
    • Fix for correct handling of nevt=0 cases in RooMCStudy of a p.d.f in extended mode
    • Fix in constructor of RooSimultaneous
    • Fix in product generator context - Generate uniform distribution of non-dependent observables
    • Fix in copy constructor of RooDataHist
  • RooStats
    • Fix a bug in the constructor of FeldmanCousins.cxx
    • Improve the LikelihoodInterval::LowerLimit() and UpperLimit()
    • Fix RooStatUtils::SetParameters (see )
    • Fix a problem in ProfileLikelihoodCalculator::GetHypoTest() when there are no nuisance parameters 
  • Net
    • In TFileStager, import fix 30170 introducing a check on the locality of the path when initializing a TFileStager implementation; this allows to avoid blocking when testing a local path with "root://" protocol
  • Xrootd
    • Fix a problem in XrdClientAdmin::Prepare preventing bulk prepare requests to work correctly
    • In XrdClient, import fixes in XrdClientVector, bulk prepare, cache handling.
  • SMatrix
    • Use static look-up tables for the indices of symmetric matrices
    • Remove a warning observed on some platform in the Cholesky decomposition
  • GenVector
    • Fix for issue #56057
    • Add dictionary for functions in VectorUtil.h