VirtualBox

Opened 4 years ago

Closed 4 years ago

#19244 closed defect (invalid)

Linux Mint 19.3 Kernel 5.4.12

Reported by: Mr.T Owned by:
Component: other Version: VirtualBox 6.1.2
Keywords: Cc:
Guest type: all Host type: Linux

Description

The vboxdrv kernel module is not loaded.

This happens on ANY kernel 5.4 with ANY virtualbox 6.x on Linux Mint 19.3 The problem does not exist on any 5.3.x kernel.

Attachments (1)

vbox-setup.log.tar.gz (25.3 KB ) - added by Mr.T 4 years ago.

Download all attachments as: .zip

Change History (9)

by Mr.T, 4 years ago

Attachment: vbox-setup.log.tar.gz added

comment:1 by Frank Batschulat (Oracle), 4 years ago

This is very likely caused by the same problem as in #19209

comment:2 by Frank Batschulat (Oracle), 4 years ago

yes, looking at the setup log file it is the same problem when it is attempting to build against:

make V=1 CONFIG_MODULE_SIG= CONFIG_MODULE_SIG_ALL= -C /lib/modules/5.4.12-050412-generic/build M=/tmp/vbox.0 SRCROOT=/tmp/vbox.0
RT_ARCH_AMD64  -DMODULE  -DKBUILD_BASENAME='"memuserkernel_r0drv_linux"' -DKBUILD_MODNAME='"vboxdrv"' -c -o /tmp/vbox.0/r0drv/l
inux/memuserkernel-r0drv-linux.o /tmp/vbox.0/r0drv/linux/memuserkernel-r0drv-linux.c
In file included from <command-line>:0:0:
./arch/x86/include/asm/page_64.h: In function ‘clear_page’:
././include/linux/compiler_types.h:210:24: error: expected ‘(’ before ‘__inline’
 #define asm_inline asm __inline
                        ^
./arch/x86/include/asm/alternative.h:256:2: note: in expansion of macro ‘asm_inline’
  asm_inline volatile (ALTERNATIVE_2("call %P[old]", "call %P[new1]", feature1,\

and more and more such macro expansion errors suggesting you are missing a proper compilation environment for kernel modules for this new kernel you installed using UKUU.

comment:3 by Frank Batschulat (Oracle), 4 years ago

We also have a forum thread related to this topic: https://forums.virtualbox.org/viewtopic.php?f=7&t=96297

comment:4 by frant-hartm, 4 years ago

I have exactly the same issue on Ubuntu 18.04 (LTS) and mainline kernel from https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.4.12/.

comment:5 by Frank Batschulat (Oracle), 4 years ago

Given the errors related to standards system header file macros and all that it seems like we are building against a stale kernel source tree or something else is out of sync wrt to the new running kernel, eg. glibc and other userland header files from /usr/include are certainly sufficently different (and old) compared to the new kernel source tree pulled in from say /lib/modules/5.4.12-050412-generic/build.

I wonder if compiling the VBOX code that way ever worked at all with a sufficient different new kernel running on a sufficient ancient evironment. The UUKU docus from Ubuntu even mention that Virtualbox amongst others may not be able to compile and run using a new mainline kernel this way.

We certainly do not test Virtualbox in such a UUKU based timewarp kernel/system config at all. It is not even a config supported by Ubuntu itself. I may try this one out when I find some time.

comment:6 by frant-hartm, 4 years ago

After some googling around the error I found quick and dirty workaround (not that I claim to understand what it does):

I modified

/usr/src/linux-headers-5.4.12-050412/include/linux/compiler_types.h

accordingly:

#ifdef CONFIG_CC_HAS_ASM_INLINE
/*#define asm_inline asm __inline*/
#define asm_inline asm
#else
#define asm_inline asm
#endif

and it seems to work now.

I suppose my gcc version doesn't support this inline?

gcc --version gcc (Ubuntu 7.4.0-1ubuntu1~18.04.1) 7.4.0

comment:7 by Frank Batschulat (Oracle), 4 years ago

Last edited 4 years ago by Frank Batschulat (Oracle) (previous) (diff)

comment:8 by Frank Batschulat (Oracle), 4 years ago

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

© 2023 Oracle
ContactPrivacy policyTerms of Use