dkms 모듈 vboxhost-6.0.12_OSE가 커널 5.3에서 컴파일되지 않습니다.

dkms 모듈 vboxhost-6.0.12_OSE가 커널 5.3에서 컴파일되지 않습니다.

오늘 새 커널을 컴파일했는데 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.

이 문제를 해결하는 방법에 대한 도움을 주시면 감사하겠습니다. 필요한 경우 제공할 생각이 없었던 로그를 더 많이 제공할 수 있습니다.

관련 정보