Cómo instalar el compilador GCC en RHEL 8 (+ CentOS 8)

En esta entrada vamos a ver cómo instalar en Red Hat Enterprise Linux 8 (RHEL8) el conjunto de compiladores creados por el proyecto GNU bajo el nombre GCC (GNU Compiler Collection). Esta colección de compiladores permite compilar fuentes C, C++, Objective C y Fortran y generar binarios ejecutables.

El método de instalación es similar al que ya utilizabamos en RHEL 7/CentOS 7, así que vamos a ello. Hay varias opciones, os dejo las más habituales en función de vuestros requerimentos. Recordad que este método es válido tanto para RHEL 8 como CentOS 8, así como distribuciones derivadas de estas.

Instalar GCC como parte de las Development Tools

Instalar el grupo de herramientas de desarrollo para RHEL completo, en lugar de GCC por separado, permite instalar de golpe no sólo GCC, sino también otras herramientas que probablemente también tengamos que utilizar, por ejemplo: autoconf, gcc, gcc++, automake, patch, make, cscope, byacc, patchutils

Podemos instalar el paquete completo de Development Tools con yum o dnf. Antes, si queréis, podéis consultar qué paquetes contiene el grupo:

#  yum group info "Development Tools"

Group: Development Tools
 Description: A basic development environment.
 Mandatory Packages:
   autoconf
   automake
   binutils
   bison
   flex
   gcc
   gcc-c++
   gdb
   glibc-devel
   libtool
   make
   pkgconf
   pkgconf-m4
   pkgconf-pkg-config
   redhat-rpm-config
   rpm-build
   rpm-sign
   strace
 Default Packages:
   asciidoc
   byacc
   ctags
   diffstat
   git
   intltool
   ltrace
   patchutils
   perl-Fedora-VSP
   perl-generators
   pesign
   source-highlight
   systemtap
   valgrind
   valgrind-devel
 Optional Packages:
   cmake
   expect
   rpmdevtools
   rpmlint

Para instalarlo, basta con pasar el parámetro install, tanto para yum como dnf:

# yum group install "Development Tools"

Si usamos dnf:

# dnf group install "Development Tools"

Instalar únicamente GCC

Si sólo necesitamos instalar los compiladores GCC, se puede omitir la instalación del grupo completo de herramientas de desarrollo e instalar sólo gcc:

# yum install gcc
# dnf install gcc

Tened en cuenta que tendrá dependencias, ejemplo:

Installing:
 gcc             x86_64 8.2.1-3.5.el8       rhel-8-for-x86_64-appstream-rpms  23 M
Installing dependencies:
 libmpc          x86_64 1.0.2-9.el8         rhel-8-for-x86_64-appstream-rpms  59 k
 cpp             x86_64 8.2.1-3.5.el8       rhel-8-for-x86_64-appstream-rpms  10 M
 isl             x86_64 0.16.1-6.el8        rhel-8-for-x86_64-appstream-rpms 841 k
 glibc-headers   x86_64 2.28-42.el8         rhel-8-for-x86_64-baseos-rpms    464 k
 glibc-devel     x86_64 2.28-42.el8         rhel-8-for-x86_64-baseos-rpms    1.0 M
 libxcrypt-devel x86_64 4.1.1-4.el8         rhel-8-for-x86_64-baseos-rpms     25 k
 binutils        x86_64 2.30-49.el8         rhel-8-for-x86_64-baseos-rpms    5.7 M
 kernel-headers  x86_64 4.18.0-80.1.2.el8_0 rhel-8-for-x86_64-baseos-rpms    1.6 M

Una vez instalado, podéis verificar la versión instalada tanto a través de yum info, como consultando el rpm o directamente la versión del compilador pasando el parámetro --version al comando gcc:

# gcc --version
gcc (GCC) 8.2.1 20180905 (Red Hat 8.2.1-3)
Copyright (C) 2018 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
# yum info gcc
Updating Subscription Management repositories.
Last metadata expiration check: 0:07:32 ago on Sat 01 Jun 2019 08:18:52 AM CEST.
Installed Packages
Name         : gcc
Version      : 8.2.1
Release      : 3.5.el8
Arch         : x86_64
Size         : 56 M
Source       : gcc-8.2.1-3.5.el8.src.rpm
Repo         : @System
From repo    : rhel-8-for-x86_64-appstream-rpms
Summary      : Various compilers (C, C++, Objective-C, ...)
URL          : http://gcc.gnu.org
License      : GPLv3+ and GPLv3+ with exceptions and GPLv2+ with exceptions and
             : LGPLv2+ and BSD
Description  : The gcc package contains the GNU Compiler Collection version 8.
             : You'll need this package in order to compile C code.
# rpm -q gcc
gcc-8.2.1-3.5.el8.x86_64