GCC 3.3 doesn't support the -mno-sse3 flag. As a result, the ebuild fails as soon as it is run, failing with an error when it tries to determine the object file extension. Reproducible: Always Steps to Reproduce: Edit the code in the ebuild and remerge. The original code snippet: # fix build errors with sse2 #49482 if use x86 ; then [ "`gcc-version`" == "3.2" ] && append-flags -mno-sse2 && filter-mfpmath sse [ "`gcc-version`" == "3.3" ] && append-flags -mno-sse2 -mno-sse3 && filter-mfpmath sse [ "`gcc-version`" == "3.4" ] && append-flags -mno-sse2 -mno-sse3 && filter-mfpmath sse fi Just cut out the -mno-sse3 from the GCC 3.3 line and it works fine. Actual Results: Works after you edit the ebuild
Strange. The online doc show -mno-sse3 option: http://gcc.gnu.org/onlinedocs/gcc-3.3.3/gcc/i386-and-x86-64-Options.html#i386%20and%20x86-64%20Options
maybe gcc-3.3.3 does but how about gcc-3.3.0 to gcc-3.3.2 ?
Yes it's true that sse3 is only added in gcc-3.3.3. BTW, gcc-3.3.3 is *stable* on x86.
Here is what I am working with: ---------------------------------------- Greyamm root # gcc -v Reading specs from /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/specs Configured with: /var/tmp/portage/gcc-3.3.3-r6/work/gcc-3.3.3/configure --prefix=/usr --bindir=/usr/i686-pc-linux-gnu/gcc-bin/3.3 --includedir=/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/include --datadir=/usr/share/gcc-data/i686-pc-linux-gnu/3.3 --mandir=/usr/share/gcc-data/i686-pc-linux-gnu/3.3/man --infodir=/usr/share/gcc-data/i686-pc-linux-gnu/3.3/info --enable-shared --host=i686-pc-linux-gnu --target=i686-pc-linux-gnu --with-system-zlib --enable-languages=c,c++,f77,java --enable-threads=posix --enable-long-long --disable-checking --disable-libunwind-exceptions --enable-cstdio=stdio --enable-version-specific-runtime-libs --with-gxx-include-dir=/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/include/g++-v3 --with-local-prefix=/usr/local --enable-shared --enable-nls --without-included-gettext --x-includes=/usr/X11R6/include --x-libraries=/usr/X11R6/lib --enable-interpreter --enable-java-awt=xlib --with-x --disable-multilib --enable-__cxa_atexit --enable-clocale=generic Thread model: posix gcc version 3.3.3 20040412 (Gentoo Linux 3.3.3-r6, ssp-3.3.2-2, pie-8.7.6) -------------------------------------------------------------------------------- Greyamm root # emerge info Portage 2.0.50-r8 (default-x86-2004.0, gcc-3.3.3, glibc-2.3.3.20040420-r0, 2.6.3-gentoo-r1) ================================================================= System uname: 2.6.3-gentoo-r1 i686 Mobile Intel(R) Pentium(R) 4 - M CPU 1.70GHz Gentoo Base System version 1.4.16 distcc 2.13 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [enabled] Autoconf: sys-devel/autoconf-2.59-r3 Automake: sys-devel/automake-1.8.3 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CFLAGS="-O3 -march=pentium4 -falign-loops=4 -falign-jumps=4 -mno-push-args -fno-merge-constants -finline-functions -fno-defer-pop -fprefetch-loop-arrays -finline-limit=575 -fno-thread-jumps -fno-trapping-math -fno-omit-frame-pointer -mno-align-stringops -minline-all-stringops -fno-if-conversion2 -pipe -w" 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/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-O3 -march=pentium4 -falign-loops=4 -falign-jumps=4 -mno-push-args -fno-merge-constants -finline-functions -fno-defer-pop -fprefetch-loop-arrays -finline-limit=575 -fno-thread-jumps -fno-trapping-math -fno-omit-frame-pointer -mno-align-stringops -minline-all-stringops -fno-if-conversion2 -pipe -w" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs ccache distcc sandbox" GENTOO_MIRRORS="ftp://cs.ubishops.ca/pub/gentoo ftp://mirror.iawnet.sandia.gov/pub/gentoo/ ftp://ftp.ussg.iu.edu/pub/linux/gentoo ftp://ftp.ucsb.edu/pub/mirrors/linux/gentoo/ http://gentoo.seren.com/gentoo" MAKEOPTS="-j4" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="S3TC X aalib acpi acpi4linux aim alsa apm arts avi berkdb bluetooth crypt cups directfb divx4linux dvd encode f77 fbcon ffmpeg flac foomaticdb freetype gcj gdbm gif gpm gtk gtk2 imap imlib java javascript jikes jpeg kde ldap libg++ libwww mad mikmod mmx mng motif mpeg mpeg4 mplayer ncurses nls nvidia oggvorbis opengl oss pam pcmcia pdflib perl pic png pnp python qt quicktime readline samba sdl slang spell sse ssl svga tcpd truetype wifi x86 xine xml2 xmms xv xvid zlib" -------------------------------------------------------------------------------- And the salient portion from config.log in the working dir... ----snip------- configure:2529: $? = 0 configure:2575: result: a.out configure:2580: checking whether the C compiler works configure:2586: ./a.out configure:2589: $? = 0 configure:2606: result: yes configure:2613: checking whether we are cross compiling configure:2615: result: no configure:2618: checking for suffix of executables configure:2620: gcc -o conftest -O3 -march=pentium4 -falign-loops=4 -falign-jumps=4 -mno-push-args -fno-merge-constants -fi nline-functions -fno-defer-pop -fprefetch-loop-arrays -finline-limit=575 -fno-thread-jumps -fno-trapping-math -fno-omit-fram e-pointer -mno-align-stringops -minline-all-stringops -fno-if-conversion2 -pipe -w -fno-stack-protector -O1 -mno-sse2 -mno-s se3 -ffunction-sections conftest.c >&5 configure:2623: $? = 0 configure:2648: result: configure:2654: checking for suffix of object files configure:2676: gcc -c -O3 -march=pentium4 -falign-loops=4 -falign-jumps=4 -mno-push-args -fno-merge-constants -finline-fun ctions -fno-defer-pop -fprefetch-loop-arrays -finline-limit=575 -fno-thread-jumps -fno-trapping-math -fno-omit-frame-pointer -mno-align-stringops -minline-all-stringops -fno-if-conversion2 -pipe -w -fno-stack-protector -O1 -mno-sse2 -mno-sse3 -ffun ction-sections conftest.c >&5 cc1: error: invalid option `no-sse3' ---------------------------------------------------------------------------- It compiles perfectly if I remove the offending line.
I can confirm the bug, while 3.3.3 may now be marked stable, it is not what is included on the 2004.1 tarballs. The ebuild should atleast check the minor revision numbers.
fixed in cvs