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:

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 LBCORE Jira tracker.

Installation procedure

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

You should first decide where to install the software and set MYSITEROOT to the full path:

  • export MYSITEROOT someDirectory
  • Install the lbinstall python module using pip and for example in a virtual environment:
virtualenv install
source install/bin/activate
pip install lbinstall
  • Install the LHCb base packages:
lbinstall --root=$TMPDIR/myroot install LBSCRIPTS CMT COMPAT

  • Install the packages requested. e.g. slc6/gcc62 packages for DaVinci v42r1:
lbinstall --root=$TMPDIR/myroot install DAVINCI_v42r1_x86_64_slc6_gcc62_opt

For more information about the lbinstall tool: https://gitlab.cern.ch/lhcb-core/lbinstall

Installation procedure for historical stacks (pre-2014)

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
Then use lb-run, see SoftwareEnvTools#Runtime

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 should use Git. See Git4LHCb

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
Then use lb-dev, see SoftwareEnvTools#Development

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

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 < r21 < r20 < r19 < r18 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r22 - 2017-10-23 - 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-2023 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
or Ideas, requests, problems regarding TWiki? use Discourse or Send feedback