﻿id,summary,reporter,owner,description,type,status,component,version,resolution,keywords,cc,guest,host
20941,Can't compile Kernel Modules on Centos9 Stream (stdarg.h missing) => fixed in SVN,powerschlumpf,,"I'm running an old notebook as a small ""server"" that runs a few services. One of these is HomeAssistant running in a VirtualBox Machine and is automatically booted at system start.

Virtualbox was installed using the Fedora Repo. Tried the ""all distributions"" version as well...


{{{

[root@hp-notebook-server klaus]# rpm -qa | grep Virtual
VirtualBox-6.1-6.1.34_150636_fedora33-2.x86_64
}}}
Since a few days (assuming after an auto update) it stopped working. Had a look at it and it can't compile the vbox kernel modules. 
/var/log/vbox-setup.log states (sorry for the german phrases, But I guess you get the import part...)

{{{
In Datei, eingebunden von /tmp/vbox.0/include/iprt/types.h:34,
                 von /tmp/vbox.0/include/VBox/types.h:33,
                 von /tmp/vbox.0/SUPDrvInternal.h:38,
                 von /tmp/vbox.0/SUPDrv.c:33:
/tmp/vbox.0/include/iprt/stdarg.h:51:13: schwerwiegender Fehler: stdarg.h: Datei oder Verzeichnis nicht gefunden
   51 | #   include <stdarg.h>
      |             ^~~~~~~~~~
In Datei, eingebunden von /tmp/vbox.0/include/iprt/types.h:34,
                 von /tmp/vbox.0/include/VBox/types.h:33,
                 von /tmp/vbox.0/linux/../SUPDrvInternal.h:38,
                 von /tmp/vbox.0/linux/SUPDrv-linux.c:32:
/tmp/vbox.0/include/iprt/stdarg.h:51:13: schwerwiegender Fehler: stdarg.h: Datei oder Verzeichnis nicht gefunden
   51 | #   include <stdarg.h>
      |             ^~~~~~~~~~
In Datei, eingebunden von /tmp/vbox.0/include/iprt/types.h:34,
                 von /tmp/vbox.0/include/VBox/types.h:33,
                 von /tmp/vbox.0/SUPDrvInternal.h:38,
                 von /tmp/vbox.0/SUPDrvSem.c:33:
/tmp/vbox.0/include/iprt/stdarg.h:51:13: schwerwiegender Fehler: stdarg.h: Datei oder Verzeichnis nicht gefunden
   51 | #   include <stdarg.h>
      |             ^~~~~~~~~~
In Datei, eingebunden von /tmp/vbox.0/include/iprt/types.h:34,
                 von /tmp/vbox.0/include/VBox/types.h:33,
                 von /tmp/vbox.0/SUPDrvInternal.h:38,
                 von /tmp/vbox.0/SUPDrvGip.c:33:
/tmp/vbox.0/include/iprt/stdarg.h:51:13: schwerwiegender Fehler: stdarg.h: Datei oder Verzeichnis nicht gefunden
   51 | #   include <stdarg.h>
      |             ^~~~~~~~~~
Kompilierung beendet.
Kompilierung beendet.
Kompilierung beendet.
Kompilierung beendet.
make[2]: *** [scripts/Makefile.build:271: /tmp/vbox.0/SUPDrvSem.o] Fehler 1
make[2]: *** Es wird auf noch nicht beendete Prozesse gewartet....
make[2]: *** [scripts/Makefile.build:271: /tmp/vbox.0/SUPDrv.o] Fehler 1
make[2]: *** [scripts/Makefile.build:271: /tmp/vbox.0/SUPDrvGip.o] Fehler 1
make[2]: *** [scripts/Makefile.build:271: /tmp/vbox.0/linux/SUPDrv-linux.o] Fehler 1
make[1]: *** [Makefile:1862: /tmp/vbox.0] Fehler 2
make: *** [/tmp/vbox.0/Makefile-footer.gmk:117: vboxdrv] Fehler 2
}}}

So it claims stdarg.h is missing

kernel-header and kernel-devel are installed

{{{
[root@hp-notebook-server klaus]# rpm -qa | grep kernel*
kernel-srpm-macros-1.0-11.el9.noarch
kernel-core-5.14.0-80.el9.x86_64
kernel-modules-5.14.0-80.el9.x86_64
kernel-5.14.0-80.el9.x86_64
kernel-core-5.14.0-85.el9.x86_64
kernel-modules-5.14.0-85.el9.x86_64
kernel-5.14.0-85.el9.x86_64
kernel-core-5.14.0-86.el9.x86_64
kernel-modules-5.14.0-86.el9.x86_64
kernel-tools-libs-5.14.0-86.el9.x86_64
kernel-tools-5.14.0-86.el9.x86_64
kernel-5.14.0-86.el9.x86_64
kernel-devel-5.14.0-86.el9.x86_64
kernel-devel-5.14.0-85.el9.x86_64
kernel-devel-5.14.0-80.el9.x86_64
kernel-headers-5.14.0-86.el9.x86_64
}}}


For me it seems there are some libraries missing, which should be available... stdarg.h is available in the kernel sources

{{{

[root@hp-notebook-server klaus]# locate stdarg.h
/usr/include/c++/11/tr1/stdarg.h
/usr/lib/gcc/x86_64-redhat-linux/11/include/cross-stdarg.h
/usr/lib/gcc/x86_64-redhat-linux/11/include/stdarg.h
/usr/share/man/man0p/stdarg.h.0p.gz
/usr/share/virtualbox/src/vboxhost/vboxdrv/include/iprt/stdarg.h
/usr/share/virtualbox/src/vboxhost/vboxnetadp/include/iprt/stdarg.h
/usr/share/virtualbox/src/vboxhost/vboxnetflt/include/iprt/stdarg.h
/usr/src/kernels/5.14.0-85.el9.x86_64/include/linux/stdarg.h
/usr/src/kernels/5.14.0-85.el9.x86_64/include/linux/stdarg.h.hardlink-temporary
/usr/src/kernels/5.14.0-86.el9.x86_64/include/linux/stdarg.h
/usr/src/kernels/5.14.0-86.el9.x86_64/include/linux/stdarg.h.hardlink-temporary
}}}
It was working for a few month, but stopped...

",defect,closed,other,VirtualBox 6.1.34,fixed,kernel module centos stdarg.h,,Linux,Linux
