This could be possibly an issue with gcc. gcc -mcpu=pentium3 -march=pentium3 -O2 -pipe -Wall -g -I.. -I/home/root/tmp/portage/gst-plugins-0.6.4/work/gst-plugins-0.6.4/gst-libs/ext/ffmpeg/ffmpeg -I/home/root/tmp/portage/gst-plugins-0.6.4/work/gst-plugins-0.6.4/gst-libs/ext/ffmpeg/ffmpeg/libavcodec -DHAVE_AV_CONFIG_H -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -c -o udp.o udp.c gcc -mcpu=pentium3 -march=pentium3 -O2 -pipe -Wall -g -I.. -I/home/root/tmp/portage/gst-plugins-0.6.4/work/gst-plugins-0.6.4/gst-libs/ext/ffmpeg/ffmpeg -I/home/root/tmp/portage/gst-plugins-0.6.4/work/gst-plugins-0.6.4/gst-libs/ext/ffmpeg/ffmpeg/libavcodec -DHAVE_AV_CONFIG_H -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -c -o tcp.o tcp.c gcc -mcpu=pentium3 -march=pentium3 -O2 -pipe -Wall -g -I.. -I/home/root/tmp/portage/gst-plugins-0.6.4/work/gst-plugins-0.6.4/gst-libs/ext/ffmpeg/ffmpeg -I/home/root/tmp/portage/gst-plugins-0.6.4/work/gst-plugins-0.6.4/gst-libs/ext/ffmpeg/ffmpeg/libavcodec -DHAVE_AV_CONFIG_H -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -c -o http.o http.c gcc -mcpu=pentium3 -march=pentium3 -O2 -pipe -Wall -g -I.. -I/home/root/tmp/portage/gst-plugins-0.6.4/work/gst-plugins-0.6.4/gst-libs/ext/ffmpeg/ffmpeg -I/home/root/tmp/portage/gst-plugins-0.6.4/work/gst-plugins-0.6.4/gst-libs/ext/ffmpeg/ffmpeg/libavcodec -DHAVE_AV_CONFIG_H -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -c -o rtsp.o rtsp.c rtsp.c: In function `rtsp_read_header': rtsp.c:644: warning: dereferencing type-punned pointer will break strict-aliasing rules rtsp.c:824: warning: dereferencing type-punned pointer will break strict-aliasing rules gcc -mcpu=pentium3 -march=pentium3 -O2 -pipe -Wall -g -I.. -I/home/root/tmp/portage/gst-plugins-0.6.4/work/gst-plugins-0.6.4/gst-libs/ext/ffmpeg/ffmpeg -I/home/root/tmp/portage/gst-plugins-0.6.4/work/gst-plugins-0.6.4/gst-libs/ext/ffmpeg/ffmpeg/libavcodec -DHAVE_AV_CONFIG_H -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -c -o rtp.o rtp.c gcc -mcpu=pentium3 -march=pentium3 -O2 -pipe -Wall -g -I.. -I/home/root/tmp/portage/gst-plugins-0.6.4/work/gst-plugins-0.6.4/gst-libs/ext/ffmpeg/ffmpeg -I/home/root/tmp/portage/gst-plugins-0.6.4/work/gst-plugins-0.6.4/gst-libs/ext/ffmpeg/ffmpeg/libavcodec -DHAVE_AV_CONFIG_H -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -c -o rtpproto.o rtpproto.c rm -f libavformat.a ar rc libavformat.a utils.o cutils.o allformats.o mpeg.o mpegts.o ffm.o crc.o img.o raw.o rm.o asf.o avienc.o avidec.o wav.o swf.o au.o gif.o mov.o jpeg.o dv.o framehook.o avio.o aviobuf.o file.o audio.o udp.o tcp.o http.o rtsp.o rtp.o rtpproto.o ranlib libavformat.a make[6]: Leaving directory `/home/root/tmp/portage/gst-plugins-0.6.4/work/gst-plugins-0.6.4/gst-libs/ext/ffmpeg/ffmpeg/libavformat' gcc -mcpu=pentium3 -march=pentium3 -O2 -pipe -Wall -g -I. -I/home/root/tmp/portage/gst-plugins-0.6.4/work/gst-plugins-0.6.4/gst-libs/ext/ffmpeg/ffmpeg -I/home/root/tmp/portage/gst-plugins-0.6.4/work/gst-plugins-0.6.4/gst-libs/ext/ffmpeg/ffmpeg/libavcodec -I/home/root/tmp/portage/gst-plugins-0.6.4/work/gst-plugins-0.6.4/gst-libs/ext/ffmpeg/ffmpeg/libavformat -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -c -o ffmpeg.o ffmpeg.c ffmpeg.c: In function `do_video_out': ffmpeg.c:636: warning: dereferencing type-punned pointer will break strict-aliasing rules ffmpeg.c: In function `av_encode': ffmpeg.c:1296: warning: dereferencing type-punned pointer will break strict-aliasing rules gcc -Wl,--warn-common -rdynamic -g -o ffmpeg_g ffmpeg.o -L./libavcodec -L./libavformat \ -lavformat -lavcodec -lm -lz -ldl cp -p ffmpeg_g ffmpeg ; strip ffmpeg ln -sf ffmpeg ffplay gcc -mcpu=pentium3 -march=pentium3 -O2 -pipe -Wall -g -I. -I/home/root/tmp/portage/gst-plugins-0.6.4/work/gst-plugins-0.6.4/gst-libs/ext/ffmpeg/ffmpeg -I/home/root/tmp/portage/gst-plugins-0.6.4/work/gst-plugins-0.6.4/gst-libs/ext/ffmpeg/ffmpeg/libavcodec -I/home/root/tmp/portage/gst-plugins-0.6.4/work/gst-plugins-0.6.4/gst-libs/ext/ffmpeg/ffmpeg/libavformat -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -c -o ffserver.o ffserver.c In file included from ffserver.c:36: /usr/include/ctype.h:190: error: syntax error before "__attribute__" /usr/include/ctype.h:196: error: syntax error before "__attribute__" make[5]: *** [ffserver.o] Error 1 make[5]: Leaving directory `/home/root/tmp/portage/gst-plugins-0.6.4/work/gst-plugins-0.6.4/gst-libs/ext/ffmpeg/ffmpeg' make[4]: *** [all-recursive] Error 1 make[4]: Leaving directory `/home/root/tmp/portage/gst-plugins-0.6.4/work/gst-plugins-0.6.4/gst-libs/ext/ffmpeg' make[3]: *** [all-recursive] Error 1 make[3]: Leaving directory `/home/root/tmp/portage/gst-plugins-0.6.4/work/gst-plugins-0.6.4/gst-libs/ext' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/home/root/tmp/portage/gst-plugins-0.6.4/work/gst-plugins-0.6.4/gst-libs' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/home/root/tmp/portage/gst-plugins-0.6.4/work/gst-plugins-0.6.4' make: *** [all] Error 2 !!! ERROR: media-libs/gst-plugins-0.6.4 failed. !!! Function src_compile, Line 78, Exitcode 2 !!! (no error message) Decoder gst-plugins # emerge info Portage 2.0.49-r20 (default-x86-1.4, gcc-3.3.2, glibc-2.3.3_pre20031222-r0, 2.6.0) ================================================================= System uname: 2.6.0 i686 Pentium III (Coppermine) Gentoo Base System version 1.4.3.12 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CFLAGS="-mcpu=pentium3 -march=pentium3 -O2 -pipe -fomit-frame-pointer -fprefetch-loop-arrays -ffast-math -fforce-addr -falign-functions" CHOST="i686-pc-linux-gnu" COMPILER="gcc3" CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3/share/config /usr/share/config /usr/share/texmf/dvipdfm/config/ /usr/share/texmf/dvips/config/ /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /usr/share/texmf/xdvi/ /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d" CXXFLAGS="-mcpu=pentium3 -march=pentium3 -O2 -pipe -fomit-frame-pointer -fprefetch-loop-arrays -ffast-math -fforce-addr -falign-functions" DISTDIR="/home/root/portage/distfiles" FEATURES="autoaddcvs ccache sandbox" GENTOO_MIRRORS="http://trumpetti.atm.tut.fi/gentoo/" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/home/root/tmp" PORTDIR="/home/root/portage" PORTDIR_OVERLAY="/home/root/breakmygentoo" SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage" USE="X aalib accessibility acl acpi alsa apache2 avi berkdb bindist bonobo cdr crypt cscope cups curl dga directfb divx dvd dvdr encode faad fastcgi fbcon flac flash foomaticdb freetds gatos gd gdbm gif ginac gnome gnomedb gphoto2 gpm gstreamer gtk gtk2 gtkhtml guile imap imlib innodb ipv6 jack java jikes jpeg kde ladcca ldap libgda libwww mad mbox mcal mikmod mmx motif mozcalendar mozilla mozp3p mozsvg mozxmlterm mpeg mpi mysql nas ncurses nhc98 nls nptl offensive oggvorbis opengl oss pam pcmcia pda pdflib perl plotutils png pnp ppds prelude python qhull qt quicktime readline ruby samba sasl sdk sdl slang slp snmp spell sse ssl tcltk tcpd tetex tiff truetype trusted unicode usb wmf wxwindows x86 xinerama xml xml2 xosd xv xvid zlib video_cards_ati128" Decoder gst-plugins # qpkg -I -v gcc sys-devel/gcc-3.3.2-r5 *
First, try lowering your CFLAGS. Second, try another gcc version. Third, try another (more stable?) glibc. I bet it's one of those three. I'm not sure, but breaking on ctype.h doesn't sound like an ffmpeg problem to me. Isn't stuff like prex glibc snapshots supposed to be p.masked, should this be exposed to every ~x86 runnning individual out there? ~ is for testing ebuilds, not packages.
it's not a glibc bug, it's a kernel headers bug it fails with 2.6.x headers but works with 2.4.23
Are you using 2.6.0 headers reporter ?
Yes, i'm using latest linux-headers: amd@Decoder linux-headers $ qpkg -I -v linux-headers sys-kernel/linux-headers-2.6.0 * sys-kernel/linux-headers-2.4.19-r1 * amd@Decoder linux-headers $ qpkg -f -v /usr/include/ctype.h sys-libs/glibc-2.3.3_pre20031222 *
@ reporter : well those are masked -* , so it's really up to you to fix this or just use the stable version. You aren't supposed to have more than one version of kernel-headers around btw i think. Someone in #gstreamer said that it got fixed in debian, i believe the link provides the info needed on that particular fix. http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=218482&archive=yes I'm not sure if it's a bug in ffmpeg or the headers, i think that is more something for the kernel team to decide. reassigning to kernel team
This was fixed, grab the latest 2.6 linux-headers, merge them and gst-plugins should compile without problems. If you still get this, this is definitely not a linux-headers problem.
After re-emerging linux-headers-2.6.0, it worked.
Fixed.