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'