Issue building kernel driver

From: Chris Holvenstot
Date: Thu Nov 01 2007 - 13:39:20 EST



Although it may not be popular with the crowd here, I do have a valid
reason to run Windows - and I accomidate this using the VirtualBox
product.

Since I try to be slightly useful and build as many of the "test" kernel
images I can I end up rebuilding the VirtualBox kernel driver (open
source) on an almost daily basis.

I attempted to rebuild the driver today and got the following error
messages running 2.6.24-rc1-git9

<snip>

make -f scripts/Makefile.build obj=/tmp/vbox.0
gcc -m32 -Wp,-MD,/tmp/vbox.0/linux/.SUPDrv-linux.o.d -nostdinc
-isystem /usr/lib/gcc/i486-linux-gnu/4.1.3/include -D__KERNEL__
-Iinclude -include include/linux/autoconf.h -Wall -Wundef
-Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common
-Werror-implicit-function-declaration -O2 -pipe -msoft-float -mregparm=3
-freg-struct-return -mpreferred-stack-boundary=2 -march=k8
-mtune=generic -ffreestanding -maccumulate-outgoing-args make -f
scripts/Makefile.build obj=/tmp/vbox.0
gcc -m32 -Wp,-MD,/tmp/vbox.0/linux/.SUPDrv-linux.o.d -nostdinc
-isystem /usr/lib/gcc/i486-linux-gnu/4.1.3/include -D__KERNEL__
-Iinclude -include include/linux/autoconf.h -Wall -Wundef
-Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common
-Werror-implicit-function-declaration -O2 -pipe -msoft-float -mregparm=3
-freg-struct-return -mpreferred-stack-boundary=2 -march=k8
-mtune=generic -ffreestanding -maccumulate-outgoing-args
-Iinclude/asm-x86/mach-default -fomit-frame-pointer -g
-fno-stack-protector -Wdeclaration-after-statement -Wno-pointer-sign
-I/lib/modules/2.6.24-rc1-git9/build/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 -DCONFIG_VBOXDRV_AS_MISC
-DRT_ARCH_X86 -DVBOX_WITHOUT_IDT_PATCHING -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 /tmp/vbox.0/linux/.tmp_SUPDrv-linux.o /tmp/vbox.0/linux/SUPDrv-linux.c
In file included from /tmp/vbox.0/include/iprt/types.h:72,
from /tmp/vbox.0/include/VBox/types.h:21,
from /tmp/vbox.0/SUPDRV.h:26,
from /tmp/vbox.0/linux/SUPDrv-linux.c:22:
include/linux/types.h:40: error: redefinition of typedef âuintptr_tâ
/tmp/vbox.0/include/iprt/stdint.h:118: error: previous declaration of
âuintptr_tâ was here
In file included from include/linux/thread_info.h:20,
from include/linux/preempt.h:9,
from include/linux/spinlock.h:49,
from /tmp/vbox.0/SUPDRV.h:87,
from /tmp/vbox.0/linux/SUPDrv-linux.c:22:
include/linux/bitops.h:6:1: warning: "BIT" redefined
In file included from /tmp/vbox.0/include/VBox/cdefs.h:20,
from /tmp/vbox.0/SUPDRV.h:25,
from /tmp/vbox.0/linux/SUPDrv-linux.c:22:
/tmp/vbox.0/include/iprt/cdefs.h:1042:1: warning: this is the location
of the previous definition
make[2]: *** [/tmp/vbox.0/linux/SUPDrv-linux.o] Error 1
make[1]: *** [_module_/tmp/vbox.0] Error 2
make[1]: Leaving directory `/build/linux-2.6.24-rc1-git9'
make: *** [vboxdrv] Error 2
-Iinclude/asm-x86/mach-default -fomit-frame-pointer -g
-fno-stack-protector -Wdeclaration-after-statement -Wno-pointer-sign
-I/lib/modules/2.6.24-rc1-git9/build/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 -DCONFIG_VBOXDRV_AS_MISC
-DRT_ARCH_X86 -DVBOX_WITHOUT_IDT_PATCHING -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 /tmp/vbox.0/linux/.tmp_SUPDrv-linux.o /tmp/vbox.0/linux/SUPDrv-linux.c
In file included from /tmp/vbox.0/include/iprt/types.h:72,
from /tmp/vbox.0/include/VBox/types.h:21,
from /tmp/vbox.0/SUPDRV.h:26,
from /tmp/vbox.0/linux/SUPDrv-linux.c:22:
include/linux/types.h:40: error: redefinition of typedef âuintptr_tâ
/tmp/vbox.0/include/iprt/stdint.h:118: error: previous declaration of
âuintptr_tâ was here
In file included from include/linux/thread_info.h:20,
from include/linux/preempt.h:9,
from include/linux/spinlock.h:49,
from /tmp/vbox.0/SUPDRV.h:87,
from /tmp/vbox.0/linux/SUPDrv-linux.c:22:
include/linux/bitops.h:6:1: warning: "BIT" redefined
In file included from /tmp/vbox.0/include/VBox/cdefs.h:20,
from /tmp/vbox.0/SUPDRV.h:25,
from /tmp/vbox.0/linux/SUPDrv-linux.c:22:
/tmp/vbox.0/include/iprt/cdefs.h:1042:1: warning: this is the location
of the previous definition
make[2]: *** [/tmp/vbox.0/linux/SUPDrv-linux.o] Error 1
make[1]: *** [_module_/tmp/vbox.0] Error 2
make[1]: Leaving directory `/build/linux-2.6.24-rc1-git9'
make: *** [vboxdrv] Error 2

</snip>

I got the same error with 2.6.24-rc1-git10. Building this driver works
under 2.6.24-rc1-git4 (unfortunately due to some issues with my SATA
drives I did not get the chance to build git5-git8)

I am not sure if this should be reported to the kernel folks or the
VirtualBox folks - but the kernel code is what changed. However I will
post this on the VirtualBox forum too.

Thanks




-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/