安装 fglrx 时缺少“version.h”

安装 fglrx 时缺少“version.h”

我已从 ATI 驱动程序页面下载了 fglrx 驱动程序安装程序。

当我开始安装时,一切都很顺利,直到出现错误消息,告诉我检查/usr/share/ati/fglrx-install.log

该文件的内容如下:

检查系统是否有安装所需的工具。 fglrx 安装要求系统具有内核头文件。在此系统上找不到 /lib/modules/3.8.11-200.fc18.x86_64/build/include/linux/version.h。在系统上找不到安装所需的一个或多个工具。在安装 fglrx 驱动程序之前安装所需的工具。或者,使用 --force 选项运行安装程序以在不使用工具的情况下进行安装。强制安装将禁用 AMD 硬件加速,并可能使您的系统不稳定。不建议。

现在,经过一番搜索后,我发现调用的符号链接build指向/lib/modules/3.8.11-200.fc18.x86_64一个不存在的位置。

我安装了该kernel-devel软件包,现在它指向一个现有目录。

然而,在/lib/modules/3.8.11-200.fc18.x86_64/build/include/linux/目录中,填充了各种头文件 - 我找不到我需要的文件 - version.h

我怎么解决这个问题?我应该以不同的方式安装驱动程序吗?我可以安装哪个其他软件包来获取该version.h文件?

我正在运行 Fedora 18 的全新安装(默认),我今天更新了它。

答案1

安装内核头包并重试。如果不起作用,请尝试

cp -v /usr/include/linux/version.h /lib/modules/$(uname -r)/build/include/linux

答案2

我在 ubuntu/willy 上安装较新的 AMD 驱动程序时遇到了同样的问题:

fglrx 安装要求系统具有内核头文件。在此系统上找不到 /lib/modules/4.2.0-42-generic/build/include/linux/version.h。使用命令 apt-get install linux-headers-4.2.0-42-generic 安装内核头文件。

cp 和 ln 的答案很好,但首先您要做的是在系统上找到合适的 version.h 标头。例如使用(在 debian/ubuntu 上):

apt-file search version.h |  grep $(uname -r)
...
linux-headers-4.2.0-42-generic: /usr/src/linux-headers-4.2.0-42-generic/include/generated/uapi/linux/version.h

现在您才可以确保将正确的文件复制或链接到 AMD 想要的位置。就我而言:

cp -v /usr/src/linux-headers-4.2.0-42-generic/include/generated/uapi/linux/version.h /lib/modules/4.2.0-42-generic/build/include/linux

答案3

还可以链接头文件:

ln -S /lib/modules/$(uname -r)/build/include/linux/version.h /usr/include/linux/version.h

相关内容