[linux-dvb] hg v4l-dvb broken with kernel 2.6.18.dfsg.1-13etch4 (Debian)

hermann pitton hermann-pitton at arcor.de
Sat Oct 20 00:41:44 CEST 2007


Am Samstag, den 20.10.2007, 00:04 +0200 schrieb Hans-Georg Friedmann:
> Hans-Georg Friedmann schrieb:
> > Hi folks :-)
> > 
> > Yesterday I upgraded the kernel of my c't-VDR 6 to 2.6.18.dfsg.1-13etch3, then
> > to 2.6.18.dfsg.1-13etch4 and had the same problem with both of them when
> > building the latest v4l-dvb from hg.
> > 
> > Unfortunately I hadn't tried compiling with the before working hg-release, so I
> > had quite a hard time finding the error.
> > 
> > The error was (compiling with linux-source-2.6.18 2.6.18.dfsg.1-13etch4 on hg
> > release ea93c93f1547 as of Oct 11th):
> > 
> >   CC [M]  src/dvb/v4l-dvb_test/v4l/pvrusb2-sysfs.o
> > src/dvb/v4l-dvb_test/v4l/pvrusb2-sysfs.c: In function 'pvr2_sysfs_add_debugifc':
> > src/dvb/v4l-dvb_test/v4l/pvrusb2-sysfs.c:626: warning: assignment from incompatible pointer type
> > src/dvb/v4l-dvb_test/v4l/pvrusb2-sysfs.c:627: warning: assignment from incompatible pointer type
> > src/dvb/v4l-dvb_test/v4l/pvrusb2-sysfs.c:630: warning: assignment from incompatible pointer type
> > src/dvb/v4l-dvb_test/v4l/pvrusb2-sysfs.c: In function 'pvr2_sysfs_class_create':
> > src/dvb/v4l-dvb_test/v4l/pvrusb2-sysfs.c:925: error: 'struct class' has no member named 'dev_release'
> > src/dvb/v4l-dvb_test/v4l/pvrusb2-sysfs.c:930: error: 'struct class' has no member named 'dev_uevent'
> > make[4]: ***
> > [src/dvb/v4l-dvb_test/v4l/pvrusb2-sysfs.o] Error 1
> [..]
> > The problem persisted even after deactivating pvrusb2-support and looked like that:
> > 
> > make[2]: Entering directory
> > `src/usr_src_vdr6/linux-headers-2.6.18-5-686'
> >   CC [M]  src/dvb/v4l-dvb/v4l/videodev.o
> > src/dvb/v4l-dvb/v4l/videodev.c:126: error: unknown field 'dev_attrs' specified in initializer
> > src/dvb/v4l-dvb/v4l/videodev.c:126: warning: initialization from incompatible pointer type
> > src/dvb/v4l-dvb/v4l/videodev.c:127: error: unknown field 'dev_release' specified in initializer
> > src/dvb/v4l-dvb/v4l/videodev.c:127: warning: missing braces around initializer
> > src/dvb/v4l-dvb/v4l/videodev.c:127: warning: (near initialization for 'video_class.subsys')
> > src/dvb/v4l-dvb/v4l/videodev.c:127: warning: initialization from incompatible pointer type
> > make[4]: *** [src/dvb/v4l-dvb/v4l/videodev.o]
> [..]
> > 
> > Finally looking in the Mercurial changelog at http://www.linuxtv.org/hg/v4l-dvb
> > and trying to compile different revisions I found out that revision d54a009062d3
> > worked, but a3583b377d71 not anymore:
> > 
> > Mauro Carvalho Chehab 	V4L: convert struct class_device to struct device
> > a3583b377d71			## <- doesn't work
> > 
> > Mauro Carvalho Chehab 	videobuf_core init always require callback
> > implementation	d54a009062d3	## <- still works
> > 
> > 
> > An example of the problematic section in dvb/v4l-dvb/v4l/videodev.c[118]:
> > 
> > static struct class video_class = {
> >         .name    = VIDEO_NAME,
> > #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,13)
> >         .release = video_release,
> > #else
> >         .dev_attrs = video_device_attrs,
> >         .dev_release = video_release,
> > #endif
> > };
> > 
> > It seems for me like the new struct isn't in the debian-version of 2.6.18 yet.
> > But maybe the test for version 2.6.13 in the code is simply wrong and the change
> > in the struct was even later? I'm not so good at kernel-level, so this is only a
> > guess.
> > 
> > So for now I'm running on rev. d54a009062d3 (accomplished by
> > "hg revert -r d54a009062d3").
> > 
> 
> Hi again,
> 
> halim.sahin at t-online.de <20071017155934.GA7241 at halim.local> and
> e9hack at googlemail.com <4712302D.2070701 at gmail.com> seem to have similar problems.
> 
> I tried again with changeset 6358...
> 
> > author	Mike Isely <isely at pobox.com>
> > 	Sun Oct 14 16:20:34 2007 -0500 (5 days ago)
> > changeset 6358	pvrusb2: Fix broken build for 2.6.18 kernel
> 
> ... and got this error, obviously coming from some earlier changeset including
> freezer.h, which isn't in 2.6.18:
> 
>   CC [M]  src/dvb/v4l-dvb_test_2.6.18_fix/v4l-dvb/v4l/saa7134-ts.o
>   CC [M]  src/dvb/v4l-dvb_test_2.6.18_fix/v4l-dvb/v4l/saa7134-tvaudio.o
> src/dvb/v4l-dvb_test_2.6.18_fix/v4l-dvb/v4l/saa7134-tvaudio.c:30:27: error:
> linux/freezer.h: No such file or directory
> make[3]: *** [src/dvb/v4l-dvb_test_2.6.18_fix/v4l-dvb/v4l/saa7134-tvaudio.o] Error 1
> make[2]: *** [_module_src/dvb/v4l-dvb_test_2.6.18_fix/v4l-dvb/v4l] Error 2
> make[2]: Leaving directory `src/usr_src_vdr6/linux-headers-2.6.18-5-686'
> make[1]: *** [default] Fehler 2
> make[1]: Leaving directory `src/dvb/v4l-dvb_test_2.6.18_fix/v4l-dvb/v4l'
> make: *** [all] Fehler 2
> 
> The compilation of current changeset 6383 exits with exactly the same error,
> btw. Would be nice if 2.6.18 would still be supported in the hg tree since this
> still seems to be the official Kernel of Debian stable.
> 
> greetz,
> hgf

We can't take much care of _official_ Debian kernels :)

But the problem is at least known.

Cheers,
Hermann





More information about the linux-dvb mailing list