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.
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
).