Erro ao instalar nvidia-387: Erro! Status de retorno incorreto para a construção do módulo no kernel:

9

Estou tentando instalar a nvidia-387 no meu novo Ubuntu 16.04.

Depois do lançamento sudo apt-get install nvidia-387, sempre acabo nas seguintes saídas:

Building initial module for 4.13.0-26-generic
Error! Bad return status for module build on kernel: 4.13.0-26-generic (x86_64)

Durante minhas pesquisas, encontrei muitos problemas apontando para uma versão errada do gcc, mas após várias tentativas não consegui encontrar um caminho a seguir: após essa discussão, tentei com o gcc 4.8 / 4-9 / 5.4 / 6 sem sorte.

Qualquer ajuda?

Muito obrigado.

luke035
fonte

Respostas:

9

Parece que o problema foi causado por uma confusão de cabeçalhos do linux em algumas atualizações recentes do kernel do linux.

Discussão relevante: https://devtalk.nvidia.com/default/topic/1028016/linux/patch-for-compiling-v384-98-modules-with-linux-v4-14-9-/

Eu tive exatamente o mesmo problema e o corrigi aplicando o patch sugerido pelo usuário PGNd na discussão acima.

Instruções passo a passo para edição manual dos arquivos nvidia src no Ubuntu 16.04:

  1. sudo apt-get install nvidia-387 (isso falhará)
  2. sudo nano /usr/src/nvidia-387-387.26/nvidia-uvm/uvm8_va_block.c (você deve substituir nvidia-387-387.26pela versão que está tentando instalar.)
  3. Adicione a linha #include <linux/sched/task_stack.h>antes das outras instruções de inclusão no início do arquivo
  4. Execute sudo dpkg-reconfigure nvidia-387para reconstruir o driver da nvidia
  5. Reiniciar

Isso deve funcionar como uma solução temporária até a nvidia lançar uma correção. Eu consegui instalar o cuda-9.1 depois de fazer isso.

adikus
fonte
11
Funcionou perfeitamente, você me salvou! Muito obrigado!
luke035
Isso funcionou! Para a posteridade, isso também pode causar um loop de login. Você pode ter se encontrado nessa situação tentando instalar os drivers da nvidia (no meu caso, para executar o CUDA 9.1) antes de uma nova instalação do 16.04 ser totalmente atualizada. Inicialmente, os drivers podem ter parecido funcionar (em um kernel antigo), mas a atualização para 14.3.x os deixou nesse estado de falha.
Ian Danforth
0

A resposta do @ adikus não funcionou para mim. Mesmo após adicionar o cabeçalho, o erro de compilação continua ocorrendo. O que corrigiu o problema para mim foi atualizar a versão dos drivers para 410 :

sudo apt-get update
sudo apt-get install nvidia-410

A compilação para esta versão foi bem-sucedida e agora posso jogar novamente.

Sergio
fonte