Opened 6 years ago
Closed 6 years ago
#17801 closed defect (fixed)
Guest additions fail to compile against kernel 4.17 -> fixed after (not in) 5.2.12
Reported by: | pourpier | Owned by: | |
---|---|---|---|
Component: | guest additions | Version: | VirtualBox 5.2.12 |
Keywords: | Cc: | ||
Guest type: | Linux | Host type: | Windows |
Description
I compiled the kernel 4.17 in a Gentoo VM without problem but when I did an emerge @module-rebuild for the guest additions it failed. The errors can be found at this link: https://paste.pound-python.org/show/KexmfktOESI6TSEohlQO/ As you can see there are issues with the functions ttm_tt_init and ttm_bo_init Best regards, pourpier
Change History (6)
comment:1 by , 6 years ago
Summary: | Guest additions fail to compile against kernel 4.17 → Guest additions fail to compile against kernel 4.17 -> fixed after (not in) 5.2.12 |
---|
comment:2 by , 6 years ago
I have installed the latest Testbuilds version (123149) as suggested above. I am running the following:
Fedora 28 (kernel 17.2) glibc version 2.27-19 gcc version 8.1.1-1
Guest Additions still does not compile, and fails. This causes my mouse to not obtain focus on my windows. I must use the Alt-Tab combination to switch windows, and I cannot right-click on the background (desktop) at all.
Output from /var/log/vboxadd-setup.log :
/tmp/vbox.0/vbox_ttm.c: In function ‘vbox_ttm_tt_create’: /tmp/vbox.0/vbox_ttm.c:219:22: error: passing argument 2 of ‘ttm_tt_init’ from incompatible pointer type [-Werror=incompatible-pointer-types] if (ttm_tt_init(tt, bdev, size, page_flags, dummy_read_page)) { ^~~~ In file included from ./include/drm/ttm/ttm_bo_driver.h:45, from /tmp/vbox.0/vbox_drv.h:69, from /tmp/vbox.0/vbox_ttm.c:31: ./include/drm/ttm/ttm_tt.h:161:63: note: expected ‘struct ttm_buffer_object *’ but argument is of type ‘struct ttm_bo_device *’ int ttm_tt_init(struct ttm_tt *ttm, struct ttm_buffer_object *bo, ~~~~~~~~~~~~~~~~~~~~~~~~~~^~ /tmp/vbox.0/vbox_ttm.c:219:6: error: too many arguments to function ‘ttm_tt_init’ if (ttm_tt_init(tt, bdev, size, page_flags, dummy_read_page)) { ^~~~~~~~~~~ In file included from ./include/drm/ttm/ttm_bo_driver.h:45, from /tmp/vbox.0/vbox_drv.h:69, from /tmp/vbox.0/vbox_ttm.c:31: ./include/drm/ttm/ttm_tt.h:161:5: note: declared here int ttm_tt_init(struct ttm_tt *ttm, struct ttm_buffer_object *bo, ^~~~~~~~~~~ /tmp/vbox.0/vbox_ttm.c: At top level: /tmp/vbox.0/vbox_ttm.c:248:19: error: initialization of ‘struct ttm_tt * (*)(struct ttm_buffer_object *, uint32_t)’ {aka ‘struct ttm_tt * (*)(struct ttm_buffer_object *, unsigned int)’} from incompatible pointer type ‘struct ttm_tt * (*)(struct ttm_bo_device *, long unsigned int, u32, struct page *)’ {aka ‘struct ttm_tt * (*)(struct ttm_bo_device *, long unsigned int, unsigned int, struct page *)’} [-Werror=incompatible-pointer-types] .ttm_tt_create = vbox_ttm_tt_create, ^~~~~~~~~~~~~~~~~~ /tmp/vbox.0/vbox_ttm.c:248:19: note: (near initialization for ‘vbox_bo_driver.ttm_tt_create’) In file included from ./include/uapi/linux/posix_types.h:5, from ./include/uapi/linux/types.h:14, from ./include/linux/types.h:6, from ./include/linux/genalloc.h:33, from /tmp/vbox.0/vbox_drv.h:43, from /tmp/vbox.0/vbox_ttm.c:31: /tmp/vbox.0/vbox_ttm.c: In function ‘vbox_bo_create’: ./include/linux/stddef.h:8:14: warning: passing argument 8 of ‘ttm_bo_init’ makes integer from pointer without a cast [-Wint-conversion] #define NULL ((void *)0) ^~~~~~~~~~~ /tmp/vbox.0/vbox_ttm.c:400:34: note: in expansion of macro ‘NULL’ align >> PAGE_SHIFT, false, NULL, acc_size, ^~~~ In file included from /tmp/vbox.0/vbox_drv.h:68, from /tmp/vbox.0/vbox_ttm.c:31: ./include/drm/ttm/ttm_bo_api.h:547:55: note: expected ‘size_t’ {aka ‘long unsigned int’} but argument is of type ‘void *’ uint32_t page_alignment, bool interrubtible, size_t acc_size, ~~~~~~~^~~~~~~~ /tmp/vbox.0/vbox_ttm.c:400:40: warning: passing argument 9 of ‘ttm_bo_init’ makes pointer from integer without a cast [-Wint-conversion] align >> PAGE_SHIFT, false, NULL, acc_size, ^~~~~~~~ In file included from /tmp/vbox.0/vbox_drv.h:68, from /tmp/vbox.0/vbox_ttm.c:31: ./include/drm/ttm/ttm_bo_api.h:548:20: note: expected ‘struct sg_table *’ but argument is of type ‘size_t’ {aka ‘long unsigned int’} struct sg_table *sg, struct reservation_object *resv, ~~~~~~~~~~~~~~~~~^~ /tmp/vbox.0/vbox_ttm.c:398:8: error: too many arguments to function ‘ttm_bo_init’ ret = ttm_bo_init(&vbox->ttm.bdev, &vboxbo->bo, size, ^~~~~~~~~~~ In file included from /tmp/vbox.0/vbox_drv.h:68, from /tmp/vbox.0/vbox_ttm.c:31: ./include/drm/ttm/ttm_bo_api.h:544:5: note: declared here int ttm_bo_init(struct ttm_bo_device *bdev, struct ttm_buffer_object *bo, ^~~~~~~~~~~ cc1: some warnings being treated as errors make[2]: *** [scripts/Makefile.build:313: /tmp/vbox.0/vbox_ttm.o] Error 1 make[1]: *** [Makefile:1575: _module_/tmp/vbox.0] Error 2 make: *** [/tmp/vbox.0/Makefile.include.footer:101: vboxvideo] Error 2
comment:3 by , 6 years ago
You need newer guest additions not newer VirtualBox itself, but it looks like they haven't been pushed to the testbuild page yet. We'll try to fix that ASAP.
comment:4 by , 6 years ago
I DL'ed and ran the 5.2.97-123.147 version of Guest Additions.
It ran fine with no errors. I rebooted, and still no mouse functionality.
comment:5 by , 6 years ago
@mduncan You have a separate ticket for that issue. But you confirm that the issue reported in this ticket is fixed by the 5.2.97 Additions. The fix in the 5.2 Additions is the same. Thank you.
comment:6 by , 6 years ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
Should be fixed in r72641. Please try the current 5.2.x Guest Additions test build:
wiki:Testbuilds