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 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 : Counter fNClusterRange should not be skipped from class TTree
  • 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 Plugin <em></em> Not Found).
    • 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

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 Plugin <em></em> Not Found.
    • 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
  • 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