Software available from the T2 UI machines
The T2 has many more software than what is available directly from the M machines. All are provided by cern's centrally managed files system called cvmfs.
They are divided in a CMS specific area and a more general area aimed at high energy in general.
The CMS specific area comes with a home brew script that makes it easy for searching specific versions of the software you need. However, the set-up is a lot more complicated than the general purpose area. Therefore we recommend the general purpose area unless you do not find the specific version you need in it.
General purpose area
Instead of trying to explain in details how the /cvmfs sub-directories are organized, we will limit ourselves in this wiki to give some relevant links about the general purpose area:
[http://lcginfo.cern.ch/ High-level description of the software packages and how they are grouped in LCG Configurations]
Website of the SFT group managing what's in /cvmfs/sft.cern.ch
Load a specific software repository
The software packages are grouped in LCG Configurations. In each of these configurations, you will normally find set of software versions that are compatible with each others. To get the list of LCG Configurations :
Now, let's say you want to know more about the "LCG_93c" configuration :
/cvmfs/sft.cern.ch/lcg/views/checkSetupViews.sh LCG_93c Available <arch-os-compiler> for LCG_93c : x86_64-centos7-gcc62-opt x86_64-centos7-gcc7-dbg x86_64-slc6-gcc62-dbg x86_64-slc6-gcc62-opt x86_64-slc6-gcc7-dbg
If you are on an SL6 UI and we want gcc62, we have to issue the following command :
source /cvmfs/sft.cern.ch/lcg/views/setupViews.sh LCG_93c x86_64-slc6-gcc62-opt
Check the version of gcc :
$ gcc -v Using built-in specs. COLLECT_GCC=gcc COLLECT_LTO_WRAPPER=/cvmfs/sft.cern.ch/lcg/contrib/gcc/6.2.0native/x86_64-slc6/bin/../libexec/gcc/x86_64-pc-linux-gnu/6.2.0/lto-wrapper Target: x86_64-pc-linux-gnu Configured with: ../gcc-6.2.0/configure --prefix=/build/pmendez-sftnight/install-620local -with-system-zlib --disable-multilib --enable-languages=all Thread model: posix gcc version 6.2.0 (GCC)
At this moment your environment has been changed to use all the versions in this specific software area.
CMS specific area
The T2 hosts many software that are packaged with specific versions of CMSSW but that can be used in a stand alone mode. A tool was designed to easily find what is available and which versions can be used.
To list all the available software:
Most used software are specific version of gcc that are needed, or a root or geant4 version. To find all the available gcc versions:
/swmgrs/cmss/soft.pl --versions gcc
Now, to get a given version of gcc (4.6.2 in this example) :
/swmgrs/cmss/soft.pl --load gcc/4.6.2
This prints the full path of the init.sh that you have to source to get the desired version of gcc :
Let's now check the version of gfortran :
gfortran --version GNU Fortran (GCC) 4.6.2