Estoy intentando compilar Cuda 10.2 y, como era de esperar, gcc-10 no funcionará para compilarlo. Cuando usaba 20.04 era simple: agregar repositorio biónico, actualizar, instalar, actualizar alternativas. Usando 21.04 no puedo hacer que nada funcione.
Probé con los repositorios 'principal' y 'universo' de xenial y bionic, lo que arroja un error sobre PUBKEY. Obtuve los PUBKEY del servidor de claves de ubuntu y actualicé la lista de paquetes, sin errores.
sudo apt install g++-6
Package g++-6 is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
E: Package 'g++-6' has no installation candidate
fuentes.lista ->
deb http://archive.ubuntu.com/ubuntu hirsute restricted main multiverse universe
deb http://archive.ubuntu.com/ubuntu hirsute-updates restricted main multiverse universe
deb http://archive.ubuntu.com/ubuntu hirsute-security restricted main multiverse universe
# gcc-6
deb [allow-insecure=yes] http://dk.archive.ubuntu.com/ubuntu/ bionic main universe
#deb [allow-insecure=yes] http://dk.archive.ubuntu.com/ubuntu/ xenial main universe
¿Alguien sabe cómo puedo lograr esto usando Ubuntu 21.04? Cada publicación que he leído dice que agregue los repositorios bionic o xenial, actualice e instale. No he tenido suerte hasta ahora.
Respuesta1
Tomé los paquetes (.deb) que necesitaba al explorar los repositorios de Ubuntuaquí.
Aquí hay una lista de los paquetes .deb que necesitaba para instalar manualmente gcc/g++ 6. Instálelos en el orden de la lista. Esto supone que tiene la mayoría de las herramientas necesarias para compilar y solo busca cambiar las versiones predeterminadas de gcc.
sudo apt install ./libisl19_0.19-1_amd64.deb
sudo apt install ./gcc-6-base_6.4.0-17ubuntu1_amd64.deb
sudo apt install ./cpp-6_6.4.0-17ubuntu1_amd64.deb
# you can grab this next package from 21.04 repos, it handles a lot of the dependancies.
sudo apt install libgcc-6-dev
# Finally
sudo apt install ./gcc-6_6.4.0-17ubuntu1_amd64.deb
# GCC-6 is now installed, you can test by gcc-6 -v
baudneo@ZMES-test:~$ gcc-6 -v
gcc version 6.4.0 20180424 (Ubuntu 6.4.0-17ubuntu1)
# Now for G++ 6
sudo apt install ./libstdc++-6-dev_6.4.0-17ubuntu1_amd64.deb
sudo apt install ./g++-6_6.4.0-17ubuntu1_amd64.deb
# G++-6 is now installed! test by g++-6 -v
baudneo@ZMES-test:~$ g++-6 -v
gcc version 6.4.0 20180424 (Ubuntu 6.4.0-17ubuntu1)
# Now it is time to configure the system to use GCC G++ 6
# This assumes you do not have other versions of gcc and g++ installed for other projects
sudo update-alternatives --remove-all gcc
sudo update-alternatives --remove-all g++
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-6 100
sudo update-alternatives --set cc /usr/bin/gcc
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-6 100
sudo update-alternatives --set c++ /usr/bin/g++
# When you want to revert these back to default gcc-10
sudo update-alternatives --remove-all gcc
sudo update-alternatives --remove-all g++
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-10 100
sudo update-alternatives --set cc /usr/bin/gcc
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-10 100
sudo update-alternatives --set c++ /usr/bin/g++