Opened 5 years ago
Closed 5 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)
Change History (9)
by , 5 years ago
Attachment: | vbox-setup.log.tar.gz added |
---|
comment:1 by , 5 years ago
comment:2 by , 5 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 , 5 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 , 5 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 , 5 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 , 5 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 , 5 years ago
Yes, this is all explained here, cannot work:
https://www.mail-archive.com/[email protected]/msg5671020.html
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1849348
CLosing as not our bug.
comment:8 by , 5 years ago
Resolution: | → invalid |
---|---|
Status: | new → closed |
This is very likely caused by the same problem as in #19209