Trying to get 5.2 working on 32bit debian 11 (bullseye), stdarg.h error

Discussions related to using VirtualBox on Linux hosts.
Post Reply
stecdose
Posts: 2
Joined: 19. Dec 2021, 15:49

Trying to get 5.2 working on 32bit debian 11 (bullseye), stdarg.h error

Post by stecdose »

Hi there,

Today I've stumbled across this problem. My computer is a quite old 32bit machine. Due to totally outdated I've updated from debian 9 to debian 11 this day. The last virtualbox release supporting 32bit hosts is 5.2.

I've downloaded the virtualbox-xxxxx-.run file for 5.2 and tried to install. This is what happens:

Code: Select all

bx@haufi ~ % sudo ./VirtualBox-5.2.44-139111-Linux_x86.run
Verifying archive integrity... All good.
Uncompressing VirtualBox for Linux installation..............
VirtualBox Version 5.2.44 r139111 (2020-07-09T17:21:50Z) installer
Installing VirtualBox to /opt/VirtualBox
Python found: python2, installing bindings...
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.

VirtualBox has been installed successfully.

You will find useful information about using VirtualBox in the user manual
  /opt/VirtualBox/UserManual.pdf
and in the user FAQ


We hope that you enjoy using VirtualBox.

The installation log file is at /var/log/vbox-install.log.
Okay, let's look at vbox-setup.log:

Code: Select all

bx@haufi ~ % cat /var/log/vbox-setup.log
Building the main VirtualBox module.
Error building the module:
make V=1  -C /lib/modules/5.16.0-rc5-bx-00033-ga52a8e9eaf4a/build M=/tmp/vbox.0 SRCROOT=/tmp/vbox.0 -j2 modules
make[1]: warning: -j2 forced in submake: resetting jobserver mode.
make -f ./scripts/Makefile.build obj=/tmp/vbox.0 \
single-build= \
need-builtin=1 need-modorder=1
  gcc -Wp,-MMD,/tmp/vbox.0/linux/.SUPDrv-linux.o.d -nostdinc -I./arch/x86/include -I./arch/x86/include/generated  -I./include -I./arch/x86/include/uapi -I./arch/x86/include/generated/uapi -I./include/uapi -I./include/generated/uapi -include ./include/linux/compiler-version.h -include ./include/linux/kconfig.h -include ./include/linux/compiler_types.h -D__KERNEL__ -fmacro-prefix-map=./= -Wall -Wundef -Werror=strict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -fshort-wchar -fno-PIE -Werror=implicit-function-declaration -Werror=implicit-int -Werror=return-type -Wno-format-security -std=gnu89 -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -mno-avx -fcf-protection=none -m32 -msoft-float -mregparm=3 -freg-struct-return -fno-pic -mpreferred-stack-boundary=2 -march=i686 -mtune=pentium4 -mtune=generic -Wa,-mtune=generic32 -ffreestanding -Wno-sign-compare -fno-asynchronous-unwind-tables -mindirect-branch=thunk-extern -mindirect-branch-register -fno-jump-tables -fno-delete-null-pointer-checks -Wno-frame-address -Wno-format-truncation -Wno-format-overflow -Wno-address-of-packed-member -O2 -fno-allow-store-data-races -Wframe-larger-than=1024 -fno-stack-protector -Wimplicit-fallthrough=5 -Wno-main -Wno-unused-but-set-variable -Wno-unused-const-variable -fno-omit-frame-pointer -fno-optimize-sibling-calls -fno-stack-clash-protection -Wdeclaration-after-statement -Wvla -Wno-pointer-sign -Wno-stringop-truncation -Wno-zero-length-bounds -Wno-array-bounds -Wno-stringop-overflow -Wno-restrict -Wno-maybe-uninitialized -Wno-alloc-size-larger-than -fno-strict-overflow -fno-stack-check -fconserve-stack -Werror=date-time -Werror=incompatible-pointer-types -Werror=designated-init -Wno-packed-not-aligned -include /tmp/vbox.0/include/VBox/SUPDrvMangling.h -fno-omit-frame-pointer -fno-pie -I./include -I/tmp/vbox.0/ -I/tmp/vbox.0/include -I/tmp/vbox.0/r0drv/linux -D__KERNEL__ -DMODULE -DRT_OS_LINUX -DIN_RING0 -DIN_RT_R0 -DIN_SUP_R0 -DVBOX -DRT_WITH_VBOX -DVBOX_WITH_HARDENING -DSUPDRV_WITH_RELEASE_LOGGER -Wno-declaration-after-statement -DCONFIG_VBOXDRV_AS_MISC -DRT_ARCH_X86 -DVBOX_WITH_64_BITS_GUESTS  -DMODULE  -DKBUILD_BASENAME='"SUPDrv_linux"' -DKBUILD_MODNAME='"vboxdrv"' -D__KBUILD_MODNAME=kmod_vboxdrv -c -o /tmp/vbox.0/linux/SUPDrv-linux.o /tmp/vbox.0/linux/SUPDrv-linux.c 
  gcc -Wp,-MMD,/tmp/vbox.0/.SUPDrv.o.d -nostdinc -I./arch/x86/include -I./arch/x86/include/generated  -I./include -I./arch/x86/include/uapi -I./arch/x86/include/generated/uapi -I./include/uapi -I./include/generated/uapi -include ./include/linux/compiler-version.h -include ./include/linux/kconfig.h -include ./include/linux/compiler_types.h -D__KERNEL__ -fmacro-prefix-map=./= -Wall -Wundef -Werror=strict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -fshort-wchar -fno-PIE -Werror=implicit-function-declaration -Werror=implicit-int -Werror=return-type -Wno-format-security -std=gnu89 -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -mno-avx -fcf-protection=none -m32 -msoft-float -mregparm=3 -freg-struct-return -fno-pic -mpreferred-stack-boundary=2 -march=i686 -mtune=pentium4 -mtune=generic -Wa,-mtune=generic32 -ffreestanding -Wno-sign-compare -fno-asynchronous-unwind-tables -mindirect-branch=thunk-extern -mindirect-branch-register -fno-jump-tables -fno-delete-null-pointer-checks -Wno-frame-address -Wno-format-truncation -Wno-format-overflow -Wno-address-of-packed-member -O2 -fno-allow-store-data-races -Wframe-larger-than=1024 -fno-stack-protector -Wimplicit-fallthrough=5 -Wno-main -Wno-unused-but-set-variable -Wno-unused-const-variable -fno-omit-frame-pointer -fno-optimize-sibling-calls -fno-stack-clash-protection -Wdeclaration-after-statement -Wvla -Wno-pointer-sign -Wno-stringop-truncation -Wno-zero-length-bounds -Wno-array-bounds -Wno-stringop-overflow -Wno-restrict -Wno-maybe-uninitialized -Wno-alloc-size-larger-than -fno-strict-overflow -fno-stack-check -fconserve-stack -Werror=date-time -Werror=incompatible-pointer-types -Werror=designated-init -Wno-packed-not-aligned -include /tmp/vbox.0/include/VBox/SUPDrvMangling.h -fno-omit-frame-pointer -fno-pie -I./include -I/tmp/vbox.0/ -I/tmp/vbox.0/include -I/tmp/vbox.0/r0drv/linux -D__KERNEL__ -DMODULE -DRT_OS_LINUX -DIN_RING0 -DIN_RT_R0 -DIN_SUP_R0 -DVBOX -DRT_WITH_VBOX -DVBOX_WITH_HARDENING -DSUPDRV_WITH_RELEASE_LOGGER -Wno-declaration-after-statement -DCONFIG_VBOXDRV_AS_MISC -DRT_ARCH_X86 -DVBOX_WITH_64_BITS_GUESTS  -DMODULE  -DKBUILD_BASENAME='"SUPDrv"' -DKBUILD_MODNAME='"vboxdrv"' -D__KBUILD_MODNAME=kmod_vboxdrv -c -o /tmp/vbox.0/SUPDrv.o /tmp/vbox.0/SUPDrv.c 
In file included from /tmp/vbox.0/include/iprt/types.h:31,
                 from /tmp/vbox.0/include/VBox/types.h:30,
                 from /tmp/vbox.0/SUPDrvInternal.h:35,
                 from /tmp/vbox.0/SUPDrv.c:33:
/tmp/vbox.0/include/iprt/stdarg.h:44:12: fatal error: stdarg.h: No such file or directory
   44 | #  include <stdarg.h>
      |            ^~~~~~~~~~
In file included from /tmp/vbox.0/include/iprt/types.h:31,
                 from /tmp/vbox.0/include/VBox/types.h:30,
                 from /tmp/vbox.0/linux/../SUPDrvInternal.h:35,
                 from /tmp/vbox.0/linux/SUPDrv-linux.c:32:
/tmp/vbox.0/include/iprt/stdarg.h:44:12: fatal error: stdarg.h: No such file or directory
   44 | #  include <stdarg.h>
      |            ^~~~~~~~~~
compilation terminated.
compilation terminated.
make[2]: *** [scripts/Makefile.build:287: /tmp/vbox.0/linux/SUPDrv-linux.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: *** [scripts/Makefile.build:287: /tmp/vbox.0/SUPDrv.o] Error 1
make[1]: *** [Makefile:1846: /tmp/vbox.0] Error 2
make: *** [/tmp/vbox.0/Makefile.include.footer:107: vboxdrv] Error 2
I tried find a solution with google and used forum search, had no luck.

The only hint I've found is something related to Xcode on Mac OS, someone suggested using an older version. I think this could be also the problem in my case. Do I have to find/compile an older release of gcc/other toolchain parts to get it compiled?

If it's not working it would make somehow sad... I know, my computer is old, but for now I have to stick with it.

(BTW: web-content process spawned by firefox showing this forum consumes 90% cpu, just idling around....)

Thanks in advance,
Nils
scottgus1
Site Moderator
Posts: 20945
Joined: 30. Dec 2009, 20:14
Primary OS: MS Windows 10
VBox Version: PUEL
Guest OSses: Windows, Linux

Re: Trying to get 5.2 working on 32bit debian 11 (bullseye), stdarg.h error

Post by scottgus1 »

I'm no Linux guru, so I can't tell if your info shows that you've done this already. But there are prerequisites for installing official Virtualbox from https://www.virtualbox.org/wiki/Linux_Downloads.

First, be sure that any existing Virtualbox files are removed from the PC. (the VMs can remain.)
Then see https://www.virtualbox.org/manual/ch02. ... nux-prereq
towo2099
Volunteer
Posts: 362
Joined: 18. Aug 2014, 21:53
Primary OS: Debian Sid
VBox Version: PUEL
Guest OSses: Android, Linux

Re: Trying to get 5.2 working on 32bit debian 11 (bullseye), stdarg.h error

Post by towo2099 »

The needed vbox-modules from version 5.x will never build against the kernel in Bullseye!
stecdose
Posts: 2
Joined: 19. Dec 2021, 15:49

Re: Trying to get 5.2 working on 32bit debian 11 (bullseye), stdarg.h error

Post by stecdose »

I have installed the prereqs, as well as there are no remains from an older installation.

Why will the modules never build against the bullseye kernel? Do you know that?
I assume compiling my own (recent) kernel won't make a difference, because it's related to kernel and not related to bullseye's packaging of the kernel. Am I right?
I am asking, because I've read about ksmbd, which is quite new to the kernel and I want to give it a try one day. If a recent 5.x kernel would work for virtualbox by configuring it properly and compiling it, I would try immediately.



A strange sidenote: Intel's ark says my CPU (T5200) has 64bit ability. But if I try to boot a 64bit kernel it hangs immediately after loading from grub with a message, that a 64bit kernel needs a 64bit cpu (or something like that, long time ago that I tested). I think I should give it another try.


Thanks for your answers :)
fth0
Volunteer
Posts: 5677
Joined: 14. Feb 2019, 03:06
Primary OS: Mac OS X other
VBox Version: PUEL
Guest OSses: Linux, Windows 10, ...
Location: Germany

Re: Trying to get 5.2 working on 32bit debian 11 (bullseye), stdarg.h error

Post by fth0 »

VirtualBox regularly has to adapt to newer Linux kernels. VirtualBox 5.2.40 (and probably also 5.2.44) supports Linux kernels up to 5.6. I'm not sure about Linux kernels 5.7, but it will definitely not support Linux kernels 5.8 or newer.
Post Reply