Overview
The
install_project.py
script is foreseen for project installation on any platform. It installs the required version of a project with all their dependencies. It installs the sources and, on request, the binaries. It does not overwrite any already installed project. To re-install a project it is necessary to remove it first. The removal of a project does not remove any dependency.
All but only binaries available at CERN on afs are available. The list of available projects can be found on
software distribution
.
Project tar ball and dependencies
- tar.gz <project> file are built at release time: one for the sources,cmt,options,etc.. (cvs checkout), one per binary (without *.o, *.obj) stored in
- $LHCBTAR/<PROJECT> , url=http://cern.ch/lhcbproject/dist/<PROJECT>
- A html file is associated to every tar file to give the list of dependent projects:
- stored on $LHCBTAR/html, url=http://cern.ch/lhcbproject/dist/html
- A system tar file contains all system routines required to run a project on the GRID:
- stored on $LHCBTAR/system, url=http://cern.ch/lhcbproject/dist/system
- A script tar file contains some usefull scripts:
- stored on $LHCBTAR/scripts, url=http://cern.ch/lhcbproject/dist/scripts
- All external project tar files are stored on $LHCBTAR/source, url=http://cern.ch/lhcbproject/dist/source:
- CMT tar files are built for linux and win32 platforms
- OpenScientist tar files are built for various cern binary platforms
- All LCG projects and external packages used by GAUDI are collected in one LCGCMT tar file one per cern binary platform.
- Generator packages used by GAUSS are collected in one GENSER tar file one per linux cern plarform
Perequesites
- python version >= 2.2.3 on Linux and 2.4.2 on win32.
- Two environment variables must be defined before running the script:
- MYSITEROOT is the full path of the directory you want to install on (* no soft or hard links*)
- cd <somewhere>
- setenv MYSITEROOT $PWD
- CMTCONFIG
Configuration
The configuration is described in
LHCb_config.py
. This file is imported everytime the script is run. It must be updated in case of new project, new application.
def help() :
print ' install_project.py - version %s: install a project in the current directory '%(script_version)
print """
Usage:
python install_project.py -p <project> -v <version> [-b| --binary=<bin> ] [-d or --debug] [-m <do_config|global|select>]
$CMTCONFIG is the binary directory name
creates log/ to receive log files
scripts/ to receive script files
lcg/ to receive lcg software
lhcb/ to receive lhcb software
contrib/ to receive CMT and OpenScientist
targz/ to receive tar files from the web
$CMTCONFIG/ to receive runtime libraries
download necessary scripts in scripts/
get the list of projects to download
download project sources
if binaries are required: download project binaries
otherwise compile project sources
-d or --debug : to print more info
-l or --list : to list the <project>_<version>_*.tar.gz files available on the web
-r or --remove : remove the <project>/<version>
-c or --cmtversion : download this CMT version
-m do_config : to make a 'cmt broadcast cmt config' of all projects but LCGCMT
-m global : to compile all projects but LCGCMT
-m select : to compile only the project given in -p argument
-h or --help : to print this help
-b : to import $CMTCONFIG binaries
--binary=<bin> : to import another binary (i.e. $CMTCONFIG_dbg on Linux)
this triggers a 'cmt broadcast cmt config' of all projects but LCGCMT
-f : to import source, $CMTCONFIG binaries, $CMTCONFIG_dbg binaries and
to make a 'cmt broadcast cmt config' of all projects but LCGCMT
Perequisite:
requires python version >= 2.3.4 on Win32 and python >=2.2.3 on Linux
the following environment variables should have been set before invoking the script:
$MYSITEROOT is the full path of the current directory
$MYSITEROOT is not a link.
> cd $MYSITEROOT
the answer given by the pwd command should be strickly identical to $MYSITEROOT
$CMTCONFIG is the binary directory name
if you want to download binaries $CMTCONFIG should be identical to
one the LHCb CERN platforms
Remarks:
scripts and system tar.gz files are always download
project tar.gz files are not download if they already exist.
tar.gz file which cannot be untared is removed and a message is printed
"""
--
FlorenceRanjard - 27 Mar 2007