Bug 459183 - mpspec.h includes mach_mpspec.h: No such file or directory
mpspec.h includes mach_mpspec.h: No such file or directory
Status: CLOSED NOTABUG
Product: Fedora
Classification: Fedora
Component: kernel (Show other bugs)
rawhide
All Linux
medium Severity medium
: ---
: ---
Assigned To: Kernel Maintainer List
Fedora Extras Quality Assurance
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2008-08-14 16:32 EDT by Jerry Williams
Modified: 2008-08-28 21:06 EDT (History)
1 user (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2008-08-14 17:30:24 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:


Attachments (Terms of Use)

  None (edit)
Description Jerry Williams 2008-08-14 16:32:51 EDT
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.
Comment 1 James Laska 2008-08-14 16:41:52 EDT
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?
Comment 2 Dave Jones 2008-08-14 17:30:24 EDT
I believe so yes.
It should also passing a -Iinclude/asm/mach-whatever
Comment 3 James Laska 2008-08-15 09:28:38 EDT
jwilliam: is there any upstream to report this against the Virtual Box toolchain?
Comment 4 Jerry Williams 2008-08-15 11:40:35 EDT
I reported it here:
http://www.virtualbox.org/ticket/1961
if that is what you mean.
Comment 5 James Laska 2008-08-19 13:39:08 EDT
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!
Comment 6 Dave Jones 2008-08-19 14:07:19 EDT
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/ .. )
Comment 7 Jerry Williams 2008-08-19 15:47:05 EDT
They are both there. include/linux/autoconf.h and include/config/auto.conf
Comment 8 Jerry Williams 2008-08-19 16:01:56 EDT
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.
Comment 9 Dave Jones 2008-08-19 16:18:17 EDT
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.
Comment 10 Jerry Williams 2008-08-28 21:06:38 EDT
Fixed with kernel-2.6.27-0.284.rc4.git6.fc10.i686 other kernel files.

Note You need to log in before you can comment on or make changes to this bug.