web-dev-qa-db-ja.com

Ubuntu 16.04 Cuda 8.deb満たされていない依存関係エラー

$ Sudo dpkg -i cuda-repo-ubuntu1604-8-0-local-ga2_8.0.61-1_AMD64.deb
$ Sudo dpkg -i cuda-repo-ubuntu1604-8-0-local-cublas-performance-update_8.0.61-1_AMD64.deb
$ Sudo apt-get update
$ Sudo apt-get install cuda-8-0

いくつかのubuntマシンで.debファイルと上記のコマンドを使用してcuda 8をインストールしました。しかし、新しいGPUサーバーマシンでこれを試してみると、次のエラーが発生しました。 (私のUbuntuバージョンは16.04.2 LTSです)

gpu01@MLILAB:~/Downloads$ Sudo apt-get install cuda-8-0
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 cuda-8-0 : Depends: cuda-toolkit-8-0 (>= 8.0.61) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

同じエラーに苦しんだり、解決方法を知っている人はいますか?

あなたの助けが必要です :)

(他のバージョンT.Tの代わりにCUDA 8を使用する必要があります)

1
user3669672

すでに成功していることを願っています。私は同じエラーを受け取り、最終的に成功しました。

あなたが引用したコマンドに従って私がしたこと:

インストールした2つのパッケージを削除しました。

# apt list --installed | grep -i cuda
cuda-repo-ubuntu1604-8-0-local-cublas-performance-update/now 8.0.61-1 AMD64 [installed,local]
cuda-repo-ubuntu1604-8-0-local-ga2/now 8.0.61-1 AMD64 [installed,local]

# apt remove cuda-repo-ubuntu1604-8-0-local-ga2
# apt remove cuda-repo-ubuntu1604-8-0-local-cublas-performance-update
# rm /etc/apt/sources.list.d/cuda-8-0-local-ga2.list
# rm /etc/apt/sources.list.d/cuda-8-0-local-cublas-performance-update.list

CUDA Toolkit 8.0-2017年2月 ダウンロードWebページで、今回は、deb(ローカル)ではなくLinux-> x86_64-> Ubuntu-> 16.04-> deb(ネットワーク)を選択します。次に、ダウンロードしたdebパッケージ(2.6Kバイト)をインストールしました

# dpkg -i cuda-repo-ubuntu1604_8.0.61-1_AMD64.deb
# apt list --installed | grep -i cuda
cuda-repo-ubuntu1604/now 8.0.61-1 AMD64 [installed,local]

CUDAネットワークリポジトリを指すファイルをインストールしました。

# cat /etc/apt/sources.list.d/cuda.list
deb http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64 /

ここで、CUDA 8のインストールを再試行しました。

# aptitude install cuda-8-0
...

# apt list --installed | grep -i cuda
cuda-8-0/unknown,now 8.0.61-1 AMD64 [installed]
cuda-command-line-tools-8-0/unknown,now 8.0.61-1 AMD64 [installed,automatic]
cuda-core-8-0/unknown,now 8.0.61-1 AMD64 [installed,automatic]
...

CUDA Toolkit 8.0のインストールは、依存関係エラーなしで成功しました。

私が学んだこと

cuda-repo-ubuntu1604-8-0-local-ga2_8.0.61-1_AMD64.debをインストールすると、ディレクトリにCUDAローカルリポジトリが設定され、/var/cuda-repo-8-0-local-ga2/etc/apt/sources.list.d/cuda-8-0-local-ga2.listがそのリポジトリを指しているようです。 apt-get install cudaはそのディレクトリからdebパッケージを取得します。そのリポジトリの依存関係の要件に関連するパッケージがいくらか欠落しているようです。対照的に、CUDAネットワークリポジトリは、そのようなローカルリポジトリと比較してより多くのパッケージを持っている場合があり、依存関係の要件を解決します。しかし、それは私の推測です。

2017年12月現在、aptitude install cudaはcuda-9.1をインストールするため、CUDA 8を使用する場合はcuda-8-0を明示的に指定する必要があります。

単なる追加情報。 CUDAリポジトリの署名キーを誤って削除し、apt-get update中にエラーに直面しました。

# apt-key del 7FA2AF80
# apt-get update
  The following signatures couldn't be verified because the public key is not available: NO_PUBKEY F60F4B3D7FA2AF80
  ...

再インストールすると、この小さな問題が解決しました。

# wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1604/x86_64/7fa2af80.pub
# apt-key add 7fa2af80.pub
# apt-get update
Reading package lists... Done

この記事が、同じエラーに遭遇した人の助けになることを願っています。ありがとうございました。

2
Tora