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@xxxxxxxxxxx <20071017155934.GA7241@xxxxxxxxxxx> and e9hack@xxxxxxxxxxxxxx <4712302D.2070701@xxxxxxxxx> seem to have similar problems. I tried again with changeset 6358... > author Mike Isely <isely@xxxxxxxxx> > 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 _______________________________________________ linux-dvb mailing list linux-dvb@xxxxxxxxxxx http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb