After realizing that my gimp 2.0.2 build was failing, and seeing numerous mmx and sse related issue, I decided to ask around. It appears that someone was able to compile on athlon xp (which appear to have mmx and sse use flags disabled) and someone with gcc 3.4 was able to correctly compile. This causes me to belive that gcc 3.3.3 improperly handles mmx and sse compiling. In order to prove this, the following test case should be tested: 1. For same arch purposes, this test should be conducted on a pentium 4 system. 2. CFLAGS should be set to "-O2 -mcpu=pentium4 -pipe" Case 1: gcc 3.3.3 is used gimp 2.x builds should fail on certain mmx and sse functions Case 2: gcc 3.4.x is used gimp 2.x builds should succeed I have already proven test case 1, as I hope someone else will. Another dev has proven test case 2. Reproducible: Always Steps to Reproduce: Actual Results:
adding emerge --info seperately for readability: Portage 2.0.50-r8 (default-x86-2004.0, gcc-3.3.3, glibc-2.3.3.20040420-r0, 2.6.4-gentoo) ================================================================= System uname: 2.6.4-gentoo i686 Intel(R) Pentium(R) 4 CPU 1.60GHz Gentoo Base System version 1.4.16 Autoconf: sys-devel/autoconf-2.59-r3 Automake: sys-devel/automake-1.8.3 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CFLAGS="-pipe" 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 /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/ /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs ccache sandbox" GENTOO_MIRRORS="http://mirrors.tds.net/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 anthy apm arts avi berkdb canna cdr chroot cjk crypt cups directfb doc encode esd esound foomatic foomaticdb freewnn gdbm ggi gif gnome gpm gtk gtk2 hardened imlib ipv6 jpeg kde libg++ libwww mad mikmod motif mozilla mpeg mysql nas ncurses nls oggvorbis opengl oss pam pdflib perl png python qt quicktime readline ruby sane sdl skey slang spell ssl svga tcltk tcpd truetype x86 xml2 xmms xv zlib"
# emerge -pv gimp These are the packages that I would merge, in order: Calculating dependencies ...done! [ebuild R ] media-gfx/gimp-2.0.2 +X +aalib -altivec -debug -doc -gimpprint +gtkhtml +jpeg +mmx -mng +png +python +sse -tiff -wmf 0 kB # emerge info Portage 2.0.51_pre10 (default-x86-2004.0, gcc-3.3.3, glibc-2.3.3.20040420-r0, 2.6.7-rc3) ================================================================= System uname: 2.6.7-rc3 i686 Intel(R) Pentium(R) 4 CPU 2.26GHz Gentoo Base System version 1.4.16 ccache version 2.3 [disabled] Autoconf: sys-devel/autoconf-2.59-r4 Automake: sys-devel/automake-1.8.5-r1 Binutils: sys-devel/binutils-2.14.90.0.8-r1 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CFLAGS="-march=pentium4 -O2 -pipe" 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="-march=pentium4 -O2 -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs sandbox" 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="/usr/local/portage" SYNC="rsync://rsync.namerica.gentoo.org/gentoo-portage" USE="X aalib acpi alsa apache2 apm avi berkdb bonobo cdr cjk composite crypt cups directfb dv dvd dvdr encode fbcon foomaticdb gdbm gif gnome gpm gstreamer gtk gtk2 gtkhtml imlib ipv6 java javascript jpeg kde ldap libg++ libwww mad md5sum mikmod mmx motif mozcalendar mozilla mpeg mysql ncurses nls oggvorbis openal opengl oss pam pdflib perl png prelude python qt quicktime readline samba sdl slang spell sse sse2 ssl svga tcltk tcpd truetype usb x86 xml2 xmms xv xvid zlib linguas_en linguas_vi"
gimp-2 failed to compile in my case with -O3 in cflags and mmx and/or sse in USE (been a while).... switched to -O2 recently, did an -e world (manually, left out gimp, blender, openoffice and a few other big ones).... tried gimp today with -O2, successful.... results: emerge -pv: media-gfx/gimp-2.0.2 +X +aalib -altivec -debug -doc -gimpprint -gtkhtml +jpeg +mmx -mng +png -python +sse +tiff -wmf emerge info: root@cloak: 9 files 1.5Mb -> emerge info Portage 2.0.51_pre10 (default-x86-2004.0, gcc-3.3.3, glibc-2.3.4.20040605-r1, 2.6.7-rc3) ================================================================= System uname: 2.6.7-rc3 i686 AMD Athlon(tm) Gentoo Base System version 1.4.16 Autoconf: sys-devel/autoconf-2.59-r4 Automake: sys-devel/automake-1.8.5-r1 Binutils: sys-devel/binutils-2.14.90.0.8-r1 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CFLAGS="-march=athlon-xp -O2 -pipe -mcpu=athlon-xp -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/share/config /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-march=athlon-xp -O2 -pipe -mcpu=athlon-xp -fomit-frame-pointer" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs ccache sandbox" GENTOO_MIRRORS="http://128.213.5.34/gentoo/ ftp://cudlug.cudenver.edu/pub/mirrors/distributions/gentoo/ http://mirror.datapipe.net/gentoo" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage /usr/local/bmg-main" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="3dnow X aalib aim alsa avi berkdb cddb cdr chroot clamav cups dillo dvd encode fbcon flac foomaticdb gif gphoto2 gtk gtk2 icq imagemagick imap imlib imlib2 ipv6 java jpeg libwww mad mmx motif mozdomi mozilla moznocompose moznoirc moznomail mozp3p mozsvg mozxmlterm mpeg msn ncurses nls nopsyco nptl oav offensive oggvorbis opengl operanom2 oscar pdflib pic png ppds quicktime readline samba sdl sse ssl tiff transcode truetype usb x86 xface xinerama xml xml2 xmms xv xvid yahoo zlib"
All systems go here- I will try -O3 and my usual CFLAGS if someone gives me a cookie. # emerge -pv gimp [ebuild R ] media-gfx/gimp-2.0.2 +X +aalib -altivec -debug -doc -gimpprint +gtkhtml +jpeg +mmx -mng +png +python +sse -tiff -wmf 0 kB [2] # emerge --info Portage 2.0.50-r8 (default-x86-1.4, gcc-3.3.3, glibc-2.3.3.20040420-r0, 2.6.7-rc2-mm2) ================================================================= System uname: 2.6.7-rc2-mm2 i686 Mobile Intel(R) Pentium(R) 4 CPU 2.30GHz Gentoo Base System version 1.4.16 distcc 2.14 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled] ccache version 2.3 [enabled] Autoconf: sys-devel/autoconf-2.59-r4 Automake: sys-devel/automake-1.8.5-r1 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CFLAGS="-O2 -mcpu=pentium4 -pipe" 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/dvipdfm/config/ /usr/share/texmf/dvips/config/ /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /usr/share/texmf/xdvi/ /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-O2 -mcpu=pentium4 -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs ccache sandbox" GENTOO_MIRRORS="ftp://gentoo.mirrors.pair.com/" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.namerica.gentoo.org/gentoo-portage" USE="X aalib alsa apm arts avi berkdb bonobo cdr crypt cups curl directfb dvd encode esd festival flash foomaticdb g77 gcj gd gdbm gif gnome gpm gtk gtk2 gtkhtml guile icu imlib input_devices_synaptics java jpeg kde libg++ libwww mad mikmod mmx motif mozilla moznoirc moznomail mpeg ncurses nls offensive oggvorbis opengl oss pam pdf pdflib perl png ppds python qt quicktime readline samba sdl slang spell sse ssl svga tcltk tcpd tetex truetype video_cards_radeon x86 xml xml2 xmms xv zlib"
By request: $ cat /proc/cpuinfo processor : 0 vendor_id : GenuineIntel cpu family : 15 model : 2 model name : Mobile Intel(R) Pentium(R) 4 CPU 2.30GHz stepping : 9 cpu MHz : 2294.236 cache size : 512 KB physical id : 0 siblings : 1 fdiv_bug : no hlt_bug : no f00f_bug : no coma_bug : no fpu : yes fpu_exception : yes cpuid level : 2 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe cid bogomips : 4472.83
This bug is cpu related more than anything else. Because of the small ammount of registers on 686's (as stated by a similiar gcc bug), less aggressive cflags must be used. That means taking down -O's a notch if possible. Consider this almost like an openoffice build.. only smaller :), try and be nice on the flags. Closing this bug as invalid, since gcc is not the apparent issue.