You are here

Changing the default ROOT version

The version of the ROOT distribution installed on the PROOF cluster is the ROOT version run by PROOF by default. It is possible to choose a different version for the 'proofserv' applications run on the master and worker machines. The only requirement is that the versions are compatible with the version run by the xrootd/xproofd daemon applications, which is typically the case for ROOT later than 5.22/00. This functionality also provides a convenient way to easy have debug and optimized version available to users.

The versions available on the cluster are defined by the PROOF administrator in the configuration file using the 'xpd.rootsys' directive, e.g.

# Default version optimized
xpd.rootsys /opt/root/v5-27-06/root v5-27-06
# Debug version
xpd.rootsys /opt/root/v5-27-06_dbg/root v5-27-06_dbg

The first 'xpd.rootsys' defines the default version. The user can browse the available versions using the ShowROOTVersions method of the PROOF manager:

root [1] TProof::Mgr("cernvm24.cern.ch")->ShowROOTVersions()
----------------------------------------------------------

Available versions (tag ROOT-vers remote-path PROOF-version):

* v5-27-06 5.27/06 /opt/root/v5-27-06/root 29
v5-27-06_dbg 5.27/06 /opt/root/v5-27-06_dbg/root 29

----------------------------------------------------------

The current version if the one marked by an asterisk (v5-27-06 in the example above); here 'tag' is the unique tag identifying the version which is used as argument to SetROOTVersion to change version. Example:

root [2] TProof::Mgr("cernvm24.cern.ch")->SetROOTVersion("v5-27-06_dbg")
root [3] TProof::Mgr("cernvm24.cern.ch")->ShowROOTVersions()
----------------------------------------------------------

Available versions (tag ROOT-vers remote-path PROOF-version):

v5-27-06 5.27/06 /opt/root/v5-27-06/root 29
* v5-27-06_dbg 5.27/06 /opt/root/v5-27-06_dbg/root 29

----------------------------------------------------------
The change must be done before opening a new PROOF session. If the change is active the user is notified at startup that the ROOT version in use is not the default one:
root [0] p = TProof::Open("cernvm24.cern.ch")
Starting master: opening connection ...                                                                                                       
                                                                                                                                              
| Message from server:                                                                                                                        
| ++++ Using NON-default ROOT version: v5-27-06_dbg 5.27/06 /pool/sw/root/v5-27-06_dbg/root 29 ++++                                                         
                                                                                                                                              
Starting master: OK                                                                                                                           
Opening connections to workers: OK (50 workers)                                                                                               
Setting up worker servers: OK (50 workers)                                                                                                    
PROOF set to parallel mode (50 workers)                                                                                                       
(class TProof*)0x17c2330                                                                                                                      
root [1]