我今天编译了新内核,重新安装 DKMS 模块时 vboxhost-6.0.12_OSE 失败并出现此错误。
DKMS make.log for vboxhost-6.0.12_OSE for kernel 5.3.0gee (x86_64)
Mon 16 Sep 2019 01:17:15 PM CDT
make: Entering directory '/home/henry/kernelbuild/linux-5.3'
CC [M] /var/lib/dkms/vboxhost/6.0.12_OSE/build/vboxnetflt/linux/VBoxNetFlt-linux.o
CC [M] /var/lib/dkms/vboxhost/6.0.12_OSE/build/vboxpci/linux/VBoxPci-linux.o
CC [M] /var/lib/dkms/vboxhost/6.0.12_OSE/build/vboxnetflt/VBoxNetFlt.o
CC [M] /var/lib/dkms/vboxhost/6.0.12_OSE/build/vboxpci/VBoxPci.o
CC [M] /var/lib/dkms/vboxhost/6.0.12_OSE/build/vboxnetadp/linux/VBoxNetAdp-linux.o
CC [M] /var/lib/dkms/vboxhost/6.0.12_OSE/build/vboxnetflt/SUPR0IdcClient.o
CC [M] /var/lib/dkms/vboxhost/6.0.12_OSE/build/vboxpci/SUPR0IdcClient.o
CC [M] /var/lib/dkms/vboxhost/6.0.12_OSE/build/vboxdrv/linux/SUPDrv-linux.o
CC [M] /var/lib/dkms/vboxhost/6.0.12_OSE/build/vboxnetflt/SUPR0IdcClientComponent.o
CC [M] /var/lib/dkms/vboxhost/6.0.12_OSE/build/vboxpci/SUPR0IdcClientComponent.o
CC [M] /var/lib/dkms/vboxhost/6.0.12_OSE/build/vboxpci/linux/SUPR0IdcClient-linux.o
CC [M] /var/lib/dkms/vboxhost/6.0.12_OSE/build/vboxdrv/SUPDrv.o
CC [M] /var/lib/dkms/vboxhost/6.0.12_OSE/build/vboxdrv/SUPDrvGip.o
/var/lib/dkms/vboxhost/6.0.12_OSE/build/vboxdrv/linux/SUPDrv-linux.o: warning: objtool: VBoxDrvLinuxIOCtl_6_0_12()+0x94: call to VBoxHost_RTR0MemUserCopyFrom() with UACCESS enabled
CC [M] /var/lib/dkms/vboxhost/6.0.12_OSE/build/vboxdrv/SUPDrvSem.o
CC [M] /var/lib/dkms/vboxhost/6.0.12_OSE/build/vboxnetflt/linux/SUPR0IdcClient-linux.o
CC [M] /var/lib/dkms/vboxhost/6.0.12_OSE/build/vboxnetadp/VBoxNetAdp.o
CC [M] /var/lib/dkms/vboxhost/6.0.12_OSE/build/vboxdrv/SUPDrvTracer.o
CC [M] /var/lib/dkms/vboxhost/6.0.12_OSE/build/vboxdrv/SUPLibAll.o
LD [M] /var/lib/dkms/vboxhost/6.0.12_OSE/build/vboxnetadp/vboxnetadp.o
CC [M] /var/lib/dkms/vboxhost/6.0.12_OSE/build/vboxdrv/r0drv/alloc-r0drv.o
CC [M] /var/lib/dkms/vboxhost/6.0.12_OSE/build/vboxdrv/r0drv/initterm-r0drv.o
/var/lib/dkms/vboxhost/6.0.12_OSE/build/vboxnetflt/linux/VBoxNetFlt-linux.c: In function ‘vboxNetFltLinuxEnumeratorCallback’:
/var/lib/dkms/vboxhost/6.0.12_OSE/build/vboxnetflt/linux/VBoxNetFlt-linux.c:2126:9: error: implicit declaration of function ‘for_ifa’ [-Werror=implicit-function-declaration]
2126 | for_ifa(in_dev) {
| ^~~~~~~
/var/lib/dkms/vboxhost/6.0.12_OSE/build/vboxnetflt/linux/VBoxNetFlt-linux.c:2126:24: error: expected ‘;’ before ‘{’ token
2126 | for_ifa(in_dev) {
| ^~
| ;
cc1: some warnings being treated as errors
make[2]: *** [scripts/Makefile.build:280: /var/lib/dkms/vboxhost/6.0.12_OSE/build/vboxnetflt/linux/VBoxNetFlt-linux.o] Error 1
make[1]: *** [scripts/Makefile.build:497: /var/lib/dkms/vboxhost/6.0.12_OSE/build/vboxnetflt] Error 2
make[1]: *** Waiting for unfinished jobs....
CC [M] /var/lib/dkms/vboxhost/6.0.12_OSE/build/vboxdrv/r0drv/memobj-r0drv.o
CC [M] /var/lib/dkms/vboxhost/6.0.12_OSE/build/vboxdrv/r0drv/mpnotification-r0drv.o
LD [M] /var/lib/dkms/vboxhost/6.0.12_OSE/build/vboxpci/vboxpci.o
CC [M] /var/lib/dkms/vboxhost/6.0.12_OSE/build/vboxdrv/r0drv/powernotification-r0drv.o
CC [M] /var/lib/dkms/vboxhost/6.0.12_OSE/build/vboxdrv/r0drv/linux/assert-r0drv-linux.o
CC [M] /var/lib/dkms/vboxhost/6.0.12_OSE/build/vboxdrv/r0drv/linux/alloc-r0drv-linux.o
CC [M] /var/lib/dkms/vboxhost/6.0.12_OSE/build/vboxdrv/r0drv/linux/initterm-r0drv-linux.o
CC [M] /var/lib/dkms/vboxhost/6.0.12_OSE/build/vboxdrv/r0drv/linux/memobj-r0drv-linux.o
/var/lib/dkms/vboxhost/6.0.12_OSE/build/vboxdrv/SUPDrvTracer.o: warning: objtool: .text+0x7: indirect jump found in RETPOLINE build
/var/lib/dkms/vboxhost/6.0.12_OSE/build/vboxdrv/SUPDrvTracer.o: warning: objtool: supdrvTracerProbeFireStub() is missing an ELF size annotation
CC [M] /var/lib/dkms/vboxhost/6.0.12_OSE/build/vboxdrv/r0drv/linux/memuserkernel-r0drv-linux.o
CC [M] /var/lib/dkms/vboxhost/6.0.12_OSE/build/vboxdrv/r0drv/linux/mp-r0drv-linux.o
CC [M] /var/lib/dkms/vboxhost/6.0.12_OSE/build/vboxdrv/r0drv/linux/mpnotification-r0drv-linux.o
CC [M] /var/lib/dkms/vboxhost/6.0.12_OSE/build/vboxdrv/r0drv/linux/process-r0drv-linux.o
CC [M] /var/lib/dkms/vboxhost/6.0.12_OSE/build/vboxdrv/r0drv/linux/rtStrFormatKernelAddress-r0drv-linux.o
CC [M] /var/lib/dkms/vboxhost/6.0.12_OSE/build/vboxdrv/r0drv/linux/semevent-r0drv-linux.o
CC [M] /var/lib/dkms/vboxhost/6.0.12_OSE/build/vboxdrv/r0drv/linux/semeventmulti-r0drv-linux.o
/var/lib/dkms/vboxhost/6.0.12_OSE/build/vboxdrv/r0drv/linux/mp-r0drv-linux.c: In function ‘VBoxHost_RTMpOnAll’:
/var/lib/dkms/vboxhost/6.0.12_OSE/build/vboxdrv/r0drv/linux/mp-r0drv-linux.c:287:18: error: void value not ignored as it ought to be
287 | int rc = smp_call_function(rtmpLinuxAllWrapper, &Args, 0 /* wait */);
| ^~~~~~~~~~~~~~~~~
/var/lib/dkms/vboxhost/6.0.12_OSE/build/vboxdrv/r0drv/linux/mp-r0drv-linux.c: In function ‘VBoxHost_RTMpOnOthers’:
/var/lib/dkms/vboxhost/6.0.12_OSE/build/vboxdrv/r0drv/linux/mp-r0drv-linux.c:341:8: error: void value not ignored as it ought to be
341 | rc = smp_call_function(rtmpLinuxWrapper, &Args, 1 /* wait */);
| ^
make[2]: *** [scripts/Makefile.build:281: /var/lib/dkms/vboxhost/6.0.12_OSE/build/vboxdrv/r0drv/linux/mp-r0drv-linux.o] Error 1
make[2]: *** Waiting for unfinished jobs....
/var/lib/dkms/vboxhost/6.0.12_OSE/build/vboxdrv/r0drv/linux/memuserkernel-r0drv-linux.o: warning: objtool: rtR0MemKernelCopyLnxWorker()+0x15: redundant CLD
这是输出
lsmod | grep vbox
vboxvideo 40960 0
drm_vram_helper 20480 1 vboxvideo
drm_kms_helper 212992 2 vboxvideo,i915
drm 503808 7 drm_kms_helper,drm_vram_helper,vboxvideo,i915,ttm
vboxsf 40960 0
vboxguest 45056 1 vboxsf
我从内核 5.1.9 开始就一直使用这个模块,到目前为止还没有出现任何问题。
输出
# dkms install vboxhost/6.0.12_OSE
Kernel preparation unnecessary for this kernel. Skipping...
Building module:
cleaning build area...
make -j8 KERNELRELEASE=5.3.0gee -C /usr/lib/modules/5.3.0gee/build M=/var/lib/dkms/vboxhost/6.0.12_OSE/build.....(bad exit status: 2)
Error! Bad return status for module build on kernel: 5.3.0gee (x86_64)
Consult /var/lib/dkms/vboxhost/6.0.12_OSE/build/make.log for more information.
任何有关如何解决此问题的帮助将不胜感激,如果需要,我可以提供更多我没有想到提供的日志。