Opened 4 years ago
Last modified 4 years ago
#20485 awaitsfeedback defect
CentOS 7, VirtualBox 6.1: compiler_types.h:214:24: error: expected ‘(’ before ‘__inline’
Reported by: | a_subscriber | Owned by: | |
---|---|---|---|
Component: | VM control | Version: | VirtualBox 6.1.26 |
Keywords: | Cc: | ||
Guest type: | other | Host type: | Linux |
Description
CentOS 7, kernel 5.4.137-1.el7.elrepo.x86_64, Virtual Box 6.1
I try to start Virtual machine on Virtual Box 6.1.
/sbin/vboxconfig
but I get error:
vboxdrv.sh: Stopping VirtualBox services. vboxdrv.sh: Starting VirtualBox services. vboxdrv.sh: Building VirtualBox kernel modules. vboxdrv.sh: failed: Look at /var/log/vbox-setup.log to find out what went wrong.
There were problems setting up VirtualBox. To re-start the set-up process, run /sbin/vboxconfig as root. If your system is using EFI Secure Boot you may need to sign the kernel modules (vboxdrv, vboxnetflt, vboxnetadp, vboxpci) before you can load them. Please see your Linux system's documentation for more information.
Here error in file var/log/vbox-setup.log
In file included from <command-line>:0:0: ./arch/x86/include/asm/page_64.h: In function ‘clear_page’: ././include/linux/compiler_types.h:214: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,\
./arch/x86/include/asm/page_64.h:49:2: note: in expansion of macro ‘alternative_call_2’
alternative_call_2(clear_page_orig,
P.S.
gcc --version
gcc (GCC) 8.3.1 20190311 (Red Hat 8.3.1-3)
Hi a_subscriber,
Please note that I do not see issues with building guest modules in CentOS 7 against
5.4.139-1.el7.elrepo.x86_64
kernel with gcc8.3.1 20190311 (Red Hat 8.3.1-3)
if "rcvboxadd setup
" is started from within:The issue you are observing might be compiling errors during guest boot-up when "
rcvboxadd setup
" is started outside ofscl
and actual build is done by system gcc4.8.5 20150623 (Red Hat 4.8.5-44)
(minimum requirement for building 4.x kernels is gcc 4.9). This is expected.If it is a case, I would suggest to run:
..and then reboot. This should work until you move to a newer kernel. In this case, procedure needs to be repeated.