Установить gcc/g++ 6 на Ubuntu 21.04

Установить gcc/g++ 6 на Ubuntu 21.04

Я пытаюсь скомпилировать Cuda 10.2 и, как и ожидалось, gcc-10 не будет работать для его компиляции. При использовании 20.04 это было просто: добавить репозиторий Bionic, обновить, установить, обновить альтернативы. Используя 21.04, я не могу заставить что-либо работать.

Я пробовал с репозиториями xenial и bionic 'main' и 'universe', которые выдают ошибку о PUBKEY. Я получил PUBKEY с сервера ключей ubuntu и обновил список пакетов, ошибок нет.

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

источники.список ->

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

Кто-нибудь знает, как мне добиться этого с помощью Ubuntu 21.04? В каждом посте, который я прочитал, говорится, что нужно добавить репозитории bionic или xenial, обновить, установить. Пока что мне это не удалось.

решение1

Я взял нужные мне пакеты (.deb) из репозиториев Ubuntu.здесь.

Вот список пакетов .deb, которые мне понадобились для ручной установки gcc/g++ 6. Устанавливайте в порядке списка. Это предполагает, что у вас есть большинство инструментов, необходимых для компиляции, и вы просто хотите переключить версии 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++

Связанный контент