ROOT: Difference between revisions
Line 22: | Line 22: | ||
git checkout -b v6-04-00 v6-04-00 # <---- use chosen tag | git checkout -b v6-04-00 v6-04-00 # <---- use chosen tag | ||
git status | git status | ||
./configure | |||
make -j6 -k | |||
make | |||
</pre> | </pre> | ||
Revision as of 16:47, 3 July 2015
Links
CERN instructions for building ROOT
- for speed purpose, you can use the TRIUMF mirror of ROOT git repo: git clone http://ladd00.triumf.ca/~daqweb/git/root.git
- follow instructions from https://root.cern.ch/drupal/content/installing-root-source
- follow the "Location independent installation" choice
- run "thisroot"
- check $ROOTSYS
- check root-config is in the PATH
Example session:
cd $HOME/packages git clone http://ladd00.triumf.ca/~daqweb/git/root.git cd root git tag -l # <--- select desired branch. chose latest even tag vN-AA-BB (i.e. v5-34-32 or v6-04-00), N=5 or 6, AA latest even number, BB biggest number git checkout -b v6-04-00 v6-04-00 # <---- use chosen tag git status ./configure make -j6 -k make
Build ROOT from GIT repository
- cd $HOME/packages
- git clone http://root.cern.ch/git/root.git ### will create subdirectory "root"
- cd $HOME/packages/root
- git pull ### update the repository
- git branch -a ### show all available ROOT major release versions
- git tag -l ### show all available point releases
(the rest is untested)
- git checkout master ### switch to the main development tree
- git checkout v5-34-00-patches ### switch to the v5-34-xx release stream
- ./configure
- make -j3 -k
- make
- make install
README
README file for ROOT users at TRIUMF
ROOT is the TRIUMF standard package for data visualization and analysis.
ROOT is an open-source project (LGPL) based at CERN and all ROOT users are encouraged to visit http://root.cern.ch for ROOT documentation, tutorials, examples and support (via ROOT forums and mailing lists).
The TRIUMF Data Acquisition Group provides limited support for ROOT as it is used in conjunction with data acquisition activities, the MIDAS data acquisition system, the ROOTANA package for analysing MIDAS data using ROOT and the ROODY graphical online histogram display tool.
ROOT binary kits used and supported by TRIUMF DAQ are located at /triumfcs/trshare/olchansk/root and all TRIUMF users are welcome to use them. These locally built binary kits have these differences from ROOT binary kits available from CERN:
- compiled with "-O2 -g" to ease debugging of user applications, especially when they crash inside the ROOT libraries. ROOT sources are directly accessible to debugger programs and one can single-step through the ROOT libraries.
- compiled with CERNLIB support
- compiled with DCACHE support
- compiled with XML support
- compiled with ROOFIT support
- build the static library libroot.a
- build the extra libraries to enable use of STL in CINT.
- build ROOT with the "-rpath" option to avoid difficulties with inconsistent user LD_LIBRARY_PATH settings.
To use the locally built ROOT do this:
- run "ls -l /daq/daqshare/olchansk/root" to see the available versions
- set ROOTSYS to /daq/daqshare/olchansk/root/root_VVV_AAA, where VVV is the desired version of ROOT and AAA is the desired computer architecture. For example, do "setenv ROOTSYS /daq/daqshare/olchansk/root/root_v5.12.00_SL40". Add ROOTSYS/bin to your PATH. Changing LD_LIBRARY_PATH is not required thanks to building ROOT with the "-rpath" compiler option.
- if you do not want to use the network copy on trshare, do copy the desired ROOT binary kit to your own disk (use "rsync -av" or "cp -rpv"), set ROOTSYS pointing to the new location, add ROOTSYS/bin to your PATH and ROOTSYS/lib to LD_LIBRARY_PATH.
ROOT on MacOS
- download the 64-bin GCC ROOT binary kit from root.cern.ch
- unpack, rename
- setup ROOTSYS & co
- (required for ROODY) if will use libHbook and minicern, install gfortran runtime libraries:
- download gfortran-lion.tar.gz from http://hpc.sourceforge.net
- unpack
- copy required libraries into /usr/local/lib:
- sudo /bin/cp -pv usr/local/lib/libgfortran.3.dylib /usr/local/lib/
- sudo /bin/cp -pv usr/local/lib/libquadmath.0.dylib /usr/local/lib/