web-dev-qa-db-fra.com

Ubuntu 16.04 Cuda 8.deb unmet dependencies error

$ 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

J'ai installé cuda 8 en utilisant le fichier .deb et les commandes ci-dessus sur plusieurs machines Ubunt. Mais lorsque j'ai essayé ceci sur mon nouveau serveur GPU, j'ai rencontré l'erreur suivante. (Ma version Ubuntu est 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.

Y a-t-il quelqu'un qui a subi la même erreur ou sait comment le résoudre?

J'ai besoin de ton aide :)

(Je dois utiliser CUDA 8 au lieu d'une autre version T.T)

1
user3669672

J'espère que vous avez déjà réussi. J'ai eu la même erreur et finalement réussi.

Ce que j'ai fait en suivant les commandes que vous avez citées:

J'ai enlevé les deux paquets que je viens d'installer:

# 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

Dans la page Web CUDA Toolkit 8.0 - Feb 2017 download, j'ai choisi Linux -> x86_64 -> Ubuntu -> 16.04 -> deb (réseau), au lieu de deb (local). Puis installé le paquet deb téléchargé (2,6 Ko)

# 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]

Il a installé un fichier pointant sur le référentiel réseau CUDA.

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

Maintenant, essayez à nouveau d'installer 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]
...

L'installation de CUDA Toolkit 8.0 a réussi sans erreur de dépendance.

Ce que j'ai appris

Il semble que l'installation de cuda-repo-ubuntu1604-8-0-local-ga2_8.0.61-1_AMD64.deb configure un référentiel local CUDA dans le répertoire /var/cuda-repo-8-0-local-ga2 et /etc/apt/sources.list.d/cuda-8-0-local-ga2.list pointe vers ce référentiel. apt-get install cuda prendra alors les paquets deb de ce répertoire. J'imagine qu'il semble qu'il manque quelque chose de paquet lié aux exigences de dépendance dans ce référentiel. En revanche, le référentiel réseau CUDA pourrait avoir plus de packages que ce référentiel local, ce qui répondrait aux exigences de dépendance. C'est juste ma supposition, cependant.

À compter d'aujourd'hui, en décembre 2017, aptitude install cuda installera cuda-9.1. Nous devrons donc spécifier explicitement cuda-8-0 si nous utilisons CUDA 8.

Juste des informations supplémentaires. J'ai supprimé par erreur une clé de signature pour le référentiel CUDA et j'ai rencontré une erreur lors de 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
  ...

La réinstallation a résolu ce petit problème.

# 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

J'espère que ce post aidera ceux qui rencontrent les mêmes erreurs. Je vous remercie.

2
Tora