¿Cómo instalar gcc 5.3 con yum en CentOS 7.2?

94

Estoy usando CentOS 7.2

Cuando uso yum groupinstall "Development Tools", la versión de gcc es 4.8.5, así:

ingrese la descripción de la imagen aquí

Me gustaría instalar gcc 5.3

¿Cómo abordar esto con yum?

Brillo Solar
fuente
siga este tutorial vultr.com/docs/how-to-install-gcc-on-centos-6
Mohammad Shahadat Hossain
@MohammadShahadatHossain ¿Hay algún yumrecurso en alguna parte?
sol
No estoy seguro, pero en este caso puede usar el recurso RPM desde aquí. rpmfind.net/linux/rpm2html/search.php?query=gcc
Mohammad Shahadat Hossain
devtoolset ahora proporciona 5.3.1; vea mi respuesta a continuación para ver los comandos para habilitarlo e instalarlo usando yum.
tesch1

Respuestas:

184

Actualización: a
menudo, la gente quiere la versión más reciente de gcc, y devtoolset se mantiene actualizado, por lo que tal vez desee devtoolset-N donde N = {4,5,6,7 ...}, marque yum para más reciente disponible en su sistema). Se actualizaron los cmds a continuación para N = 7.

Hay un paquete para gcc-7.2.1 para devtoolset-7 como ejemplo. Primero debe habilitar las colecciones de software , luego está disponible en devtoolset-7:

sudo yum install centos-release-scl
sudo yum install devtoolset-7-gcc*
scl enable devtoolset-7 bash
which gcc
gcc --version
tesch1
fuente
2
mientras tanto, la versión gcc en devtoolset se ha aumentado a 5.3.1
tesch1
4
No solo eso, sino que puede instalar devtoolset-6 para obtener 6.2.1
Rahly
5
cambiar el enlace simbólico no es lo mejor que se puede hacer, ya que probablemente sea propiedad o esté administrado por otro paquete que podría actualizarse. Es mejor para activarlo en su nombre de usuario o en la escritura de la conexión de todo el sistema con scl enable devtoolset-6 basho . /opt/rh/devtoolset-6/bin/enable enlace de actualización de software de herramientas de documentación
tesch1
1
La ejecución también yum install devtoolset-4-binutilspuede ser útil para obtener una cadena de herramientas completa de GCC.
scrutari
5
Solía source scl_source enable devtoolset-4cambiar mi gcc actual con el instalado pordevtoolset-4
WF
74

Actualización: Instalación de la última versión de gcc 9: ( gcc 9.3.0 ) - publicada el 12 de marzo de 2020 :

El mismo método se puede aplicar a gcc 10 ( gcc 10.1.0 ) - lanzado el 7 de mayo de 2020

Descargar archivo: gcc-9.3.0.tar.gz o gcc-10.1.0.tar.gz

Compila e instala:

//required libraries: (some may already have been installed)
dnf install libmpc-devel mpfr-devel gmp-devel

//if dnf install libmpc-devel is not working try:
dnf --enablerepo=PowerTools install libmpc-devel

//install zlib
dnf install zlib-devel*

./configure --with-system-zlib --disable-multilib --enable-languages=c,c++

make -j 8 <== this may take around an hour or more to finish
              (depending on your cpu speed)

make install

Probado bajo CentOS 7.8.2003 para gcc 9.3 y gcc 10.1

Probado bajo CentOS 8.1.1911 para gcc 10.1 (puede llevar más tiempo compilar)

Resultados: gcc / g ++ 9.3.0 / 10.1.0

ingrese la descripción de la imagen aquí ingrese la descripción de la imagen aquí

Instalación de gcc 7.4 (gcc 7.4.0) , publicada el 6 de diciembre de 2018 :

Descargar archivo: https://ftp.gnu.org/gnu/gcc/gcc-7.4.0/gcc-7.4.0.tar.gz

Compila e instala:

//required libraries:
yum install libmpc-devel mpfr-devel gmp-devel

./configure --with-system-zlib --disable-multilib --enable-languages=c,c++

make -j 8 <== this may take around 50 minutes or less to finish with 8 threads
              (depending on your cpu speed)


make install

Resultado:

ingrese la descripción de la imagen aquí

Notas:

1. Esta respuesta de Stack Overflow le ayudará a ver cómo verificar el archivo fuente descargado.

2. Utilice la opción --prefixpara instalar gcc en otro directorio que no sea el predeterminado. El directorio de instalación de nivel superior tiene por defecto / usr / local. Más información sobre las opciones de instalación de gcc

HDJEMAI
fuente
¿Por qué descargar de ftp.mirrorservice.org en lugar de ftp.gnu.org? También debe descargar y verificar el .sigarchivo correspondiente (la firma pgp).
Keith Thompson
La configuración como se muestra sin --prefix se instalará en / usr / local / que puede o no adelantarse a su instalación original de gcc en PATH
tim18
1
make -j $(nproc)
Chepe Questn
2
Esto me tomó más de 4 horas compilar y más de 6 GB de espacio en el disco duro.
iDevFS
Como sugirió tim18, ¿es seguro correr make && make installsin él --prefix? Si lo hace, todo está instalado en /usr/ni siquiera /usr/local, verifique el config.log:Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info ...
Celdor
6

El mejor enfoque para usar yum y actualizar su conjunto de herramientas es utilizar el repositorio de pruebas CentOS SCLo RH.

yum install centos-release-scl-rh
yum --enablerepo=centos-sclo-rh-testing install devtoolset-7-gcc devtoolset-7-gcc-c++

También hay muchos paquetes adicionales disponibles, para verlos todos

yum --enablerepo=centos-sclo-rh-testing list devtoolset-7*

Puede usar este método para instalar cualquier versión de la herramienta de desarrollo, simplemente cambie la 7 por la versión deseada. devtoolset-6-gcc, devtoolset-5-gcc, etc.

Teshy
fuente
6

Puede usar el repositorio centos-sclo-rh-testing para instalar GCC v7 sin tener que compilarlo para siempre, también habilitar V7 de forma predeterminada y permitirle cambiar entre diferentes versiones si es necesario.

sudo yum install -y yum-utils centos-release-scl;
sudo yum -y --enablerepo=centos-sclo-rh-testing install devtoolset-7-gcc;
echo "source /opt/rh/devtoolset-7/enable" | sudo tee -a /etc/profile;
source /opt/rh/devtoolset-7/enable;
gcc --version;
usuario1855153
fuente
Si bien este código puede responder la pregunta, es mejor explicar cómo resolver el problema y proporcionar el código como ejemplo o referencia. Las respuestas de solo código pueden ser confusas y carecer de contexto.
Robert Columbia
Lamentablemente, esta solución no actualiza el /usr/lib64/libstdc++.soarchivo para que tenga los símbolos más nuevos.
escamoso
-11

Comando para instalar GCC y herramientas de desarrollo en un servidor CentOS / RHEL 7

Escriba el siguiente comando yum como usuario root:

yum group instala "Herramientas de desarrollo"

O

sudo yum group instala "Herramientas de desarrollo"

Si el comando anterior falló, intente:

yum groupinstall "Herramientas de desarrollo"

Saddam ZEMMALI
fuente