2007-11-01 17:39:19

by Chris Holvenstot

[permalink] [raw]
Subject: Issue building kernel driver


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





2007-11-01 17:51:54

by Adrian Bunk

[permalink] [raw]
Subject: Re: Issue building kernel driver

On Thu, Nov 01, 2007 at 12:39:06PM -0500, Chris Holvenstot wrote:
>
> 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 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.

We had a (different) bug report involving exactly this external driver
at some older post 2.6.23 kernel where it turned out it was a problem in
this driver - and this one also looks really like a problem in their
driver.

Generally, problems with external drivers should be reported to the
vendors of these drivers and not here (unless it's clear it's a bug in
the kernel and not in the driver).

> Thanks

cu
Adrian

--

"Is there not promise of rain?" Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
"Only a promise," Lao Er said.
Pearl S. Buck - Dragon Seed

2007-11-01 18:03:39

by Chris Holvenstot

[permalink] [raw]
Subject: Re: Issue building kernel driver

Thank you for the quick response - normally I would not have bothered
with the kernel list but this is a case where the same source would
sucessfully compile on "git4" but not on "git9 or git10"

As I previously stated the message is also being sent to the VirtualBox
developers (who will likely tell that they don't support those who build
and test development kernels)

Once again thanks





On Thu, 2007-11-01 at 18:51 +0100, Adrian Bunk wrote:
> On Thu, Nov 01, 2007 at 12:39:06PM -0500, Chris Holvenstot wrote:
> > Adrian Bunk <[email protected]>Adrian Bunk <[email protected]>
> > 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.
> > http://www.google.com/
> > 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 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.
>
> We had a (different) bug report involving exactly this external driver
> at some older post 2.6.23 kernel where it turned out it was a problem in
> this driver - and this one also looks really like a problem in their
> driver.
>
> Generally, problems with external drivers should be reported to the
> vendors of these drivers and not here (unless it's clear it's a bug in
> the kernel and not in the driver).
>
> > Thanks
>
> cu
> Adrian
>

2007-11-01 18:04:27

by Sam Ravnborg

[permalink] [raw]
Subject: Re: Issue building kernel driver

On Thu, Nov 01, 2007 at 12:39:06PM -0500, Chris Holvenstot wrote:
>
> 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.

We had an report about the vbox package a few days ago.
I looked at it and the vbox code is so ugly that it was not fun at all.
They play some very strange games in their include hell and that is
obviously doomed to do so.
You are unfortunately as a user hit by this and the only
recommendation I have is to report it back to the vbox people.
Fixing vbox may be trivial if you dive into their include hell
but I do think you are better off talking to the vbox people here.

They may say that "the kernel changed - fix the kernel" but we have the
~1800 modules building in the kernel so they need to fix their end of stuff.

Good luck,

Sam

2007-11-01 18:13:17

by Frans Pop

[permalink] [raw]
Subject: Re: Issue building kernel driver

Chris Holvenstot wrote:
> 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

I had the same issue and managed to work around it. See:
http://vbox.innotek.de/pipermail/vbox-users/2007-October/002372.html

Cheers,
FJP