ivtv fails to compile b/c i2c_client no longer has an id field; this is an upstream problem, but with ivtv, it's confusing as to who upstream is. Reproducible: Always Steps to Reproduce: 1. set /usr/src/linux to a 2.6.11 kernel 2. emerge ivtv Actual Results: # emerge -v ivtv alsa Calculating dependencies ...done! >>> emerge (1 of 2) media-tv/ivtv-0.2.0_rc3-r3 to / >>> md5 src_uri ;-) ivtv-0.2.0-rc3g.tgz >>> md5 src_uri ;-) pvr_1.18.21.22168_inf.zip * Determining the location of the kernel source code * Found kernel source directory: * /usr/src/linux * Found sources for kernel version: * 2.6.11-mm1 * Checking for suitable kernel configuration options >>> Unpacking source... >>> Unpacking ivtv-0.2.0-rc3g.tgz to /var/tmp/portage/ivtv-0.2.0_rc3-r3/work CONFIG_FB=y * Converting ivtv-0.2.0-rc3g/driver/Makefile2.6 to use M= instead of SUBDIRS=... [ ok ] >>> Source unpacked. * Preparing ivtv module make -C /usr/src/linux M=/var/tmp/portage/ivtv-0.2.0_rc3-r3/work/ivtv-0.2.0-rc3g/driver modules make[1]: Entering directory `/usr/src/linux-2.6.11-mm1' CC [M] /var/tmp/portage/ivtv-0.2.0_rc3-r3/work/ivtv-0.2.0-rc3g/driver/msp3400.o CC [M] /var/tmp/portage/ivtv-0.2.0_rc3-r3/work/ivtv-0.2.0-rc3g/driver/saa7115.o /var/tmp/portage/ivtv-0.2.0_rc3-r3/work/ivtv-0.2.0-rc3g/driver/saa7115.c: In function `saa7115_detect_client': /var/tmp/portage/ivtv-0.2.0_rc3-r3/work/ivtv-0.2.0-rc3g/driver/saa7115.c:1138: error: structure has no member named `id' /var/tmp/portage/ivtv-0.2.0_rc3-r3/work/ivtv-0.2.0-rc3g/driver/saa7115.c:1140: error: structure has no member named `id' make[2]: *** [/var/tmp/portage/ivtv-0.2.0_rc3-r3/work/ivtv-0.2.0-rc3g/driver/saa7115.o] Error 1 make[2]: *** Waiting for unfinished jobs.... make[2]: *** Waiting for unfinished jobs.... make[1]: *** [_module_/var/tmp/portage/ivtv-0.2.0_rc3-r3/work/ivtv-0.2.0-rc3g/driver] Error 2 make[1]: Leaving directory `/usr/src/linux-2.6.11-mm1' make: *** [all] Error 2 !!! ERROR: media-tv/ivtv-0.2.0_rc3-r3 failed. !!! Function linux-mod_src_compile, Line 417, Exitcode 2 !!! Unable to make KDIR=/usr/src/linux all. !!! If you need support, post the topmost build error, NOT this status message. Expected Results: it ought to have installed the ivtv kernel modules.
the mm sources are unsupported for this very reason. They contain changes to the internal structures of the kernel which the ivtv driver relies on. Upstream tracks the stable releases, not experimental mm patches. Develop a patch to make it work with mm and submit it upstream. Otherwise, use a kernel that is supported.
thanks for the heads up. the removal of i2c_client.id from include/linux/i2c.h -- the change that breaks the ivtv modules -- is not just in the mm sources; it's also in the post 2.6.11 stable kernel tree (specifically, 2.6.11-bk4). So this isn't an issue for stable gentoo users at the moment, but it will be in the future. The kernel diff is here: http://www.kernel.org/diff/diffview.cgi?file=%2Fpub%2Flinux%2Fkernel%2Fv2.6%2Fsnapshots%2Fpatch-2.6.11-bk4.bz2;z=797 Do you have Chris Kennedy's email address handy? I'd be happy to submit a patch directly to him, but I'm unable to find any electronic contact info for him.
I submitted a patch to the ivtv-devel mailing list for the 0.3.0 series of ivtv. You can probably track it down on one of the list archives, and apply the parts that are the same for 0.2.0.