Examples not working?

CentOS Software Collections (SCL)

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 scl utility.

Available SCLs and their Packages

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-6.0.1.1-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-2.7.6.3-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

Using SCLs

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 ~]$ 

Developer Toolset gcc versions

The devtoolset SCLs each include a specific version of gcc. Those versions are:

See Also