#13 qc-usb doesn't compile with gcc 4.1

open
nobody
None
5
2006-09-23
2006-09-23
El Goretto
No

When I try to compile and install it (gentoo), I get:

make -f scripts/Makefile.build
obj=/var/tmp/portage/qc-usb-0.6.4/work/qc-usb-0.6.4
i686-pc-linux-gnu-gcc
-Wp,-MD,/var/tmp/portage/qc-usb-0.6.4/work/qc-usb-0.6.4/.qc-driver.o.d
-nostdinc -isystem
/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include
-D__KERNEL__ -Iinclude -include
include/linux/autoconf.h -Wall -Wundef
-Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing
-fno-common -fno-stack-protector -O2
-fomit-frame-pointer -pipe -msoft-float
-mpreferred-stack-boundary=2 -march=i686
-mtune=pentium3 -mregparm=3 -ffreestanding
-Iinclude/asm-i386/mach-default
-Wdeclaration-after-statement -Wno-pointer-sign
-DNOKERNEL -DMODULE -D"KBUILD_STR(s)=#s"
-D"KBUILD_BASENAME=KBUILD_STR(qc_driver)"
-D"KBUILD_MODNAME=KBUILD_STR(quickcam)" -c -o
/var/tmp/portage/qc-usb-0.6.4/work/qc-usb-0.6.4/qc-driver.o
/var/tmp/portage/qc-usb-0.6.4/work/qc-usb-0.6.4/qc-driver.c
i686-pc-linux-gnu-gcc
-Wp,-MD,/var/tmp/portage/qc-usb-0.6.4/work/qc-usb-0.6.4/.qc-hdcs.o.d
-nostdinc -isystem
/usr/lib/gcc/i686-pc-linux-gnu/4.1.1/include
-D__KERNEL__ -Iinclude -include
include/linux/autoconf.h -Wall -Wundef
-Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing
-fno-common -fno-stack-protector -O2
-fomit-frame-pointer -pipe -msoft-float
-mpreferred-stack-boundary=2 -march=i686
-mtune=pentium3 -mregparm=3 -ffreestanding
-Iinclude/asm-i386/mach-default
-Wdeclaration-after-statement -Wno-pointer-sign
-DNOKERNEL -DMODULE -D"KBUILD_STR(s)=#s"
-D"KBUILD_BASENAME=KBUILD_STR(qc_hdcs)"
-D"KBUILD_MODNAME=KBUILD_STR(quickcam)" -c -o
/var/tmp/portage/qc-usb-0.6.4/work/qc-usb-0.6.4/qc-hdcs.o
/var/tmp/portage/qc-usb-0.6.4/work/qc-usb-0.6.4/qc-hdcs.c
In file included from
/var/tmp/portage/qc-usb-0.6.4/work/qc-usb-0.6.4/qc-hdcs.c:28:
/var/tmp/portage/qc-usb-0.6.4/work/qc-usb-0.6.4/quickcam.h:500:
erreur: field 'vdev' has incomplete type
make[2]: ***
[/var/tmp/portage/qc-usb-0.6.4/work/qc-usb-0.6.4/qc-hdcs.o]
Erreur 1
make[2]: *** Attente des tâches non terminées....
In file included from
/var/tmp/portage/qc-usb-0.6.4/work/qc-usb-0.6.4/qc-driver.c:48:
/var/tmp/portage/qc-usb-0.6.4/work/qc-usb-0.6.4/quickcam.h:500:
erreur: field 'vdev' has incomplete type
/var/tmp/portage/qc-usb-0.6.4/work/qc-usb-0.6.4/qc-driver.c:
In function 'qc_proc_read':
/var/tmp/portage/qc-usb-0.6.4/work/qc-usb-0.6.4/qc-driver.c:870:
erreur: 'UTS_RELEASE' undeclared (first use in this
function)
/var/tmp/portage/qc-usb-0.6.4/work/qc-usb-0.6.4/qc-driver.c:870:
erreur: (Each undeclared identifier is reported only once
/var/tmp/portage/qc-usb-0.6.4/work/qc-usb-0.6.4/qc-driver.c:870:
erreur: for each function it appears in.)
/var/tmp/portage/qc-usb-0.6.4/work/qc-usb-0.6.4/qc-driver.c:
In function 'qc_v4l_poll':
/var/tmp/portage/qc-usb-0.6.4/work/qc-usb-0.6.4/qc-driver.c:2242:
attention : implicit declaration of function
'video_devdata'
/var/tmp/portage/qc-usb-0.6.4/work/qc-usb-0.6.4/qc-driver.c:2242:
attention : initialization makes pointer from integer
without a cast
/var/tmp/portage/qc-usb-0.6.4/work/qc-usb-0.6.4/qc-driver.c:2244:
erreur: déréférencement d'un pointeur de type incomplet
/var/tmp/portage/qc-usb-0.6.4/work/qc-usb-0.6.4/qc-driver.c:
In function 'qc_v4l_open':
/var/tmp/portage/qc-usb-0.6.4/work/qc-usb-0.6.4/qc-driver.c:2294:
attention : initialization makes pointer from integer
without a cast
/var/tmp/portage/qc-usb-0.6.4/work/qc-usb-0.6.4/qc-driver.c:2296:
erreur: déréférencement d'un pointeur de type incomplet
/var/tmp/portage/qc-usb-0.6.4/work/qc-usb-0.6.4/qc-driver.c:
In function 'qc_v4l_close':
/var/tmp/portage/qc-usb-0.6.4/work/qc-usb-0.6.4/qc-driver.c:2362:
attention : initialization makes pointer from integer
without a cast
/var/tmp/portage/qc-usb-0.6.4/work/qc-usb-0.6.4/qc-driver.c:2364:
erreur: déréférencement d'un pointeur de type incomplet
/var/tmp/portage/qc-usb-0.6.4/work/qc-usb-0.6.4/qc-driver.c:
In function 'qc_v4l_read':
/var/tmp/portage/qc-usb-0.6.4/work/qc-usb-0.6.4/qc-driver.c:2409:
attention : initialization makes pointer from integer
without a cast
/var/tmp/portage/qc-usb-0.6.4/work/qc-usb-0.6.4/qc-driver.c:2412:
erreur: déréférencement d'un pointeur de type incomplet
/var/tmp/portage/qc-usb-0.6.4/work/qc-usb-0.6.4/qc-driver.c:
In function 'qc_v4l_mmap':
/var/tmp/portage/qc-usb-0.6.4/work/qc-usb-0.6.4/qc-driver.c:2463:
attention : initialization makes pointer from integer
without a cast
/var/tmp/portage/qc-usb-0.6.4/work/qc-usb-0.6.4/qc-driver.c:2467:
erreur: déréférencement d'un pointeur de type incomplet
/var/tmp/portage/qc-usb-0.6.4/work/qc-usb-0.6.4/qc-driver.c:
In function 'qc_v4l_ioctl':
/var/tmp/portage/qc-usb-0.6.4/work/qc-usb-0.6.4/qc-driver.c:2496:
attention : initialization makes pointer from integer
without a cast
/var/tmp/portage/qc-usb-0.6.4/work/qc-usb-0.6.4/qc-driver.c:2499:
erreur: déréférencement d'un pointeur de type incomplet
/var/tmp/portage/qc-usb-0.6.4/work/qc-usb-0.6.4/qc-driver.c:
Hors de toute fonction :
/var/tmp/portage/qc-usb-0.6.4/work/qc-usb-0.6.4/qc-driver.c:2994:
erreur: variable 'qc_v4l_template' has initializer but
incomplete type
/var/tmp/portage/qc-usb-0.6.4/work/qc-usb-0.6.4/qc-driver.c:2995:
erreur: unknown field 'name' specified in initializer
/var/tmp/portage/qc-usb-0.6.4/work/qc-usb-0.6.4/qc-driver.c:2995:
attention : éléments en excès dans l'initialisation de
la structure
/var/tmp/portage/qc-usb-0.6.4/work/qc-usb-0.6.4/qc-driver.c:2995:
attention : (near initialization for 'qc_v4l_template')
/var/tmp/portage/qc-usb-0.6.4/work/qc-usb-0.6.4/qc-driver.c:2996:
erreur: unknown field 'type' specified in initializer
/var/tmp/portage/qc-usb-0.6.4/work/qc-usb-0.6.4/qc-driver.c:2996:
attention : éléments en excès dans l'initialisation de
la structure
/var/tmp/portage/qc-usb-0.6.4/work/qc-usb-0.6.4/qc-driver.c:2996:
attention : (near initialization for 'qc_v4l_template')
/var/tmp/portage/qc-usb-0.6.4/work/qc-usb-0.6.4/qc-driver.c:2997:
erreur: unknown field 'hardware' specified in initializer
/var/tmp/portage/qc-usb-0.6.4/work/qc-usb-0.6.4/qc-driver.c:2997:
attention : éléments en excès dans l'initialisation de
la structure
/var/tmp/portage/qc-usb-0.6.4/work/qc-usb-0.6.4/qc-driver.c:2997:
attention : (near initialization for 'qc_v4l_template')
/var/tmp/portage/qc-usb-0.6.4/work/qc-usb-0.6.4/qc-driver.c:2998:
erreur: unknown field 'minor' specified in initializer
/var/tmp/portage/qc-usb-0.6.4/work/qc-usb-0.6.4/qc-driver.c:2998:
attention : éléments en excès dans l'initialisation de
la structure
/var/tmp/portage/qc-usb-0.6.4/work/qc-usb-0.6.4/qc-driver.c:2998:
attention : (near initialization for 'qc_v4l_template')
/var/tmp/portage/qc-usb-0.6.4/work/qc-usb-0.6.4/qc-driver.c:3000:
erreur: unknown field 'release' specified in initializer
/var/tmp/portage/qc-usb-0.6.4/work/qc-usb-0.6.4/qc-driver.c:3000:
attention : éléments en excès dans l'initialisation de
la structure
/var/tmp/portage/qc-usb-0.6.4/work/qc-usb-0.6.4/qc-driver.c:3000:
attention : (near initialization for 'qc_v4l_template')
/var/tmp/portage/qc-usb-0.6.4/work/qc-usb-0.6.4/qc-driver.c:3001:
erreur: unknown field 'fops' specified in initializer
/var/tmp/portage/qc-usb-0.6.4/work/qc-usb-0.6.4/qc-driver.c:3001:
attention : éléments en excès dans l'initialisation de
la structure
/var/tmp/portage/qc-usb-0.6.4/work/qc-usb-0.6.4/qc-driver.c:3001:
attention : (near initialization for 'qc_v4l_template')
/var/tmp/portage/qc-usb-0.6.4/work/qc-usb-0.6.4/qc-driver.c:
In function 'qc_usb_init':
/var/tmp/portage/qc-usb-0.6.4/work/qc-usb-0.6.4/qc-driver.c:3145:
erreur: invalid application of 'sizeof' to incomplete
type 'struct video_device'
/var/tmp/portage/qc-usb-0.6.4/work/qc-usb-0.6.4/qc-driver.c:3145:
erreur: invalid application of 'sizeof' to incomplete
type 'struct video_device'
/var/tmp/portage/qc-usb-0.6.4/work/qc-usb-0.6.4/qc-driver.c:3145:
erreur: invalid application of 'sizeof' to incomplete
type 'struct video_device'
/var/tmp/portage/qc-usb-0.6.4/work/qc-usb-0.6.4/qc-driver.c:3147:
attention : implicit declaration of function
'video_register_device'
/var/tmp/portage/qc-usb-0.6.4/work/qc-usb-0.6.4/qc-driver.c:3147:
erreur: 'VFL_TYPE_GRABBER' undeclared (first use in
this function)
/var/tmp/portage/qc-usb-0.6.4/work/qc-usb-0.6.4/qc-driver.c:3203:
attention : implicit declaration of function
'video_unregister_device'
/var/tmp/portage/qc-usb-0.6.4/work/qc-usb-0.6.4/qc-driver.c:
In function 'qc_usb_probe':
/var/tmp/portage/qc-usb-0.6.4/work/qc-usb-0.6.4/qc-driver.c:3269:
erreur: 'UTS_RELEASE' undeclared (first use in this
function)
make[2]: ***
[/var/tmp/portage/qc-usb-0.6.4/work/qc-usb-0.6.4/qc-driver.o]
Erreur 1
make[1]: ***
[_module_/var/tmp/portage/qc-usb-0.6.4/work/qc-usb-0.6.4]
Erreur 2
make[1]: Leaving directory `/usr/src/linux-2.6.18-rc4-mm2'
make: *** [quickcam.ko] Erreur 2

Discussion