ROOT Version v5-26-00 Patch Release Notes

A new production version ROOT v5-26-00g has been released September 29, 2011.

Binary tar balls are not available for patch releases.

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

/afs/cern.ch/sw/lcg/app/releases/ROOT/5.26.00g/

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

   ftp://root.cern.ch/root/root_v5.26.00g.source.tar.gz

Alternatively get the source from Subversion using:

   svn co http://root.cern.ch/svn/root/tags/v5-26-00g 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-26-00-patches branch do:

   svn co http://root.cern.ch/svn/root/branches/v5-26-00-patches root

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

  • configure
    • Import patches to support smooth configuration on Ubuntu 11.04 or newer (automatic detection of the new location of the system libraries)
  • Proof
    • Import patches #41393 and #41399 fixing possible issues with PATH and LD_LIBRARY_PATH settings for proofserv.
    • Adapt patch #39078 to bypass a compilation problem with gcc 4.5.2 on linux.

Changes in version v5-26-00g (September 29, 2011)

  • Core
    • Allow home directory to be specified via HOME shell var in case there is no correct passwd file entry, fixes issue 83268
  • xrootd
    • Backport in xrootd of this fix for ATLAS.

Changes in version v5-26-00f (June 21, 2011)

  • IO
    • 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
  • Proof
    • In TProofPlayerRemote::IsClient, import fix #36440 adding a missing protection to fix a crash in submerger mode when the output list contained TProofOutputFile objects.
    • In TProof, import fix #35965 to correctly update the number of submergers when workers die (it should fix an issue experienced by ALICE).
  • Hist
    • Import fix #36552 fixing TH1::IntegralAndError()
    • Import fix #39628 in TH1::LabelsInflate or Deflate (bug #83066).
  • Xrootd
    • In XrdSecProtocolkrb5, fix possible source of infinite loop during token init (backport from the Xroot head).
    • In XrdClientConn, fix possible source of infinite loop during the authentication phase (includes check on the tty; backport from the Xroot head)

Changes in version v5-26-00e (Oct 13, 2010)

  • Cint
    • When generating code for the typedef within a class, make sure to treat bool as a built-in.
    • Avoid a segmentation fault when parsing a class with virtual inheratance and a using declaration.
    • genreflex: fix for functions taking a template with an array template parameter (r35203, bug #71800).
    • Properly set the class version for ClassDef()'ed classes with a Reflex dictionary (r35514, r35515; bug #72749).
  • Tree
  • Net
    • In TFileStager::IsStaged, Import fix #32312: always close files after testing.
  • Proof
    • Fix out-of-bounds buffer access in RecvLogFile().
  • Math
    • Fix a problem in both Minuit2Minimizer and TMInuitMinimizer when re-defining a parameter (see ROOT Forum post 9947).

Changes in version v5-26-00d (Aug 24, 2010)

Changes in version v5-26-00c (Jul 6, 2010)

  • Core
    • Restore and improve time required to startup root.exe and load shared libraries.
    • Improve configure's -fPIC detection for static libraries (r32354).
    • Support of version detection for non-English Microsoft Compilers (r32434, bug #63411).
    • TString::operator+=(double) had an insufficient precision (r32435, bug #62965).
    • Fix terminal interaction of ROOT started in the background (r32638).
    • Fixes in TRefArray for issues: Plugin <em></em> Not Found, Plugin <em></em> Not Found, Plugin <em></em> Not Found.
    • Fix warning issued by VC9 in TTimeStamp.h, fixes issue: Plugin <em></em> Not Found.
    • Do not skip the first line when reading a root history file (Plugin <em></em> Not Found).
    • If the process is not attached to a tty or if it is in the background, do not ask the (absent) user if the process should be prevented from exiting in case of error (Plugin <em></em> Not Found)
    • Improve's ACLiC handling of include directive (in particular add support for directory named "something-ICC" (r32784 r32873)
    • Fix the ACLiC .d file by using the build directory in the target part (rather than the source directory) (Plugin <em></em> Not Found)
    • In ACLiC's dependency files (.d) make sure to only use the unix notation (on windows) (Plugin <em></em> Not Found)
    • Fix ACLiC's .d file dictionary version part (Plugin <em></em> Not Found)
    • Make the error message of TClonesArray::SetClass(const char*) more specific. (Plugin <em></em> Not Found)
    • Editline now allows FILE* based I/O on stdin if it's not a tty (Savannah #67484, r33561).
    • In TClassTable, normalize 'long long' to 'Long64_t' in lookups as we are already doing on input (Savannah #66312, r34038).
    • Add protection in TUnixSystem::StackTrace() in case gApplication is 0 (Plugin <em></em> Not Found).
    • Add missing entry for gsidcap protocol in P020_TDCacheSystem.C plugin macro (Plugin <em></em> Not Found).
  • I/O
    • 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).
    • Avoid spurious warning message when reading file produced by ROOT v5.27 and above.
    • Properly handle the case where a read rule is associate with the 'current' TStreamerInfo when this TStreamerInfo is used for writing.
    • If the process is not attached to a tty or if it is in the background, do not ask the (absent) user if the process should be prevented from exiting in case of error (Plugin <em></em> Not Found)
    • Improve's ACLiC handling of include directive (in particular add support for directory named "something-ICC" (r32784 r32873)
    • Fix the ACLiC .d file by using the build directory in the target part (rather than the source directory) (Plugin <em></em> Not Found)
    • In ACLiC's dependency files (.d) make sure to only use the unix notation (on windows) (Plugin <em></em> Not Found)
    • Fix ACLiC's .d file dictionary version part (Plugin <em></em> Not Found)
    • Make the error message of TClonesArray::SetClass(const char*) more specific. (Plugin <em></em> Not Found)
  • Meta/Cint
    • Prevent the automatic dictionary's name from containing colon characters (r32383).
    • Add dictionary for vector<pair<int, int> > used in TSchemaRule (r32476, bug #53130).
    • Prevent object related to TClass and CINT from being allocated inside a TMapFile.
    • Fix the handling of function pointer types in TCint (r33121).
    • Fix out of string range access error in TClassEdit (Plugin <em></em> Not Found).
    • Avoid reading before the start of an empty string in TClassEdit.cxx (Plugin <em></em> Not Found)
    • Add one more valgrind suppression about TClassRef (Plugin <em></em> Not Found).
    • Add missing protection against creation of CINT and Meta objects during a TMapFile streaming (Plugin <em></em> Not Found)
    • Remove fixed length array in TCint.cxx (Plugin <em></em> Not Found)
    • Avoid problem case where TROOT::LoadClass is being called with a string that is changed/deleted during its execution (by an autoload for example). This fixes the problem seen in the forum topic Plugin <em></em> Not Found (Plugin <em></em> Not Found)
  • Cint
    • PyCintex now uses RuntimeError instead of string exception (r32422, bug #63328)
    • In genreflex, fix suppression of array-bounds warning with GCC (r32433, bug #63267).
    • Improve detection of character set to not swallow some non-ASCII7 characters (r32445).
    • Fix crashes in function invocations through Cintex on Windows with debug runtime (r32634).
    • Work around an issue with calling virtual destructors in bases on Windows (r32635).
    • Don't generate collection proxy for Windows iterators (r32637).
    • Fix uninitialized members reported by Coverity (r32639, r32640, r32641).
    • Avoid using colons in the AutoDict file names (Plugin <em></em> Not Found).
    • Replace a crash by an error message in the case where stdout or stderr is already redirect when a redirection is aksed for ( r32416).
    • properly reset G__value::reftype.reftype when needed in the bytecode engine (Plugin <em></em> Not Found)
    • Do not cause an overflow signal just because we cast the result of line processing to a long. Set it to LONG_MAX/MIN instead. (Plugin <em></em> Not Found).
    • In shift operators, do not always promote to long, stop at int first. (Plugin <em></em> Not Found)
    • Fix the cases where the wrong function's parameter was being reset (Plugin <em></em> Not Found)
    • Fix random memory read in G__cattemplatearg by avoid to use a pointer into memory thay might be move (Plugin <em></em> Not Found)
    • Try to load explicitly ./filename but filename as the earlier is more friendly to dlopen (Plugin <em></em> Not Found)
    • make sure we are loading the dictionary information about member function before looking for a template member function instance. This fixes the report Plugin <em></em> Not Found in Savannah.(Plugin <em></em> Not Found)
    • Make sure to autoload a class before allocating any object of that type (Plugin <em></em> Not Found)
    • Properly parse typedef long long* pointer when there is more than one space betweent the star and the typedef name. Generate the dictionary for vector < long long > and vector < unsigned long long > (Plugin <em></em> Not Found)
    • Make sure the list of library is recalculated whenever G__smart_unload is used; This fixes Savannah Plugin <em></em> Not Found (Plugin <em></em> Not Found)
    • Avoid premature deletion of objects used as the default parameter of an interpreted function.
    • Fix a crash caused by a misplaced semicolon (issue #68454, r33860)
    • Avoid a crash when interpreting an (illegal) call to a non-static member function without an object
  • TTree
    • Prevent DropBaskets from dropping baskets that are not stored individually (and hence potentially not recoverable).
    • Fix a lookup problem resulting a TTree::Draw not finding the data in some (complex) case of object nesting.
    • Do not core dump when called with an emtpy chain. Show the branches of a chain's underlying's tree's friend in addition to the branches of the chain and of the chain's friends (Plugin <em></em> Not Found).
    • Add missing re-initialization in TBranchProxy (part of TTree::MakeProxy) (Plugin <em></em> Not Found).
    • When drawing a polymarker make Same is the same as same (Plugin <em></em> Not Found)
    • Fix a couple of internal memory leaks (Plugin <em></em> Not Found)
    • Properly re-update the friend branch address when the friend is a chain composed of 'smaller' trees than the main chain is. This fixes savannah Plugin <em></em> Not Found (Plugin <em></em> Not Found)
    • Improve the error message(s) issued by TTree::Show in case of failure to load the data (Plugin <em></em> Not Found)
    • Add missing protection in the case we have an embedded object in a split branch which has been 'removed' from the current schema (Plugin <em></em> Not Found)
    • Do no use any array dimension in the branchnames created by TTree::ReadFile (Plugin <em></em> Not Found)
    • In TTree::Draw: Avoid confusing '2000 < var' with in a file name '2000' (due to IsFileInIncludePath stripping what it thinks to be an I/O indirection) (Plugin <em></em> Not Found)
    • In TChain::SetEntryList use only the treename to lookup the (sub)entryList (instead subdir/treename) (Plugin <em></em> Not Found)
    • Do no over-write the default value for TTree::fgMaxTreeSize as it is the one we want (and the setting smaller than expected by a factor 10) (Plugin <em></em> Not Found)
    • Add missing protection in the case we have an embedded object in a split branch which has been 'removed' from the current schema (Plugin <em></em> Not Found)
    • Make sure that gPerfStats is properly updated if the TTreePerfStats is deleted (Plugin <em></em> Not Found)
    • Properly detect all ACLiC modes in TSelector::GetSelector (Plugin <em></em> Not Found)
    • Update TTree::SetDirectory to allow update the BranchRef when needed. This fixes the forum topic Plugin <em></em> Not Found (Plugin <em></em> Not Found)
    • Avoid attempting to print the content of empty TClonesArray even if this 'content' are strings (see roottest/root/treeformula/scan/execmissingString.C) (Plugin <em></em> Not Found)
  • Hist
    • Fix the problem with ternary operator: #67398
    • TForumla: unary minus could cause a wrong GetExpFormula() (#68905, r34001).
  • Proof
    • In XrdProofdAdmin, import fix #32808: fix bug preventing a correct check of the exported paths
    • In TProofServ, import fix #32812 and #32814: fix bug affecting the behaviour of kBuildPackage for packages in the global directories
    • In TXProofMgr, import fix #32815: disable TXSocket handling while sending / receiving files; this fixes occasional freeze in TXProofMgr::GetFile / TXProofMgr::PutFile due to a screw up of the synchronization in the TXSocket pipe
    • In TProofMgr, import fix #32874: avoid contacting the DNS when initializing TProofMgr as base class of TProofMgrLite: it is not needed and it may introduce long startup delays
    • In TProof, import fix #32833: fix a problem counting valid nodes in sequential or 'masteronly' mode, generating the fake error message "GoParallel: attaching to candidate!"
    • In TProofLite, import changes (#32897, #32898 and #32900) to fix a problem with the unix sock path length affecting MacOS X
    • In  XrdProofdManager, XrdProofdProofServMgr import fix  #32953 to fix a problem with the unix sock path length affecting MacOS X
    • In  XrdProofdProofServMgr import fix  #33003 to fix a problem with open file descriptors potentially showing up in the case of very fast daemon restarts (and many users).
    • In TProofServ import fix #33009: in Reset(), check that the directory make sense; fixes an issue with a fake error message in PROOF-Lite when issuing TProof::SetParallel().
    • In TProofPlayerLite import fix #33015: properly initialize the merging progress counter; fixes problem with negative values for 'workers still sending' in PROOF-Lite .
    • In TProofLite import fixes #33027 and #33035: fix possible segvs when processing a dataset where none of the files had been validated and/or when starting a query right after.
    • In TProof import fix #33153: fix an issue with the parsing of the option field when forcing the creation of a new session, e.g. TProof::Open("<master>/?N") .
    • In TProofServ import fix #33418: make sure that information used internally in the option field on the master (about the aclic option) is not sent to workers while issuing the Process message.
    • In TXProofMgr import fix #33639: fix problem affecting TProofMgr::Find.
    • Import fix #33640: fix a few issues affecting the usage of tree friends in PROOF and a bug affecting the locality check for files in TDSet.
    • In TProof::ClearData() import fix #33641: fix problem observed when the dataset repository is empty
    • In TProof import fix #33648: fix an issue with the workers names in TSlaveInfo in PROOF-Lite .
    • In TPacketizerAdaptive and TPacketizer, import part of fix #33781: fix a subtle bug affecting the (possibly rare) case when not all entries are required and # entries does not correspond to an complete subset of files (e.g. # entries = 1001000 with files of 100000 entries each).
  • Xrootd
    • Import fixes to build on MacOS X 10.4 (#32679, #32680, #32683, #32707)
    • Import fixes #32800:
      • Tiny fix in XrdSecProtocolkrb5.cc (remove a redundant unlock)
      • Improvements in 'xrdgsiproxy':
        • Add support for -exists (-e) switch for the 'info' mode (as in 'grid-proxy-info') to test existence and validity of a proxy.
        • Add also support for a clock skew in testing validity (default 30 secs; can be changed with the switch -clockskew).
    • Import fixes #33677 fixing a fake authentication failure with proxies created by voms-proxy-init when the input certificates are PKCS12-formatted
  • GUI
    • Fix double deletion in TGFileBrowser (r32684, bug #64596)
    • Fix crash in TBrowser when looking for an icon associated with a class for which TClass::GetClass(class_name) was returning 0 (r32516, bug #64082)
  • RooStats
    • Fix a minor bug in HybridPlot::Draw (bug #64854)
  • PyROOT

Changes in version v5-26-00b (Feb 9, 2010)

  • Core
    • Editline: allow cooked terminal interaction after creation of TRint (r32170, bug #62119)
  • I/O
    • TDCacheFile: fix regression which caused dcap://host:port/path to fail.
    • Added TXMLEngine::ParseString.
  • Net
    • TGrid::Mkdir() and TAlien::Mkdir() return now an Int_t instead of a Bool_t. Patch is needed for the ALICE ODBC.
  • CINT
    • Improve heap efficiency of function calls through Cintex. (r32081, r32088)
    • Work around warning "cast from pointer-to-function and pointer to object" in some Reflex dictionaries. (r32074 r32085, bug #61758)
  • Proof
    • Import patch #32237 to fix a problem occuring when submergers cannot open the required sockets (output was not always sent ot the master).
  • Xrootd
    • New version (v20100205-0000) containing a crucial fix on the server side required by ALICE. This version also includes the new SSL module for authentication needed by Castor.
    • Import  crucial fix #32322 on for the krb5 security module.
  • TMVA
    • Method ReadStateFromStream() made public again: accommodate reading of weights from 'in memory' text-weightfiles.
    • Method ReadStateFromXMLString() added: accommodate reading of weights from 'in memory' xml-weightfiles.
    • MethodLikelihood: fix bug that prevented saving of method specific histograms.
    • Remove global pointer access from inline functions.
    • Import fix #32302 for the missing external symbol problem for PDF::IGetVal

Changes in version v5-26-00a (Jan 19, 2010)

  • Core
  • CINT
    • Fix function invocations through Cintex in non-optimized builds (r31991).
    • For Cintex wrappers, respect NX bit also on MacOS X (r32009, #61225).
  • Hist
    • Fix a bug in TGraph::Eval when evaluating at the graph point values.
    • Fix a bug in TH3::Project3D when using on 2 3d histograms with same name (fix #61464)
  • Tree
    • Protect TTree::OptimizeBaskets() in case of very high compression factors (> 100). TTree::Fill now calls TTree::OptimizeBaskets() with the fAutoFlush value instead of the total number of bytes written so far.
    • In the TTreeViewer, show the branches of a chain's underlying's tree's freind in addition to the branches of the chain and of the chain's friends.
  • Graf
  • Proof
    • Fix memory leaks in TProofServ::HandleProcess and TEventIterTree (fix #31946)
    • Fix double deletion in TProofServ::HandleSubMerger and memory leak in TEventIterUnit (fix #32003)
    • Fix a problem with real-time notification during dataset verification (fix #32031)
    • XrdProofd plugin (fixes #31934, #31935 and #31937):
      • Fix an issue with return codes of sending methods preventing a proper detection of failures by masters and/or clients
      • Fix an issue with the garbage collection of inter-daemon connections
      • Reduce the locked phase during inter-daemon broadcasting
  • Math
    • Fix a bug in the multinomial random generation ( ROOT::Math::Random::Multinomial ).
  • PyROOT