在我的机器上更新某些软件包(使用aptitude
)后,我收到以下错误:
Error! Bad return status for module build on kernel: 3.8.0-37-generic (x86_64)
Consult /var/lib/dkms/openafs/1.6.1/build/make.log for more information.
只需提示即可
run-parts: executing /etc/kernel/header_postinst.d/dkms 3.8.0-37-generic /boot/vmlinuz-3.8.0-37-generic
我查看了日志文件。我注意到的第一个错误位于第 458 行,如下所示:
/var/lib/dkms/openafs/1.6.1/build/src/afs/afs_osi.h:14:21: fatal error: h/param.h: No such file or directory
此错误导致编译终止并且脚本退出并出现错误代码 2。
除此之外,更新一切正常。此外,在 aptitude 中我没有看到任何要安装的剩余软件包(它显示“没有计划安装、删除或升级的软件包”)。所以我的问题是:我应该担心吗?更新真的出了什么问题吗?如果是:我应该怎么做才能修复它?
编辑:输出uname -srvmpio
:
Linux 3.8.0-36-generic #52~precise1-Ubuntu SMP Mon Feb 3 21:54:46 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
这是 ubuntu 12.04.4 LTS。
更新
我以为安装后linux-generic
问题就解决了。一开始看起来是这样的,但过了一周多,仍然在linux-generic
安装,系统更新时出现以下错误,几乎和旧错误一样:
Error! Bad return status for module build on kernel: 3.8.0-38-generic (x86_64)
Consult /var/lib/dkms/openafs/1.6.1/build/make.log for more information.
再次,第 458 行显示此错误:
/var/lib/dkms/openafs/1.6.1/build/src/afs/afs_osi.h:14:21: fatal error: h/param.h: No such file or directory
所以我倾向于相信问题出在其他地方。
答案1
OpenAFS 客户端 12.04.4 版本不支持 12.04.4 内核。请参阅错误 1206387。具体来说,OpenAFS 1.6.1 不支持 Linux 内核 3.8,并且使其支持该内核的相关补丁尚未准确地被挑选到官方软件包中。
作为一种解决方法,我相信你可以使用它OpenAFS PPA。
答案2
尝试这个:
通用的:
sudo dkms remove <module>/<version#> --all
具体例子:
sudo dkms remove openafs/1.6.1 --all
完成上述步骤后,升级到新的Linux-Generic标头。
sudo apt-get install -f --reinstall linux-headers-generic
重启系统。通过新标题登录后,将 openafs 重新安装到系统中。注意:您可能会遇到如上所述的兼容性问题。
警告:请不要删除之前的 Linux 标头,直到您确认当前的 Linux 标头运行良好。