I have reduced the amount of errors by changing paths:
#include <linux/io.h>
#include <linux/semaphore.h>
#include <asm-generic/page.h>
#include </usr/src/linux-2.6.30-fbcondecor/arch/x86/include/asm/uaccess.h>
#include <asm-generic/atomic.h>

This is what I am left with:
make -C /lib/modules/2.6.30-fbcondecor/build SUBDIRS=/home/aaron/src/gspcav1-fbcondecor/src/gspcav1-20071224 CC=cc modules
make[1]: Entering directory `/usr/src/linux-2.6.30-fbcondecor'
CC [M] /home/aaron/src/gspcav1-fbcondecor/src/gspcav1-20071224/gspca_core.o
In file included from /home/aaron/src/gspcav1-fbcondecor/src/gspcav1-20071224/gspca_core.c:845: /home/aaron/src/gspcav1-fbcondecor/src/gspcav1-20071224/utils/spcausb.h: In function ‘spca5xxRegRead’: /home/aaron/src/gspcav1-fbcondecor/src/gspcav1-20071224/utils/spcausb.h:95: error: implicit declaration of function ‘info’ /home/aaron/src/gspcav1-fbcondecor/src/gspcav1-20071224/utils/spcausb.h: In function ‘spca_set_interface’: /home/aaron/src/gspcav1-fbcondecor/src/gspcav1-20071224/utils/spcausb.h:278: error: implicit declaration of function ‘warn’ In file included from /home/aaron/src/gspcav1-fbcondecor/src/gspcav1-20071224/gspca_core.c:853: /home/aaron/src/gspcav1-fbcondecor/src/gspcav1-20071224/Sunplus-jpeg/sp5xxfw2.h: In function ‘sp5xxfw2_init’: /home/aaron/src/gspcav1-fbcondecor/src/gspcav1-20071224/Sunplus-jpeg/sp5xxfw2.h:122: error: called object ‘info’ is not a function /home/aaron/src/gspcav1-fbcondecor/src/gspcav1-20071224/Sunplus-jpeg/sp5xxfw2.h:136: error: called object ‘info’ is not a function /home/aaron/src/gspcav1-fbcondecor/src/gspcav1-20071224/Sunplus-jpeg/sp5xxfw2.h:141: error: called object ‘info’ is not a function /home/aaron/src/gspcav1-fbcondecor/src/gspcav1-20071224/Sunplus-jpeg/sp5xxfw2.h:148: error: called object ‘info’ is not a function /home/aaron/src/gspcav1-fbcondecor/src/gspcav1-20071224/Sunplus-jpeg/sp5xxfw2.h:176: error: called object ‘info’ is not a function /home/aaron/src/gspcav1-fbcondecor/src/gspcav1-20071224/Sunplus-jpeg/sp5xxfw2.h: In function ‘sp5xxfw2_start’: /home/aaron/src/gspcav1-fbcondecor/src/gspcav1-20071224/Sunplus-jpeg/sp5xxfw2.h:214: error: called object ‘info’ is not a function /home/aaron/src/gspcav1-fbcondecor/src/gspcav1-20071224/Sunplus-jpeg/sp5xxfw2.h:230: error: called object ‘info’ is not a function /home/aaron/src/gspcav1-fbcondecor/src/gspcav1-20071224/gspca_core.c: In function ‘spca5xx_ioctl’: /home/aaron/src/gspcav1-fbcondecor/src/gspcav1-20071224/gspca_core.c:2463: error: implicit declaration of function ‘video_usercopy’ /home/aaron/src/gspcav1-fbcondecor/src/gspcav1-20071224/gspca_core.c: At top level: /home/aaron/src/gspcav1-fbcondecor/src/gspcav1-20071224/gspca_core.c:2609: error: unknown field ‘owner’ specified in initializer /home/aaron/src/gspcav1-fbcondecor/src/gspcav1-20071224/gspca_core.c:2609: warning: initialization from incompatible pointer type /home/aaron/src/gspcav1-fbcondecor/src/gspcav1-20071224/gspca_core.c:2611: error: unknown field ‘type’ specified in initializer /home/aaron/src/gspcav1-fbcondecor/src/gspcav1-20071224/gspca_core.c:2615: warning: initialization from incompatible pointer type /home/aaron/src/gspcav1-fbcondecor/src/gspcav1-20071224/gspca_core.c: In function ‘spca50x_create_sysfs’: /home/aaron/src/gspcav1-fbcondecor/src/gspcav1-20071224/gspca_core.c:2769: error: implicit declaration of function ‘video_device_create_file’ /home/aaron/src/gspcav1-fbcondecor/src/gspcav1-20071224/gspca_core.c:2780: error: implicit declaration of function ‘video_device_remove_file’ /home/aaron/src/gspcav1-fbcondecor/src/gspcav1-20071224/gspca_core.c: In function ‘spca5xx_probe’: /home/aaron/src/gspcav1-fbcondecor/src/gspcav1-20071224/gspca_core.c:4301: error: incompatible types when assigning to type ‘struct device’ from type ‘struct device *’ make[2]: *** [/home/aaron/src/gspcav1-fbcondecor/src/gspcav1-20071224/gspca_core.o] Error 1 make[1]: *** [_module_/home/aaron/src/gspcav1-fbcondecor/src/gspcav1-20071224] Error 2
make[1]: Leaving directory `/usr/src/linux-2.6.30-fbcondecor'
make: *** [default] Error 2
==> ERROR: Build Failed.
Aborting...

Any more advice?

Heiko Baums wrote:
Am Wed, 8 Jul 2009 14:52:24 -0400
schrieb Aaron Lane <aarondrewl...@gmail.com>:

I tried adding that line:

build() {
  cd $startdir/src/gspcav1-20071224
  sed -i -e "s/KERNEL_VERSION = .*/KERNEL_VERSION = ${_kernver}/"
Makefile sed -i "s:asm\/semaphore.h:linux\/semaphore.h" gspca_core.c
<----- HERE make || return 1

I just see, that I made a few typos in the sed command. Maybe that's why
you still get the same error.

This is the correct one:
sed -i "s:asm\/semaphore\.h:linux\/semaphore\.h:g" gspca_core.c

The position of the sed command looks correct.

I started poking around in gspca_core.c, and I noticed several
inclusions that look like they should be changed from the asm
directory to the linux directory (I think one actually had a typo as
well), but I do not know how to work around the md5sums validity
checker.

To look for the existence and location of kernel header files just run
this command on the console:
find /usr/src/linux-2.6.30-fbcondecor -iname "*semaphore*"

Replace semaphore with parts of the other file names.

Then you can add more sed commands as you need.

To generate new md5sums just run this command:
makepkg -g

Cheers,
Heiko


Reply via email to