Ubunt 16.04 Cuda 8.deb erro de dependências não atendidas

1
$ 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

Eu instalei a cuda 8 usando o arquivo .deb e os comandos acima em várias máquinas ubunt. Mas quando tentei isso na minha nova máquina servidor GPU, encontrei o seguinte erro. (Minha versão do 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.

Existe alguém que tenha sofrido o mesmo erro ou saiba como resolvê-lo?

Preciso da sua ajuda:)

(devo usar CUDA 8 em vez de outra versão T.T)

    
por user3669672 03.12.2017 / 08:20

1 resposta

2

Espero que você já tenha conseguido. Eu recebi o mesmo erro e finalmente consegui.

O que eu fiz seguindo os comandos que você citou:

Eu removi os dois pacotes que acabei de instalar:

# 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

Na página de download da CUDA Toolkit 8.0 - fev 2017 , desta vez, eu escolho Linux - > x86_64 - > Ubuntu - > 16,04 - > deb (rede), em vez de deb (local). Em seguida, instalei o pacote deb baixado (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]

Instalou um arquivo apontando para o repositório de rede CUDA.

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

Agora, tente novamente instalar o 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]
...

A instalação do CUDA Toolkit 8.0 foi bem-sucedida sem qualquer erro de dependência.

O que aprendi

Parece que a instalação de cuda-repo-ubuntu1604-8-0-local-ga2_8.0.61-1_amd64.deb configura um repositório local CUDA no diretório /var/cuda-repo-8-0-local-ga2 e /etc/apt/sources.list.d/cuda-8-0-local-ga2.list aponta para esse repositório. apt-get install cuda irá então pegar os pacotes deb daquele diretório. Eu acho que parece estar faltando alguns pacotes relacionados aos requisitos de dependência nesse repositório. Em contraste, o repositório de rede CUDA pode ter mais pacotes em comparação com esse repositório local, o que resolverá os requisitos de dependência. Isso é apenas o meu palpite, no entanto.

A partir de hoje, dezembro de 2017, aptitude install cuda instalará o cuda-9.1, portanto, precisaremos especificar explicitamente cuda-8-0 se usarmos o CUDA 8.

Apenas informações adicionais. Eu, por engano, removi uma chave de assinatura para o repositório CUDA e enfrentei um erro durante 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
  ...

A reinstalação resolveu este pequeno problema.

# 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

Espero que este post ajude aqueles que encontrarem os mesmos erros. Obrigado.

    
por Tora 29.12.2017 / 02:13