Files

2.3 KiB

GCC Compilers

!!! note If you are looking for information about Intel compilers please check the Intel Compilers documentation.

RedHat provides multiple versions of the GCC compiler via the Software Collections (SCL) tool. This allows users to switch between different versions of GCC without affecting the system-wide default version. The different versions are provided via collections named "gcc-toolset-$GCC_MAJOR_VERSION".

Which GCC Toolset versions are available and which versions of GCC (and gcc tools they provide) can be found in the RedHat documentation:

https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/9/html/developing_c_and_cpp_applications_in_rhel_9/assembly_additional-toolsets-for-development-rhel-9_developing-applications#gcc-toolset_assembly_additional-toolsets-for-development-rhel-9

To see which versions of the gcc-toolset are available on your system, you can use the following command:

[root@test ~]# dnf search gcc-toolset | egrep 'gcc-toolset-[0-9]+.x86_64'
Last metadata expiration check: 1 day, 7:28:21 ago on Wed 20 May 2026 06:28:36 AM CEST.
gcc-toolset-12.x86_64 : Package that installs gcc-toolset-12
gcc-toolset-13.x86_64 : Package that installs gcc-toolset-13
gcc-toolset-14.x86_64 : Package that installs gcc-toolset-14
gcc-toolset-15.x86_64 : Package that installs gcc-toolset-15

While having the package scl-utils installed, you can check which gcc-toolset versions are available on your system with the following command:

[root@test ~]# scl list-collections
gcc-toolset-12

After installing the desired gcc-toolset package, you can use the scl enable command to switch to the desired version of GCC for a single command or for the current shell session.

To use a specific version of GCC for a single command, you can use the following syntax (the $COMMAND needs to be one single argument string):

[root@test ~]# scl enable gcc-toolset-12 "$COMMAND"

or to spawn a new shell with the compiler ready:

[root@test ~]# scl enable gcc-toolset-12 bash

To load it into the current shell do (e.g. to be used in ~/.bashrc):

source scl_source enable gcc-toolset-12

!!! note In most cases we recommend to use the gcc version shipped with the RHEL version.