Tried various flag combiniations, all failed with the same error if -03 was specified: gcc -c -pipe -w -O3 -mfpmath=sse,387 -march=pentium4 -ffast-math -fstack-protector-all -fomit-frame-pointer -pipe -DPIC -fPIC -fomit-frame-pointer -DHAVE_AV_CONFIG_H -I.. -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -D_REENTRANT -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -DPREFIX=\"/usr\" -DMMX -DCONFIG_VIDEO4LINUX -DUSING_IVTV -DUSING_OSS -DUSING_OPENGL_VSYNC -DUSING_XRANDR -DQT_NO_DEBUG -DQT_THREAD_SUPPORT -I/usr/qt/3/mkspecs/linux-g++ -I. -I../.. -I/usr/qt/3/include -o fft_sse.o i386/fft_sse.c distcc[6962] ERROR: compile /var/tmp/portage/homedir/.ccache/dsputil_mm.tmp.straylight.6949.i on 192.168.1.5/3 failed i386/dsputil_mmx.c: In function `h263_h_loop_filter_mmx': i386/dsputil_mmx.c:634: error: can't find a register in class `GENERAL_REGS' while reloading `asm' make: *** [dsputil_mmx.o] Error 1 make: *** Waiting for unfinished jobs.... make: Leaving directory `/var/tmp/portage/mythfrontend-0.16/work/mythtv-0.16/libs/libavcodec' !!! ERROR: media-tv/mythfrontend-0.16 failed. !!! Function src_compile, Line 165, Exitcode 2 !!! (no error message) !!! If you need support, post the topmost build error, NOT this status message. Replacing -O3 flag with -O2 allows build to complete. Reproducible: Always Steps to Reproduce: 1.Add -O3 to CFLAGS 2.emerge mythfrontend 3. Actual Results: Build failed Expected Results: Build succeeds wintermute ~ # emerge info Portage 2.0.51_rc9 (default-x86-2004.0, gcc-3.4.2, glibc-2.3.4.20041006-r0, 2.6.8-gentoo-r7 i686) ================================================================= System uname: 2.6.8-gentoo-r7 i686 Intel(R) Pentium(R) 4 CPU 3.06GHz Gentoo Base System version 1.5.3 distcc 2.18 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [enabled] ccache version 2.3 [enabled] Autoconf: sys-devel/autoconf-2.59-r5 Automake: sys-devel/automake-1.8.5-r1 Binutils: sys-devel/binutils-2.15.92.0.2-r1 Headers: sys-kernel/linux26-headers-2.6.8.1-r1 Libtools: sys-devel/libtool-1.5.2-r5 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CFLAGS="-O3 -mfpmath=sse,387 -fstack-protector-all -march=pentium4 -ffast-math -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/env /usr/kde/3.3/share/config /usr/kde/3.3/shutdown /usr/kde/3/share/config /usr/lib/mozilla/defaults/pref /usr/share/config /var/qmail/control /var/www/localhost/htdocs//mythweb/config" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-O3 -mfpmath=sse,387 -fstack-protector-all -march=pentium4 -ffast-math -fomit-frame-pointer -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs buildpkg ccache distcc distlocks prelink sandbox" GENTOO_MIRRORS="http://adelie.polymtl.ca/ ftp://gentoo.ccccom.com http://gentoo.ccccom.com http://mymirror.asiaosc.org/gentoo/" MAKEOPTS="-j7" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="X acl acpi aim alsa apm arts artswrappersuid avi berkdb bitmap-fonts bonobo cdr crypt cups curl curlwrappers dba divx4linux doc dvd dvdr encode esd ethereal f77 flac foomaticdb ftp gd gdbm gif gnome gphoto2 gpm gstreamer gtk gtk2 gtkhtml guile iconv icq imlib ipv6 ithreads jabber java joystick jpeg kde libg++ libwww lirc mad mikmod mmx motif mozilla mpeg mppe-mppc mysql ncurses nls nptlonly odbc offensive oggvorbis opengl oscar oss pam pcmcia pcre pdflib perl png pnp posix python qt quicktime readline ruby samba sdl session sessions slang slp snmp soapspell spl sse sse2 ssl svga sysvipc tcltk tcpd theora threads tidy tiff transcode truetype usb videos x86 xinerama xml2 xmms xosd xprint xv xvid yahoo zlib"
Created attachment 41994 [details, diff] mythfrontend-0.16.ebuild.patch Patch for mythfrontend-0.16.ebuild to replace -O3 with -O2
It worked for me on -O3 on a Pentium4. Try some of your other flags.
Ahh I se now, thanks. Are you using GCC 3.4 and/or -march=pentium4? On my systems (backend compiling mythtv/frontend compiling mythfrontend) it seems to be whenever -O3 is combined with -m(arch/tune)=(pentium4/pentium4m). Any other pentium arch flag works (pentiumpro, pentium3, etc.) I can also reproduce by unpacking the mythtv tarball and: ./configure qmake mythtv.pro adding -march=pentium4 to OPTFLAGS in config.mak (it already had -03) make qmake make -C libs/libavcodec -j7 Hope im connecting the followng dots correctly. Doing some poking aroung on the ffmpeg/mythtv lists it appears to be a gcc bug ( http://sourceforge.net/mailarchive/message.php?msg_id=8724861 http://www.gossamer-threads.com/lists/mythtv/dev/88243?search_string=GENERAL_REGS;#88243 ffmpeg won't change it beacuse it would break compatability with gcc 2.9.5: http://sourceforge.net/tracker/index.php?func=detail&aid=890586&group_id=16082&atid=116082 And ffmpeg compiles is it doesn't use -fPIC when building: http://www.gossamer-threads.com/lists/mythtv/dev/78694?search_string=GENERAL_REGS;#78694 I unpacked ffmpeg, ran configure, added -DPIC -fPIC -march=pentium4 (-O3 was already there) to the config.mak file and same exact errors. Changing -O3 to -O2 compiled with no errors. Putting -O3 back and removing -march=pentium4 gets no error.
*** Bug 74032 has been marked as a duplicate of this bug. ***
Fixed in CVS.