#14 Fail to compile on Fedora Core 6

open
nobody
None
5
2006-10-29
2006-10-29
No

Initially i get a missing config.h. Afet redirecting it
to autoconf.h i get the following error:

make -C "/lib/modules/2.6.18-1.2798.fc6/build"
SUBDIRS="/tmpa/qc-usb-0.6.4" modules V=1 USER_OPT=""
make[1]: Entering directory
`/usr/src/kernels/2.6.18-1.2798.fc6-i586'
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 /tmpa/qc-usb-0.6.4/.tmp_versions
rm -f /tmpa/qc-usb-0.6.4/.tmp_versions/*
make -f scripts/Makefile.build obj=/tmpa/qc-usb-0.6.4
gcc -m32 -Wp,-MD,/tmpa/qc-usb-0.6.4/.qc-driver.o.d
-nostdinc -isystem
/usr/lib/gcc/i386-redhat-linux/4.1.1/include
-D__KERNEL__ -Iinclude -include
include/linux/autoconf.h -Wall -Wundef
-Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing
-fno-common -Wstrict-prototypes -Wundef
-Werror-implicit-function-declaration -Os -pipe
-msoft-float -fno-builtin-sprintf -fno-builtin-log2
-fno-builtin-puts -mpreferred-stack-boundary=2
-march=i586 -mtune=generic -mregparm=3 -ffreestanding
-Iinclude/asm-i386/mach-generic
-Iinclude/asm-i386/mach-default -fomit-frame-pointer
-fasynchronous-unwind-tables -g -fno-stack-protector
-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
/tmpa/qc-usb-0.6.4/.tmp_qc-driver.o
/tmpa/qc-usb-0.6.4/qc-driver.c
In file included from /tmpa/qc-usb-0.6.4/qc-driver.c:47:
/tmpa/qc-usb-0.6.4/quickcam.h:500: error: field 'vdev'
has incomplete type
/tmpa/qc-usb-0.6.4/qc-driver.c: In function 'qc_proc_read':
/tmpa/qc-usb-0.6.4/qc-driver.c:870: error:
'UTS_RELEASE' undeclared (first use in this function)
/tmpa/qc-usb-0.6.4/qc-driver.c:870: error: (Each
undeclared identifier is reported only once
/tmpa/qc-usb-0.6.4/qc-driver.c:870: error: for each
function it appears in.)
/tmpa/qc-usb-0.6.4/qc-driver.c: In function 'qc_v4l_poll':
/tmpa/qc-usb-0.6.4/qc-driver.c:2242: error: implicit
declaration of function 'video_devdata'
/tmpa/qc-usb-0.6.4/qc-driver.c:2242: warning:
initialization makes pointer from integer without a cast
/tmpa/qc-usb-0.6.4/qc-driver.c:2244: error:
dereferencing pointer to incomplete type
/tmpa/qc-usb-0.6.4/qc-driver.c: In function 'qc_v4l_open':
/tmpa/qc-usb-0.6.4/qc-driver.c:2294: warning:
initialization makes pointer from integer without a cast
/tmpa/qc-usb-0.6.4/qc-driver.c:2296: error:
dereferencing pointer to incomplete type
/tmpa/qc-usb-0.6.4/qc-driver.c: In function 'qc_v4l_close':
/tmpa/qc-usb-0.6.4/qc-driver.c:2362: warning:
initialization makes pointer from integer without a cast
/tmpa/qc-usb-0.6.4/qc-driver.c:2364: error:
dereferencing pointer to incomplete type
/tmpa/qc-usb-0.6.4/qc-driver.c: In function 'qc_v4l_read':
/tmpa/qc-usb-0.6.4/qc-driver.c:2409: warning:
initialization makes pointer from integer without a cast
/tmpa/qc-usb-0.6.4/qc-driver.c:2412: error:
dereferencing pointer to incomplete type
/tmpa/qc-usb-0.6.4/qc-driver.c: In function 'qc_v4l_mmap':
/tmpa/qc-usb-0.6.4/qc-driver.c:2463: warning:
initialization makes pointer from integer without a cast
/tmpa/qc-usb-0.6.4/qc-driver.c:2467: error:
dereferencing pointer to incomplete type
/tmpa/qc-usb-0.6.4/qc-driver.c: In function 'qc_v4l_ioctl':
/tmpa/qc-usb-0.6.4/qc-driver.c:2496: warning:
initialization makes pointer from integer without a cast
/tmpa/qc-usb-0.6.4/qc-driver.c:2499: error:
dereferencing pointer to incomplete type
/tmpa/qc-usb-0.6.4/qc-driver.c: At top level:
/tmpa/qc-usb-0.6.4/qc-driver.c:2994: error: variable
'qc_v4l_template' has initializer but incomplete type
/tmpa/qc-usb-0.6.4/qc-driver.c:2995: error: unknown
field 'name' specified in initializer
/tmpa/qc-usb-0.6.4/qc-driver.c:2995: warning: excess
elements in struct initializer
/tmpa/qc-usb-0.6.4/qc-driver.c:2995: warning: (near
initialization for 'qc_v4l_template')
/tmpa/qc-usb-0.6.4/qc-driver.c:2996: error: unknown
field 'type' specified in initializer
/tmpa/qc-usb-0.6.4/qc-driver.c:2996: warning: excess
elements in struct initializer
/tmpa/qc-usb-0.6.4/qc-driver.c:2996: warning: (near
initialization for 'qc_v4l_template')
/tmpa/qc-usb-0.6.4/qc-driver.c:2997: error: unknown
field 'hardware' specified in initializer
/tmpa/qc-usb-0.6.4/qc-driver.c:2997: warning: excess
elements in struct initializer
/tmpa/qc-usb-0.6.4/qc-driver.c:2997: warning: (near
initialization for 'qc_v4l_template')
/tmpa/qc-usb-0.6.4/qc-driver.c:2998: error: unknown
field 'minor' specified in initializer
/tmpa/qc-usb-0.6.4/qc-driver.c:2998: warning: excess
elements in struct initializer
/tmpa/qc-usb-0.6.4/qc-driver.c:2998: warning: (near
initialization for 'qc_v4l_template')
/tmpa/qc-usb-0.6.4/qc-driver.c:3000: error: unknown
field 'release' specified in initializer
/tmpa/qc-usb-0.6.4/qc-driver.c:3000: warning: excess
elements in struct initializer
/tmpa/qc-usb-0.6.4/qc-driver.c:3000: warning: (near
initialization for 'qc_v4l_template')
/tmpa/qc-usb-0.6.4/qc-driver.c:3001: error: unknown
field 'fops' specified in initializer
/tmpa/qc-usb-0.6.4/qc-driver.c:3001: warning: excess
elements in struct initializer
/tmpa/qc-usb-0.6.4/qc-driver.c:3001: warning: (near
initialization for 'qc_v4l_template')
/tmpa/qc-usb-0.6.4/qc-driver.c: In function 'qc_usb_init':
/tmpa/qc-usb-0.6.4/qc-driver.c:3145: error: invalid
application of 'sizeof' to incomplete type 'struct
video_device'
/tmpa/qc-usb-0.6.4/qc-driver.c:3145: error: invalid
application of 'sizeof' to incomplete type 'struct
video_device'
/tmpa/qc-usb-0.6.4/qc-driver.c:3145: error: invalid
application of 'sizeof' to incomplete type 'struct
video_device'
/tmpa/qc-usb-0.6.4/qc-driver.c:3147: error: implicit
declaration of function 'video_register_device'
/tmpa/qc-usb-0.6.4/qc-driver.c:3147: error:
'VFL_TYPE_GRABBER' undeclared (first use in this function)
/tmpa/qc-usb-0.6.4/qc-driver.c:3203: error: implicit
declaration of function 'video_unregister_device'
/tmpa/qc-usb-0.6.4/qc-driver.c: In function 'qc_usb_probe':
/tmpa/qc-usb-0.6.4/qc-driver.c:3269: error:
'UTS_RELEASE' undeclared (first use in this function)
make[2]: *** [/tmpa/qc-usb-0.6.4/qc-driver.o] Error 1
make[1]: *** [_module_/tmpa/qc-usb-0.6.4] Error 2
make[1]: Leaving directory
`/usr/src/kernels/2.6.18-1.2798.fc6-i586'
make: *** [quickcam.ko] Error 2

Discussion

  • Willy Wonka

    Willy Wonka - 2006-10-31

    Logged In: YES
    user_id=719866

    Same problem. FC6
    Linux localhost.localdomain 2.6.18-1.2798.fc6 #1 SMP Mon Oct
    16 14:37:32 EDT 2006 i686 athlon i386 GNU/Linux

    ]$ lsusb
    Bus 003 Device 001: ID 0000:0000
    Bus 004 Device 001: ID 0000:0000
    Bus 006 Device 001: ID 0000:0000
    Bus 002 Device 001: ID 0000:0000
    Bus 002 Device 002: ID 045e:0024 Microsoft Corp. Trackball
    Explorer
    Bus 005 Device 003: ID 03f0:1004 Hewlett-Packard DeskJet
    970c/970cse
    Bus 005 Device 001: ID 0000:0000
    Bus 001 Device 001: ID 0000:0000
    Bus 001 Device 002: ID 046d:0870 Logitech, Inc. QuickCam Express
    Bus 001 Device 003: ID 046e:52b0 Behavior Tech. Computer Corp.

    $ rpm -qa |grep gcc
    gcc-c++-4.1.1-30
    gcc-gnat-4.1.1-30
    libgcc-4.1.1-30
    compat-libgcc-296-2.96-138
    gcc-4.1.1-30
    gcc-objc-4.1.1-30
    gcc-gfortran-4.1.1-30

     
  • Ben

    Ben - 2006-11-01

    Logged In: YES
    user_id=1635070

    This is caused by changes in the kernel headers.

    In quickcam.h, I replaced :
    #include <linux/videodev.h>

    by :
    #include <linux/videodev2.h>
    #include <media/v4l2-dev.h>
    #include <linux/utsrelease.h>

    The driver then compiled, and works fine with kernel 2.6.18
    (camera 046d:0840).

     

Log in to post a comment.

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:





No, thanks