As part of the AFS Phase-Out, announced and discussed in ITUM meetings and tracked in a dedicated Twiki page, starting with 1st February 2019 the area /afs/cern.ch/sw/lcg is unavailable, except for a very restricted number of volumes previously agreed (see also the dedicated JIRA project).
As described in OTG0047749, the preferred replacement for software distribution is CernVM-FS:
- /cvmfs/sft.cern.ch/lcg for all what relates to the LCG releases and ROOT;
- /cvmfs/geant4.cern.ch/ for Geant4 releases;
- /cvmfs/grid.cern.ch/ for Grid related stuff maintained by IT.
The /cvmfs/sft.cern.ch/lcg area
The /cvmfs/sft.cern.ch/lcg area is currently the main area of deployment for the LCG releases. The LCG releases are complex software stacks containing many of the packages typically required by experiments. The LCG releases are numbered sequentially and the release pace follows the releases of ROOT. Details about the latest releases and their content can be found at LCGInfo. The following subpaths of /cvmfs/sft.cern.ch/lcg are worth mentioning:
/cvmfs/sft.cern.ch/lcg/releases
The area is the equivalent of /afs/cern.ch/sw/lcg/releases, containing both the packages required by a releases and the meta information build up the release.
/cvmfs/sft.cern.ch/lcg/views
The area is the equivalent of /afs/cern.ch/sw/lcg/views, containing the views for the releases, a way to bring the whole content of a releases under a {bin, include, lib, lib64, etc, share} typical structure.
/cvmfs/sft.cern.ch/lcg/contrib
The area is the equivalent of /afs/cern.ch/sw/lcg/contrib, containing the tools, typically the compilers, CMake, ... required by the releases, but not only.
/cvmfs/sft.cern.ch/lcg/external
The area is the equivalent of /afs/cern.ch/sw/lcg/external, containing other external packages.
/cvmfs/sft.cern.ch/lcg/app
The area is the equivalent of /afs/cern.ch/sw/lcg/app, containing standalone builds of specific applications, e.g. ROOT.
How to use the /cvmfs/sft.cern.ch/lcg area
Using views
Views are convenient when a coherent set of packages is required. The script /cvmfs/sft.cern.ch/lcg/views/setupViews.sh (/cvmfs/sft.cern.ch/lcg/views/setupViews.csh) is provided to enable a view. The script has to be sourced with two parameters: the LCG_xx version and the architecture-OS-compiler-buildtype label.
For example:
$ source /cvmfs/sft.cern.ch/lcg/views/setupViews.sh LCG_94 x86_64-centos7-gcc7-opt
to setup the view for the optimized version of LCG_94 built with gcc 7. Available architecture-OS-compiler-buildtype combinations can be found under /cvmfs/sft.cern.ch/lcg/views/LCG_xx;
for example:
$ ls /cvmfs/sft.cern.ch/lcg/views/LCG_94 x86_64-centos7-gcc62-dbg x86_64-centos7-gcc7-dbg x86_64-centos7-gcc8-dbg x86_64-slc6-gcc62-dbg x86_64-slc6-gcc7-dbg x86_64-slc6-gcc8-dbg x86_64-ubuntu1604-gcc54-opt x86_64-centos7-gcc62-opt x86_64-centos7-gcc7-opt x86_64-centos7-gcc8-opt x86_64-slc6-gcc62-opt x86_64-slc6-gcc7-opt x86_64-slc6-gcc8-opt x86_64-ubuntu1804-gcc7-opt
Using compilers, CMake, ... from /cvmfs/sft.cern.ch/contrib
$ source /cvmfs/sft.cern.ch/lcg/contrib/gcc/8/x86_64-centos7/setup.sh $ gcc -v Using built-in specs. COLLECT_GCC=gcc COLLECT_LTO_WRAPPER=/cvmfs/sft.cern.ch/lcg/releases/gcc/8.2.0-3fa06/x86_64-centos7/bin/../libexec/gcc/x86_64-pc-linux-gnu/8.2.0/lto-wrapper Target: x86_64-pc-linux-gnu Configured with: ........ Thread model: posix gcc version 8.2.0 (GCC)
Using single packages
For example, ROOT v6.14.04, available in LCG_94, can be setup with:
$ source /cvmfs/sft.cern.ch/lcg/releases/LCG_94/ROOT/6.14.04/x86_64-centos7-gcc7-opt/ROOT-env.sh
setting up all what needed:
$ gcc -v Using built-in specs. COLLECT_GCC=gcc COLLECT_LTO_WRAPPER=/cvmfs/sft.cern.ch/lcg/releases/gcc/7.3.0-cb1ee/x86_64-centos7/bin/../libexec/gcc/x86_64-pc-linux-gnu/7.3.0/lto-wrapper Target: x86_64-pc-linux-gnu Configured with: /afs/cern.ch/cms/CAF/CMSCOMM/COMM_ECAL/dkonst/GCC/build/contrib/gcc-7.3.0/src/gcc/7.3.0/configure --prefix=/afs/cern.ch/cms/CAF/CMSCOMM/COMM_ECAL/dkonst/GCC/lcgcmake-install/gcc/7.3.0/x86_64-centos7 -with-system-zlib --disable-multilib --enable-languages=all --with-gnu-ld --with-ld=/afs/cern.ch/cms/CAF/CMSCOMM/COMM_ECAL/dkonst/GCC/lcgcmake-install/binutils/2.28/x86_64-centos7/bin/ld --with-gnu-as --with-as=/afs/cern.ch/cms/CAF/CMSCOMM/COMM_ECAL/dkonst/GCC/lcgcmake-install/binutils/2.28/x86_64-centos7/bin/as Thread model: posix gcc version 7.3.0 (GCC) $ which root /cvmfs/sft.cern.ch/lcg/releases/LCG_94/ROOT/6.14.04/x86_64-centos7-gcc7-opt/bin/root
Standalone ROOT
$ source /cvmfs/sft.cern.ch/lcg/app/releases/ROOT/6.14.04/x86_64-centos7-gcc48-opt/root/bin/thisroot.sh
sets up v6.14.04 on CentOS7 (native compiler gcc48).