[Pkg-spca5xx-devel] Bug#347860: spca5xx-source: make-kpkg module_image build fails (with kernel 2.6.14.6)

Brad Sawatzky brad+debian at swatter.net
Fri Jan 13 04:35:42 UTC 2006


Package: spca5xx-source
Version: 20051212-1
Severity: important
Tags: patch


The spca5xx module fails to build through the make-kpkg system with kernel
2.6.14.6 (obtained from kernel.org).

The build process works from the /usr/src/linux-2.6.12.3/ directory with
all the same tools.  I presume the new kernel removed an 'include
<linux/version.h>' out of one of the kernel header files that is included
in '/usr/src/modules/spca5xx/drivers/usb/spcadecoder.h'.

The attached patch simply adds an explicit 'include <linux/version.h>' to
'spcadecoder.h' which appears to solve the problem.

-- Brad

--- Build log below ---
brad at dragon 1062% fakeroot make-kpkg --added-modules spca5xx modules_image 
exec debian/rules  DEBIAN_REVISION=gcc3.4  KPKG_SELECTED_MODULES="spca5xx"  modules_image 

====== making .config because of  ======
test -f .config || test ! -f .config.save || \
                            cp -pf .config.save .config
test -f .config || test ! -f .config || \
                            cp -pf .config .config
test -f .config || test ! -f ./debian/config || \
                            cp -pf ./debian/config  .config
test -f .config || (echo "*** Need a config file .config" && false)
for module in /usr/src/modules/spca5xx ; do                       \
          if test -d  $module; then                                \
            (cd $module;                                          \
              if ./debian/rules KVERS="2.6.14.6" KSRC="/usr/src/linux-2.6.14.6" \
                             KMAINT="Brad Sawatzky" KEMAIL="brad+debian at swatter.net"      \
                             KPKG_DEST_DIR="/usr/src/linux-2.6.14.6/.."       \
                             KPKG_MAINTAINER="Brad Sawatzky"        \
                             KPKG_EXTRAV_ARG=""        \
                             ARCH="i386"                  \
                             KDREV="gcc3.4" kdist_image; then    \
                  echo "Module $module processed fine";            \
              else                                                  \
                   echo "Module $module failed.";                  \
                   if [ "X" != "X" ]; then      \
                      echo "Perhaps $module does not understand --rootcmd?";  \
                      echo "If you see messages that indicate that it is not"; \
                      echo "in fact being built as root, please file a bug ";  \
                      echo "against $module.";                     \
                   fi;                                              \
                   echo "Hit return to Continue";                   \
                 read ans;                                        \
              fi;                                                   \
             );                                                    \
          else                                                      \
               echo "Module $module does not exist";               \
               echo "Hit return to Continue?";                      \
          fi;                                                       \
        done
make[1]: Entering directory `/usr/src/modules/spca5xx'
/usr/bin/make -w -f debian/rules kdist_clean kdist_config binary-modules
make[2]: Entering directory `/usr/src/modules/spca5xx'
dh_testdir
dh_testroot
dh_clean
/usr/bin/make -C /usr/src/modules/spca5xx clean
make[3]: Entering directory `/usr/src/modules/spca5xx'
rm -r -f drivers/usb/*.o drivers/usb/.spcadecoder.o.cmd \
        drivers/usb/.spca5xx.o.cmd  *.o *.ko *.mod.* .[a-z]* core *.i
make[3]: Leaving directory `/usr/src/modules/spca5xx'
/usr/bin/gcc-3.4
for templ in ; do \
    cp $templ `echo $templ | sed -e 's/_KVERS_/2.6.14.6/g'` ; \
  done
for templ in `ls debian/*.modules.in` ; do \
    test -e ${templ%.modules.in}.backup || cp ${templ%.modules.in} ${templ%.modules.in}.backup 2>/dev/null || true; \
    sed -e 's/##KVERS##/2.6.14.6/g ;s/#KVERS#/2.6.14.6/g ; s/_KVERS_/2.6.14.6/g ; s/##KDREV##/gcc3.4/g ; s/#KDREV#/gcc3.4/g ; s/_KDREV_/gcc3.4/g' < $templ > ${templ%.modules.in}; \
  done
dh_testroot
dh_clean -k
# Build the module
/usr/bin/make -C /usr/src/modules/spca5xx KERNEL_VERSION=2.6.14.6 KERNELDIR=/usr/src/linux-2.6.14.6
make[3]: Entering directory `/usr/src/modules/spca5xx'
   Building SPCA5XX driver for 2.5/2.6 kernel.
   Remember: you must have read/write access to your kernel source tree.
/usr/bin/make -C /usr/src/linux-2.6.14.6 SUBDIRS=/usr/src/modules/spca5xx modules
make[4]: Entering directory `/usr/src/linux-2.6.14.6'
  CC [M]  /usr/src/modules/spca5xx/drivers/usb/spca5xx.o
In file included from /usr/src/modules/spca5xx/drivers/usb/spca5xx.c:763:
/usr/src/modules/spca5xx/drivers/usb/mr97311.h: In function `pcam_start':
/usr/src/modules/spca5xx/drivers/usb/mr97311.h:391: warning: ISO C90 forbids mixed declarations and code
  CC [M]  /usr/src/modules/spca5xx/drivers/usb/spcadecoder.o
In file included from /usr/src/modules/spca5xx/drivers/usb/spcadecoder.h:5,
                 from /usr/src/modules/spca5xx/drivers/usb/spcadecoder.c:35:
/usr/src/modules/spca5xx/drivers/usb/spca5xx.h:23:5: warning: "LINUX_VERSION_CODE" is not defined
/usr/src/modules/spca5xx/drivers/usb/spca5xx.h:23:26: warning: "KERNEL_VERSION" is not defined
/usr/src/modules/spca5xx/drivers/usb/spca5xx.h:23:40: missing binary operator before token "("
/usr/src/modules/spca5xx/drivers/usb/spca5xx.h:44:5: warning: "LINUX_VERSION_CODE" is not defined
/usr/src/modules/spca5xx/drivers/usb/spca5xx.h:44:26: warning: "KERNEL_VERSION" is not defined
/usr/src/modules/spca5xx/drivers/usb/spca5xx.h:44:40: missing binary operator before token "("
/usr/src/modules/spca5xx/drivers/usb/spca5xx.h:51:27: linux/tqueue.h: No such file or directory
/usr/src/modules/spca5xx/drivers/usb/spca5xx.h:54:5: warning: "LINUX_VERSION_CODE" is not defined
/usr/src/modules/spca5xx/drivers/usb/spca5xx.h:54:27: warning: "KERNEL_VERSION" is not defined
/usr/src/modules/spca5xx/drivers/usb/spca5xx.h:54:41: missing binary operator before token "("
In file included from /usr/src/modules/spca5xx/drivers/usb/spcadecoder.h:5,
                 from /usr/src/modules/spca5xx/drivers/usb/spcadecoder.c:35:
/usr/src/modules/spca5xx/drivers/usb/spca5xx.h:455: error: field `task' has incomplete type
make[5]: *** [/usr/src/modules/spca5xx/drivers/usb/spcadecoder.o] Error 1
make[4]: *** [_module_/usr/src/modules/spca5xx] Error 2
make[4]: Leaving directory `/usr/src/linux-2.6.14.6'
make[3]: *** [default] Error 2
make[3]: Leaving directory `/usr/src/modules/spca5xx'
make[2]: *** [binary-modules] Error 2
make[2]: Leaving directory `/usr/src/modules/spca5xx'
make[1]: *** [kdist_build] Error 2
make[1]: Leaving directory `/usr/src/modules/spca5xx'
Module /usr/src/modules/spca5xx failed.
Hit return to Continue



-- System Information:
Debian Release: testing/unstable
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: i386 (i686)
Shell:  /bin/sh linked to /bin/bash
Kernel: Linux 2.6.12.3
Locale: LANG=en_US, LC_CTYPE=en_US (charmap=ISO-8859-1)

Versions of packages spca5xx-source depends on:
ii  build-essential               11.1       informational list of build-essent
ii  bzip2                         1.0.2-11   high-quality block-sorting file co
ii  debhelper                     5.0.12     helper programs for debian/rules
ii  module-assistant              0.10.2     tool to make module package creati

spca5xx-source recommends no packages.

-- no debconf information
-------------- next part --------------
A non-text attachment was scrubbed...
Name: version-fix.diff
Type: text/x-c
Size: 299 bytes
Desc: not available
Url : http://lists.alioth.debian.org/pipermail/pkg-spca5xx-devel/attachments/20060112/e36a621e/version-fix-0001.bin


More information about the Pkg-spca5xx-devel mailing list