Updating to the latest test release gives the following error during the java portion of the build: In file included from /var/tmp/portage/gcc-3.2.2-r3/work/gcc-3.2.2/libjava/defineclass.cc:31: java/lang/Double.h:43: `inf' was not declared in this scope java/lang/Double.h:44: `inf' was not declared in this scope java/lang/Double.h:45: `nan' was not declared in this scope make[3]: *** [defineclass.lo] Error 1 make[3]: Leaving directory `/var/tmp/portage/gcc-3.2.2-r3/work/build/i686-pc-linux-gnu/libjava' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/var/tmp/portage/gcc-3.2.2-r3/work/build/i686-pc-linux-gnu/libjava' make[1]: *** [all-target-libjava] Error 2 make[1]: Leaving directory `/var/tmp/portage/gcc-3.2.2-r3/work/build' make: *** [bootstrap-lean] Error 2 !!! ERROR: sys-devel/gcc-3.2.2-r3 failed. !!! Function src_compile, Line 303, Exitcode 2 !!! (no error message) Reproducible: Always Steps to Reproduce: 1. 2. 3. Portage 2.0.47-r8 (default-x86-1.4, gcc-3.2.2, glibc-2.3.2_pre1-r0) ================================================================= System uname: 2.4.20-gentoo-r1 i686 Intel(R) Pentium(R) 4 CPU 2.00GHz GENTOO_MIRRORS=" ftp://ftp.gtlib.cc.gatech.edu/pub/gentoo" CONFIG_PROTECT="/etc /var/qmail/control /usr/kde/2/share/config /usr/kde/3/share/config /usr/X11R6/lib/X11/xkb /usr/kde/3.1/share/config /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /usr/share/config" CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d" PORTDIR="/usr/portage" DISTDIR="/usr/portage/distfiles" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR_OVERLAY="" USE="x86 oss 3dnow apm avi crypt cups encode gif jpeg libg++ mikmod mmx mpeg ncurses pdflib png spell truetype xml2 xmms xv zlib alsa gdbm berkdb slang readline arts bonobo svga java guile X sdl gpm tcpd pam libwww ssl python imlib oggvorbis gnome gtk qt kde motif opengl aalib apache2 cdr dga directfb dvd esd fbcon flash gd ggi gtkhtml imap lcms ldap leim mbox mozilla nas -nls oav pda perl pic -quicktime scanner slp snmp socks5 sse tcltk tetex tiff usb wmf xface xml" COMPILER="gcc3" CHOST="i686-pc-linux-gnu" CFLAGS="-march=pentium4 -O3 -pipe -fomit-frame-pointer" CXXFLAGS="-march=pentium4 -O3 -pipe -fomit-frame-pointer" ACCEPT_KEYWORDS="x86 ~x86" MAKEOPTS="-j2" AUTOCLEAN="yes" SYNC="rsync://rsync.gentoo.org/gentoo-portage" FEATURES="ccache sandbox"
try compiling this package with -march=pentium3 instead of pentium4 also -fomit-frame-pointers is dangerous, the only flags that we know are stable with gcc-3.2.2 are -freorder-blocks and -fprefetch-loop-arrays, and also the ones brought in by -O3 obviously. there are known issues with -march=pentium4, i just want to see if this is caused by that before we try something else
Removing 'pentium4' and replacing it with 'pentium3' did it. BTW - As far as bugs go, I'm not a developer but I've never had any problems using the pentium4 option, nor the omit-frame-pointer. But, then again, what do I know ;-) Thanks -P
*** Bug 16876 has been marked as a duplicate of this bug. ***
added replace-flags "-march=pentium4" "-march=pentium3" to the ebuild
Right, so go add it to glibc, etc, etc as well. Point being, -march=pentium4 is broken, and that is why it was added to make.conf .... problem is that we wont catch it if we filter it in all cases ...
I think -mcpu=pentium4 is a better replacement. I've checked that it works in thise case too. In every case I've looked at it was SSE2 insns from -msse2 enabled by -march=pentium4 that made things blow up. -march=pentium3 will also pessimize code generation for p4's. I also think the comments in make.conf are unsubstantiated. Any case where -mcpu=pentium4 doesn't work?