Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 84469

Summary: ivtv-0.2.0_rc3-r3 doesn't compile against 2.6.11-mm1 sources
Product: Gentoo Linux Reporter: Dan Check <check>
Component: New packagesAssignee: Television related Applications in Gentoo's Portage <media-tv>
Status: RESOLVED INVALID    
Severity: normal    
Priority: High    
Version: unspecified   
Hardware: x86   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---

Description Dan Check 2005-03-07 20:31:38 UTC
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.
Comment 1 Doug Goldstein (RETIRED) gentoo-dev 2005-03-08 08:17:57 UTC
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.
Comment 2 Dan Check 2005-03-08 14:03:45 UTC
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.
Comment 3 Brian Jackson (RETIRED) gentoo-dev 2005-03-09 16:32:57 UTC
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.