14 votos

Ubuntu 20.04 - versión de gcc inferior a gcc-7

Recientemente actualicé mi versión de Ubuntu a la última versión 20.04. Algunos de mis proyectos anteriores (desarrollados en 16.04) se estaban compilando bien con una versión de gcc 5 (gcc-5.4.0).

La versión predeterminada en Ubuntu 20.04 es gcc-9. Estoy tratando de cambiar mi versión de gcc a la 5. He consultado varios puestos como ¿Cómo puedo construir e instalar gcc-5.4.0 en Ubuntu 18.04? y ¿Cómo elegir la versión predeterminada de gcc y g++?, pero la verdad es que los paquetes de gcc-5 ni siquiera están disponibles para 20.04 (ver https://packages.ubuntu.com/search?keywords=gcc-5).

Como era de esperar, el comando

sudo apt install gcc-5  

no funciona. ¿Existe alguna forma de instalar gcc-5 (y gcc-4) en la última versión de Ubuntu 20.04? Parece que de alguna manera tendré que instalar paquetes que solo están disponibles en versiones anteriores como 16.04 o 18.04.

17voto

ayush jain Puntos 151

Como se menciona en la sección de comentarios, las versiones de GCC inferiores a 7 aún están disponibles en el repositorio xenial. Puedes seguir los siguientes pasos para instalar gcc-5:

  1. Agrega xenial a /etc/apt/sources.list

Abre sources.list con sudo

sudo vim /etc/apt/sources.list

Agrega las siguientes líneas en el archivo sources.list

deb http://dk.archive.ubuntu.com/ubuntu/ xenial main
deb http://dk.archive.ubuntu.com/ubuntu/ xenial universe

  1. sudo apt update
  2. sudo apt install g++-5 gcc-5

Respuesta de referencia: Instalar gcc 4.9 en ubuntu 18.04

Para cambiar la versión predeterminada de gcc a gcc 5, puedes seguir este enlace. A continuación, añado los pasos para completar.

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 5
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-5 5

Y luego selecciona la versión correcta manualmente como se muestra a continuación:

sudo update-alternatives --config gcc
sudo update-alternatives --config g++

Si encuentras útil esta respuesta, por favor considera también votar positivamente la respuesta de referencia de la cual se ha tomado la mayor parte de mi respuesta.

1voto

Alexander G. Puntos 111

La única solución que funcionó para mí es:

Instalación manual de paquetes .deb

(ruidos tristes de programador)

  1. Ir a http://old-releases.ubuntu.com/ubuntu/pool/universe/g/
  2. Descargar todos los paquetes .deb para la versión del compilador gcc que desee, por ejemplo:
gpc-2.1-3.4_3.4.6-6ubuntu5_amd64.deb
cpp-3.4_3.4.6-6ubuntu5_amd64.deb       lib32g2c0_3.4.6-6ubuntu5_amd64.deb
g++-3.4_3.4.6-6ubuntu5_amd64.deb       libg2c0_3.4.6-6ubuntu5_amd64.deb
g77-3.4_3.4.6-6ubuntu5_amd64.deb       libg2c0-dev_3.4.6-6ubuntu5_amd64.deb
gcc-3.4_3.4.6-6ubuntu5_amd64.deb       libstdc++6-dbg_3.4.6-6ubuntu5_amd64.deb
gcc-3.4-base_3.4.6-6ubuntu5_amd64.deb  libstdc++6-dev_3.4.6-6ubuntu5_amd64.deb
  1. Instálalos manualmente ejecutando el comando, por ejemplo:
sudo dpkg -i ./gcc-3.4-base_3.4.6-6ubuntu5_amd64.deb 
sudo dpkg -i ./cpp-3.4_3.4.6-6ubuntu5_amd64.deb
sudo dpkg -i ./gcc-3.4_3.4.6-6ubuntu5_amd64.deb

y así sucesivamente...

Revise los errores de dependencias de paquetes en la consola para averiguar el orden de instalación de los paquetes.

  • Si encuentra un error (probablemente un bug) sobre la dependencia cruzada del paquete "g++..." con el paquete "libstdc++..." y viceversa, entonces ejecute el comando de instalación para actualizar el paquete libstdc++ con el número de versión exacto, por ejemplo:
sudo apt-get install libstdc++6
  1. ¡Hurra! Utilice la versión instalada de gcc (g++) mediante, por ejemplo:
g++-3.4 -v

P.D.: si recibe errores de librerías faltantes, intente

export LIBRARY_PATH=/usr/lib/x86_64-linux-gnu:$LIBRARY_PATH

antes de la compilación

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X