$ 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)
Что я делал, следуя приведенным вами командам:
Я удалил два пакета, которые только что установил:
# 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 - Feb 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
Надеюсь, этот пост поможет тем, кто сталкивается с такими же ошибками. Спасибо.