Я пытаюсь установить 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 безуспешно.
Любая помощь?
Большое спасибо.
Похоже, что причина в некоторой перестановке заголовков 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:
sudo apt-get install nvidia-387
(это не удастся) sudo nano /usr/src/nvidia-387-387.26/nvidia-uvm/uvm8_va_block.c
(вам следует заменить nvidia-387-387.26
с версией, которую вы пытаетесь установить.) #include <linux/sched/task_stack.h>
, прежде чем другие операторы include в начале файла sudo dpkg-reconfigure nvidia-387
, чтобы пересобрать драйвер nvidia Это должно работать как временное решение, пока nvidia не выпустит исправление. После этого я смог установить cuda-9.1.
Ответ @ adikus мне не помог. Даже после добавления заголовка ошибка сборки продолжает происходить. Для меня исправлена проблема с обновлением версии драйверов до 410 :
sudo apt-get update
sudo apt-get install nvidia-410
Компиляция для этой версии прошла успешно, и теперь я снова могу играть в игры.