Помилка встановлення nvidia-387: Помилка! Неправильний стан повернення для складання модуля на ядрі:


9

Я намагаюся встановити nvidia-387 на свій свіжий Ubuntu 16.04.

Після запуску sudo apt-get install nvidia-387я завжди отримую такі результати:

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)

Під час моїх пошуків я виявив багато проблем, які вказували на неправильну версію gcc, але після декількох спроб я не зміг знайти шлях: після цієї дискусії я спробував з gcc 4.8 / 4-9 / 5.4 / 6 без удачі.

Будь-яка допомога?

Дуже дякую.

Відповіді:


9

Схоже, проблема викликана деяким переміщенням заголовків Linux у деяких останніх оновленнях ядра Linux.

Відповідна дискусія: https://devtalk.nvidia.com/default/topic/1028016/linux/patch-for-compiling-v384-98-modules-with-linux-v4-14-9-/

У мене була та сама проблема, і я її виправив, застосувавши патч, запропонований користувачем PGNd, в обговоренні вище.

Покрокова інструкція щодо ручного редагування файлів nvidia src на Ubuntu 16.04:

  1. sudo apt-get install nvidia-387 (це не вдасться)
  2. sudo nano /usr/src/nvidia-387-387.26/nvidia-uvm/uvm8_va_block.c (слід замінити nvidia-387-387.26версію, яку ви намагаєтесь встановити.)
  3. Додайте рядок #include <linux/sched/task_stack.h>перед іншими, включаючи заяви на початку файлу
  4. Запустіть, sudo dpkg-reconfigure nvidia-387щоб відновити драйвер nvidia
  5. Перезавантажте

Це має працювати як тимчасове вирішення, поки nvidia не випустить виправлення. Мені вдалося встановити cuda-9.1 після цього.


1
Це прекрасно спрацювало, ти мене врятував! Дуже дякую!
luke035

Це спрацювало! Для нащадків це також може спричинити цикл входу. Ви, можливо, опинилися в цій ситуації, намагаючись встановити драйвери nvidia (у моєму випадку, щоб запустити CUDA 9.1) до того, як нова версія 16.04 буде повністю оновлена. Спочатку драйвери, можливо, працювали (на старшому ядрі), але потім оновлення до 14.3.x залишило їх у такому розбитому стані.
Ян Данфорт

0

@ відповідь adikus для мене не спрацювала. Навіть після додавання заголовка помилка збірки продовжує відбуватися. Що вирішило для мене проблему - оновлення версії драйверів до 410 :

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

Компіляція для цієї версії вдалася, і тепер я можу ще раз грати в ігри.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.