Chapter 2. Installation

This chapter describes in detail how to get access to the content set, install Red Hat Software Collections 3.4 on the system, and rebuild Red Hat Software Collections.

2.1. Getting Access to Red Hat Software Collections

The Red Hat Software Collections content set is available to customers with Red Hat Enterprise Linux 6 and Red Hat Enterprise Linux 7 subscriptions listed at https://access.redhat.com/solutions/472793. For information on how to register your system with Red Hat Subscription Management (RHSM), see Using and Configuring Red Hat Subscription Manager. For detailed instructions on how to enable Red Hat Software Collections using RHSM, see Section 2.1.1, “Using Red Hat Subscription Management”.
Since Red Hat Software Collections 2.2, the Red Hat Software Collections and Red Hat Developer Toolset content is available also in the ISO format at https://access.redhat.com/downloads, specifically for Server and Workstation. Note that packages that require the Optional channel, which are listed in Section 2.1.2, “Packages from the Optional Channel”, cannot be installed from the ISO image.

Note

Packages that require the Optional channel cannot be installed from the ISO image. A list of packages that require enabling of the Optional channel is provided in Section 2.1.2, “Packages from the Optional Channel”.
Beta content is unavailable in the ISO format.

2.1.1. Using Red Hat Subscription Management

If your system is registered with Red Hat Subscription Management, complete the following steps to attach the subscription that provides access to the repository for Red Hat Software Collections and enable the repository:
  1. Display a list of all subscriptions that are available for your system and determine the pool ID of a subscription that provides Red Hat Software Collections. To do so, type the following at a shell prompt as root:
    subscription-manager list --available
    For each available subscription, this command displays its name, unique identifier, expiration date, and other details related to it. The pool ID is listed on a line beginning with Pool Id.
  2. Attach the appropriate subscription to your system by running the following command as root:
    subscription-manager attach --pool=pool_id
    Replace pool_id with the pool ID you determined in the previous step. To verify the list of subscriptions your system has currently attached, type as root:
    subscription-manager list --consumed
  3. Display the list of available Yum list repositories to retrieve repository metadata and determine the exact name of the Red Hat Software Collections repositories. As root, type:
    subscription-manager repos --list
    Or alternatively, run yum repolist all for a brief list.
    The repository names depend on the specific version of Red Hat Enterprise Linux you are using and are in the following format:
    rhel-variant-rhscl-6-rpms
    rhel-variant-rhscl-6-debug-rpms
    rhel-variant-rhscl-6-source-rpms
    
    rhel-server-rhscl-6-eus-rpms
    rhel-server-rhscl-6-eus-source-rpms
    rhel-server-rhscl-6-eus-debug-rpms
    
    rhel-variant-rhscl-7-rpms
    rhel-variant-rhscl-7-debug-rpms
    rhel-variant-rhscl-7-source-rpms
    
    rhel-server-rhscl-7-eus-rpms
    rhel-server-rhscl-7-eus-source-rpms
    rhel-server-rhscl-7-eus-debug-rpms>
    Replace variant with the Red Hat Enterprise Linux system variant, that is, server or workstation. Note that Red Hat Software Collections is supported neither on the Client nor on the ComputeNode variant.
  4. Enable the appropriate repository by running the following command as root:
    subscription-manager repos --enable repository
Once the subscription is attached to the system, you can install Red Hat Software Collections as described in Section 2.2, “Installing Red Hat Software Collections”. For more information on how to register your system using Red Hat Subscription Management and associate it with subscriptions, see Using and Configuring Red Hat Subscription Manager.

Note

Subscription through RHN is no longer available.

2.1.2. Packages from the Optional Channel

Some of the Red Hat Software Collections packages require the Optional channel to be enabled in order to complete the full installation of these packages. For detailed instructions on how to subscribe your system to this channel, see the relevant Knowledgebase article at https://access.redhat.com/solutions/392003.
Packages from Software Collections for Red Hat Enterprise Linux that require the Optional channel to be enabled are listed in the tables below. Note that packages from the Optional channel are unsupported. For details, see the Knowledgebase article at https://access.redhat.com/articles/1150793.

Table 2.1. Packages That Require Enabling of the Optional Channel in Red Hat Enterprise Linux 7

Package from a Software CollectionRequired Package from the Optional Channel
devtoolset-8-buildscl-utils-build
devtoolset-8-dyninst-testsuiteglibc-static
devtoolset-8-gcc-plugin-devellibmpc-devel
devtoolset-9-buildscl-utils-build
devtoolset-9-dyninst-testsuiteglibc-static
devtoolset-9-gcc-plugin-devellibmpc-devel
devtoolset-9-gdbsource-highlight
httpd24-mod_ldapapr-util-ldap
httpd24-mod_sessionapr-util-openssl
python27-python-debugtix
python27-python-develscl-utils-build
python27-tkintertix
rh-git218-git-cvscvsps
rh-git218-git-svnperl-Git-SVN, subversion
rh-git218-perl-Git-SVNsubversion-perl
rh-java-common-ant-apache-bsfrhino
rh-java-common-batikrhino
rh-maven35-xpp3-javadocjava-1.7.0-openjdk-javadoc, java-1.8.0-openjdk-javadoc, java-1.8.0-openjdk-javadoc-zip, java-11-openjdk-javadoc, java-11-openjdk-javadoc-zip
rh-php72-php-pspellaspell
rh-php73-php-develpcre2-devel
rh-php73-php-pspellaspell
rh-python36-python-develscl-utils-build
rh-python36-python-sphinxtexlive-framed, texlive-threeparttable, texlive-titlesec, texlive-wrapfig

Table 2.2. Packages That Require Enabling of the Optional Channel in Red Hat Enterprise Linux 6

Package from a Software CollectionRequired Package from the Optional Channel
devtoolset-8-dyninst-testsuiteglibc-static
devtoolset-8-elfutils-develxz-devel
devtoolset-8-gcc-plugin-develgmp-devel, mpfr-devel
devtoolset-8-libatomic-devellibatomic
devtoolset-8-libgccjitmpfr
python27-python-develscl-utils-build
rh-mariadb102-boost-devellibicu-devel
rh-mariadb102-mariadb-benchperl-GD
rh-mongodb34-boost-devellibicu-devel
rh-perl524-perl-develgdbm-devel, systemtap-sdt-devel
rh-python36-python-develscl-utils-build

2.2. Installing Red Hat Software Collections

Red Hat Software Collections is distributed as a collection of RPM packages that can be installed, updated, and uninstalled by using the standard package management tools included in Red Hat Enterprise Linux. Note that a valid subscription is required to install Red Hat Software Collections on your system. For detailed instructions on how to associate your system with an appropriate subscription and get access to Red Hat Software Collections, see Section 2.1, “Getting Access to Red Hat Software Collections”.
Use of Red Hat Software Collections 3.4 requires the removal of any earlier pre-release versions, including Beta releases. If you have installed any previous version of Red Hat Software Collections 3.4, uninstall it from your system and install the new version as described in the Section 2.3, “Uninstalling Red Hat Software Collections” and Section 2.2.1, “Installing Individual Software Collections” sections.>
The in-place upgrade from Red Hat Enterprise Linux 6 to Red Hat Enterprise Linux 7 is not supported by Red Hat Software Collections. As a consequence, the installed Software Collections might not work correctly after the upgrade. If you want to upgrade from Red Hat Enterprise Linux 6 to Red Hat Enterprise Linux 7, it is strongly recommended to remove all Red Hat Software Collections packages, perform the in-place upgrade, update the Red Hat Software Collections repository, and install the Software Collections packages again. It is advisable to back up all data before upgrading.

2.2.1. Installing Individual Software Collections

To install any of the Software Collections that are listed in Table 1.1, “Red Hat Software Collections 3.4 Components”, install the corresponding meta package by typing the following at a shell prompt as root:
yum install software_collection...
Replace software_collection with a space-separated list of Software Collections you want to install. For example, to install php54 and rh-mariadb100, type as root:
~]# yum install rh-php72 rh-mariadb102
This installs the main meta package for the selected Software Collection and a set of required packages as its dependencies. For information on how to install additional packages such as additional modules, see Section 2.2.2, “Installing Optional Packages”.

2.2.2. Installing Optional Packages

Each component of Red Hat Software Collections is distributed with a number of optional packages that are not installed by default. To list all packages that are part of a certain Software Collection but are not installed on your system, type the following at a shell prompt:
yum list available software_collection-\*
To install any of these optional packages, type as root:
yum install package_name...
Replace package_name with a space-separated list of packages that you want to install. For example, to install the rh-perl526-perl-CPAN and rh-perl526-perl-Archive-Tar, type:
~]# yum install rh-perl526-perl-CPAN rh-perl526-perl-Archive-Tar

2.2.3. Installing Debugging Information

To install debugging information for any of the Red Hat Software Collections packages, make sure that the yum-utils package is installed and type the following command as root:
debuginfo-install package_name
For example, to install debugging information for the rh-ruby25-ruby package, type:
~]# debuginfo-install rh-ruby25-ruby
Note that you need to have access to the repository with these packages. If your system is registered with Red Hat Subscription Management, enable the rhel-variant-rhscl-6-debug-rpms or rhel-variant-rhscl-7-debug-rpms repository as described in Section 2.1.1, “Using Red Hat Subscription Management”. For more information on how to get access to debuginfo packages, see https://access.redhat.com/solutions/9907.

2.3. Uninstalling Red Hat Software Collections

To uninstall any of the Software Collections components, type the following at a shell prompt as root:
yum remove software_collection\*
Replace software_collection with the Software Collection component you want to uninstall.
Note that uninstallation of the packages provided by Red Hat Software Collections does not affect the Red Hat Enterprise Linux system versions of these tools.

2.4. Rebuilding Red Hat Software Collections

<collection>-build packages are not provided by default. If you wish to rebuild a collection and do not want or cannot use the rpmbuild --define 'scl foo' command, you first need to rebuild the metapackage, which provides the <collection>-build package.
Note that existing collections should not be rebuilt with different content. To add new packages into an existing collection, you need to create a new collection containing the new packages and make it dependent on packages from the original collection. The original collection has to be used without changes.
For detailed information on building Software Collections, refer to the Red Hat Software Collections Packaging Guide.