When I try to emerge transcode-0.16.12-r1, I get the following error in the libavcodec/msmpeg4.c class: if gcc -DHAVE_CONFIG_H -I../.. -I. -I../.. -I. -I../../ -O2 -g -Wall -ffast-math -DARCH_X86 -DHAVE_MMX -DHAVE_AV_CONFIG_H -D_GNU_SOURCE --include=../../ffmpeg/av_config.h -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -fomit-frame-pointer -O3 -O2 -march=pentium4 -fomit-frame-pointer -DDCT_YUV_PRECISION=1 -MT msmpeg4.o -MD -MP -MF ".deps/msmpeg4.Tpo" \ -c -o msmpeg4.o `test -f 'msmpeg4.c' || echo './'`msmpeg4.c; \ then mv -f ".deps/msmpeg4.Tpo" ".deps/msmpeg4.Po"; \ else rm -f ".deps/msmpeg4.Tpo"; exit 1; \ fi msmpeg4.c: In function `msmpeg4_pred_dc': msmpeg4.c:734: error: can't find a register in class `BREG' while reloading `asm' wmv2.c: At top level: msmpeg4.c:660: warning: `ff_old_msmpeg4_dc_scale' defined but not used wmv2.c:103: warning: `wmv2_encode_end' defined but not used wmv2.c:481: warning: `ff_wmv2_decode_init' defined but not used make[4]: *** [msmpeg4.o] Error 1 make[4]: Leaving directory `/var/tmp/portage/transcode-0.6.12-r1/work/transcode-0.6.12/ffmpeg/libavcodec' make[3]: *** [all-recursive] Error 1 make[3]: Leaving directory `/var/tmp/portage/transcode-0.6.12-r1/work/transcode-0.6.12/ffmpeg/libavcodec' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/var/tmp/portage/transcode-0.6.12-r1/work/transcode-0.6.12/ffmpeg' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/transcode-0.6.12-r1/work/transcode-0.6.12' make: *** [all] Error 2 !!! ERROR: media-video/transcode-0.6.12-r1 failed. !!! Function src_compile, Line 101, Exitcode 2 !!! (no error message) I have tried adjusting USE flags to include MMX, 3DNOW, etc., I get the exact same results. I have also tried to reduce my CFLAGS to "", and I still get the error. Reproducible: Always Steps to Reproduce: 1. su - or login to the root account 2. emerge transcode Actual Results: I see the emerge performing it's tasks until the compile error causes it to fail. Expected Results: It should have emerged successfully. Portage 2.0.50-r6 (hardened-x86-2004.0, gcc-3.3.3, glibc-2.3.3_pre20040207-r0, 2.6.5-gentoo) ================================================================= System uname: 2.6.5-gentoo i686 Intel(R) Pentium(R) 4 CPU 1400MHz Gentoo Base System version 1.4.6 Autoconf: sys-devel/autoconf-2.59-r3 Automake: sys-devel/automake-1.8.3 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CFLAGS="-O2 -march=pentium4 -fomit-frame-pointer" CHOST="i686-pc-linux-gnu" COMPILER="gcc3" CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3.2/share/config /usr/kde/3/share/config /usr/lib/mozilla/defaults/pref /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-O2 -march=pentium4 -fomit-frame-pointer" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs ccache sandbox sfperms strict" 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="" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="X aalib alsa arts avi berkdb bonobo cdr crypt cups dga directfb dvd dvdr encode esd fbcon firebird foomaticdb gdbm ggi gif gnome gpm gtk gtk2 gtkhtml imlib java jpeg ldap lirc mad mozilla mpeg nas nls oggvorbis opengl oss pam pdflib perl pic png ppds python qt quicktime readline sdl slang speex spell sse ssl tcl tcltk tcpd tiff tk truetype usb x86 xmms zlib"
I think the problem of this is that most dont set the theora USE Flag. After i set it and compiled the libtheora pakage the problem was solved. Greets Joerg...
I have the same error but even after emerging libtheora (and setting the USE flag) I still get the same error. I'm running ~x86 with the following emerge settings: Portage 2.0.50-r6 (hardened-x86-2004.0, gcc-3.3.3, glibc-2.3.3_pre20040420-r0, 2.6.3) ================================================================= System uname: 2.6.3 i686 Intel(R) Pentium(R) 4 CPU 3.06GHz Gentoo Base System version 1.4.10 ccache version 2.3 [enabled] Autoconf: sys-devel/autoconf-2.59-r3 Automake: sys-devel/automake-1.8.3 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CFLAGS="-fstack-protector -fpic -O3 -mcpu=pentium4 -ffast-math -funroll-loops -fomit-frame-pointer -fforce-addr -falign-functions=4 -pipe -mmmx -msse -msse2 -mfpmath=sse,387" CHOST="i686-pc-linux-gnu" COMPILER="gcc3" CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3.1/share/config /usr/kde/3.2/share/config /usr/kde/3/share/config /usr/lib/mozilla/defaults/pref /usr/share/config /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-fstack-protector -fpic -O3 -mcpu=pentium4 -ffast-math -funroll-loops -fomit-frame-pointer -fforce-addr -falign-functions=4 -pipe -mmmx -msse -msse2 -mfpmath=sse,387" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs ccache prelink sandbox sfperms strict" GENTOO_MIRRORS="http://128.213.5.34/gentoo/ ftp://csociety-ftp.ecn.purdue.edu/pub/gentoo/ http://csociety-ftp.ecn.purdue.edu/pub/gentoo/ http://gentoo.llarian.net/ http://gentoo.binarycompass.org" MAKEOPTS="-j3" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/overlays/bmg-overlay /usr/local/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="S3TC X X509 aalib acl acpi acpi4linux adns aim alsa antlr apache2 apm berkdb bluetooth bonobo cddb cdr chroot crypt cups curl dga directfb dv dvd encode esd ethereal evms2 evo faad fam fbcon ffmpeg flac flash freetds gb gd gdbm geoip glade glut gnome gnomedb gphoto2 gpm gps gstreamer gtk gtk2 gtkhtml guile hardened hbci icq idea imagemagick imap imlib innodb ipv6 irda irmc jabber java javamail javascript jpeg junit lcms ldap libgda libwww log4j maildir mbox mcal md5sum mdb memlimit mmap mmx mono motif mozilla mozinterfaceinfo moznoirc moznomail mozp3p mozsvg mpeg mpeg4 msn music mysql nas ncurses net nls nocd nptl nvidia oci8 offensive ofx oggvorbis openal opengl opie optional-tasks oscar oss pam pcap pcmcia pdflib perl php pic plotutils png pnp postgres ppds prelude propolice pthreads python qt quicktime readline regexp rhino samba sasl scanner sdl skey slang slp snmp speex spell sqlite sse ssl svga tcltk tcpd theora threads tiff transcode truetype unicode usb videos vim-with-x wmf wxwin wxwindows x86 xine xinerama xml xml2 xosd xv xvid yahoo zlib"
msmpeg4.c: In function `msmpeg4_pred_dc': msmpeg4.c:720: error: can't find a register in class `BREG' while reloading `asm' make[1]: *** [msmpeg4.o] Error 1 make[1]: Leaving directory `/var/tmp/portage/mplayer-1.0_pre5-r2/work/MPlayer-1.0pre5/libavcodec' make: *** [libavcodec/libavcodec.a] Error 2 !!! ERROR: media-video/mplayer-1.0_pre5-r2 failed. !!! Function src_compile, Line 347, Exitcode 2 !!! Failed to build MPlayer!
I'll take this. MPlayer has smiliar issues that I'll be working on tonight. It deals with how hardened handles the cpu registers with its position independant code (PIC).
In mplayer You can edit confgiure.sh or (this is better) makeconfig (in bz2 file) and add flag for gcc:-fno-pie. After this mplayer compiled succesfuly (and work). It's propably error similiar to X.org + hardened gcc. Piotr Turek
Chris: you said you were going to take this bug but its still not fixed what were you going todo/add to the ebuild? is comment #5 on the right path with the adding cflag item?
This is a generic ffmpeg bug. The bug this depends on will fix this bug once resolved. The issue is with x86 asm and ebx register handling when compiling with pic / hardened gcc.
Transcode just needed a little flag filtering to get it running. 0.6.12-r2 has the proper fixes implemented. Closing down this bug.