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

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

我正在尝试在全新的 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,但没有成功。

有什么帮助吗?

非常感谢。

答案1

该问题似乎是由最近的 Linux 内核更新中 Linux 标头的一些变动引起的。

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

我遇到了完全相同的问题,我通过应用用户建议的补丁修复了它前列腺素 在上面的讨论中。

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

在 nvidia 发布修复之前,这应该可以作为临时解决方法。执行此操作后,我能够安装 cuda-9.1。

答案2

@adikus 的答案对我不起作用。即使添加了标头,构建错误仍然会发生。对我来说,解决问题的方法是将驱动程序版本升级到410

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

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

相关内容