Home

ALICE

Presentations

CV

Teaching

Projects

Installation of AliRoot on SUSE 11.X

A short guide on how to install AliRoot on a SUSE 11.X Linux system:

Prerequisites

Packages

AliEn

Environment variables

ROOT

GEANT

AliRoot

Links to the ROOT and AliRoot installation web sites.

A short introduction to high energy physics software: link


Prerequisites - Updated April 12, 2010

The first thing you need to do is apply for a NorduGrid certificate (ask Philippe Gros for help). Please cc me with the certificate request so I can verify you.

Then you need to register yourself with ALICE and get a computer account at CERN. See here.

Once you have got both the above you need to register your certificate with the ALICE VO by following step 3 and 4 here.

The software can be installed before you get the grid certificate but for any data analysis you need a valid grid certificate.


Packages - Updated April 12, 2010

You need to install the packages:
svn (subversion)
xorg11dev
automake (for recompiling the alien packages)
autoconf (for recompiling the alien packages)
libxml2-devel (for xml support in ROOT)


AliEn - Updated April 12, 2010

Before you set up any environment variables install alien. This can also be done before you obtain a grid certificate!

Execute the following commands in a terminal:

cd
mkdir software
cd software
wget http://alien.cern.ch/alien-installer
chmod a+x alien-installer
./alien-installer -install-dir $HOME/software/alien
After you have installed alien go to the home dir and execute alien-token-init. Answer yes to recompile and make sure it finishes recompiling. Look in the error log if it fails and install the missing software packages if it fails. When alien have properly compiled you are ready for the next steps.

Environment variables - Updated February 1, 2011

The following environment variables are assuming that you use bash shell.

I installed everything in the $HOME/software directory.
Example of environment variables defined in my .cshrc file on musse:

export ROOTSYS=$HOME/software/root

if [ -z "$PATH" ]
then             
    export PATH=${ROOTSYS}/bin
else                          
    # clean up path           
    export PATH=`echo $PATH | sed -r 's/(:|^)([^:]+)\/root([^:]+)(:|$)/:/g'`
    export PATH=`echo $PATH | sed -r 's/(:|^)([^:]+)\/root([^:]+)(:|$)/:/g'`
    export PATH=`echo $PATH | sed -r 's/(:|^)([^:]+)\/AliRoot([^:]+)(:|$)/:/g'`
    export PATH=`echo $PATH | sed -r 's/(:|^)([^:]+)\/AliRoot([^:]+)(:|$)/:/g'`
    export PATH=`echo $PATH | sed -r 's/(:|^)([^:]+)\/alien([^:]+)(:|$)/:/g'`  
    export PATH=`echo $PATH | sed -r 's/(:|^)([^:]+)\/alien([^:]+)(:|$)/:/g'`  

    export PATH=${ROOTSYS}/bin:$PATH
fi                                  

if [ -z "$LD_LIBRARY_PATH" ]
then                        
    export LD_LIBRARY_PATH=${ROOTSYS}/lib
else                                     
    # clean up path                      
    export LD_LIBRARY_PATH=`echo $LD_LIBRARY_PATH | sed -r 's/(:|^)([^:]+)\/root([^:]+)(:|$)/:/g'`
    export LD_LIBRARY_PATH=`echo $LD_LIBRARY_PATH | sed -r 's/(:|^)([^:]+)\/root([^:]+)(:|$)/:/g'`
    export LD_LIBRARY_PATH=`echo $LD_LIBRARY_PATH | sed -r 's/(:|^)([^:]+)\/AliRoot([^:]+)(:|$)/:/g'`
    export LD_LIBRARY_PATH=`echo $LD_LIBRARY_PATH | sed -r 's/(:|^)([^:]+)\/AliRoot([^:]+)(:|$)/:/g'`
    export LD_LIBRARY_PATH=`echo $LD_LIBRARY_PATH | sed -r 's/(:|^)([^:]+)\/geant3([^:]+)(:|$)/:/g'` 
    export LD_LIBRARY_PATH=`echo $LD_LIBRARY_PATH | sed -r 's/(:|^)([^:]+)\/geant3([^:]+)(:|$)/:/g'` 
    export LD_LIBRARY_PATH=`echo $LD_LIBRARY_PATH | sed -r 's/(:|^)([^:]+)\/alien([^:]+)(:|$)/:/g'`  
    export LD_LIBRARY_PATH=`echo $LD_LIBRARY_PATH | sed -r 's/(:|^)([^:]+)\/alien([^:]+)(:|$)/:/g'`  
    export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${ROOTSYS}/lib
fi                                                          

# ALIROOT variables
export ALICE=$HOME/software
export ALICE_ROOT=${ALICE}/AliRoot  
export ALICE_TARGET=`root-config --arch`
export PATH=${ALICE_ROOT}/bin/tgt_${ALICE_TARGET}:$PATH
export                                                 
LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${ALICE_ROOT}/lib/tgt_${ALICE_TARGET}

# GEANT 3
export PLATFORM=`root-config --arch`
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ALICE/geant3/lib/tgt_${ALICE_TARGET}

export ALIEN_ROOT=$ALICE/alien
export GSHELL_ROOT=$ALIEN_ROOT/api
export PATH=${GSHELL_ROOT}/bin:$PATH

alias rm='rm -i'
alias clean='rm -f *~ .*~ \#*\# *.{log,ilg,blg}'
alias realclean='clean; rm -f *.{toc,aux,idx,lof,lot,ind,glo,gls,dvi,bbl}'
Ps: All the sed's are to clean the PATH's because KDE takes a snapshot at the beginning when I login so if I want to use different versions I have to kind of reset the PATHs.


ROOT - Updated April 12, 2010

To get the version of ROOT matching the AliRoot version you want to use, check this web page.

Here is the script I used to install ROOT:

#!/bin/bash

cd ${ALICE}

svn co https://root.cern.ch/svn/root/tags/v5-26-00b root

cd root

./configure \
            --with-f77=gfortran \
            --with-pythia6-uscore=SINGLE \
            --enable-roofit \
            --enable-minuit2 \
            --enable-xml \
            --with-xml-incdir=${ALIEN_ROOT}/include/libxml2 \
            --with-xml-libdir=${ALIEN_ROOT}/lib \
            --with-ssl-incdir=${ALIEN_ROOT}/include \
            --with-ssl-libdir=${ALIEN_ROOT}/alien/lib \
            --with-alien-incdir=${ALIEN_ROOT}/api/include \
            --with-alien-libdir=${ALIEN_ROOT}/api/lib \
            --with-monalisa-libdir=${ALIEN_ROOT}/api/lib \
            --with-monalisa-incdir=${ALIEN_ROOT}/api/include \
            --with-xrootd-incdir=${ALIEN_ROOT}/api/include/xrootd \
            --with-xrootd-libdir=${ALIEN_ROOT}/api/lib \
            --enable-gsl-shared \
            --disable-globus \
            --build=debug

## You can check the options with make showbuild
make

Note that you don't have to do make install if you download and install root from the directory $HOME/alice.


GEANT 3 - Updated April 12, 2010

A script to install geant:

#!/bin/sh
cd ${ALICE}
svn co https://root.cern.ch/svn/geant3/tags/v1-11 geant3
cd geant3
make


AliRoot - Updated February 1, 2011

A script to install AliRoot (I am not sure the exports are needed. This was taken from an email by Federico Carmanati):

#!/bin/sh
    cd ${ALICE}
    svn co http://alisoft.cern.ch/AliRoot/trunk AliRoot

    export CXX=`root-config --cxx`
    export CC=`root-config --cc`
    export F77=`root-config --f77`
    export LD=`root-config --ld`

    cd $ALICE_ROOT
    mkdir `root-config --arch`
    cd `root-config --arch`
    cmake ../
    make
    make install

Last modified: December 08 2011.