TWiki> LHCb Web>LHCbComputing>SoftwareInstallation (revision 18)EditAttachPDF

LHCb software installation

This page describes the steps needed to make a standalone LHCb software installation on a local or shared filesystem. The recommended way to access LHCb software is however to mount the CernVM-FS filesystem, please refer to the excellent CernVM-FS deployment page maintained by the UK GridPP.

Table of Contents

Supported software platforms

These instructions are intended for software managers installing the LHCb software at LHCb institutes on officially supported platforms.

See also these user recipes for hints on installing on non-supported platforms.

If you find problems with these instructions, or with the install_project.py script, please report them to the install_project category of the LNCORE Jira tracker.

Installation procedure

The installation is made of several steps. The order is very important and none of them can be skipped. Make sure that the step is correctly finished before to go to the next.

The following instructions assume you are using a csh-like shell. For bash like shells just replace command like setenv XXX YYY with export XXX=YYYY and use the script LbLogin.sh instead of LbLogin.csh.

You should first decide where to install the software and set MYSITEROOT to the full path (no softlink):

  • setenv MYSITEROOT someDirectory
  • cd $MYSITEROOT
  • The python script will install
    • CMT and OpenScientist below $MYSITEROOT/contrib
    • LCG and externals below $MYSITEROOT/lcg/external and $MYSITEROOT/lcg/app/releases
    • scripts below $MYSITEROOT/scripts
    • LHCb software below $MYSITEROOT/lhcb

You should set the following environment variable:

  • setenv CMTCONFIG x86_64-slc5-gcc43-opt : your binary directory name (if you can choose one of the CMTCONFIGs defined for the supported platforms you can then use the option to download the lcg software binaries)

Download the python scripts install_project.py

wget http://lhcbproject.web.cern.ch/lhcbproject/dist/install_project.py
python install_project.py -h

This will print the install_project.py help text, also shown here.

Examples of using install_project.py to install DaVinci including binary code

setenv MYSITEROOT /scratch/Install
cd $MYSITEROOT
setenv CMTCONFIG x86_64-slc5-gcc43-opt
python install_project.py -b DaVinci v20r3

will install all required projects by DaVinci v20r3 for the x86_64-slc5-gcc43-opt binary platform.

The -b option means the pre-compiled binaries are also included and the program should have all of the requirement to run immediately.

Running DaVinci after downloading using the released version

To use your locally installed copy of DaVinci:

setenv MYSITEROOT /scratch/Install
setenv CMTCONFIG x86_64-slc5-gcc43-opt
source $MYSITEROOT/LbLogin.csh ! this is essential to set all <project>_release_area environment variables
SetupProject DaVinci v20r3                             ! this configures all of the environment variables for DaVinci v20r3
gaudirun.py $DAVINCIROOT/options/DaVinci.py 

To save a few lines of typing you can place the first three lines in a local script and source that instead. These need to be executed, one way or another, for each new terminal you start.

The example above is for csh like shells. For bash just use

export MYSITEROOT=/scratch/Install
export CMTCONFIG=x86_64-slc5-gcc43-opt
source $MYSITEROOT/LbLogin.sh ! this is essential to set all <project>_release_area environment variables

Similarly for the examples below.

Accessing specific packages

You can add packages and modify existing packages to a program, see examples below

The LHCb tool to access a specific package (for example theDaVinci package) and add it to the your local area is getpack. See the instructions on accessing SVN software which explains how to set up getpack to download a package from CERN.

Running DaVinci after downloading using a private version

setenv MYSITEROOT /scratch/Install
setenv CMTCONFIG x86_64-slc5-gcc43-opt
setenv User_release_area $HOME/cmtuser
source $MYSITEROOT/LbLogin.csh   ! this is essential to set all <project>_release_area environment variables
SetupProject DaVinci v20r3    --build-env   ! this adds the directory DaVinci_v20r3 to $User_release_area and sets up CMT
getpack Phys/DaVinci v20r3           ! Get the package Phys/DaVinci into your area
SetupProject DaVinci v20r3             ! this configures all of the environment variables for DaVinci v20r3 in your new area
cd Phys/DaVinci/cmt
make
gaudirun.py $DAVINCIROOT/options/DaVinci.py 

You can also add any other package to DaVinci at the getpack step. See the LHCbSoftwareTutorials for examples of adding packages to DaVinci.

Downloading source only and compiling locally

setenv MYSITEROOT /scratch/Install
cd $MYSITEROOT
setenv CMTCONFIG x86_64-slc5-gcc43-opt
python install_project.py DaVinci v20r3 
SetupProject DaVinci v20r3
cd $DAVINCIROOT/cmt
cmt broadcast -global cmt config
cmt broadcast -global cmt make      ! if you have a  multi-core processor machine add the option -jX to the end to compile X files at once (X = 2,3,4 etc...)

You must also compile any Gaudi packages not already explicitly complied already by running "cmt broadcast -global cmt config && cmt broadcast -global make" in the cmt directory of the GaudiRelease package you can find in the $Gaudi_release_area tree.

Browsing the projects available directly

You can browse the distribution tarballs directly at http://lhcbproject.web.cern.ch/lhcbproject/dist/distribution.html, which is sometimes useful to see what is available etc.

Special Case for LHCbDirac

Read the instructions here

Documentation

  • The LHCb Software distribution (Hubert Degaudenzi) Computing in High Energy and Nuclear Physics (CHEP 2009) Prague, Czech Republic, March 21-27, 2009 (abstract, poster).
Edit | Attach | Watch | Print version | History: r22 | r20 < r19 < r18 < r17 | Backlinks | Raw View | Raw edit | More topic actions...
Topic revision: r18 - 2016-06-16 - MarcoCattaneo
 
    • Cern Search Icon Cern Search
    • TWiki Search Icon TWiki Search
    • Google Search Icon Google Search

    LHCb All webs login

This site is powered by the TWiki collaboration platform Powered by PerlCopyright & 2008-2019 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback