when trying to compile mythtv-0.17 (I need only the backend and mythweb), compilation fails in libpostproc: Reproducible: Always Steps to Reproduce: 1. unmask mythtv (I just need the backend 2. try to emerge mythtv-0.17 wombat media-tv # emerge -btuv mythtv >>> --tree implies --pretend... adding --pretend to options. These are the packages that I would merge, in reverse order: Calculating dependencies ...done! [ebuild U ] media-tv/mythtv-0.17 [0.16] +alsa -arts -cle266 -debug -dvb -ieee1394 -lcd -lirc +mmx -nls* -nvidia -opengl* +xv 0 kB wombat media-tv # emerge -buv mythtv [...] gcc -c -pipe -w -march=pentium4 -Os -momit-leaf-frame-pointer -pipe -falign-functions=4 -fno-pie -march=pentium4 -Os -momit-leaf-frame-pointer -pipe -falign-functions=4 -fno-pie -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 -DUSING_IVTV -DUSING_XRANDR -DQT_NO_DEBUG -DQT_THREAD_SUPPORT -I/usr/qt/3/mkspecs/linux-g++ -I. -I../.. -I/usr/qt/3/include -o downmix.o liba52/downmix.c gcc -c -pipe -w -march=pentium4 -Os -momit-leaf-frame-pointer -pipe -falign-functions=4 -fno-pie -march=pentium4 -Os -momit-leaf-frame-pointer -pipe -falign-functions=4 -fno-pie -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 -DUSING_IVTV -DUSING_XRANDR -DQT_NO_DEBUG -DQT_THREAD_SUPPORT -I/usr/qt/3/mkspecs/linux-g++ -I. -I../.. -I/usr/qt/3/include -o imdct.o liba52/imdct.c In file included from libpostproc/postprocess.c:645: libpostproc/postprocess_template.c: In function `postProcess_MMX': libpostproc/postprocess_template.c:3198: error: can't find a register in class `GENERAL_REGS' while reloading `asm' libpostproc/postprocess_template.c:3283: error: can't find a register in class `GENERAL_REGS' while reloading `asm' libpostproc/postprocess_template.c:3198: error: can't find a register in class `GENERAL_REGS' while reloading `asm' libpostproc/postprocess_template.c:3283: error: can't find a register in class `GENERAL_REGS' while reloading `asm' make: *** [postprocess.o] Error 1 make: *** Waiting for unfinished jobs.... make: Leaving directory `/var/tmp/portage/mythtv-0.17/work/mythtv-0.17/libs/libavcodec' 3. compilation fails... Actual Results: compilation failed, so I don't have a backend ;-) Expected Results: Compilation should have been successful wombat media-tv # emerge --info Portage 2.0.51-r15 (default-linux/x86/2004.3, gcc-3.3.5, glibc-2.3.4.20040808-r1, 2.6.9 i686) ================================================================= System uname: 2.6.9 i686 Intel(R) Pentium(R) 4 CPU 3.00GHz Gentoo Base System version 1.4.16 Python: dev-lang/python-2.3.4 [2.3.4 (#1, Oct 31 2004, 09:50:37)] dev-lang/python: 2.3.4 sys-devel/autoconf: 2.13, 2.59-r6 sys-devel/automake: 1.5, 1.6.3, 1.7.9, 1.4_p6, 1.9.4, 1.8.5-r3 sys-devel/binutils: 2.15.92.0.2-r1 sys-devel/libtool: 1.5.10-r4 virtual/os-headers: 2.6.8.1-r1, 2.6.8.1-r2 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CFLAGS="-march=pentium4 -Os -momit-leaf-frame-pointer -pipe -fforce-addr -falign-functions=4" CHOST="i686-pc-linux-gnu" 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/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/terminfo /etc/env.d" CXXFLAGS="-march=pentium4 -Os -momit-leaf-frame-pointer -pipe -fforce-addr -falign-functions=4" DISTDIR="/export/gentoo/portage-distfiles" FEATURES="autoaddcvs autoconfig buildpkg ccache digest distlocks fixpackages sandbox sfperms userpriv usersandbox" GENTOO_MIRRORS="http://distro.ibiblio.org/pub/Linux/distributions/gentoo http://distfiles.gentoo.org" MAKEOPTS="-j6" PKGDIR="/export/gentoo/portage-packages/genp4" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/export/gentoo/overlays/gentoo-de /export/gentoo/overlays/gurkensalat" SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage" USE="x86 3dnow X acl acpi acpi4linux alsa apache2 auctex autofs avi berkdb canna cjk cpdflib crypt cups curl curlwrappers dga divx4linux djbfft doc dv dvd dvdr dvdread emacs encode evo fame fastcgi ffmpeg flac flash fortran fpx freetype gb gcj gd gdbm glut gnome gphoto2 graphviz gtk gtk2 gtkhtml httpd imagemagick imap innodb ipv6 jabber java javacomm javadoc javamail jbig jikes joystick jpeg lcms leim libgda lm_sensors lzo mad makecheck mbox mjpeg mldonkey mmx mmx2 moznocompose moznoirc moznomail mozplaintext mozsvg mozxmlterm mpeg mpeg2 mpeg4 mule mysql mythtv network nomotif nosendmail objc offensive ogg oggvorbis pam pcap pcmcia pcre pda pdflib perl pic plotutils png pnp postgres ppds python quotas readline real samba sasl sdl slp snmp sse sse2 ssl stream svg theora tiff truetype trusted underscores v4l v4l2 vhosts vlm vorbis wmf xml2 xosd xprint xv xvid" Unset: ASFLAGS, CBUILD, CTARGET, LANG, LC_ALL, LDFLAGS
Removing "-Os" from the CFLAGS (Note that I didn't have -O3 in there) is not enough to make mythtv compile: gcc -c -pipe -w -march=pentium4 -momit-leaf-frame-pointer -pipe -falign-functions=4 -fno-pie -march=pentium4 -momit-leaf-frame-pointer -pipe -falign-functions=4 -fno-pie -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 -DUSING_IVTV -DUSING_XRANDR -DQT_NO_DEBUG -DQT_THREAD_SUPPORT -I/usr/qt/3/mkspecs/linux-g++ -I. -I../.. -I/usr/qt/3/include -o parse.o liba52/parse.c libpostproc/postprocess_template.c: In function `blockCopy_MMX': libpostproc/postprocess_template.c:3283: error: can't find a register in class `GENERAL_REGS' while reloading `asm' make: *** [postprocess.o] Error 1 make: *** Waiting for unfinished jobs.... make: Leaving directory `/var/tmp/portage/mythtv-0.17/work/mythtv-0.17/libs/libavcodec' wombat root # emerge --info | grep CFLAGS CFLAGS="-march=pentium4 -momit-leaf-frame-pointer -pipe -fforce-addr -falign-functions=4"
Cutting down the CFLAGS to just "-mpentium4" doesn't work either: wombat root # ebuild /usr/portage/media-tv/mythtv/mythtv-0.17.ebuild compile [ ... ] gcc -c -pipe -w -march=pentium4 -fno-pie -march=pentium4 -fno-pie -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 -DUSING_IVTV -DUSING_XRANDR -DQT_NO_DEBUG -DQT_THREAD_SUPPORT -I/usr/qt/3/mkspecs/linux-g++ -I. -I../.. -I/usr/qt/3/include -o resample.o liba52/resample.c libpostproc/postprocess_template.c: In function `blockCopy_MMX': libpostproc/postprocess_template.c:3283: error: can't find a register in class `GENERAL_REGS' while reloading `asm' make: *** [postprocess.o] Error 1 make: *** Waiting for unfinished jobs.... make: Leaving directory `/var/tmp/portage/mythtv-0.17/work/mythtv-0.17/libs/libavcodec' wombat root # emerge --info | grep CFLAGS CFLAGS="-march=pentium4"
Um...how did you manage to get anywhere with that when there's no MythTV 0.17 ebuild in Portage yet? Did you just rename the 0.16 ebuild? I used the MythTV CVS ebuilds (http://bugs.gentoo.org/show_bug.cgi?id=66337) and fetched whatever was up at 8 PM PST...probably 0.17 (it says so in status), but whether HEAD==release-0-17 then (or now), I'm not 100% sure. In any case, it built MythTV (and several addons) without any problems.
Bad CFLAGS. -Os will not work. Need -O2.
*** Bug 81875 has been marked as a duplicate of this bug. ***