VirtualBox

Ticket #19244 (closed defect: invalid)

Opened 16 months ago

Last modified 16 months ago

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

vbox-setup.log.tar.gz Download (25.3 KB) - added by Mr.T 16 months ago.

Change History

Changed 16 months ago by Mr.T

comment:1 Changed 16 months ago by fbatschu

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

comment:2 Changed 16 months ago by fbatschu

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 Changed 16 months ago by fbatschu

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

comment:4 Changed 16 months ago by frant-hartm

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 Changed 16 months ago by fbatschu

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 Changed 16 months ago by frant-hartm

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 Changed 16 months ago by fbatschu

Last edited 16 months ago by fbatschu (previous) (diff)

comment:8 Changed 16 months ago by fbatschu

  • Status changed from new to closed
  • Resolution set to invalid
Note: See TracTickets for help on using tickets.

www.oracle.com
ContactPrivacy policyTerms of Use