uname -a Linux palantir 2.4.28-gentoo-r5 #1 Sat Feb 5 15:56:40 EST 2005 i686 AMD Athlon(tm) XP 1700+ AuthenticAMD GNU/Linux emerge -pv ivtv These are the packages that I would merge, in order: Calculating dependencies ...done! [ebuild N ] media-tv/ivtv-0.2.0_rc3 -lirc 0 kB emerge ivtv <snip> gcc -D__KERNEL__ -D__KERNEL_SYSCALLS__ -DMODULE -DMODVERSIONS -I/lib/modules/2.4.28-gentoo-r5/build/include -O2 -fomit-frame-pointer -march=i586 -mcpu=i586 -fno-strict-aliasing -Wno-unused -include /lib/modules/2.4.28-gentoo-r5/build/include/linux/modversions.h -c -o ivtv-vbi.o ivtv-vbi.c gcc -D__KERNEL__ -D__KERNEL_SYSCALLS__ -DMODULE -DMODVERSIONS -I/lib/modules/2.4.28-gentoo-r5/build/include -O2 -fomit-frame-pointer -march=i586 -mcpu=i586 -fno-strict-aliasing -Wno-unused -include /lib/modules/2.4.28-gentoo-r5/build/include/linux/modversions.h -c -o ivtv-kthreads.o ivtv-kthreads.c ivtv-kthreads.c: In function `ivtv_dec_thread': ivtv-kthreads.c:1140: error: structure has no member named `sighand' ivtv-kthreads.c: In function `ivtv_enc_thread': ivtv-kthreads.c:1197: error: structure has no member named `sighand' make: *** [ivtv-kthreads.o] Error 1 !!! ERROR: media-tv/ivtv-0.2.0_rc3 failed. !!! Function src_compile, Line 46, Exitcode 2 !!! build of driver failed !!! If you need support, post the topmost build error, NOT this status message. Reproducible: Always Steps to Reproduce: 1. unmask ivtv for ~x86 2. emerge ivtv 3. Note compile failure with errors: ivtv-kthreads.c:1140: error: structure has no member named `sighand' ivtv-kthreads.c:1197: error: structure has no member named `sighand' Actual Results: Unable to emerge ivtv on 2.4 kernel. Expected Results: Able to emerge ivtv on 2.4 kernel Portage 2.0.51-r15 (default-linux/x86/2004.3, gcc-3.3.5, glibc-2.3.4.20040808-r1, 2.4.28-gentoo-r5 i686) ================================================================= System uname: 2.4.28-gentoo-r5 i686 AMD Athlon(tm) XP 1700+ Gentoo Base System version 1.4.16 Python: dev-lang/python-2.3.4 [2.3.4 (#1, Feb 1 2005, 09:54:51)] ccache version 2.3 [enabled] dev-lang/python: 2.3.4 sys-devel/autoconf: 2.13, 2.59-r6 sys-devel/automake: 1.8.5-r3, 1.5, 1.7.9-r1, 1.6.3, 1.4_p6, 1.9.4 sys-devel/binutils: 2.15.92.0.2-r1 sys-devel/libtool: 1.5.10-r4 virtual/os-headers: 2.6.8.1-r2 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CFLAGS="-O2 -march=athlon-xp -pipe -fomit-frame-pointer" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.3/env /usr/kde/3.3/share/config /usr/kde/3.3/shutdown /usr/kde/3/share/config /usr/lib/X11/xkb /usr/lib/mozilla/defaults/pref /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-O2 -march=athlon-xp -pipe -fomit-frame-pointer" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs autoconfig ccache distlocks sandbox sfperms" GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/Linux/distributions/gentoo" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/opt/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="x86 3dnow S3TC X a52 aac aalib aim alsa amd apm arts artworkextra avi berkdb bitmap-fonts ccache cdr crypt css cups dio directfb divx4linux dvd dvdr ecc encode esd exif f77 faad fam fame fb fbcon flac font-server foomaticdb fortran freetts freetype gdbm geoip gif ginac gnome gphoto2 gpm gstreamer gtk gtk2 hal icq ide imagemagick imlib ipv6 java jpeg kde ldap libcaca libg++ libwww lzo mad mbrola mdb mikmod mime mjpeg mmx motif mozaccess mozilla moznocompose moznomail mozsvg mp3 mpeg mpeg4 mplayer msn multislot music mysql mysqli mythtv ncurses nls no-opts noreiserfs nowin ntlm offensive oggvorbis opengl operanom2 oss pam pdflib perl png posix python qt quicktime readline real ruby sdl server sounds spell sse ssl stats svga tcltk tcpd tiff timidity transcode truetype truetype-fonts type1-fonts v4l v4l2 vcd videos vidix vorbis wma123 xml2 xmms xv xvid xvmc yahoo zlib"Unset: ASFLAGS, CBUILD, CTARGET, LANG, LC_ALL, LDFLAGS
There's not a lot that I can do about this. Upstream breaks 2.4 continuously. try editing the ebuild, and changing MY_P to have an f on the end, should look like the following: MY_P="${P/_/-}f" If it still fails, we'll have to consult with upstream. If that works, let me know, and I'll accelerate my plans to bump the drivers.
I edited the file as requested to emerge the "f" release (Chris Kennedy's I beleive). I did it via an overlay and verified that it indeed tried to emerge the f version tgz. Same error though. I'm trying to set up a kernel 2.4 MythTV gentoo machine. Any ideas on where to look upstream?
I also had the same compile problem with the ivtv driver and kernel version 2.4.28-gentoo-r5. On the ivtv mailing list I found a solution using #ifdefs in ivtv-kthreads.c just like in msp3400.c. So I created a small patch for that file and it compiles for me now. I'll attach it to this bug, maybe it's useful.
Created attachment 51512 [details, diff] patch to get ivtv-0.2.0-rc3(f) to compile on kernel 2.4.28 This patch is for the ivtv source code (drivers) and not for the ebuild.
why don't you send that patch to the ivtv-dev mailing list
Good idea. I've sent the patch to the ivtv-devel mailing list now.
upstream has no regard for 2.4 support. he just works on 2.6 support it looks like. If people mention it to him, he'll fix 2.4 support. So basically all 2.4 issues will most likely have to go upstream.
I have ivtv working on a custom rolled 2.4.29 (had it on .26-.28 as well). My kernel just contains v4l2, dm, netdev-random, gcc3, and uml host skas patches. The problem is that gentoo sources have a patch that removes the SCHED_YIELD define which ivtv uses to determine whether to use the sighand member for scheduling. The patch in question is 01-02.lckbase-2.4.28_rc3.patch. I haven't dug any deeper than to find the source of the problem. I have no idea what this patch does so obviously I'm not about to recommend removing it. All I can say is that on a vanilla kernel (with the additions mentioned above) everything works honkey-dory. I do not know if ivtv is faulty for using SCHED_YIELD as an improper means to determine whether sighand should be used or not, or if gentoo's kernel is incomplete in not providing the sighand support after removing SCHED_YIELD. I leave that to the experts. All I know is that it isn't fair to lay blame completely on the ivtv folks' apparent lack of 2.4 support.
Nobody has said anything that Chris hasn't admitted to publicly. Either way, the issue still stands that 2.4 can effectively be considered deprecated by upstream. You guys can try using a 2.4 kernel that's closer to vanilla. Other than that, I don't see any of us having the inclination to get it working. So you can consider yourself on your own.