when emerging ripperx with gcc 3.4.1 you get three errors referring to " prior parameter's size depends on 'tracknum' " Reproducible: Always Steps to Reproduce: 1.emerge ripperx (using gcc-3.4.1) 2. 3. Actual Results: gcc -O3 -march=athlon-xp -funroll-loops -fpeel-loops -funswitch-loops -fprefetch-loop-arrays -funit-at-a-time -fomit-frame-pointer -pipe -I/usr/include/gtk-1.2 -I/usr/include/glib-1.2 -I/usr/lib/glib/include -I/usr/X11R6/include -c status_frame_handler.c gcc -O3 -march=athlon-xp -funroll-loops -fpeel-loops -funswitch-loops -fprefetch-loop-arrays -funit-at-a-time -fomit-frame-pointer -pipe -I/usr/include/gtk-1.2 -I/usr/include/glib-1.2 -I/usr/lib/glib/include -I/usr/X11R6/include -c cddbp.c cddbp.c: In function `cddbp_signon': cddbp.c:65: error: prior parameter's size depends on 'tracknum' cddbp.c:248: error: prior parameter's size depends on 'tracknum' cddbp.c:358: error: prior parameter's size depends on 'tracknum' make[1]: *** [cddbp.o] Error 1 make[1]: *** Waiting for unfinished jobs.... make[1]: Leaving directory `/var/tmp/portage/ripperx-2.6.0/work/ripperX-2.6.0/src' make: *** [src] Error 2 !!! ERROR: media-sound/ripperx-2.6.0 failed. !!! Function src_compile, Line 415, Exitcode 2 !!! emake failed Portage 2.0.50-r10 (gcc34-x86-2004.2, gcc-3.4.1, glibc-2.3.4.20040808-r0, 2.6.8-gentoo-r2) ================================================================= System uname: 2.6.8-gentoo-r2 i686 AMD Athlon(TM) XP2200+ Gentoo Base System version 1.5.3 Autoconf: sys-devel/autoconf-2.59-r4 Automake: sys-devel/automake-1.8.5-r1 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CFLAGS="-O3 -march=athlon-xp -funroll-loops -fpeel-loops -funswitch-loops -fprefetch-loop-arrays -funit-at-a-time -fomit-frame-pointer -pipe" CHOST="i686-pc-linux-gnu" COMPILER="" CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3.3/share/config:/usr/kde/3.3/env:/usr/kde/3.3/shutdown /usr/kde/3/share/config /usr/lib/mozilla/defaults/pref /usr/share/config /var/bind /var/qmail/alias /var/qmail/control /var/vpopmail/domains /var/vpopmail/etc" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-O3 -march=athlon-xp -funroll-loops -fpeel-loops -funswitch-loops -fprefetch-loop-arrays -funit-at-a-time -fomit-frame-pointer -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs ccache sandbox" GENTOO_MIRRORS="ftp://gentoo.ccccom.com http://gentoo.ccccom.com http://gentoo.netnitco.net" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="X alsa apache2 apm avi berkdb cdr crypt cups dba encode esd foomaticdb gd gd-external gdbm gif gnome gpm gtk gtk2 imlib java jpeg libg++ libwww mad mikmod motif mozilla moznocompose moznoirc moznomail moznoxft mozsvg mozxmlterm mpeg mysql ncurses nls nowin nptl oggvorbis opengl oss pam pdflib perl png python quicktime readline sdl slang spell ssl svga tcpd truetype x86 xml2 xmms xv zlib"
Add -fno-unit-at-a-time in your CFLAGS only for this emerge and problem solved :). funit-at-a-time which is implied by -O2 and in this case it's like the parser forgets to close function context when that particular CFLAG is active.
Created attachment 40028 [details, diff] simple bugfix
fixed in portage.