SFT Packages (localSetupSFT)
This is for power users or advanced users who need to setup LCG External packages standalone (i.e. outside Athena). These packages are available in the cvmfs sft repository and
ATLASLocalRootBase provides a menu option to set this up. For usage, please type
localSetupSFT --help
What is Setup
Only gcc and python will be setup; no other dependencies will be setup automatically. It is the user’s responsibility to setup any other dependent packages through localSetupSFT.
Available Packages
showVersions sft
will show all available lcg external packages and versions.
If you have either Athena or standalone ROOT setup, it will show only those available for that cmtconfig value.
Alternately, you can specify
showVersions sft --cmtConfig=<value>
where value should be one of these ATLAS supported ones:
- i686-slc5-gcc43-opt
- x86_64-slc5-gcc43-opt
- x86_64-slc6-gcc47-opt
- x86_64-slc6-gcc48-opt
Note that there are many packages listed - some of which you should not setup (e.g. Grid related, ROOT, XROOTD, Python, gcc - which are already provided in the main menu when you type setupATLAS or done transparently for you). Rather than restrict these, I assume you are a power user who knows what you are doing !
# example: a snapshot of what is available in Feb 2014; this will change.
$ showVersions sft
sft versions:
external/Boost/1.42.0_python2.5
external/Boost/1.44.0_python2.5
external/Boost/1.44.0_python2.6
external/Boost/1.48.0_python2.6
external/Boost/1.48.0p1_python2.6
external/Boost/1.50.0_python2.6
external/Boost/1.50.0_python2.7
external/Boost/1.53.0_python2.4
external/Boost/1.53.0_python2.7
external/CMake/2.6.4
external/CMake/2.8.6
...
external/xrootd/3.2.4
external/xrootd/3.2.7
external/zlib/1.2.3p1
external/zlib/1.2.5
...Type localSetupSFT --help for usage
Setup
- Type
setupATLAS
to setup the ATLASLocalRootBase UI if you have not already done it.
- If you need Athena or standalone ROOT, set that up first so that the cmtconfig value from this will be used automatically in the next steps.
- Get a version of the lcg external package you want to setup as described in the previous section.
- Set up (you may need to specify the option
-cmtConfig
if you do not have Athena or standalone ROOT setup first):
-
localSetupSFT <package version>
- note that you can setup multiple packages, delimit them with commas.
- Note that you may need to setup additional environment variables which you can access through the conveniently defined
$SFT_HOME_<package>
environment variable (listed in the output when setup).
- The setups only define generic environments - such as the PATH, LD_LIBRARY_PATH and PYTHONPATH. If you think others need to be defined (and is not convenient to use through
$SFT_HOME_<package>
), let us know.
Examples
Boost
eg for a native SL6 version,
$ showVersions sft --cmtConfig=x86_64-slc6-gcc47-opt | grep -i boost
external/Boost/1.50.0_python2.7
external/Boost/1.53.0_python2.7
$ localSetupSFT --cmtConfig=x86_64-slc6-gcc47-opt external/Boost/1.50.0_python2.7
************************************************************************
Current GCC version: gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-3)
Setting up gcc version gcc472p1_x86_64_slc6
Python version in your path is 2.6
Setting up Python version 2.7.3-x86_64-slc6-gcc47
Setting up Boost 1.50.0_python2.7 ...
The env $SFT_HOME_Boost is the home dir
The env $SFT_BOOST_INCLUDE is the include dir
************************************************************************
If you are compiling and need the Boost header files, you may need to add to the gcc options
-I $SFT_BOOST_INCLUDE
and / or define
export BOOST_ROOT=$SFT_HOME_Boost
fastjet
eg for a native SL6 version,
$ showVersions sft --cmtConfig=x86_64-slc6-gcc47-opt | grep -i fastjet
external/fastjet/3.0.3
$ localSetupSFT --cmtConfig=x86_64-slc6-gcc47-opt external/fastjet/3.0.3
************************************************************************
Current GCC version: gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-3)
Setting up gcc version gcc472p1_x86_64_slc6
Python version in your path is 2.6
Setting up Python version 2.7.3-x86_64-slc6-gcc47
Setting up fastjet 3.0.3 ...
The env $SFT_HOME_fastjet is the home dir
************************************************************************
pyanalysis (numpy, scipy, etc)
eg for a native SL6 version (note additional lapack and blas packages)
$ showVersions sft --cmtConfig=x86_64-slc6-gcc47-opt | grep -i -e pyanalysis -e lapack -e blas
external/blas/20110419
external/lapack/3.4.0
external/pyanalysis/1.3_python2.7
$ localSetupSFT --cmtConfig=x86_64-slc6-gcc47-opt external/pyanalysis/1.3_python2.7,external/lapack/3.4.0,external/blas/20110419
************************************************************************
Current GCC version: gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-3)
Setting up gcc version gcc472p1_x86_64_slc6
Python version in your path is 2.6
Setting up Python version 2.7.3-x86_64-slc6-gcc47
Setting up pyanalysis 1.3_python2.7 ...
The env $SFT_HOME_pyanalysis is the home dir
Setting up lapack 3.4.0 ...
The env $SFT_HOME_lapack is the home dir
Setting up blas 20110419 ...
The env $SFT_HOME_blas is the home dir
************************************************************************
import numpy
or
import scipy
or
import matplotlib
should now work in python.
rivet
eg for a native SL6 version (you need gsl unless it is installed on your system)
$ showVersions sft --cmtConfig=x86_64-slc6-gcc47-opt | grep -i -e rivet -e gsl
external/GSL/1.10
external/MCGenerators_lcgcmt65/rivet/1.8.2
external/MCGenerators_lcgcmt65/rivet/1.8.3
external/MCGenerators_lcgcmt65/rivet/1.9.0
external/MCGenerators_lcgcmt65/rivet/2.0.0
external/MCGenerators_lcgcmt65/rivet/2.1.0
external/MCGenerators_lcgcmt65/rivet/2.1.1
external/MCGenerators_lcgcmt65a/rivet/1.8.2
external/MCGenerators_lcgcmt65a/rivet/1.8.3
external/MCGenerators_lcgcmt65a/rivet/1.9.0
external/MCGenerators_lcgcmt65a/rivet/2.0.0
external/MCGenerators_lcgcmt67b/rivet/1.8.3
external/MCGenerators_lcgcmt67b/rivet/1.9.0
external/MCGenerators_lcgcmt67b/rivet/2.0.0
external/MCGenerators_lcgcmt67b/rivet/2.1.0
external/MCGenerators_lcgcmt67b/rivet/2.1.1
external/MCGenerators_lcgcmt67b/rivet/2.1.2
external/MCGenerators_lcgcmt67b/rivet/2.2.0
external/MCGenerators_lcgcmt67c/rivet/1.8.3
external/MCGenerators_lcgcmt67c/rivet/1.9.0
external/MCGenerators_lcgcmt67c/rivet/2.1.1
external/MCGenerators_lcgcmt67c/rivet/2.1.2
external/MCGenerators_lcgcmt67c/rivet/2.2.0
$ localSetupSFT external/MCGenerators_lcgcmt65/rivet/1.8.3, external/GSL/1.10 --cmtConfig=x86_64-slc6-gcc47-opt
************************************************************************
Current GCC version: gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-3)
Setting up gcc version gcc472p1_x86_64_slc6
Python version in your path is 2.6
Setting up Python version 2.7.3-x86_64-slc6-gcc47
Setting up rivet 1.8.3 ...
The env $SFT_HOME_rivet is the home dir
Setting up GSL 1.10 ...
The env $SFT_HOME_GSL is the home dir
************************************************************************
You may need to set up these environment variables which are listed from
river --help
ENVIRONMENT:
* RIVET_ANALYSIS_PATH: list of paths to be searched for plugin
analysis libraries at runtime
* RIVET_REF_PATH: list of paths to be searched for reference
data files
* RIVET_INFO_PATH: list of paths to be searched for analysis
metadata files