Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 81017 - ivtv fails to compile during emerge on 2.4 kernel
Summary: ivtv fails to compile during emerge on 2.4 kernel
Status: RESOLVED UPSTREAM
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: x86 Linux
: High normal
Assignee: Television related Applications in Gentoo's Portage
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-02-06 12:00 UTC by Chris S.
Modified: 2005-03-22 18:32 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments
patch to get ivtv-0.2.0-rc3(f) to compile on kernel 2.4.28 (ivtv-kthreads.patch,1.16 KB, patch)
2005-02-18 05:24 UTC, Stefan Hellwig
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Chris S. 2005-02-06 12:00:44 UTC
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
Comment 1 Brian Jackson (RETIRED) gentoo-dev 2005-02-06 19:15:33 UTC
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.
Comment 2 Chris S. 2005-02-06 21:33:38 UTC
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?
Comment 3 Stefan Hellwig 2005-02-18 05:21:37 UTC
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.
Comment 4 Stefan Hellwig 2005-02-18 05:24:30 UTC
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.
Comment 5 Brian Jackson (RETIRED) gentoo-dev 2005-02-18 08:07:52 UTC
why don't you send that patch to the ivtv-dev mailing list
Comment 6 Stefan Hellwig 2005-02-18 14:12:37 UTC
Good idea. I've sent the patch to the ivtv-devel mailing list now.
Comment 7 Doug Goldstein (RETIRED) gentoo-dev 2005-03-06 00:01:46 UTC
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.
Comment 8 Max Kalika (RETIRED) gentoo-dev 2005-03-22 11:27:19 UTC
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.
Comment 9 Brian Jackson (RETIRED) gentoo-dev 2005-03-22 18:32:18 UTC
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.