python3is now available as core software on all development and compute nodes. Because of this, below Python SCLs are deprecated and eventually removed.
Software Collections (SCL) is a CentOS repository that provides a set of dynamic programming languages, database servers, and various related packages. Provided software versions are […] more recent than their equivalent versions included in the base CentOS distribution […] Packages available from the SCL […] can be optionally enabled per application by using supplied
To list all Software Collections installed on the development nodes, use:
[alice@dev2 ~]$ scl --list devtoolset-10 devtoolset-7 devtoolset-8 devtoolset-9 llvm-toolset-7 rh-python36 rh-ruby25 rh-ruby26 rh-ruby27 rh-ruby30
Importantly, only a subset of the above SCLs are available also on the compute nodes.
To list all the packages that are part of one or more of these SCLs, use:
[alice@dev2 ~]$ scl --list rh-ruby25 rh-ruby25-rubygem-did_you_mean-1.2.0-9.el7.noarch rh-ruby25-rubygem-bigdecimal-1.3.4-9.el7.x86_64 rh-ruby25-rubygem-rdoc-126.96.36.199-9.el7.noarch rh-ruby25-2.5-2.el7.x86_64 rh-ruby25-rubygem-openssl-2.1.2-9.el7.x86_64 rh-ruby25-rubygems-188.8.131.52-9.el7.noarch rh-ruby25-rubygem-psych-3.0.2-9.el7.x86_64 rh-ruby25-ruby-2.5.9-9.el7.x86_64 rh-ruby25-rubygem-io-console-0.4.6-9.el7.x86_64 rh-ruby25-rubygem-json-2.1.0-9.el7.x86_64 rh-ruby25-ruby-irb-2.5.9-9.el7.noarch rh-ruby25-ruby-libs-2.5.9-9.el7.x86_64 rh-ruby25-runtime-2.5-2.el7.x86_64
Ruby’s interactive shell can be launched via the
irb command. However, because it is available as a core software, we need to access it via the Ruby SCL. Here is an example how to check the version of the Ruby shell:
[alice@dev2 ~]$ scl enable rh-ruby25 "irb --version" irb 0.9.6(09/06/30)
Importantly, this approach of prefixing the original command call works also in job scripts.
If you work interactively on one of the development nodes, you can also launch a new shell (typically Bash) with one or more SCLs enabled:
[alice@dev2 ~]$ scl enable rh-ruby25 $SHELL [alice@dev2 ~]$ irb --version irb 0.9.6(09/06/30)
To “unload” an SCLs, just return to the previous shell by exiting new SCL-enabled shell, i.e.
[alice@dev2 ~]$ exit [alice@dev2 ~]$
devtoolset SCLs each include a specific version of gcc. Those versions are: