Installing Developer Toolset on RHEL-based Distributions

Comes in handy when you need newer versions of developer tools such as GCC, GDB, Valgrind, etc.

Hidden Perk

Executables built with the Red Hat Developer Toolset toolchain can then also be deployed and run on multiple versions of Red Hat Enterprise Linux; on the other hand, executables built with self-compiled GCC often require another copy of runtime libraries to run due to GLIBC/GLIBCXX ABI incompatibility, leaves deployment complicated even for systems with identical OS version.

Install Software Collections

In order to install Developer Toolset, Software Collections must be installed first.

RHEL 8

yum-config-manager --enable rhel-server-rhscl-8-rpms

RHEL 7

yum-config-manager --enable rhel-server-rhscl-7-rpms

RHEL 6

yum-config-manager --enable rhel-server-rhscl-6-rpms

CentOS

yum install centos-release-scl

Scientific Linux 7

yum install yum-conf-repos
yum install yum-conf-softwarecollections

Scientific Linux 6 (EOL)

yum install "http://ftp.scientificlinux.org/linux/scientific/6/external_products/softwarecollections/yum-conf-softwarecollections-2.0-1.el6.noarch.rpm"

Install Developer Toolset

Install the version(s) of your choice. Yes, they can co-exist.

Developer Toolset 10 (GCC 10, etc.)

yum install devtoolset-10

Developer Toolset 9 (GCC 9, etc.)

yum install devtoolset-9

Developer Toolset 8 (GCC 8, etc.)

yum install devtoolset-8

Developer Toolset 7 (GCC 7, etc.)

yum install devtoolset-7

Developer Toolset 6 (GCC 6, etc.)

yum install devtoolset-6

Developer Toolset 4 (GCC 5, etc.)

yum install devtoolset-4

Developer Toolset 3 (GCC 4, etc.)

yum install devtoolset-3

Use Installed Developer Toolset

Say you want to use Developer Toolset 8, you can run

scl enable devtoolset-10 bash

to invoke a BASH shell with environment variables setup to run Developer Toolset 10, check it yourself with

gcc --version

References

Posted in Technical.

6 Comments

  1. This is a killer page. Thank you so much, I was about to compile myself. I don’t mind doing that always, but was not in the mood today. Also I manage a whole cluster so 3 lines to replace ~300 lines of scripting is very nice! Thank you.

Leave a Reply

Your email address will not be published. Required fields are marked *

Captcha loading...