When upgrading avifile from 0.7.32.20030219 to 0.7.38.20030710 the compilation fails with the following error: gcc -DHAVE_CONFIG_H -I. -I. -I../../include -DHAVE_AV_CONFIG_H -I./../libavcodec -I./.. -Wall -Wno-unused -I../../include -O2 -mcpu=i686 -march=i686 -ffast-math -fomit-frame-pointer -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -pipe -c grab.c -fPIC -DPIC -o grab.lo In file included from /usr/include/linux/videodev2.h:16, from /usr/include/linux/videodev.h:14, from grab.c:20: /usr/include/linux/time.h:9: redefinition of `struct timespec' /usr/include/linux/time.h:88: redefinition of `struct timeval' In file included from grab.c:25: /usr/include/sys/time.h:58: redefinition of `struct timezone' /usr/include/sys/time.h:95: parse error before numeric constant /usr/include/sys/time.h:109: redefinition of `struct itimerval' In file included from grab.c:26: /usr/include/time.h:160: redefinition of `struct itimerspec' make[2]: *** [grab.lo] Error 1 make[2]: Leaving directory `/var/tmp/portage/avifile-0.7.38.20030710/work/avifile-0.7-0.7.38/ffmpeg/libavformat' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/avifile-0.7.38.20030710/work/avifile-0.7-0.7.38/ffmpeg' make: *** [all-recursive] Error 1 !!! ERROR: media-video/avifile-0.7.38.20030710 failed. !!! Function src_compile, Line 140, Exitcode 2 !!! (no error message) Reproducible: Always Steps to Reproduce: 1. emerge avifile -U 2. 3. Actual Results: see above error Expected Results: compilation should have finished Portage 2.0.49-r3 (default-x86-1.4, gcc-3.2.3, glibc-2.3.2-r1,2.2.5-r4, 2.4.20-gentoo-r7) ================================================================= System uname: 2.4.20-gentoo-r7 i686 AMD Athlon(tm) XP 1700+ distcc 2.9 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled] ccache version 2.2 [enabled] ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CFLAGS="-march=athlon-xp -O3 -pipe" CHOST="i686-pc-linux-gnu" COMPILER="gcc3" CONFIG_PROTECT="/etc /var/qmail/control /usr/kde/2/share/config /usr/X11R6/lib/X11/xkb /usr/kde/3.1/share/config /usr/kde/3/share/config /usr/share/config" CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d" CXXFLAGS="-march=athlon-xp -O3 -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="sandbox ccache autoaddcvs fixpackages emergemail" GENTOO_MIRRORS="http://gentoo.oregonstate.edu http://distro.ibiblio.org/pub/Linux/distributions/gentoo" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://dark-lord.ihtruelsen.dyndns.org/gentoo-portage" USE="x86 cups foomaticdb gif kde gnome libg++ mad mikmod mmx nls png xml2 zlib gtkhtml alsa gdbm berkdb slang readline arts tetex aalib bonobo svga tcltk java guile X sdl gpm tcpd pam libwww ssl perl python esd imlib oggvorbis gtk qt motif opengl mozilla gphoto2 gtk2 usb mysql directfb moznocompose moznoirc -mozxmlterm -mozp3p -mozaccess -mozcalendar moznomail xface 3dnow apm avi crypt dvd encode fbcon flash jpeg mpeg ncurses oss pdflib quicktime slp spell tdfx truetype voodoo3 xmms xv"
it's a kernel thang afaik
In what sense is it a kernel issue? Is it incompatible with the 2.4.20 kernel? Is it one of the gentoo-sources patches? Is it a kernel config problem?
That's not a kernel issue, that's barfed includes. I haven't looked at the source, I will do later if none of you are bothered to, but if that thing needs kernel headers, it should use kernel headers not /usr/include/...
This looks suspiciously related to bug 29280. Can you please paste the output of: portageq best_version / virtual/os-headers
ian@minion ian $ portageq best_version / virtual/os-headers sys-kernel/linux-headers-2.4.19-r1
Odd, you haven't patched your kernel headers with v4l2 have you? If not, what does the following say? grep -r /usr/include/linux/videodev2.h `find /var/db/pkg -name CONTENTS` and for completeness what about: grep -r /usr/include/linux/videodev.h `find /var/db/pkg -name CONTENTS`
Nope. I let the gentoo-sources people deal with the patching :) ian@minion ian $ grep -r /usr/include/linux/videodev2.h `find /var/db/pkg -name CONTENTS` ian@minion ian $ grep -r /usr/include/linux/videodev.h `find /var/db/pkg -name CONTENTS` /var/db/pkg/sys-kernel/linux-headers-2.4.18/CONTENTS:obj /usr/include/linux/videodev.h 6b11fd335c0d1dcb8756b9f8cec722f3 1018217090 /var/db/pkg/sys-kernel/linux-headers-2.4.19-r1/CONTENTS:obj /usr/include/linux/videodev.h 7c8dbca286f92e265634e6aa9845e688 1061688763
this is now fixed. for some reason my linux-headers were screwed up. after unmerging and re-emerging linux-headers, and it is all good.