¿Cómo instalar g ++ 4.9.2 en Cent OS 6.5?

13

Estoy tratando de instalar la última versión de g ++ en Cent OS. Lo mejor que logré es lo siguiente:

wget http://people.centos.org/tru/devtools-2/devtools-2.repo -O /etc/yum.repos.d/devtools-2.repo
yum install devtoolset-2-gcc devtoolset-2-binutils
yum install devtoolset-2-gcc-c++ devtoolset-2-binutils

Pero esto instala g ++ 4.8.2 y no 4.9.2. ¿Hay alguna forma de instalar 4.9.2?

SpeedCoder
fuente

Respuestas:

4

Tendrás que hacerlo a la antigua usanza. Obtenga las fuentes de GCC, compílelas a mano.

¿Alguna razón por la que eres reacio a hacer esto? (Puedo pensar en algunos, pero a menos que tú también lo hagas, no quiero agregar nada que pueda ser confuso).

Si no está seguro de construir desde fuentes, probablemente pueda proporcionarle algunos pasos.

NOTA: La razón de esto es que las devtools con 4.9 actualmente solo están disponibles para usuarios de Red Hat con una licencia válida. Espere un momento, y eventualmente estoy seguro de que 4.9 devtools estarán disponibles para los usuarios de CentOS, como 4.8 actualmente.

Hari Sundararajan
fuente
Gracias por responder, parece que voy a esperar esto. ¿Puede usted por favor me ayude aquí también: superuser.com/questions/834915/...
SpeedCoder
28

CentOS 6/7 lo respalda oficialmente. No necesita un repositorio de terceros. Y la versión de gcc es 4.9.2 en el repositorio de CentOS.

yum install centos-release-scl-rh          
yum install devtoolset-3-gcc devtoolset-3-gcc-c++   

Para usar las herramientas actualizadas, inicie un nuevo shell con el sclcomando:

scl enable devtoolset-3 bash

También es posible que deba restablecer la variable de entorno PATH, que se puede configurar en ~ / .bashrc u otro archivo de perfil. Si necesita cambiarlo, debe apuntar a/opt/rh/devtoolset-3/root/usr/bin/:$PATH

Más información sobre SCL de CentOS y de Red Hat

Jesse
fuente
Esto no funcionó para mí. Después de que esos 3 pasos se completaron aparentemente exitosos, todavía veo gcc 4.7.2 cuando lo hagogcc -v
BT
Ok, además de estos pasos, tuve que cambiar mi archivo .bashrc para que mi variable de entorno PATH se estableciera en /opt/rh/devtoolset-3/root/usr/bin/:$PATHlugar de /opt/centos/devtoolset-1.1/root/usr/bin/:$PATH. Luego, después de reiniciar una sesión, funcionó.
BT
Después de usar esta solución, veo que la versión de gcc realmente se actualizó (usando gcc --version), pero aún veo los archivos de encabezado de la versión anterior. Además, no puedo encontrar la mayoría de los encabezados más nuevos en el directorio que esperaba que fueran (/ opt / rh / devtoolset-3 / root / usr / include /). ¿Por qué puede suceder esto y cómo puedo resolverlo?
MaMazav
Para que esta respuesta pase la prueba del tiempo, agregue yum search devtoolset | grep gcc-c++para revelar el número correcto en lugar de 3 como en la respuesta
Waslap
14

Utilizo el repositorio Scientific Linux Cern 6 para instalar gcc 4.9 y g ++ 4.9 en mis sistemas CentOS 6.5 y CentOS 6.6. No instala g ++ 4.9.2. Instala g ++ 4.9.1, que es lo suficientemente bueno para mis necesidades.

Aquí están los comandos que uso para instalarlo.

cd /etc/yum.repos.d
wget http://linuxsoft.cern.ch/cern/scl/slc6-scl.repo
yum -y --nogpgcheck install devtoolset-3-gcc devtoolset-3-gcc-c++

Como dijo Michael en su comentario a esta publicación, para usar realmente la versión de gcc que esto instala, inicie un nuevo shell con el siguiente comando.

scl enable devtoolset-3 bash
Susam Pal
fuente
1
Para utilizar realmente la versión de gcc que esto instala, inicie un nuevo shell usandoscl enable devtoolset-3 bash
Michael
@ Michael Gracias por mencionar esto. He incluido su comentario en mi respuesta ahora para que la respuesta sea más útil.
Susam Pal
Tampoco funcionó para mí. Lo mismo que para la respuesta de Jesse
BT