SFT Packages (lsetup sft)

Use lcgenv instead. SFT is depreciated

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

lsetup sft --help

Requesting New Software or Versions in SFT

The SFT repository is not maintained by ATLAS but by CERN's SFT team and is intended for all experiments. As such, any new requests must go through ATLAS and our representative will then discuss it with the SFT Team and other experiments at scheduled meetings.

If there is a request it should be well explained (so that it can be understood), justified and then brought to few ATLAS experts (in SIT eGroup) for final discussion/agreement. Please also include information as to who else is requesting this and their institutes - it is useful to understand there is a general ATLAS need.

Note that if you find what you are looking for in /afs/cern.ch/sw/lcg/releases or /afs/cern.ch/sw/lcg/external but it is not yet available on /cvmfs/sft.cern.ch/lcg, it will be easier to get that installed than a new package or version.

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 lsetup sft.

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> or showVersions sft --cmtConfig=showAll

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 lsetup sft --help for usage

Setup

  • Type setupATLAS to setup the ATLASLocalRootBase UI if you have not already done it. * 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 before or set them up at the same time with sft using lsetup.):
    • lsetup "sft <package version>"
    • note that you can setup multiple packages, delimit them with commas.
    • You can also setup other non-sft tools with setup in addition to the sft packages. e.g., you can setup athena or root or an ASG release on the same line as setup (and you do not need to specify the --cmtconfig value).
  • 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

$ lsetup "sft--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

$ lsetup "sft --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

$ lsetup "sft --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

$ lsetup "sft  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

Edit | Attach | Watch | Print version | History: r4 < r3 < r2 < r1 | Backlinks | Raw View | Raw edit | More topic actions
Topic revision: r4 - 2017-11-28 - AsokaDeSilva
 
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