CFLAGS="-O3 -march=i686 -fomit-frame-pointer -fmove-all-movables -mfpmath=sse -funroll-loops -fforce-addr -falign-functions=4 -ffast-math -frerun-cse-after-loop -frerun-loop-opt -fshort-enums -fshared-data -mno-push-args -fmerge-all-constants -pipe" Making all in src make[2]: Entering directory `/var/tmp/portage/pam-login-3.14/work/pam_login-3.14/src' if i686-pc-linux-gnu-gcc -DHAVE_CONFIG_H -DLOCALEDIR=\"/usr/share/locale\" -I. -I. -I.. -I. -DLOCALEDIR=\"/usr/share/locale\" -W -Wall -Wbad-function-cast -Wcast-align -Wcast-qual -Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wshadow -Wstrict-prototypes -Wundef -Werror -O3 -march=i686 -fomit-frame-pointer -fmove-all-movables -mfpmath=sse -funroll-loops -fforce-addr -falign-functions=4 -ffast-math -frerun-cse-after-loop -frerun-loop-opt -fshort-enums -fshared-data -mno-push-args -fmerge-all-constants -pipe -O3 -march=i686 -fomit-frame-pointer -fmove-all-movables -mfpmath=sse -funroll-loops -fforce-addr -falign-functions=4 -ffast-math -frerun-cse-after-loop -frerun-loop-opt -fshort-enums -fshared-data -mno-push-args -fmerge-all-constants -pipe -MT failure.o -MD -MP -MF ".deps/failure.Tpo" \ -c -o failure.o `test -f 'failure.c' || echo './'`failure.c; \ then mv -f ".deps/failure.Tpo" ".deps/failure.Po"; \ else rm -f ".deps/failure.Tpo"; exit 1; \ fi cc1: warning: SSE instruction set disabled, using 387 arithmetics make[2]: *** [failure.o] Error 1 make[2]: Leaving directory `/var/tmp/portage/pam-login-3.14/work/pam_login-3.14/src' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/pam-login-3.14/work/pam_login-3.14' make: *** [all] Error 2 !!! ERROR: sys-apps/pam-login-3.14 failed. !!! Function src_compile, Line 53, Exitcode 2 Reproducible: Always Steps to Reproduce: 1. My CFLAGS are above. -mfpmath=sse is needed to produce the problem, other flags may not be. 2. emerge pam-login Actual Results: Compile broke. Expected Results: Package should have merged. Removing -mfpmath=sse produced correct results. Reading specs from /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5/specs Configured with: /var/tmp/portage/gcc-3.3.5-r1/work/gcc-3.3.5/configure --enable-version-specific-runtime-libs --prefix=/usr --bindir=/usr/i686-pc-linux-gnu/gcc-bin/3.3.5 --includedir=/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5/include --datadir=/usr/share/gcc-data/i686-pc-linux-gnu/3.3.5 --mandir=/usr/share/gcc-data/i686-pc-linux-gnu/3.3.5/man --infodir=/usr/share/gcc-data/i686-pc-linux-gnu/3.3.5/info --with-gxx-include-dir=/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5/include/g++-v3 --host=i686-pc-linux-gnu --disable-altivec --enable-nls --without-included-gettext --with-system-zlib --disable-checking --disable-werror --disable-libunwind-exceptions --disable-multilib --enable-languages=c,c++,java,f77 --enable-shared --enable-threads=posix --enable-__cxa_atexit --enable-clocale=gnu Thread model: posix gcc version 3.3.5 (Gentoo Linux 3.3.5-r1, ssp-3.3.2-3, pie-8.7.7.1) Portage 2.0.51.19 (default-linux/x86/2004.0, gcc-3.3.5, glibc-2.3.4.20041102-r1, 2.6.7-gentoo-r11 i686) ================================================================= System uname: 2.6.7-gentoo-r11 i686 Intel(R) Pentium(R) 4 CPU 1.60GHz Gentoo Base System version 1.4.16 Python: dev-lang/python-2.3.4-r1 [2.3.4 (#1, Apr 3 2005, 17:07:04)] distcc 2.16 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled] ccache version 2.3 [enabled] dev-lang/python: 2.3.4-r1 sys-devel/autoconf: 2.59-r6, 2.13 sys-devel/automake: 1.7.9-r1, 1.8.5-r3, 1.5, 1.4_p6, 1.6.3, 1.9.4 sys-devel/binutils: 2.15.92.0.2-r1 sys-devel/libtool: 1.5.10-r4 virtual/os-headers: 2.6.8.1-r2 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CFLAGS="-O3 -march=i686 -fomit-frame-pointer -fmove-all-movables -mfpmath=sse -funroll-loops -fforce-addr -falign-functions=4 -ffast-math -frerun-cse-after-loop -frerun-loop-opt -fshort-enums -fshared-data -mno-push-args -fmerge-all-constants -pipe" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/NX/etc /usr/kde/2/share/config /usr/kde/3/share/config /usr/share/config /var/bind /var/qmail/alias /var/qmail/control /var/vpopmail/domains /var/vpopmail/etc" CONFIG_PROTECT_MASK="/etc/gconf /etc/phppgadmin/config.inc.php /etc/terminfo /usr/X11R6/lib/X11/xkb /etc/env.d" CXXFLAGS="-O3 -march=i686 -fomit-frame-pointer -fmove-all-movables -mfpmath=sse -funroll-loops -fforce-addr -falign-functions=4 -ffast-math -frerun-cse-after-loop -frerun-loop-opt -fshort-enums -fshared-data -mno-push-args -fmerge-all-constants -pipe -fvtable-gc -ffunction-sections -finline-functions" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs autoconfig ccache distlocks sandbox sfperms" GENTOO_MIRRORS="ftp://ftp.easynet.nl/mirror/gentoo/ ftp://ftp.snt.utwente.nl/pub/os/linux/gentoo ftp://linux.rz.ruhr-uni-bochum.de/gentoo-mirror/" MAKEOPTS="-j1" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" SYNC="rsync://rsync.uk.gentoo.org/gentoo-portage" USE="x86 acl apache2 apm arts avi berkdb bitmap-fonts caps cdr crypt cups curl emboss encode ethereal fam flac font-server foomaticdb fortran gcj gd gdbm gif gpm imagemagick imap imlib ipv6 jabber java jpeg junit kde ldap libg++ libwww mad maildir mikmod motif mp3 mpeg msn ncurses nls offensive oggvorbis oss pam pdflib perl php png postgres prd python quicktime readline sdl slang spell ssl tcltk tcpd tiff truetype truetype-fonts type1-fonts usb vhosts xml2 zlib" Unset: ASFLAGS, CBUILD, CTARGET, LANG, LC_ALL, LDFLAGS, PORTDIR_OVERLAY
Tomas: May be a valid bug, but please don't use such an insane combination of compiler flags. It doesn't make your box faster and every developer is absolutely correct to resolve any of your bug reports as invalid.
The problem is due by the -Werror which makes the compiler fails with warnings (useful when something is critical so that a warning can be a problem). Passing -mfpmath=sse throws warning because it can't be used and make the package fail. I think the best solution is simply not use that flag at all, I don't think it's the case of removing -Werror because this is a critical package. Also, the warning is probably caused by the CFLAGS combination itself.
Instruction already given.