![VBoxLinuxAdditions.run 导致错误:参数类型不兼容](https://linux22.com/image/133176/VBoxLinuxAdditions.run%20%E5%AF%BC%E8%87%B4%E9%94%99%E8%AF%AF%EF%BC%9A%E5%8F%82%E6%95%B0%E7%B1%BB%E5%9E%8B%E4%B8%8D%E5%85%BC%E5%AE%B9.png)
在运行时,sudo sh VBoxLinuxAdditions.run
我在 debian 测试中遇到了 Kernel 4.16 的以下错误:
tmp/vbox.0/vbox_ttm.c: In function ‘vbox_bo_move’:
/tmp/vbox.0/vbox_ttm.c:208:29: error: incompatible type for argument 2 of ‘ttm_bo_move_memcpy’
r = ttm_bo_move_memcpy(bo, interruptible, no_wait_gpu, new_mem);
^~~~~~~~~~~~~
In file included from /tmp/vbox.0/vbox_drv.h:66:0,
from /tmp/vbox.0/vbox_ttm.c:31:
/usr/src/linux-headers-4.16.0-1-common/include/drm/ttm/ttm_bo_driver.h:1001:5: note: expected ‘struct ttm_operation_ctx *’ but argument is of type ‘bool {aka _Bool}’
int ttm_bo_move_memcpy(struct ttm_buffer_object *bo,
^~~~~~~~~~~~~~~~~~
/tmp/vbox.0/vbox_ttm.c:208:44: error: incompatible type for argument 3 of ‘ttm_bo_move_memcpy’
r = ttm_bo_move_memcpy(bo, interruptible, no_wait_gpu, new_mem);
^~~~~~~~~~~
In file included from /tmp/vbox.0/vbox_drv.h:66:0,
from /tmp/vbox.0/vbox_ttm.c:31:
/usr/src/linux-headers-4.16.0-1-common/include/drm/ttm/ttm_bo_driver.h:1001:5: note: expected ‘struct ttm_mem_reg *’ but argument is of type ‘bool {aka _Bool}’
int ttm_bo_move_memcpy(struct ttm_buffer_object *bo,
^~~~~~~~~~~~~~~~~~
/tmp/vbox.0/vbox_ttm.c:208:6: error: too many arguments to function ‘ttm_bo_move_memcpy’
r = ttm_bo_move_memcpy(bo, interruptible, no_wait_gpu, new_mem);
^~~~~~~~~~~~~~~~~~
In file included from /tmp/vbox.0/vbox_drv.h:66:0,
from /tmp/vbox.0/vbox_ttm.c:31:
/usr/src/linux-headers-4.16.0-1-common/include/drm/ttm/ttm_bo_driver.h:1001:5: note: declared here
我错过了什么?
先感谢您。
答案1
您应该升级到 VirtualBox 5.2.12添加了对 4.16 版本内核的支持。
由于您正在运行测试,因此您可以安装包裹virtualbox
相反,版本 5.2.12 至少会迁移一次进行测试。