Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 81153

Summary: gimp-2.2.3 doesn't compile when USE="mmx" ist set
Product: Gentoo Linux Reporter: Lars Strojny <lars>
Component: [OLD] GNOMEAssignee: Gentoo Linux Gnome Desktop Team <gnome>
Status: RESOLVED FIXED    
Severity: normal CC: hanno
Priority: High    
Version: unspecified   
Hardware: All   
OS: All   
Whiteboard:
Package list:
Runtime testing required: ---
Attachments: gimp-2.2.3.diff

Description Lars Strojny 2005-02-07 12:13:53 UTC
emerge gimp leads to the following error:
[...]
i686-pc-linux-gnu-gcc -shared  .libs/gimpui.o .libs/gimpmenu.o .libs/gimpaspectpreview.o .libs/gimpbrushmenu.o .libs/gimpdrawablepreview.o .libs/gimpfontmenu.o .libs/gimpgradientmenu.o .libs/gimppalettemenu.o .libs/gimppatternmenu.o .libs/gimpdrawablecombobox.o .libs/gimpimagecombobox.o .libs/gimppixbuf.o .libs/gimpprogressbar.o .libs/gimpexport.o  -Wl,--rpath -Wl,/var/tmp/portage/gimp-2.2.3/work/gimp-2.2.3/libgimp/.libs -Wl,--rpath -Wl,/var/tmp/portage/gimp-2.2.3/work/gimp-2.2.3/libgimpwidgets/.libs -Wl,--rpath -Wl,/var/tmp/portage/gimp-2.2.3/work/gimp-2.2.3/libgimpcolor/.libs -Wl,--rpath -Wl,/var/tmp/portage/gimp-2.2.3/work/gimp-2.2.3/libgimpbase/.libs -Wl,--rpath -Wl,/var/tmp/portage/gimp-2.2.3/work/gimp-2.2.3/libgimpmodule/.libs ./.libs/libgimp-2.0.so ../libgimpwidgets/.libs/libgimpwidgets-2.0.so ../libgimpcolor/.libs/libgimpcolor-2.0.so ../libgimpbase/.libs/libgimpbase-2.0.so ../libgimpmodule/.libs/libgimpmodule-2.0.so /usr/lib/libgtk-x11-2.0.so /usr/lib/libgdk-x11-2.0.so /usr/lib/libatk-1.0.so /usr/lib/libgdk_pixbuf-2.0.so -lm /usr/lib/libpangoxft-1.0.so /usr/lib/libpangox-1.0.so /usr/lib/libpango-1.0.so /usr/lib/libgobject-2.0.so /usr/lib/libgmodule-2.0.so -ldl /usr/lib/libglib-2.0.so  -march=pentium4 -Wl,--export-dynamic -Wl,-soname -Wl,libgimpui-2.0.so.0 -o .libs/libgimpui-2.0.so.0.200.3
(cd .libs && rm -f libgimpui-2.0.so.0 && ln -s libgimpui-2.0.so.0.200.3 libgimpui-2.0.so.0)
(cd .libs && rm -f libgimpui-2.0.so && ln -s libgimpui-2.0.so.0.200.3 libgimpui-2.0.so)
creating libgimpui-2.0.la
(cd .libs && rm -f libgimpui-2.0.la && ln -s ../libgimpui-2.0.la libgimpui-2.0.la)
Making all in app
Making all in paint-funcs
Making all in composite
gimp-composite-mmx.c: In function `gimp_composite_burn_rgba8_rgba8_rgba8_mmx':
gimp-composite-mmx.c:149: error: can't find a register in class `GENERAL_REGS' while reloading `asm'
gimp-composite-mmx.c:203: error: can't find a register in class `GENERAL_REGS' while reloading `asm'
gimp-composite-mmx.c: In function `gimp_composite_scale_rgba8_rgba8_rgba8_mmx':
gimp-composite-mmx.c:1015: error: PIC register `%ebx' clobbered in `asm'
gimp-composite-mmx.c: At top level:
gimp-composite-mmx.c:835: warning: 'mmx_op_overlay' defined but not used
make[3]: *** [gimp-composite-mmx.o] Error 1
make[3]: *** Waiting for unfinished jobs....
make[2]: *** [all-recursive] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2

!!! ERROR: media-gfx/gimp-2.2.3 failed.
!!! Function src_compile, Line 117, Exitcode 2
!!! (no error message)
!!! If you need support, post the topmost build error, NOT this status message.

$ emerge info
Portage 2.0.51-r15 (default-linux/x86/2004.3, gcc-3.4.3, glibc-2.3.4.20041102-r0, 2.6.10-as3 i686)
=================================================================
System uname: 2.6.10-as3 i686 Intel(R) Pentium(R) 4 CPU 3.40GHz
Gentoo Base System version 1.6.9
Python:              dev-lang/python-2.3.4 [2.3.4 (#1, Feb  7 2005, 01:29:50)]
ccache version 2.3 [enabled]
dev-lang/python:     2.3.4
sys-devel/autoconf:  2.13, 2.59-r6
sys-devel/automake:  1.9.4, 1.5, 1.8.5-r3, 1.6.3, 1.7.9-r1, 1.4_p6
sys-devel/binutils:  2.15.92.0.2-r2
sys-devel/libtool:   1.5.10-r4
virtual/os-headers:  2.6.8.1-r2
ACCEPT_KEYWORDS="x86 ~x86"
AUTOCLEAN="yes"
CFLAGS="-O2 -march=pentium4 -fomit-frame-pointer -fstack-protector -fPIC -pipe"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config /usr/lib/X11/xkb /usr/lib/mozilla/defaults/pref /usr/share/config /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-O2 -march=pentium4 -fomit-frame-pointer -fstack-protector -fPIC -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoaddcvs autoconfig ccache distlocks sandbox sfperms userpriv usersandbox"
GENTOO_MIRRORS="ftp://mirror.switch.ch/mirror/gentoo/ http://mirror.switch.ch/mirror/gentoo/ http://ftp-stud.fht-esslingen.de/pub/Mirrors/gentoo/"
LANG="de_DE.utf-8"
LC_ALL="de_DE.utf-8"
MAKEOPTS="-j2 -s"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="x86 X aalib acl acpi alsa apache2 bash-completion bitmap-fonts bzlib caca calendar cdr cpdflib crypt dvd eds encode esd evo exif fam flac ftp gd gd-external gimpprint gnome gstreamer gtk2 gtkhtml hal hbci howl iconv ipv6 jpeg mad mmx mng moznocompose moznoirc moznomail mpeg mpeg4 mysql ncurses nls nptl nptlonly oggvorbis opengl openssh pam pcre pic png python samba session simplexml sockets spell sqlite sse sse2 ssl svg threads tiff truetype truetype-fonts type1-fonts unicode usb userlocales wmf xmlrpc xv zlib linguas_GER"
Unset:  ASFLAGS, CBUILD, CTARGET, LDFLAGS

If you disable USE="mmx" it compiles just the way it should.
Comment 1 Lars Strojny 2005-02-07 12:37:14 UTC
I'd tested another variant. I enabled mmx in the useflags but disabled -fPIC in my cflags. This combination also builds. So it should be a problem of the mmx-module releated to position-indepent binaries.
Comment 2 Marcus D. Hanwell (RETIRED) gentoo-dev 2005-02-09 06:52:50 UTC
Created attachment 50823 [details, diff]
gimp-2.2.3.diff

Modified patch to enable sse and mmx and amd64.
Comment 3 John N. Laliberte (RETIRED) gentoo-dev 2005-05-10 11:05:10 UTC
does this still happen with 2.2.6-r1 ?
Comment 4 Lars Strojny 2005-05-10 13:16:51 UTC
No. I close it.