Well, as my description is to long, the same can be found in http://forums.gentoo.org/viewtopic-p-3464006.html , a bit more verbose. emerge failed upgrading: media-libs/libmpeg3-1.5.2-r3 [1.5.2] USE="mmx%" 0 kB see attachment for output. The "video/output.c" shows inline assembler on the specified lines. My cat /proc/cpuinfo shows: processor : 0 vendor_id : AuthenticAMD cpu family : 6 model : 4 model name : AMD Athlon(TM)Processor stepping : 4 cpu MHz : 1400.720 cache size : 256 KB fdiv_bug : no hlt_bug : no f00f_bug : no coma_bug : no fpu : yes fpu_exception : yes cpuid level : 1 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 sep mtrr pge mca cmov pat pse36 mmx fxsr syscall mmxext 3dnowext 3dnow bogomips : 2802.97 , so I'm quite sure that my cpu supports mmx. Still adding "=media-libs/libmpeg3-1.5.2-r3 -mmx" to my /etc/portage/package.use solves the problem, but as I can imagine it's pretty slow without mmx, right? And why not use it when your processor supports it? Does anyone have an Idea why I'm getting the error? And does anyone else experience such problems? Could it be due to the fact that I'm still using a 32bit processor? Or is it related to mmx mmx2...? ok, thx... SatanClaus SatanClaus ~ # emerge --info Portage 2.1-r1 (default-linux/x86/2006.0, gcc-3.4.6, glibc-2.3.6-r4, 2.6.16-gentoo-r9 i686) ================================================================= System uname: 2.6.16-gentoo-r9 i686 AMD Athlon(TM)Processor Gentoo Base System version 1.6.15 distcc 2.18.3 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled] ccache version 2.3 [enabled] app-admin/eselect-compiler: [Not Present] dev-lang/python: 2.3.5-r2, 2.4.3-r1 dev-python/pycrypto: 2.0.1-r5 dev-util/ccache: 2.3 dev-util/confcache: [Not Present] sys-apps/sandbox: 1.2.17 sys-devel/autoconf: 2.13, 2.59-r7 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2 sys-devel/binutils: 2.16.1-r3 sys-devel/gcc-config: 1.3.13-r3 sys-devel/libtool: 1.5.22 virtual/os-headers: 2.6.11-r2 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CBUILD="i686-pc-linux-gnu" CFLAGS="-march=athlon-tbird -O3 -pipe -fforce-addr -funroll-loops -falign-functions=4 -maccumulate-outgoing-args" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/3.4/env /usr/kde/3.4/share/config /usr/kde/3.4/shutdown /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/X11/xkb /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/" CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/gconf /etc/java-config/vms/ /etc/revdep-rebuild /etc/terminfo /usr/X11R6/bin/startx" CXXFLAGS="-march=athlon-tbird -O3 -pipe -fforce-addr -funroll-loops -falign-functions=4 -maccumulate-outgoing-args" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig ccache distlocks metadata-transfer sandbox sfperms strict" GENTOO_MIRRORS="http://pandemonium.tiscali.de/pub/gentoo/ http://ftp.belnet.be/mirror/rsync.gentoo.org/gentoo/ http://gentoo.mirror.intouch.nl/gentoo/ http://linux.rz.ruhr-uni-bochum.de/download/gentoo-mirror/ http://gentoo.intergenia.de" LINGUAS="de en en_GB" MAKEOPTS="-j3" PKGDIR="/usr/portage/packages" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude='/distfiles' --exclude='/local' --exclude='/packages'" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.de.gentoo.org/gentoo-portage" USE="3dnow X a52 aac aalib acl aim alsa apache2 apm arts asf audiofile avi berkdb bitmap-fonts bzip2 cdparanoia cdr cli crypt cups curl cvs dlloader dri dv dvd dvdr dvdread eds emboss encode exif expat ffmpeg firebird flac flash foomaticdb fortran gd gdbm gif gmp gphoto2 gpm gps gstreamer gtk gtk2 icq idn imagemagick imap imlib ipv6 isdnlog jabber java javascript jpeg jpeg2k junit kde kdexdeltas kerberos lcms ldap libcaca libg++ libwww lm_sensors mad mikmod mjpeg mmx mng motif mozilla mp3 mpeg mysql ncurses network nls nptl nsplugin nvidia offensive ogg openal opengl oscar oss pam pcre pdf pdflib perl php png povray ppds pppd python qt qt3 qt4 quicktime readline reflection ruby samba sasl scanner sdl session slang speex spell spl sql sqlite ssl subversion svg svga tcltk tcpd tetex theora threads tiff truetype truetype-fonts type1-fonts udev unicode usb v4l v4l2 vcd vorbis win32codecs wmf wxwindows x86 xine xinerama xml xml2 xmms xorg xpm xv xvid zlib elibc_glibc input_devices_keyboard input_devices_mouse kernel_linux linguas_de linguas_en linguas_en_GB userland_GNU video_cards_nvidia video_cards_nv" Unset: CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, LDFLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Created attachment 92435 [details] output of emerge
Removing "-fforce-addr" from CFLAGS did help. The ebuild now compiles through, even with mmx, but as the manpage of gcc doesn't sound as if -fforce-addr can break something I don't know whether to mark the bug as fixed or not... you decide ;) thx for your help though.
Fall back to a simple CFLAGS="-O2" and try again.
I had the same error. Falling back to -O2 fixed it. Would it possible to add "use mmx && replace-flags -O[3-9] -O2" to the ebuild?
You didn't post any errors.
(In reply to comment #5) > You didn't post any errors. > well, if you consider an ebuild which doesn't emerge not an error... could you plese define what an error is? (perhaps also see the attachment???) I think it's a problem of that ebuild. I didn't encounter any problems with all the other ebuilds I emerged and the gcc-man-page doesn't sound as if the -fforce-addr could do any damage at all.
(In reply to comment #6) > plese define what an error is? (perhaps also see the attachment???) Sorry, I've missed the attachment...
Christopher, what are your CFLAGS? Only -O3? I don't have a problem emerging with -O3. luna libmpeg3 # emerge --info Portage 2.1-r1 (default-linux/x86/2006.0, gcc-3.4.6, glibc-2.3.6-r4, 2.6.16-gentoo-r13 i686) ================================================================= System uname: 2.6.16-gentoo-r13 i686 AMD Athlon(tm) XP 2500+ Gentoo Base System version 1.6.15 app-admin/eselect-compiler: [Not Present] dev-lang/python: 2.4.3-r1 dev-python/pycrypto: 2.0.1-r5 dev-util/ccache: [Not Present] dev-util/confcache: [Not Present] sys-apps/sandbox: 1.2.17 sys-devel/autoconf: 2.13, 2.59-r7 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2 sys-devel/binutils: 2.16.1-r3 sys-devel/gcc-config: 1.3.13-r3 sys-devel/libtool: 1.5.22 virtual/os-headers: 2.6.11-r2 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CBUILD="i686-pc-linux-gnu" CFLAGS="-O2" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/share/X11/xkb" CONFIG_PROTECT_MASK="/etc/env.d /etc/gconf /etc/revdep-rebuild /etc/splash /etc/terminfo" CXXFLAGS="-O3" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig ccache collision-protect distlocks metadata-transfer parallel-fetch sandbox sfperms strict test" GENTOO_MIRRORS="ftp://sunsite.informatik.rwth-aachen.de/pub/Linux/gentoo/" LANG="de_DE@euro" LC_ALL="de_DE@euro" LINGUAS="de" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude='/distfiles' --exclude='/local' --exclude='/packages'" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.informatik.rwth-aachen.de/gentoo-portage" USE="x86 3dnow 3dnowext X Xaw3d a52 alsa arts artworkextra asf audiofile avi bash-completion beagle berkdb bidi bitmap-fonts bootsplash branding bzip2 cairo cdda cddb cdparanoia cdr cli cracklib crypt css cups curl custom-cflags dbus dga directfb divx4linux dlloader dri dts dvd dvdr dvdread dvi eds emacs emboss encode esd evo exif expat fam fat fbcon fdftk ffmpeg firefox foomaticdb fortran ftp gb gcj gdbm gif gnome gpm gstreamer gtk gtk2 gtkhtml hal icq idn imagemagick imap imlib ipv6 isdnlog java javascript jikes jpeg jpeg2k kde ldap leim libg++ libwww lm_sensors mad maildir matroska mbox mikmod mime mmx mmxext mng mono motif mp3 mpeg mpeg2 mule nautilus ncurses nforce2 nls nocardbus nptl nptlonly nsplugin nvidia ogg opengl pam pcre pdf pdflib perl plotutils pmu png ppds pppd preview-latex print python qt qt3 qt4 quicktime readline reflection reiserfs samba sdk session slang spell spl sse ssl svg svga t1lib tcltk tcpd theora thunderbird tiff truetype truetype-fonts type1-fonts udev usb vcd videos vorbis win32codecs wmf wxwindows xine xml xorg xosd xv xvid zlib elibc_glibc input_devices_mouse input_devices_keyboard kernel_linux linguas_de userland_GNU video_cards_radeon video_cards_vesa video_cards_fbdev" Unset: CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LDFLAGS, PORTAGE_RSYNC_EXTRA_OPTS
you're telling the compiler to store memory addresses in general registers and then trying to compile handmade ASM that expects to have these registers available. voila, register starvation.
In simpler words: Remove "-fforce-addr" from your CFLAGS.
(Sorry for the last comment, wrong bug.)
adding filter-flags -fforce-addr as the first line in the src_compile() function in the ebuild fixed the problem for me. My CFLAGS is CFLAGS="-march=athlon-xp -O3 -mmmx -msse -m3dnow -fforce-addr -pipe"
(In reply to comment #12) > adding > > filter-flags -fforce-addr > CFLAGS="-march=athlon-xp -O3 -mmmx -msse -m3dnow -fforce-addr -pipe" You know there is no obligation for developers to filter out ricer flags? And -march=athlon-xp allready implents -mmmx -msse -m3dnow and you shouldn't have them in make.conf? It builds with sane CFLAGS and that's enough, IMO. comment #9 is only sanish comment I've seen so far.
*** Bug 144730 has been marked as a duplicate of this bug. ***
*** Bug 147385 has been marked as a duplicate of this bug. ***
*** Bug 149183 has been marked as a duplicate of this bug. ***
-fforce-addr in itself isn't a ricer flag and it would be nice to have the combinations -O3/-fforce-addr respective -finline-functions/-fforce-addr filtererd out. Would the media-video herd mind, if I add the extra bits, instead accumulating dupes?
(In reply to comment #17) > -fforce-addr in itself isn't a ricer flag and it would be nice to have the > combinations -O3/-fforce-addr respective -finline-functions/-fforce-addr > filtererd out. Would the media-video herd mind, if I add the extra bits, > instead accumulating dupes? > Yes, please do it. I'd like to fix it myself, but I recently lost my x86 box... At the same time, if you could also check this for libmpeg3-1.7 and filter the flag if needed, that'd be perfect. Thanks. Alexis.
(In reply to comment #17) > -fforce-addr in itself isn't a ricer flag and it would be nice to have the > combinations -O3/-fforce-addr respective -finline-functions/-fforce-addr > filtererd out. Would the media-video herd mind, if I add the extra bits, > instead accumulating dupes? carlo, media herd was ok with above change... would you please introduce it, so we can close down this bug?
I experimented with -O3 and -fforce-addr with an antenna simulation software not in portage, the nec2 software. The result was, with gcc-3.4.5, at the program was compiling both with and without -fforce-addr, but the result of the simulation was wrong in some test cases with -O3 alone, when it was correct with -O3 -fforce-addr. Another result I get was huge compilation time with -O3 fforce-addr, a much bigger executable, and a program that was not executing faster as with -O2 alone. In consequence, at a program compile with -O3 doesn't mean at the resulting code is correct and that even when the program did compile and run. Tests are needed. Another consequence is at it is better to use -O2 as -O3 fforce-addr, because the execution time will be the same but the compilation time and the loading time will be shorter with -O2. I don't know what will be the result with gcc-4+ because I went back to -O2 in make.conf when upgrading.
Added filtering to libmpeg3-1.5.2-r3. libmpeg3-1.7 seems to work without filtering.