Tengo un servidor RHEL 6 con gcc versión 4.4.7. Quería actualizar la versión de gcc (creo que la actual es 4.8). La actualización de Yum no funciona. Además, SO responde a una pregunta similar sobre CentOS que no funciona. Seguí los métodos en la respuesta aceptada, el resultado es "Error al obtener datos del repositorio para testing-1.1-devtools-6, no se encontró el repositorio". Además, no estoy seguro de si debo seguir los métodos para CentOs.
¿Alguien ha actualizado gcc en el servidor RHEL 6 x86_64?
Respuestas:
El método más fácil con diferencia es utilizar una compilación binaria que se proporciona a través de un repositorio YUM.
Una de esas opciones sería usar el repositorio hop5.in. Específicamente esta página: gcc - Varios compiladores (C, C ++, Objective-C, Java, ...) . Están proporcionando 4.8.2 que debería funcionar con CentOS 6.3 o 6.4. Es posible que desee hacer una actualización antes:La otra opción sería utilizar Developer Toolset , específicamente la versión incluida proporcionada por Scientific Linux.
Siguiendo las instrucciones de instalación , básicamente realizará los siguientes 2 pasos:
agregar repositorios instalar devtoolsetActualización n. ° 1
Parece que el repositorio hop5.in YUM se ha eliminado, por lo que el único recurso es utilizar el método devtoolset resaltado anteriormente.
En GitHub Gist se destacan ejemplos adicionales para la instalación a través de devtoolset: Instalación de gcc 4.8 y Linuxbrew en CentOS 6 .
fuente
http://ftp.scientificlinux.org/linux/scientific/5x/x86_64/RPM-GPG-KEYs/RPM-GPG-KEY-cern
. Me encanta que el sitio no tenga https. Así se hace scilinux. Después de descargarlo (directorio tmp o donde sea), impórtalo conrpm --import RPM-GPG-KEY-cern
y luego hazloyum install.
devtoolset-2-gcc
(al menos para mí) instaló una docena de paquetes y una descarga de 35 MB, frente a 280 paquetes y 575 MB de descargayum install devtoolset-2
.Red Hat Software Collections viene con GCC 4.9, puede considerar habilitar ese canal.
fuente
He construido versiones más nuevas de gcc para rhel6 para varias versiones ahora (desde 4.7.x hasta 5.3.1).
El proceso es bastante fácil gracias a las compilaciones de ghat de Redhat Jakub Jelinek fedora que se encuentran en koji
Simplemente tome las últimas rpm src para la versión que necesite (por ejemplo, 5.3.1 ).
Básicamente, comenzaría determinando los requisitos de compilación al
rpm -qpR src.rpm
buscar cualquier requisito de versión:Ahora viene la parte tediosa: cualquier paquete que tenga una versión superior a la proporcionada por yum fro su distribución debe descargarse de koji y repetir el proceso de forma recursiva hasta que se cumplan todos los requisitos de dependencia.
Hago trampa, por cierto.
Por lo general, vuelvo a empaquetar las rpm para contener un árbol de compilación correcto usando la función gnu para usar los requisitos correctamente colocados y nombrados, por lo que gmp / mpc / mpfr / isl (ya no se requiere cloog) se descargan y se desatrancan en la ruta correcta, y el nuevo (hinchado) tar se reconstruye en un nuevo src rpm (con pequeños cambios en el archivo de especificaciones) sin dependencia de sus versiones empaquetadas (rpm). Como no conozco a nadie que use ADA, simplemente elimino las porciones pertenecientes al mosquito del archivo de especificaciones, simplificando aún más el proceso de compilación, dejándome con solo binutils de los que preocuparme.
Gcc en realidad puede compilarse con binutils anteriores, por lo que si tiene prisa, edite más el archivo de especificaciones para requerir la versión binutils ya presente en su sistema. Esto dará como resultado un gcc ligeramente lisiado, pero sobre todo funcionará lo suficientemente bien.
Esto funciona bastante bien en su mayoría.
ACTUALIZACIÓN 1
El método más simple para abrir un src rpm es probablemente instalar las rpm y acceder a todo en ~ / rpmbuild, pero prefiero
También tiene la opción de establecer el prefijo para que este rpm se instale lado a lado sin romper las rpm de la distribución (pero requiere cambiar el nombre y algunas modificaciones a los nombres internos del paquete). Por lo general, agrego un módulo de entorno para poder cargar y descargar este gcc según sea necesario (similar a cómo funcionan las colecciones) como parte de las rpm (así que agrego una nueva dependencia).
Finalmente, cree el árbol rpmbuild y coloque los archivos donde debería ir y compile:
ACTUALIZACIÓN 2
Normalmente, uno no debe usar un sistema operativo "servidor" para el desarrollo, es por eso que tiene Fedora, que ya viene con el último gcc. Tengo algunos requisitos particulares, pero realmente debería considerar usar la herramienta adecuada para la tarea: rhel / centos para ejecutar aplicaciones de producción, fedora para desarrollar esas aplicaciones, etc.
fuente
Hola chicos, esto es lo que hice (compilando desde cero). Sin ofender a otra respuesta, estoy seguro de que funciona, pero GCC es especialmente importante para la seguridad, así que prefiero compilar a partir de la fuente original y oficial:
Fuente: http://realtechtalk.com/GCC_5_on_Centos_6_How_To_Install-1965-articles
fuente
puede intentar gcc source buid. GCC requiere MPC, MPFR y GMP como requisitos previos. Para GCC 4.8, las dependencias de la versión son MPC 0.8 GMP 6.0 MPFR 2.4.2. Descargue los paquetes fuente e instale todos los paquetes en / usr / lib El orden de instalación es gmp, mpfr, mpc
fuente