Intenté muchas soluciones para instalar la actualización de mi compilador gcc en el servidor Debian. Ninguno de ellos funcionó. Necesito la actualización del compilador para usar las nuevas funciones de c ++ 11, ya que esto proporciona una ABI libcxx11 estable y un soporte estable para C ++ 11 (consulte aquí ). Específicamente obteniendo la versión 'GLIBCXX_3.4.21' que no está incluida en mi compilador actual gcc versión 4.9.2 (Debian 4.9.2-10).
Algunos consejos para la solución serán útiles. Gracias por adelantado.
Algunos enlaces al foro relacionados con mi problema que ya probé:
1 2 3 (la solución no completamente relacionada es para ubuntu, pero todavía no pude encontrar gcc-5 en el servidor ftp de debian)
testing
, pero probablemente no sea una buena idea en un servidor (dependiendo de lo que quiera decir con servidor, por supuesto). El cambio de gcc 4.9 a gcc 5 implicó una transición de biblioteca, por lo que te espera un mundo de dolor si intentas hacerlo tú mismo.testing
(usado solo): los paquetes a veces se eliminan temporalmente (por lo que la configuración que acaba de validar en su máquina virtual de prueba ya no está disponible fácilmente) , y las correcciones de seguridad pueden retrasarse (a veces por un tiempo prolongado sitesting
está experimentando una gran transición de biblioteca, aunque sí lo estesting-security
para tales casos).Respuestas:
Necesitaba instalar GCC 5+ en Debian Jessie y, como está disponible para las pruebas de Debian (al menos el 16 de junio), puede usar apt-pinning para instalar los paquetes disponibles allí (consulte https://wiki.debian.org/AptPreferences ) .
Para instalar GCC 5+ de las pruebas en Debian Jessica usando apt-pinning:
Agregue el repositorio de prueba de Debian a sus fuentes apt creando un archivo en el directorio que
/etc/apt/sources.list.d
contiene la líneadeb http://ftp.us.debian.org/debian testing main contrib non-free
Indique a Debian que use fuentes de prueba en ciertos paquetes creando un archivo que
/etc/apt/preferences.d
contenga lo siguiente:Actualizar la base de datos de apt:
sudo apt-get update
Instale gcc de la prueba:
sudo apt-get install -t testing gcc
Tenga en cuenta que al usar
-t testing
le dice a apt-get que instale gcc desde las fuentes de prueba como se configuró anteriormente.Le sugiero que limpie cualquier compilación y vuelva a compilar cualquier dependencia antes de volver a compilar sus fuentes.
¡Que te diviertas!
fuente
pip
) , pero creo que este procedimiento es el menos invasivo porqueapt
haría un seguimiento de qué paquetes dependen de GCC e instalará versiones compatibles según sea necesario (hasta donde puedo recordar).Pin-Priority
obtiene un paquete, más preferencia tendrá sobre otros paquetes con un número menor. Entonces, como en los estados de la página AptPrefences de Debian ,testing
de manera predeterminada,Pin-Priority: 900
todos los paquetestesting
se instalan de manera predeterminada. Por lo tanto, se especifica quetesting
tendrá unaPin-Priority: 100
disminuyetesting
los paquetes con prioridad por lo que sólo se instalable si se solicita cuando se especifica el objetivo enapt-get install -t testing ...
Package: gcc
actualizaciones de todo el sistema a las pruebas. La documentación sobreapt-prefences
es confusa, así que supongo que esto es lo que está sucediendo: 1: como los paquetes de prueba tienen versiones mayores, por defecto tienen prioridad sobre los estándar 2: Especificar paquete:gcc
conPin-priority: 100
todos los paquetes de prueba tienen prioridad predeterminada (superior a estándar) exceptogcc
. Exactamente lo contrario de lo que queríamos.Para combinar las 2 respuestas anteriores en una que funcione:
¡¡¡PERO!!! Use esto bajo su propio riesgo ya que está instalando paquetes inestables. Es posible que también desee eliminar
/etc/apt/sources.list.d/unstable.list
una vez que haya instalado los paquetes.Si es posible, instálelo en Docker para no estropear su sistema operativo. Su experiencia puede ser diferente.
fuente
A partir de 2017-02-19, gcc-5 se ha eliminado de las pruebas:
https://tracker.debian.org/pkg/gcc-5
Puede hacerlo
apt-get install gcc-5
si primero ejecuta esta línea como root:Entonces, es probable que desee cambiar la prioridad de esa fuente
/etc/apt/preferences.d
según la respuesta de llekn.fuente
Estaba teniendo problemas la semana pasada; parece que a partir del 2019-01-23 gcc-5 se ha eliminado por completo de los repositorios. (Ver https://tracker.debian.org/pkg/gcc-5 )
Si realmente lo necesita, supongo que podría compilarlo desde la fuente. Voy a encontrar una manera de eliminar la dependencia de mi sistema.
fuente