Cuda 10.2 をコンパイルしようとしていますが、予想通り gcc-10 ではコンパイルできません。20.04 を使用したときは、bionic リポジトリを追加し、更新、インストール、代替の更新を行うだけで済みました。21.04 を使用すると、何も動作しません。
私は xenial と bionic の「main」および「universe」リポジトリの両方を試しましたが、PUBKEY に関するエラーが発生します。ubuntu キーサーバーから PUBKEY を取得し、パッケージ リストを更新しましたが、エラーは発生しませんでした。
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
Ubuntuリポジトリを閲覧して必要なパッケージ(.deb)を取得しましたここ。
以下は、gcc/g++ 6 を手動でインストールするために必要な .deb パッケージのリストです。リストの順序に従ってインストールしてください。これは、コンパイルに必要なツールのほとんどが揃っていて、デフォルトの 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++