Error al instalar nvidia-387: ¡Error! Mal estado de retorno para la compilación del módulo en el núcleo:

9

Estoy tratando de instalar nvidia-387 en mi nuevo Ubuntu 16.04.

Una vez que inicio sudo apt-get install nvidia-387, siempre termino en los siguientes resultados:

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 mis búsquedas, encontré muchos problemas que apuntaban a una versión incorrecta de gcc, pero después de varios intentos no pude encontrar el camino a seguir: después de esta discusión probé con gcc 4.8 / 4-9 / 5.4 / 6 sin suerte.

¿Alguna ayuda?

Muchas gracias.

luke035
fuente

Respuestas:

9

Parece que el problema es causado por una combinación aleatoria de encabezados de Linux en algunas actualizaciones recientes del kernel de Linux.

Discusión relevante: https://devtalk.nvidia.com/default/topic/1028016/linux/patch-for-compiling-v384-98-modules-with-linux-v4-14-9-/

Tuve exactamente el mismo problema y lo solucioné aplicando el parche sugerido por el usuario PGNd en la discusión anterior.

Instrucciones paso a paso para la edición manual de los archivos nvidia src en Ubuntu 16.04:

  1. sudo apt-get install nvidia-387 (esto fallará)
  2. sudo nano /usr/src/nvidia-387-387.26/nvidia-uvm/uvm8_va_block.c (debe reemplazarlo nvidia-387-387.26con la versión que está intentando instalar).
  3. Agregue la línea #include <linux/sched/task_stack.h>antes de las otras declaraciones de inclusión al comienzo del archivo
  4. Ejecute sudo dpkg-reconfigure nvidia-387para reconstruir el controlador nvidia
  5. Reiniciar

Esto debería funcionar como una solución temporal hasta que nvidia lance una solución. Pude instalar cuda-9.1 después de hacer esto.

adikus
fuente
1
Funcionó perfectamente, me salvaste! ¡Muchas gracias!
luke035
Esto funcionó! Para la posteridad, esto también puede causar un bucle de inicio de sesión. Es posible que se haya encontrado en esta situación al intentar instalar los controladores de nvidia (en mi caso, para que CUDA 9.1 se ejecute) antes de que una instalación nueva de 16.04 se actualice por completo. Inicialmente, los controladores pueden haber funcionado (en un kernel anterior) pero luego la actualización a 14.3.x los dejó en este estado roto.
Ian Danforth
0

La respuesta de @ adikus no funcionó para mí. Incluso después de agregar el encabezado, el error de compilación continúa ocurriendo. Lo que solucionó el problema para mí fue actualizar la versión de los controladores a 410 :

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

La compilación de esta versión tuvo éxito y ahora puedo volver a jugar.

Sergio
fuente