错误安装nvidia-387:错误!在内核上构建模块的错误返回状态:


9

我正在尝试在新的Ubuntu 16.04上安装nvidia-387。

启动后,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试过没有任何的运气。

有什么帮助吗?

非常感谢你。

Answers:


9

看起来问题出在最近的Linux内核更新中,是由于linux头的改组。

相关讨论:https : //devtalk.nvidia.com/default/topic/1028016/linux/patch-for-compiling-v384-98-modules-with-linux-v4-14-9-/

我遇到了完全相同的问题,并通过应用用户PGNd 在上述讨论中建议的补丁来解决此问题。

在Ubuntu 16.04上手动编辑nvidia src文件的分步说明:

  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>在文件开头的其他include语句之前添加该行
  4. 运行sudo dpkg-reconfigure nvidia-387以重建nvidia驱动程序
  5. 重启

在nvidia发布修复程序之前,这应该是一个临时解决方法。完成此操作后,我能够安装cuda-9.1。


1
效果很好,您救了我!非常感谢!
luke035 '18

这工作了!为了后代,这也可能导致登录循环。在全新安装16.04之前,您可能会尝试安装nvidia驱动程序(以运行CUDA 9.1的方式),从而发现自己处于这种情况。最初,驱动程序似乎可以正常运行(在较旧的内核上),但随后更新至14.3.x使其处于这种损坏状态。
伊恩·丹佛斯

0

@adikus的答案对我不起作用。即使添加了标头之后,构建错误仍然继续发生。对我而言,解决此问题的原因是将驱动程序的版本升级到410

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

此版本的编译成功,现在我可以再次玩游戏。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.