Distribution: Ubuntu Intrepid
Version: 30
Architecture: amd64
"""
# Build the vboxdrv module:
for i in generic server ; do \
mkdir /var/cache/prevu/src/28496/source/debian/build-$i ; \
tar jxfC /usr/src/virtualbox-ose.tar.bz2 /var/cache/prevu/src/28496/source/debian/build-$i;\
export KERN_DIR=/usr/src/linux-headers-2.6.27-2-$i; \
/usr/bin/make -C /var/cache/prevu/src/28496/source/debian/build-$i/modules/virtualbox-ose; \
done
make[1]: Entering directory `/var/cache/prevu/src/28496/source/debian/build-generic/modules/virtualbox-ose'
/usr/bin/make KBUILD_VERBOSE=1 -C /usr/src/linux-headers-2.6.27-2-generic SUBDIRS=/var/cache/prevu/src/28496/source/debian/build-generic/modules/virtualbox-ose SRCROOT=/var/cache/prevu/src/28496/source/debian/build-generic/modules/virtualbox-ose modules
make[2]: Entering directory `/usr/src/linux-headers-2.6.27-2-generic'
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 /var/cache/prevu/src/28496/source/debian/build-generic/modules/virtualbox-ose/.tmp_versions ; rm -f /var/cache/prevu/src/28496/source/debian/build-generic/modules/virtualbox-ose/.tmp_versions/*
/usr/bin/make -f scripts/Makefile.build obj=/var/cache/prevu/src/28496/source/debian/build-generic/modules/virtualbox-ose
gcc -Wp,-MD,/var/cache/prevu/src/28496/source/debian/build-generic/modules/virtualbox-ose/linux/.SUPDrv-linux.o.d -nostdinc -isystem /usr/lib/gcc/x86_64-linux-gnu/4.3.2/include -D__KERNEL__ -Iinclude -I/usr/src/linux-headers-2.6.27-2-generic/arch/x86/include -include include/linux/autoconf.h -Iubuntu/include -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration -O2 -m64 -mtune=generic -mno-red-zone -mcmodel=kernel -funit-at-a-time -maccumulate-outgoing-args -pipe -Wno-sign-compare -fno-asynchronous-unwind-tables -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -Iinclude/asm-x86/mach-default -fno-stack-protector -fno-omit-frame-pointer -fno-optimize-sibling-calls -pg -Wdeclaration-after-statement -Wno-pointer-sign -I/usr/src/linux-headers-2.6.27-2-generic/include -I/var/cache/prevu/src/28496/source/debian/build-generic/modules/virtualbox-ose/ -I/var/cache/prevu/src/28496/source/debian/build-generic/modules/virtualbox-ose/include -I/var/cache/prevu/src/28496/source/debian/build-generic/modules/virtualbox-ose/r0drv/linux -D__KERNEL__ -DMODULE -DRT_OS_LINUX -DIN_RING0 -DIN_RT_R0 -DIN_SUP_R0 -DVBOX -DRT_WITH_VBOX -DCONFIG_VBOXDRV_AS_MISC -DRT_ARCH_AMD64 -DUSE_NEW_OS_INTERFACE_FOR_MM -DMODULE -D"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(SUPDrv_linux)" -D"KBUILD_MODNAME=KBUILD_STR(vboxdrv)" -c -o /var/cache/prevu/src/28496/source/debian/build-generic/modules/virtualbox-ose/linux/.tmp_SUPDrv-linux.o /var/cache/prevu/src/28496/source/debian/build-generic/modules/virtualbox-ose/linux/SUPDrv-linux.c
In file included from /var/cache/prevu/src/28496/source/debian/build-generic/modules/virtualbox-ose/linux/SUPDrv-linux.c:35:
/var/cache/prevu/src/28496/source/debian/build-generic/modules/virtualbox-ose/SUPDRV.h:99:30: error: asm/semaphore.h: No such file or directory
/var/cache/prevu/src/28496/source/debian/build-generic/modules/virtualbox-ose/linux/SUPDrv-linux.c: In function 'supdrvOSGipResume':
/var/cache/prevu/src/28496/source/debian/build-generic/modules/virtualbox-ose/linux/SUPDrv-linux.c:1331: error: too many arguments to function 'smp_call_function'
make[3]: *** [/var/cache/prevu/src/28496/source/debian/build-generic/modules/virtualbox-ose/linux/SUPDrv-linux.o] Error 1
make[2]: *** [_module_/var/cache/prevu/src/28496/source/debian/build-generic/modules/virtualbox-ose] Error 2
make[2]: Leaving directory `/usr/src/linux-headers-2.6.27-2-generic'
make[1]: *** [vboxdrv] Error 2
make[1]: Leaving directory `/var/cache/prevu/src/28496/source/debian/build-generic/modules/virtualbox-ose'
make[1]: Entering directory `/var/cache/prevu/src/28496/source/debian/build-server/modules/virtualbox-ose'
/usr/bin/make KBUILD_VERBOSE=1 -C /usr/src/linux-headers-2.6.27-2-server SUBDIRS=/var/cache/prevu/src/28496/source/debian/build-server/modules/virtualbox-ose SRCROOT=/var/cache/prevu/src/28496/source/debian/build-server/modules/virtualbox-ose modules
make[2]: Entering directory `/usr/src/linux-headers-2.6.27-2-server'
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 /var/cache/prevu/src/28496/source/debian/build-server/modules/virtualbox-ose/.tmp_versions ; rm -f /var/cache/prevu/src/28496/source/debian/build-server/modules/virtualbox-ose/.tmp_versions/*
/usr/bin/make -f scripts/Makefile.build obj=/var/cache/prevu/src/28496/source/debian/build-server/modules/virtualbox-ose
gcc -Wp,-MD,/var/cache/prevu/src/28496/source/debian/build-server/modules/virtualbox-ose/linux/.SUPDrv-linux.o.d -nostdinc -isystem /usr/lib/gcc/x86_64-linux-gnu/4.3.2/include -D__KERNEL__ -Iinclude -I/usr/src/linux-headers-2.6.27-2-server/arch/x86/include -include include/linux/autoconf.h -Iubuntu/include -Wall -Wundef -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -Werror-implicit-function-declaration -O2 -m64 -mtune=generic -mno-red-zone -mcmodel=kernel -funit-at-a-time -maccumulate-outgoing-args -pipe -Wno-sign-compare -fno-asynchronous-unwind-tables -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -Iinclude/asm-x86/mach-default -fno-stack-protector -fno-omit-frame-pointer -fno-optimize-sibling-calls -pg -Wdeclaration-after-statement -Wno-pointer-sign -I/usr/src/linux-headers-2.6.27-2-server/include -I/var/cache/prevu/src/28496/source/debian/build-server/modules/virtualbox-ose/ -I/var/cache/prevu/src/28496/source/debian/build-server/modules/virtualbox-ose/include -I/var/cache/prevu/src/28496/source/debian/build-server/modules/virtualbox-ose/r0drv/linux -D__KERNEL__ -DMODULE -DRT_OS_LINUX -DIN_RING0 -DIN_RT_R0 -DIN_SUP_R0 -DVBOX -DRT_WITH_VBOX -DCONFIG_VBOXDRV_AS_MISC -DRT_ARCH_AMD64 -DUSE_NEW_OS_INTERFACE_FOR_MM -DMODULE -D"KBUILD_STR(s)=#s" -D"KBUILD_BASENAME=KBUILD_STR(SUPDrv_linux)" -D"KBUILD_MODNAME=KBUILD_STR(vboxdrv)" -c -o /var/cache/prevu/src/28496/source/debian/build-server/modules/virtualbox-ose/linux/.tmp_SUPDrv-linux.o /var/cache/prevu/src/28496/source/debian/build-server/modules/virtualbox-ose/linux/SUPDrv-linux.c
In file included from /var/cache/prevu/src/28496/source/debian/build-server/modules/virtualbox-ose/linux/SUPDrv-linux.c:35:
/var/cache/prevu/src/28496/source/debian/build-server/modules/virtualbox-ose/SUPDRV.h:99:30: error: asm/semaphore.h: No such file or directory
/var/cache/prevu/src/28496/source/debian/build-server/modules/virtualbox-ose/linux/SUPDrv-linux.c: In function 'supdrvOSGipResume':
/var/cache/prevu/src/28496/source/debian/build-server/modules/virtualbox-ose/linux/SUPDrv-linux.c:1331: error: too many arguments to function 'smp_call_function'
make[3]: *** [/var/cache/prevu/src/28496/source/debian/build-server/modules/virtualbox-ose/linux/SUPDrv-linux.o] Error 1
make[2]: *** [_module_/var/cache/prevu/src/28496/source/debian/build-server/modules/virtualbox-ose] Error 2
make[2]: Leaving directory `/usr/src/linux-headers-2.6.27-2-server'
make[1]: *** [vboxdrv] Error 2
make[1]: Leaving directory `/var/cache/prevu/src/28496/source/debian/build-server/modules/virtualbox-ose'
make: *** [build_vboxdrv] Error 2
dpkg-buildpackage: failure: debian/rules build gave error exit status 2
"""
Disclaimer: I'm no kernel hacker, I just want to get virtualbox up and running again.
The quick fix for me was changing #include <asm/semaphore.h> to #include <linux/semaphore.h> and removing the third parameter (0 /* retry */,) from all those places where compiling failed because of too many arguments (esp. smp_call_function, I don't remember the other function names)