VirtualBox

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 Michael Thayer, 6 years ago

Summary: Guest additions fail to compile against kernel 4.17Guest additions fail to compile against kernel 4.17 -> fixed after (not in) 5.2.12

Should be fixed in r72641. Please try the current 5.2.x Guest Additions test build:

wiki:Testbuilds

comment:2 by mduncan, 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: * vboxvideo Error 2

Version 0, edited 6 years ago by mduncan (next)

comment:3 by janitor, 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 mduncan, 6 years ago

I DL'ed and ran the 5.2.97-123147 version of Guest Additions.

It ran fine with no errors. I rebooted, and still no mouse functionality.

Last edited 6 years ago by mduncan (previous) (diff)

comment:5 by Michael Thayer, 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 Michael Thayer, 6 years ago

Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.

© 2023 Oracle
ContactPrivacy policyTerms of Use