Ubunt 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

Я установил cuda 8 с помощью команд.deb file и выше на нескольких компьютерах с Ubunt. Но когда я попробовал это на моем новом сервере с графическим процессором, я столкнулся со следующей ошибкой. (Моя версия 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.

Есть ли кто-нибудь, кто перенес такую ​​же ошибку или знает, как ее решить?

Мне нужна ваша помощь:)

(Я должен использовать CUDA 8 вместо другой версии TT)

1 ответ

Я надеюсь, что вы уже преуспели. Я получил ту же ошибку и в конце концов удалось.

Что я делал, следуя приведенным вами командам:

Я удалил два пакета, которые я только что установил:

# 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 г. на этот раз я выбираю Linux -> x86_64 -> Ubuntu -> 16.04 -> deb (сеть) вместо deb (локальная). Затем установил скачанный пакет deb (2.6K byte)

# 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 года, aptitude install cuda установит cuda-9.1, поэтому нам нужно будет явно указать cuda-8-0, если мы используем CUDA 8.

Просто дополнительная информация. Я по ошибке удалил ключ подписи для репозитория 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

Надеюсь этот пост поможет тем, кто сталкивается с такими же ошибками. Спасибо.

Другие вопросы по тегам