Instalar versiones actuales de GCC en RHEL o CentOS

Al instalar GCC a través de yum en RHEL y CentOS, ya sea en 6 ó 7, veremos que la versión disponible en los repositorios principales del SO no suele ser la más reciente, es más, es una versión que suele ser muy estable y que recibe periódicamente parches para corregir cualquier vulnerabilidad o fallo que pueda surgir. Pero si esperamos que periódicameante suba de «major version» estamos equivocados.

Por ejemplo, RHEL 7 instala la versión 4.8 de GCC. Para poder instalar la versión 4.9 o superior tendremos que hacer uso de la Red Hat Software Collections (The Software Collections ( SCL ) Repository en CentOS), la cual a través de las devtoolset-3 ofrece un kit de herramientas para desarrolladores que cuenta con las versiones más actuales de los compiladores GNU, debuggers, etc.

Instalación de Devtoolset-4 en RHEL

Lo primero es habilitar el repositorio de la software collection:

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

Después instalar el paquete devtoolset-4:

# yum install devtoolset-4

Y finalmente activar la funcionalidad:

# scl enable devtoolset-4 bash

Instalación de Devtoolset-4 en CentOS

Habilitar el repositorio de la software collection:

# yum install centos-release-scl

Instalar el paquete devtoolset-4:

# yum install devtoolset-4

Y finalmente activar la funcionalidad:

# scl enable devtoolset-4 bash

Para que os hagáis una idea de las versiones que se manejan:

  • Red Hat Developer Toolset 4.1 incluye 5.3.1
  • Red Hat Developer Toolset 3.0 incluye GCC 4.9

Una vez instalados los paquetes podéis ver las versiones de cada componente con el siguiente comando:

# yum list devtoolset-3\*

Instalar únicamente GCC en lugar de todas las devtoolset

Si se prefiere instalar únicamente un determinado componente del grupo devtoolset, se puede hacer. Por ejemplo, para instalar únicamente gcc:

# yum install devtoolset-4-gcc

Utilizar la nueva versión de GCC

Todos los componentes de la devtoolset se instalan bajo /opt. Para verificar la versión de GCC que se utiliza por defecto se utilizan los siguientes comandos:

# which gcc
# gcc -v

Para compilar código fuente con la versión gcc de devtoolset:

$ scl enable devtoolset-4 'gcc -o foo foo.c'