Description of problem: include/asm/mpspec.h:9:25: error: mach_mpspec.h: No such file or directory include/asm/smp.h:187:28: error: mach_apicdef.h: No such file or directory Version-Release number of selected component (if applicable): kernel-devel-2.6.27-0.244.rc2.git1.fc10.i686 Fedora 10 Alpha How reproducible: Always Steps to Reproduce: 1. Try and install VBox Additions 1.6.4 2. Looks at /var/log/vboxadd-install.log 3. Actual results: See errors in log under Additional info. Expected results: Would work or include sub directory. Additional info: # cat vboxadd-install.log Installing VirtualBox 1.6.4 Guest Additions, built Tue Jul 29 20:13:59 CEST 2008 Testing the setup of the guest system Building a test kernel module... make KBUILD_VERBOSE=1 -C /lib/modules/2.6.27-0.244.rc2.git1.fc10.i686/build SUBDIRS=/tmp/selfgz312716198/module/test SRCROOT=/tmp/selfgz312716198/module/test modules test -e include/linux/autoconf.h -a -e include/config/auto.conf || ( \ echo; \ echo " ERROR: Kernel configuration is invalid."; \ echo " include/linux/autoconf.h or include/config/auto.conf are missing."; \ echo " Run 'make oldconfig && make prepare' on kernel src to fix it."; \ echo; \ /bin/false) mkdir -p /tmp/selfgz312716198/module/test/.tmp_versions ; rm -f /tmp/selfgz312716198/module/test/.tmp_versions/* make -f scripts/Makefile.build obj=/tmp/selfgz312716198/module/test gcc -Wp,-MD,/tmp/selfgz312716198/module/test/.test.o.d -nostdinc -isystem /usr/lib/gcc/i386-redhat-linux/4.3.1/include -D__KERNEL__ -Iinclude -I/usr/src/kernels/2.6.27-0.244.rc2.git1.fc10.i686/arch/x86/include -include include/linux/autoconf.h -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration -Os -m32 -msoft-float -mregparm=3 -freg-struct-return -mpreferred-stack-boundary=2 -march=i686 -mtune=generic -mtune=generic -ffreestanding -DCONFIG_AS_CFI=1 -DCONFIG_AS_CFI_SIGNAL_FRAME=1 -pipe -Wno-sign-compare -fno-asynchronous-unwind-tables -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -Iinclude/asm-x86/mach-generic -Iinclude/asm-x86/mach-default -fno-stack-protector -fno-omit-frame-pointer -fno-optimize-sibling-calls -g -pg -Wdeclaration-after-statement -Wno-pointer-sign -I/lib/modules/2.6.27-0.244.rc2.git1.fc10.i686/build/include -I/tmp/selfgz312716198/module/test/ -I/tmp/selfgz312716198/module/test/include -I/tmp/selfgz312716198/module/test/r0drv/linux -D__KERNEL__ -DMODULE -DRT_OS_LINUX -DIN_RING0 -D_X86_ -DIN_RT_R0 -DIN_SUP_R0 -DVBGL_VBOXGUEST -DVBGL_HGCM -DVBOX_HGCM -DMODULE -D"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(test)" -D"KBUILD_MODNAME=KBUILD_STR(vboxadd_test)" -c -o /tmp/selfgz312716198/module/test/test.o /tmp/selfgz312716198/module/test/test.c In file included from include/asm/smp.h:12, from include/linux/smp.h:28, from include/linux/topology.h:33, from include/linux/mmzone.h:683, from include/linux/gfp.h:4, from include/linux/kmod.h:22, from include/linux/module.h:13, from /tmp/selfgz312716198/module/test/test.c:11: include/asm/mpspec.h:9:25: error: mach_mpspec.h: No such file or directory In file included from include/asm/smp.h:12, from include/linux/smp.h:28, from include/linux/topology.h:33, from include/linux/mmzone.h:683, from include/linux/gfp.h:4, from include/linux/kmod.h:22, from include/linux/module.h:13, from /tmp/selfgz312716198/module/test/test.c:11: include/asm/mpspec.h:39: error: ‘MAX_MP_BUSSES’ undeclared here (not in a function) In file included from include/asm/smp.h:15, from include/linux/smp.h:28, from include/linux/topology.h:33, from include/linux/mmzone.h:683, from include/linux/gfp.h:4, from include/linux/kmod.h:22, from include/linux/module.h:13, from /tmp/selfgz312716198/module/test/test.c:11: include/asm/io_apic.h:149: error: ‘MAX_IRQ_SOURCES’ undeclared here (not in a function) In file included from include/linux/smp.h:28, from include/linux/topology.h:33, from include/linux/mmzone.h:683, from include/linux/gfp.h:4, from include/linux/kmod.h:22, from include/linux/module.h:13, from /tmp/selfgz312716198/module/test/test.c:11: include/asm/smp.h:187:28: error: mach_apicdef.h: No such file or directory In file included from include/linux/smp.h:28, from include/linux/topology.h:33, from include/linux/mmzone.h:683, from include/linux/gfp.h:4, from include/linux/kmod.h:22, from include/linux/module.h:13, from /tmp/selfgz312716198/module/test/test.c:11: include/asm/smp.h: In function ‘hard_smp_processor_id’: include/asm/smp.h:191: error: implicit declaration of function ‘GET_APIC_ID’ make[2]: *** [/tmp/selfgz312716198/module/test/test.o] Error 1 make[1]: *** [_module_/tmp/selfgz312716198/module/test] Error 2 make: *** [vboxadd_test] Error 2 Building the test kernel module failed. Giving up due to the problems mentioned above.
Comparing the kernel-devel packages from F9 and rawhide I see the following: # Fedora 9 $ rpm -qpl kernel-devel-2.6.25-14.fc9.i686.rpm | grep "mach_mpspec.h" /usr/src/kernels/2.6.25-14.fc9.i686/include/asm-x86/mach-bigsmp/mach_mpspec.h /usr/src/kernels/2.6.25-14.fc9.i686/include/asm-x86/mach-default/mach_mpspec.h /usr/src/kernels/2.6.25-14.fc9.i686/include/asm-x86/mach-es7000/mach_mpspec.h /usr/src/kernels/2.6.25-14.fc9.i686/include/asm-x86/mach-generic/mach_mpspec.h /usr/src/kernels/2.6.25-14.fc9.i686/include/asm-x86/mach-numaq/mach_mpspec.h /usr/src/kernels/2.6.25-14.fc9.i686/include/asm-x86/mach-summit/mach_mpspec.h # Fedora 10 (rawhide) $ rpm -qpl kernel-devel-2.6.27-0.244.rc2.git1.fc10.i686.rpm | grep "mach_mpspec.h" /usr/src/kernels/2.6.27-0.244.rc2.git1.fc10.i686/include/asm/mach-default/mach_mpspec.h /usr/src/kernels/2.6.27-0.244.rc2.git1.fc10.i686/include/asm/mach-generic/mach_mpspec.h Could this be a case of the VirtualBox Guest Additions software not looking in the right place?
I believe so yes. It should also passing a -Iinclude/asm/mach-whatever
jwilliam: is there any upstream to report this against the Virtual Box toolchain?
I reported it here: http://www.virtualbox.org/ticket/1961 if that is what you mean.
After speaking briefly with Dave Jones, it sounds like something might have changed recently that might be affecting your results. Dave mentioned he might poke around briefly to see if he can shed some light on this. jwilliams: Based on Dave's results, we can open this bug back up, or post some feedback into the vbox ticket you've created. Thanks!
I overlooked this part the first time.. echo " ERROR: Kernel configuration is invalid."; \ echo " include/linux/autoconf.h or include/config/auto.conf are missing."; \ echo " Run 'make oldconfig && make prepare' on kernel src to This is bogus. Those files surely exist if you have kernel-devel installed. It must be looking in the wrong place. Check that they're there (look in /lib/modules/2.6.27-0.244.rc2.git1.fc10.i686/build/ .. )
They are both there. include/linux/autoconf.h and include/config/auto.conf
http://www.virtualbox.org/ticket/1961#comment:3 08/19/08 20:39:02 changed by frank ¶ status changed from new to closed. resolution set to invalid. Actually this is definitely a packaging bug. I've just downloaded that rpm package and compiled the module against these headers as well. The kernel Makefile adds -Iinclude/asm-x86/mach-generic -Iinclude/asm-x86/mach-default to the include directory search path (this can be seen in your log as well) but this directory is not packaged. Instead, the package contains only the asm directory which should actually be a symbolic link to asm-x86 in that case. So this is definitely a bug of the rpm package. Closing. So it looks like it is back in the Fedora court.
ah. I see what's happening. yeah, this will require some specfile changes. This likely broke when some architectures moved from include/asm-* to arch/*/include I'll fix this up when we Fedora infrastructure works again.
Fixed with kernel-2.6.27-0.284.rc4.git6.fc10.i686 other kernel files.