xine-lib-1_rc1 won't build with an optimization level lower than -O1. The following failure occurs with CFLAGS="-O0 -g -pipe" and CFLAGS="-O0": --- gcc -DHAVE_CONFIG_H -I. -I. -I../../../.. -I../../../.. -I../../../../include - I../../../../include -I../../../../src -I../../../../src/xine-engine -I../../../ ../src/xine-engine -I../../../../src/xine-utils -DSIMPLE_IDCT -DHAVE_AV_CONFIG_H -DRUNTIME_CPUDETECT -DUSE_FASTMEMCPY -DCONFIG_RISKY -DCONFIG_ENCODERS -Wall -D_ REENTRANT -D_FILE_OFFSET_BITS=64 -DXINE_COMPILE -Wpointer-arith -Wnested-externs -Wcast-align -Wchar-subscripts -Wmissing-declarations -Wmissing-prototypes -O0 -g -pipe -I/usr/kde/3.1/include/artsc -c postprocess.c -MT postprocess.lo -MD -M P -MF .deps/postprocess.TPlo -o .libs/postprocess.o In file included from postprocess.c:394: postprocess_template.c: In function `postProcess_C': postprocess_template.c:2813: warning: unused variable `mbWidth' In file included from postprocess.c:405: postprocess_template.c: In function `isVertDC_MMX': postprocess_template.c:61: error: can't find a register in class `GENERAL_REGS' while reloading `asm' postprocess_template.c: In function `postProcess_MMX': postprocess_template.c:2813: warning: unused variable `mbWidth' In file included from postprocess.c:416: postprocess_template.c: In function `postProcess_MMX2': postprocess_template.c:2813: warning: unused variable `mbWidth' In file included from postprocess.c:427: postprocess_template.c: In function `postProcess_3DNow': postprocess_template.c:2813: warning: unused variable `mbWidth' postprocess.c: At top level: postprocess.c:158: warning: `unusedVariableWarningFixer' defined but not used make[5]: *** [postprocess.lo] Error 1 make[5]: Leaving directory `/var/tmp/portage/xine-lib-1_rc1/work/xine-lib-1-rc1/ src/libffmpeg/libavcodec/libpostproc' make[4]: *** [all-recursive] Error 1 make[4]: Leaving directory `/var/tmp/portage/xine-lib-1_rc1/work/xine-lib-1-rc1/ src/libffmpeg/libavcodec' make[3]: *** [all-recursive] Error 1 make[3]: Leaving directory `/var/tmp/portage/xine-lib-1_rc1/work/xine-lib-1-rc1/ src/libffmpeg' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/var/tmp/portage/xine-lib-1_rc1/work/xine-lib-1-rc1/ src' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/xine-lib-1_rc1/work/xine-lib-1-rc1' make: *** [all] Error 2 !!! ERROR: media-libs/xine-lib-1_rc1 failed. !!! Function src_compile, Line 108, Exitcode 2 !!! Parallel make failed --- It compiles fine with CFLAGS="-O1 -g -pipe" and CFLAGS="-O1". emerge info: --- Portage 2.0.49-r13 (default-x86-1.4, gcc-3.3.1, glibc-2.3.2-r6, 2.6.0-test7) ================================================================= System uname: 2.6.0-test7 i686 AMD Athlon(tm) processor Gentoo Base System version 1.4.3.11 distcc 2.11.1 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled] ccache version 2.3 [enabled] ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CFLAGS="-O0 -g -pipe" CHOST="i686-pc-linux-gnu" COMPILER="gcc3" CONFIG_PROTECT="/etc /var/qmail/control /usr/kde/2/share/config /usr/kde/3/share/config /usr/X11R6/lib/X11/xkb /usr/kde/3.1/share/config /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /usr/share/config" CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d" CXXFLAGS="-O0 -g -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs sandbox ccache strict nostrip cvs" 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://rsync.namerica.gentoo.org/gentoo-portage" USE="x86 oss avi crypt cups encode foomaticdb gif jpeg libg++ mad mikmod mpeg ncurses nls pdflib png quicktime spell truetype xml2 xmms xv zlib directfb gdbm berkdb slang readline arts svga java X sdl gpm tcpd pam libwww ssl python imlib oggvorbis gnome gtk qt kde motif opengl cdr 3dnow aalib acpi alsa -apm artswrappersuid bonobo dga dvd esd faad gstreamer gtk2 ldap mozilla nas perl pic samba slp tcltk tetex tiff v4l wmf wxwindows xinerama xml xvid" ---
This error still occurs with xine-lib-1_rc2. A related error also occurs with media-video/avidemux that is fixed by increasing the -O level to -O1 or higher. I'll get that error message shortly.
The avidemux failure: --- make[3]: Entering directory `/var/tmp/portage/avidemux-2.0.18/work/avidemux-2.0.18/avidemux/ADM_mpPostProc' source='postprocess.c' object='postprocess.o' libtool=no \ depfile='.deps/postprocess.Po' tmpdepfile='.deps/postprocess.TPo' \ depmode=gcc3 /bin/sh ../../admin/depcomp \ gcc -DHAVE_CONFIG_H -I. -I. -I../.. -O2 -O0 -g -pipe -c `test -f postprocess.c || echo './'`postprocess.c postprocess.c:79:1: warning: "ARCH_X86" redefined In file included from postprocess.c:65: ../../config.h:20:1: warning: this is the location of the previous definition postprocess.c:81:1: warning: "HAVE_MMX" redefined ../../config.h:121:1: warning: this is the location of the previous definition postprocess_template.c.txt: In function `isVertDC_MMX': postprocess_template.c.txt:55: error: can't find a register in class `GENERAL_REGS' while reloading `asm' make[3]: *** [postprocess.o] Error 1 make[3]: Leaving directory `/var/tmp/portage/avidemux-2.0.18/work/avidemux-2.0.18/avidemux/ADM_mpPostProc' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/var/tmp/portage/avidemux-2.0.18/work/avidemux-2.0.18/avidemux' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/avidemux-2.0.18/work/avidemux-2.0.18' make: *** [all] Error 2 !!! ERROR: media-video/avidemux-2.0.18 failed. !!! Function src_compile, Line 68, Exitcode 2 !!! make failed ---
This is still an issue with xine-lib-1_rc3-r1. Failure log for xine-lib-1_rc3-r1 with CFLAGS="-O0 -g -pipe": --- make[5]: Entering directory `/var/tmp/portage/xine-lib-1_rc3-r1/work/xine-lib-1- rc3a/src/libffmpeg/libavcodec/libpostproc' source='postprocess.c' object='postprocess.lo' libtool=yes \ depfile='.deps/postprocess.Plo' tmpdepfile='.deps/postprocess.TPlo' \ depmode=gcc3 /bin/sh ../../../../depcomp \ /bin/sh ../../../../libtool-nofpic --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I ../../../.. -I../../../.. -I../../../../include -I../../../../include -I../../.. /../src -I../../../../src/xine-engine -I../../../../src/xine-engine -I../../../. ./src/xine-utils -I../../../../src/input -I../../../../src/input -DSIMPLE_IDC T -DHAVE_AV_CONFIG_H -DRUNTIME_CPUDETECT -DUSE_FASTMEMCPY -DCONFIG_RISKY -DCONFI G_DECODERS -DXINE_MPEG_ENCODER -Wall -DNDEBUG -D_REENTRANT -D_FILE_OFFSET_BITS=6 4 -DXINE_COMPILE -Wpointer-arith -Wnested-externs -Wcast-align -Wchar-subscript s -Wmissing-declarations -Wmissing-prototypes -O0 -g -pipe -c -o postprocess.lo `test -f 'postprocess.c' || echo './'`postprocess.c In file included from postprocess.c:477: postprocess_template.c: In function `postProcess_MMX2': postprocess_template.c:1156: error: can't find a register in class `GENERAL_REGS ' while reloading `asm' postprocess_template.c:1156: error: can't find a register in class `GENERAL_REGS ' while reloading `asm' make[5]: *** [postprocess.lo] Error 1 make[5]: Leaving directory `/var/tmp/portage/xine-lib-1_rc3-r1/work/xine-lib-1-r c3a/src/libffmpeg/libavcodec/libpostproc' make[4]: *** [all-recursive] Error 1 make[4]: Leaving directory `/var/tmp/portage/xine-lib-1_rc3-r1/work/xine-lib-1-r c3a/src/libffmpeg/libavcodec' make[3]: *** [all-recursive] Error 1 make[3]: Leaving directory `/var/tmp/portage/xine-lib-1_rc3-r1/work/xine-lib-1-r c3a/src/libffmpeg' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/var/tmp/portage/xine-lib-1_rc3-r1/work/xine-lib-1-r c3a/src' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/xine-lib-1_rc3-r1/work/xine-lib-1-r c3a' make: *** [all] Error 2 !!! ERROR: media-libs/xine-lib-1_rc3-r1 failed. !!! Function src_compile, Line 124, Exitcode 2 !!! Parallel make failed ---
This is still an issue with xine-lib-1_rc3-r2. The following failure occurs with CFLAGS="-O0 -g -pipe" but not with CFLAGS="-O1 -g -pipe": --- gcc -DHAVE_CONFIG_H -I. -I. -I../../../.. -I../../../.. -I../../../../include -I../../../../include -I../../../../src -I../../../../src/xine-engine -I../../../../src/xine-engine -I../../../../src/xine-utils -I../../../../src/input -I../../../../src/input -DSIMPLE_IDCT -DHAVE_AV_CONFIG_H -DRUNTIME_CPUDETECT -DUSE_FASTMEMCPY -DCONFIG_RISKY -DCONFIG_DECODERS -DXINE_MPEG_ENCODER -DCONFIG_ZLIB -Wall -DNDEBUG -D_REENTRANT -D_FILE_OFFSET_BITS=64 -DXINE_COMPILE -Wpointer-arith -Wnested-externs -Wcast-align -Wchar-subscripts -Wmissing-declarations -Wmissing-prototypes -DENABLE_IPV6 -O0 -g -pipe -mno-sse2 -c dsputil_mmx.c -MT dsputil_mmx.lo -MD -MP -MF .deps/dsputil_mmx.TPlo -o .libs/dsputil_mmx.o dsputil_mmx.c: In function `h263_h_loop_filter_mmx': dsputil_mmx.c:614: error: can't find a register in class `GENERAL_REGS' while reloading `asm' dsputil_mmx.c: In function `dsputil_init_mmx': dsputil_mmx.c:2116: warning: unused variable `dct_algo' dsputil_mmx.c: At top level: dsputil_mmx_rnd.h:363: warning: `avg_no_rnd_pixels8_l2_mmx' defined but not used dsputil_mmx_rnd.h:410: warning: `avg_no_rnd_pixels16_l2_mmx' defined but not used dsputil_mmx_avg.h:57: warning: `put_pixels8_l2_3dnow' defined but not used dsputil_mmx_avg.h:129: warning: `put_pixels16_l2_3dnow' defined but not used dsputil_mmx_avg.h:57: warning: `put_pixels8_l2_mmx2' defined but not used dsputil_mmx_avg.h:129: warning: `put_pixels16_l2_mmx2' defined but not used dsputil_mmx.c:1976: warning: `try_8x8basis_mmx' defined but not used dsputil_mmx.c:2024: warning: `add_8x8basis_mmx' defined but not used make[5]: *** [dsputil_mmx.lo] Error 1 make[5]: Leaving directory `/var/tmp/portage/xine-lib-1_rc3-r2/work/xine-lib-1-rc3b/src/libffmpeg/libavcodec/i386' make[4]: *** [all-recursive] Error 1 make[4]: Leaving directory `/var/tmp/portage/xine-lib-1_rc3-r2/work/xine-lib-1-rc3b/src/libffmpeg/libavcodec' make[3]: *** [all-recursive] Error 1 make[3]: Leaving directory `/var/tmp/portage/xine-lib-1_rc3-r2/work/xine-lib-1-rc3b/src/libffmpeg' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/var/tmp/portage/xine-lib-1_rc3-r2/work/xine-lib-1-rc3b/src' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/xine-lib-1_rc3-r2/work/xine-lib-1-rc3b' make: *** [all] Error 2 !!! ERROR: media-libs/xine-lib-1_rc3-r2 failed. !!! Function src_compile, Line 108, Exitcode 2 !!! Parallel make failed ---
*** Bug 53287 has been marked as a duplicate of this bug. ***
*** Bug 42449 has been marked as a duplicate of this bug. ***
added this to 1_rc4-r1: is-flag -O? || append-flags -O1
*** Bug 55553 has been marked as a duplicate of this bug. ***
This: ( is-flag -O? || append-flags -O1 #31243 ) in xine-lib-1_rc5-r2.ebuildxine-lib-1_rc5-r2.ebuild ALWAYS adds -O1 to the flags, and BORKS amd64 on GCC 3.4 I suspect you may have wanted: is-flag -O0 || append-flags -O1 or some such..