ROOT Version v5-14-00 Patch Release Notes

A new production version ROOT v5.14-00i has been released October 24, 2007.

Binaries are currently not available for patch releases.

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

   ftp://root.cern.ch/root/root_v5.14.00i.source.tar.gz

Alternatively get the source from Subversion using:

   svn co http://root.cern.ch/svn/root/tags/v5-14-00i root

After obtaining the source read the file README/INSTALL.

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

  • configure:
    • fix location of SQL tutorial; fixes a problem for Windows build only.
  • Reflex:
    • Add explicit dependency of genreflex.(bat|sh) on genreflex python files or they won't be copied on windows (due to BUILDPYTHON=no).

Changes in version v5-14-00i (October 23, 2007)

  • RooFit:
    • Roofit tar did not have binary flag and hence did not work on Windows.
  • Cintex:
    • Remove limitation on length of type names.
    • Register unknown scopes as 'a', not 'n'. Fixes 24227.
  • TreePlayer:
    • in MakeSelector() remove limit on file name length and extend branch names from 128 to 1024 (will be completely dynamic too in the future).
  • MathCore:
    • Add dictionary for all the coordinates classes based on Double32_t and for LorentzVector <PtEtaPhiM4D<Double32_t> >.
  • TUnixSystem:
    • Don't return after handling kSigChild in DispatchSignals().

Changes in version v5-14-00h (September 8, 2007)

  • Meta
    • Increase caching of typedef information in TCint and TClass, improving the efficiency of library loading by up to a factor 5.
  • TDCacheFile
    • ReadBuffers() with vector read is implemented. Dcache version 1.7.0-39 with this functionality has just been released. We've tried with ROOT version 5.14 and 5.16. It's amazing! On some applications we got up to 12 times performance increase!
  • TTreeCache
    • Reject request from TTree object other than the one that created the TTreeCache object (Hence preventing a crash is 2 trees are read from the same TFile object and one of them is being cached).
  • TTree
    • Set gBranch properly before cloning a TBasket, the TBasket streamer needs it on read.
    • In Fast Merging, allow the input and output trees to have a different number of branches. This allow for dropping branches when doing a fast cloning.
  • CINT/Reflex/Cintex
    • Fix for enums used in functions not having any constants once passed through Cintex.
  • TXMLSetup.h
    • Fix compiler warning when compiling with gcc in strict mode.
  • RooFit
    • fix memory leak in RooProdPdf.cxx.

Changes in version v5-14-00g (July 9, 2007)

  • CINT/Reflex/Cintex
    • Allow interpreter access to variables in namespaces with Reflex dictionary.
  • TTree MakeProxy
    • Improve memory usage (Fixes issue 25697)
    • Enable support for array with 3 dimensions and more (Fixes issue 26727)
  • TGFALFile, TRFIOFile
    • Since the GFAL and RFIO URLs can have the form: rfio:///castor?path=FILEPATH we need to use TUrl::GetFileAndOptions() to get the file name to be passed to the GFAL and RFIO API's.
    • Add support for older libshift that do not support the :/// and ?filetype=raw syntax.
  • rpm and debian build systems:
    • Remove reference to deprecated package pythia.
  • TDCacheFile:
    • Add support for gsidcap protocol.
    • Work around the missing 'vector read' in the DCache protocol by requesting all the needed data in a single sequential read request (aka reading too much data but reducing the number of messages). This improves performances by a factor 20 to 50 depending on network topology.
  • mathcore
    • fix a bug in the calculation of eta for the LorentzVector classes
    • add some optimization in the vector classes

Changes in version v5-14-00f (May 29, 2007)

  • Pyroot
    • Add a protection in the case of where a base class is Emulated (fixes issue 25369).
  • Hist, IO
  • IO
    • Fix problem with CollectionProxy for non stl container (fixes issue 25397).
  • CINT/Reflex
    • Fix handling of constness for genreflex generated function call wrappers.
  • CINT
    • Work around a compiler bug in gcc 3.2.3 (which lead to crash in rootcint).
    • Improve re-entranceness of G__process_cmd().
  • Base
    • Add protection in error handlers against TROOT not yet being initialized (fixes issue 26200).
  • Tree
    • In the TBrowser, when drilling through a TTree and clicking on a member function that returns an object, we now also list the data members.
    • Properly handle the case where the return value of a member function is an STL collection.
  • GFAL
    • In TGFALFile ctor fStatCached was not initialized causing random SysStat() behaviour (fixes issue 26628).
  • libGlobusAuth
    • The Globus authentication plugin now links statically all Globus libs to prevent Globus libs (libssl and libcrypto) to be used by other ROOT plugins.
  • ACliC
    • Ensure that when a 32-bit binary is run on a 64-bit platform ACliC compiles with the -m32 flag.
  • Unuran
    • Add missing dependency that broke parallel make.

Changes in version v5-14-00e (March 29, 2007)

  • Intel icc v10 support
    • Add support for the soon to be released Intel icc v10 compiler.
  • make:
    • Fix broken parallel build in case configured with option --enable-explicitlink.
  • Cintex:
    • Fix return by reference of integers (fixes issue 24549).
    • Fix a bad declaration of the scope of vector<LinkManager::Link*>::iterator as a namespace when declaring a typedef of LinkManager class (fixes issue 25077).
  • CINT:
    • Increase G__MAXSTRUCT and G__MAXTYPEDEF to 24000. This has no visible effect on the memory used by CINT.
    • A one-dimensional array of length one was being treated as if it were a scalar. This results in ROOT seeing an incorrect data member name, which makes tree I/O offset calculations fail.
  • TTree:
    • Fix memory leak which happens when the content of the basket does not compress well (aka it should be rare).
  • TObjArray:
    • Make the TObjArray::operator[] methods out-of-line.
  • hadd
    • Dynamically load libTreePlayer to allow support for TTrees build with an index.

Changes in version v5-14-00d (March 9, 2007)

  • SMatrix
    • Fix a bug found by LHCb (W. Hulsbergen) in the += and -= operators for symmetric matrices when using expressions like A += B + C
  • Cintex:
    • Fix memory leak when calculating class offsets with instance (from S. Snyder).
    • Making Cintex more robust on dictionary autoload order (fixes issue 24450).
  • TStreamerInfo:
    • Add code to allow the schema evolution from a container of doubles to the same container of Double32_t and vice et versa.
  • TEnv:
    • don't issue a warning in case of duplicate resources where the resource and value are exactly the same. Fixes issue 24157.
  • TCint:
    • In LoadLibraryMap() maintain directory order as specified in the LD_LIBRARY_PATH.
  • Mac OS X:
    • Fix options for gfortran.
  • FitPanel:
    • Fix segv when closing panel.
  • rootcint:
    • In ShowMember(), std::string no longer need a special case. This fix enables I/O for C-style array of strings (issue 23724).
  • PyRoot:
    • Only strip namespaces in current class, not in template parameters (issue 23724).
    • Fix for handling temporaries by PyROOT/CINT of classes with new/delete operators (issue 23388).
    • Fix 32 bit cutoff (Int_t used where Long_t needed) when converting unsigned long (long)s (issue 24100).
    • Restore void*& function argument converter.
  • TCastorFile, TRFIOFile, rootd and Globus authentication:
    • Disabling of 'chdir($HOME)' in 'rootd' when running in Castor mode. This is because $HOME may point to a directory not available on the servers.
    • A few optimizations in the Globus authentication.
    • Fixes in TCastorFile, TRFIOFile, TAuthenticate already in the head. The possibility to change the authentication mode on the fly is relevant here.
    • A couple of bug fixes in rpdutils.cxx found by testing these changes.

Changes in version v5-14-00c (February 12, 2007)

  • Makefile:
    • The gif icons were not copied to the icons directory when doing "make install".
  • makestatic.sh:
    • Exclude unuran and gdml modules.

Changes in version v5-14-00b (January 17, 2007)

  • Fix problem with MacroPath and DynamicPath expansion in case the paths are extended via ~/.rootrc and/or ./.rootrc files. Fixes issue 22954.
  • TEnv:
    • avoid reading ./.rootrc twice in case the workingdirectory is ~.
  • TFile::Open to xrootd on Mac OS X Intel:

Changes in version v5-14-00a (January 10, 2007)

  • genreflex:
    • Ordering of dictionary classes needed for a proper conversion to CINT
    • Remove warning on windows
    • For the ordering patch, remove dependency on python 2.4
  • Reflex:
    • Fix bug 22339, genmap not finding input file going back to a simpler implementation of error reporting. Only dl* function errors need to reported for this class.
  • ROOTClassEnhancer.cxx:
    • A problem has been detected by Ioannis running the POOL regression tests with the latest ROOT production release. The problem shows up in a rather complex model (CMS inspired I think) involving a vector of pairs containing objects embedding pool::Refs in split mode. The wrong offset is calculated for the pool::Ref producing a core dump when doing a dynamic_cast.
  • THistPainter.cxx:
    • This bug is connected with fixing bug 22317 which I submitted previously. Unfortunately, I got it only after release 5.14 was published. Due to the fix in THistPainter::PaintBarH the PaintAxis call was moved to the very end of the routine. But, actually, it should come before the X and Y axis pointers being permuted back. As I checked, now it looks like X axis attributes have effect on the Y axis and vice versa.
  • v6_opr.cxx:
    • Move in opr.c G__bstore() function, test to long double before that of double.
  • TTreeCache.cxx:
    • Avoid division by zero in entry number estimation.
  • TChainIndex.cxx:
    • In TChainIndex::DeleteIndices prevent a double delete. This fixes issue 22722.
  • Pythonize.cxx:
    • Backport of fix for 22599.
  • TGFSContainer.cxx:
    • Month was off by one.