
Ich versuche, Cuda 10.2 zu kompilieren, und vorhersehbar funktioniert die Kompilierung mit gcc-10 nicht. Bei Verwendung von 20.04 war es einfach: Bionic Repo hinzufügen, aktualisieren, installieren, Alternativen aktualisieren. Bei Verwendung von 21.04 kriege ich nichts zum Laufen.
Ich habe es mit den Xenial- und Bionic-Repos „main“ und „universe“ versucht, was einen Fehler bezüglich des PUBKEY auslöste. Ich habe die PUBKEYs vom Ubuntu-Keyserver erhalten und die Paketliste aktualisiert, keine Fehler.
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
Quellenliste ->
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
Weiß jemand, wie ich das mit Ubuntu 21.04 erreichen kann? In jedem Beitrag, den ich gelesen habe, steht, ich solle die Bionic- oder Xenial-Repos hinzufügen, aktualisieren und installieren. Bisher hatte ich kein Glück.
Antwort1
Ich habe mir die Pakete (.deb), die ich brauchte, aus den Ubuntu-Repos geholt.Hier.
Hier ist eine Liste der .deb-Pakete, die ich zur manuellen Installation von gcc/g++ 6 benötigte. Installieren Sie in der Reihenfolge der Liste. Dies setzt voraus, dass Sie über die meisten zum Kompilieren erforderlichen Tools verfügen und nur die Standardversionen von gcc ändern möchten.
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++