我正在尝试在全新的 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 标头的一些变动引起的。
我遇到了完全相同的问题,我通过应用用户建议的补丁修复了它前列腺素 在上面的讨论中。
在 Ubuntu 16.04 上手动编辑 nvidia src 文件的分步说明:
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>
在文件开头的其他包含语句之前添加该行- 运行
sudo dpkg-reconfigure nvidia-387
重建 nvidia 驱动程序 - 重启
在 nvidia 发布修复之前,这应该可以作为临时解决方法。执行此操作后,我能够安装 cuda-9.1。
答案2
@adikus 的答案对我不起作用。即使添加了标头,构建错误仍然会发生。对我来说,解决问题的方法是将驱动程序版本升级到410:
sudo apt-get update
sudo apt-get install nvidia-410
此版本编译成功,我现在可以再次玩游戏了。