VirtualBox

Ticket #15322 (closed defect: fixed)

Opened 5 years ago

Last modified 4 years ago

vboxvideo compilation fails for kernel 3.10

Reported by: jpalus Owned by:
Component: other Version: VirtualBox 5.0.18
Keywords: Cc:
Guest type: other Host type: other

Description

vboxvideo fails to compile for an older LTS kernel version 3.10:

/tmp/B.fs0QZd/BUILD/VirtualBox-5.0.18/PLD-MODULE-BUILD/GuestDrivers/vboxvideo/vbox_mode.c:314:5: error: unknown field 'cursor_set2' specified in initializer
     .cursor_set2 = vbox_cursor_set2,
     ^
/tmp/B.fs0QZd/BUILD/VirtualBox-5.0.18/PLD-MODULE-BUILD/GuestDrivers/vboxvideo/vbox_mode.c:314:20: warning: initialization from incompatible pointer type [-Wincompatible-pointer-types]
     .cursor_set2 = vbox_cursor_set2,
                    ^
/tmp/B.fs0QZd/BUILD/VirtualBox-5.0.18/PLD-MODULE-BUILD/GuestDrivers/vboxvideo/vbox_mode.c:314:20: note: (near initialization for 'vbox_crtc_funcs.gamma_set')
/usr/src/linux-3.10-3.10.101/scripts/Makefile.build:308: recipe for target '/tmp/B.fs0QZd/BUILD/VirtualBox-5.0.18/PLD-MODULE-BUILD/GuestDrivers/vboxvideo/vbox_mode.o' failed

Change History

comment:1 follow-up: ↓ 2 Changed 5 years ago by frank

Which LTS version is this exactly?

comment:2 in reply to: ↑ 1 Changed 5 years ago by jpalus

Replying to frank:

Which LTS version is this exactly?

3.10.101

comment:3 follow-up: ↓ 4 Changed 5 years ago by frank

Right. Actually, which Linux distribution are you running? Asking to find out which guest video driver you need.

comment:4 in reply to: ↑ 3 Changed 5 years ago by jpalus

Replying to frank:

Right. Actually, which Linux distribution are you running? Asking to find out which guest video driver you need.

Not sure if that's relevant actually -- I'm one of maintainers in PLD Linux ( http://www.pld-linux.org) for which we support multiple lines of kernel. Among them each LTS version starting with 3.10 and all of them until now had support for VirtualBox both as a host and guest. I'm not using 3.10 myself but we'd like to be able to deliver support for this line too.

comment:5 follow-up: ↓ 6 Changed 5 years ago by frank

Actually for Linux 3.10 there should be no real vboxvideo kernel module. Look at the Makefile:

ifeq ($(filter 1.% 2.% 3.0.% 3.1.% 3.2.% 3.3.% 3.4.% 3.5.% 3.6.% 3.7.% \
3.8.% 3.9.% 3.10.%,$(KERNELRELEASE)),)
MOD_OBJS   = HGSMIBase.o HGSMICommon.o HGSMIMemAlloc.o heapoffset.o \
             Modesetting.o vbox_drv.o vbox_fb.o vbox_irq.o vbox_main.o \
             vbox_mode.o vbox_ttm.o VBVABase.o
else
MOD_OBJS   = vbox_dummy.o
endif
Last edited 5 years ago by frank (previous) (diff)

comment:6 in reply to: ↑ 5 Changed 5 years ago by jpalus

Just had some time to look into this. In my case KERNELRELEASE is not defined, however what is defined is KERNELVERSION -- any idea what's the difference and whether KERNELVERSION could be used here?

comment:7 follow-up: ↓ 8 Changed 5 years ago by frank

KERNELVERSION could be probably used as well and we will think about changing this. But if KERNELRELEASE does not exist then include/config/kernel.release most likely does not exist either. Which means that your kernel sources are not configured.

comment:8 in reply to: ↑ 7 Changed 5 years ago by jpalus

Actually it does exist:

jan@cukinia /usr/src/linux-3.10-3.10.101[11:10:34] 
> $ cat include/config/kernel.release
3.10.101-1

but it appears to include distribution specific release suffix.

comment:9 Changed 5 years ago by jpalus

Feel free to close -- it appears passing standard kernel build option "O=<path to output directory>" breaks KERNELRELEASE evaluation. Without it modules for 3.10 build fine.

comment:10 Changed 4 years ago by frank

  • Status changed from new to closed
  • Resolution set to fixed

Closing. Actually there should be a change in 5.0.22 which should prevent this kind of problems as well.

Note: See TracTickets for help on using tickets.

www.oracle.com
ContactPrivacy policyTerms of Use