Computer/linux

ROOT system installation and update

citadel 2008. 12. 20. 07:12
The ROOT system is an object-oriented Data Analysis Framework.

http://root.cern.ch

OS: Ubuntu 8.04 / RHEL 5.3
GCC : gcc version 4.2.4 (Ubuntu 4.2.4-1ubuntu3) / gcc version 4.1.2 20080704 (Red Hat 4.1.2-44)

Some useful reference  is http://root.cern.ch/twiki/bin/view/ROOT/SubversionHowto

1. Check the web site of ROOT system http://root.cern.ch/svn/root/tags/
http://root.cern.ch/viewcvs/tags/
  and decide one version that I want to install.

2. For example, v5-22-00.

  cd $HOME/programs/
  svn co http://root.cern.ch/svn/root/tags/v5-22-00 root.5.22

  root.5.22 is a local directory name and will be created by svn.


3.
cd $HOME/programs

Since I want to use a general directory name for ROOT system, thus
I create a symbolic link. Thus, my ROOT directory is
$HOME/programs/root/. N.B. if the file system is a fat32, symbolic links
cannot be created.

ln -s root.5.22 root

ln -s root.5.26a root


4. When I install a fresh ROOT system on my Linux, make sure to install proper packages by using.. 

ubuntu 8.04

apt-get install libjpeg62-dev libtiff4-dev  libxml2-dev libssl-dev libgnutls-dev libgmp3-dev libxmu-dev libpng12-dev libldap2-dev libkrb5-dev freeglut3-dev libxmu-dev fftw3 fftw3-dev  python-dev   libmysqlclient15-dev libgif-dev libungif4-dev libiodbc2 libiodbc2-dev

Debian 6 squeeze
apt-get install  comerr-dev freeglut3-dev krb5-multidev libfftw3-dev libgif-dev \
  libgl1-mesa-dev libglu1-mesa-dev libgmp3-dev libgmpxx4ldbl libiodbc2\
  libiodbc2-dev libkrb5-dev libldap2-dev libmysqlclient-dev libssl-dev\
  libtiff4-dev libtiffxx0c2 libxmu-dev libxmu-headers libxt-dev\
  mesa-common-dev libxpm-dev libpq-dev  libxft2 libxft-dev libgsl0-dev


5. set or change ROOTSYS to the your `root' directory:
5.1 First installation,

 export ROOTSYS=$HOME/softwares/root

 setenv ROOTSYS $HOME/softwares/root


   GOTO 6.

5.2 Update or new version
 
    5.2.1 Deactivate other export lines of ROOT system in ".bash_export" or ".bashrc" file
    #
    # ROOT path configuration
    #
    #    export ROOTSYS=$HOME/programs/root
    #    export PATH=$ROOTSYS/bin:$PATH
    #    export LD_LIBRARY_PATH=$ROOTSYS/lib:$LD_LIBRARY_PATH

    5.2.2 Restart a xterm, and go to $HOME/programs/root
    5.2.3 Check the the ROOT path is empty by echo $ROOTSYS

    GOTO 6.

6.
./configure linux --enable-minuit2 --enable-roofit --enable-table --enable-gdml

./configure linux --enable-minuit2 --enable-roofit --enable-table --enable-gdml --enable-pgsql --enable-mysql

 or

./configure linuxx8664gcc  --enable-mysql --enable-roofit --enable-table --enable-gdml --enable-minuit2


make


7.
7.1 First installation,
   Add the following paths in ".bash_export" or ".bashrc" file
     export ROOTSYS=$HOME/programs/root/
     export PATH=$ROOTSYS/bin:$PATH
     export LD_LIBRARY_PATH=$ROOTSYS/lib:$LD_LIBRARY_PATH

Add the following paths in ".tcshrc" file
setenv HOME_PROGRAMS ${HOME}/programs
setenv ROOTSYS /opt/root
setenv PATH ${ROOTSYS}/bin:${PATH}
setenv LD_LIBRARY_PATH ${ROOTSYS}/lib:${LD_LIBRARY_PATH}



7.2 Update or new version
 
    7.2.1 Set ROOTSYS in current xterm
export ROOTSYS=$PWD
setenv ROOTSYS $PWD
    7.2.2 Configure and make
    7.2.3 add the new ROOTSYS in bashrc or tcshrc

8.
    Open a new xterm, type root
  

update revision
  • cd $HOME/programs/root.5.22
  • svn up
  • cd $HOME/programs/root
  • ./configure linux --enable-minuit2 --enable-roofit --enable-table --enable-gdml
  • make



svn info




On 64 bit machine, I failed to compile with the following message :

/usr/lib64/libgslcblas.a: could not read symbols: Bad value

Then rerun the following command

./configure linuxx8664gcc  --enable-roofit --enable-table --enable-gdml --enable-minuit2 --enable-gsl-shared

make