Bug 106157 - libgdiplus 1.1.9 fails
Bug#: 106157 Product:  Gentoo Linux Version: 2005.0 Platform: All
OS/Version: Linux Status: RESOLVED Severity: normal Priority: P2
Resolution: FIXED Assigned To: dotnet@gentoo.org Reported By: hetfield666@gmail.com
Component: Ebuilds
URL: 
Summary: libgdiplus 1.1.9 fails
Keywords:  
Status Whiteboard: 
Opened: 2005-09-16 01:14 0000
Description:   Opened: 2005-09-16 01:14 0000
i686-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I. -I../.. -I../.. -I. -mmmx -msse
-Winline --param 
inline-unit-growth=10000 --param large-function-growth=10000 -O3
-mtune=pentium3 
-march=pentium3 -pipe -fomit-frame-pointer -mmmx -msse -MT
libpixman_mmx_la-fbmmx.lo 
-MD -MP -MF .deps/libpixman_mmx_la-fbmmx.Tpo -c fbmmx.c  -fPIC -DPIC 
-o .libs/libpixman_mmx_la-fbmmx.o 
 i686-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I. -I../.. -I../.. -I. -mmmx -msse
-Winline --param 
inline-unit-growth=10000 --param large-function-growth=10000 -O3
-mtune=pentium3 
-march=pentium3 -pipe -fomit-frame-pointer -mmmx -msse -MT
libpixman_mmx_la-fbmmx.lo 
-MD -MP -MF .deps/libpixman_mmx_la-fbmmx.Tpo -c fbmmx.c -o
libpixman_mmx_la-fbmmx.o 
>/dev/null 2>&1 
make[5]: *** [libpixman_mmx_la-fbmmx.lo] Error 1 
make[5]: Leaving directory 
`/mnt/Dati/Gentoo/tmp/portage/libgdiplus-1.1.9/work/libgdiplus-1.1.9/cairo/pixman/src' 
make[4]: *** [all-recursive] Error 1 
make[4]: Leaving directory 
`/mnt/Dati/Gentoo/tmp/portage/libgdiplus-1.1.9/work/libgdiplus-1.1.9/cairo/pixman' 
make[3]: *** [all-recursive] Error 1 
make[3]: Leaving directory 
`/mnt/Dati/Gentoo/tmp/portage/libgdiplus-1.1.9/work/libgdiplus-1.1.9/cairo' 
make[2]: *** [all] Error 2 
make[2]: Leaving directory 
`/mnt/Dati/Gentoo/tmp/portage/libgdiplus-1.1.9/work/libgdiplus-1.1.9/cairo' 
make[1]: *** [all-recursive] Error 1 
make[1]: Leaving directory
`/mnt/Dati/Gentoo/tmp/portage/libgdiplus-1.1.9/work/libgdiplus-1.1.9' 
make: *** [all] Error 2 

!!! ERROR: dev-dotnet/libgdiplus-1.1.9 failed. 
!!! Function src_compile, Line 49, Exitcode 2 
!!! (no error message) 
!!! If you need support, post the topmost build error, NOT this status message. 


deleting the /dev/null redirect i see: 
i686-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I. -I../.. -I../.. -I. -mmmx -msse
-Winline --param 
inline-unit-growth=10000 --param large-function-growth=10000 -O3
-mtune=pentium3 
-march=pentium3 -pipe -fomit-frame-pointer -mmmx -msse -MT
libpixman_mmx_la-fbmmx.lo 
-MD -MP -MF .deps/libpixman_mmx_la-fbmmx.Tpo -c fbmmx.c -o
libpixman_mmx_la-fbmmx.o 
{standard input}: Assembler messages: 
{standard input}:8623: Error: symbol `skip' is already defined 
{standard input}:8718: Error: symbol `skip2' is already defined

------- Comment #1 From kaouete 2005-09-16 04:19:30 0000 -------
the same here

my emerge info:

Portage 2.0.51.22-r2 (default-linux/x86/2005.0, gcc-3.4.4, glibc-2.3.5-r1,
2.6.12-gentoo-r9 i686)
=================================================================
System uname: 2.6.12-gentoo-r9 i686 Intel(R) Pentium(R) 4 CPU 2.80GHz
Gentoo Base System version 1.6.13
distcc 2.18.3 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled]
ccache version 2.3 [enabled]
dev-lang/python:     2.3.5, 2.4.1-r1
sys-apps/sandbox:    1.2.12
sys-devel/autoconf:  2.13, 2.59-r6
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6
sys-devel/binutils:  2.15.92.0.2-r10
sys-devel/libtool:   1.5.18-r1
virtual/os-headers:  2.6.11-r2
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-march=pentium4 -O3 -pipe -fomit-frame-pointer"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.4/env
/usr/kde/3.4/share/config /usr/kde/3.4/shutdown /usr/kde/3/share/config
/usr/lib/X11/xkb /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/splash /etc/terminfo /etc/env.d"
CXXFLAGS="-march=pentium4 -O3 -pipe -fomit-frame-pointer"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoconfig ccache distlocks sandbox sfperms strict"
GENTOO_MIRRORS="ftp://ftp.free.fr/mirrors2/ftp.gentoo.org/
http://ftp.easynet.nl/mirror/gentoo/ http://gentoo.inode.at/"
LANG="fr_FR@euro"
LC_ALL="fr_FR@euro"
LINGUAS="fr_FR@euro"
MAKEOPTS="-j1"
PKGDIR="/usr/portage/packages/"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.fi.gentoo.org/gentoo-portage"
USE="x86 3ds X Xaw3d a52 aac aalib acl acpi adns aim alsa apache2 audiofile avi
bash-completion berkdb bidi bitmap-fonts bonobo bzip2 bzlib canna ccache cdda
cddb cdio cdparanoia cdr corba crypt cups curl curlwrappers daap dba dbus dga
directfb divx4linux djvu dts dv dvb dvd dvdr dvdread dvi dxr3 edl eds emboss
encode exif expat f2c faac faad fam fame fbcon ffmpeg firefox flac font-server
foomaticdb fortran fpx freetype ftp gcj gd gdbm geoip ggi gif gimpprint glitz
gnutls gpm graphviz gstreamer gtk gtk2 gtkhtml guile hal howl iconv icu
imagemagick imap imlib immqt immqt-bc insecure-drivers ipv6 jabber jack java
javascript jbig jce joystick jpeg jpeg2k kerberos kqemu krb4 lcms ldap libcaca
libg++ libgda libwww linuxthreads-tls lirc live lm_sensors logitech-mouse lzo
m17n-lib mad matroska md5sum mhash mikmod mime mjpeg mmap mmx mmx2 mmxext mng
mono motif mozcalendar mozdevelop mozilla moznocompose moznoirc moznomail mozsvg
mozxmlterm mp3 mpeg mpeg2 mpeg4 mpi mplayer mpm-prefork msn mysql nas ncurses
net network nls nntp nptl nvidia ode ogg oggvorbis openal openexr opengl oscar
oss pam pcre pdflib perl perlsuid physfs plotutils png posix postgres ppds
python qt quicktime rar rdesktop readline real rrdtool rtc ruby scanner sdl
session silc simplexml slang slp sndfile soap sockets socks5 softmmu sox speex
spell sqlite sse sse2 ssl stream subtitles svg svga sysfs sysvipc t1lib tcltk
tcpd tetex tga theora threads tiff truetype truetype-fonts type1-fonts uim
unicode usb utf8 v4l v4l2 vcd vidix vlm vorbis win32codecs wmf wxwindows xanim
xine xml xml2 xmlrpc xmms xosd xpm xrandr xsl xv xvid xvmc yahoo yv12 zeroconf
zlib linguas_fr_FR@euro userland_GNU kernel_linux elibc_glibc"
Unset:  ASFLAGS, CTARGET, LDFLAGS

------- Comment #2 From Paul Giordano 2005-09-16 06:35:11 0000 -------
The error is in cairo/pixman/src when fbmmx.c is compiled:

۲

------- Comment #3 From Paul Giordano 2005-09-16 06:35:11 0000 -------
The error is in cairo/pixman/src when fbmmx.c is compiled:

Û²±°root@tyan°±²ÛÛ²±° Fri Sep 16 08:30:17am 
/var/tmp/portage/libgdiplus-1.1.9/work/libgdiplus-1.1.9/cairo/pixman/src/
i686-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I. -I../.. -I../.. -I. -mmmx -msse
-Winline --param inline-unit-growth=10000 --param large-function-growth=10000
-march=athlon-mp -O3 -pipe -fomit-frame-pointer -fforce-addr -falign-functions=4
-MT libpixman_mmx_la-fbmmx.lo -MD -MP -MF .deps/libpixman_mmx_la-fbmmx.Tpo -c
fbmmx.c -o libpixman_mmx_la-fbmmx.o
{standard input}: Assembler messages:
{standard input}:8463: Error: symbol `skip' is already defined
{standard input}:8554: Error: symbol `skip2' is already defined


------- Comment #4 From Peter Johanson (RETIRED) 2005-09-16 10:16:24 0000 -------
Can everyone having the problem please try with minimal or no CFLAGS, and
report
if this fixes the problem? If it does, please try pinpointing which flag is
causing the error to occur. TIA.

------- Comment #5 From Patrizio Bassi 2005-09-16 12:19:37 0000 -------
yes, with -O2 instead of -O3 it passes. 
 
strange, only that problem, -O3 works for whole package. 
 
i tried to change the "skip" name, but got same errors. 
 
i'm not asm guru, i think ams can be slightly modified to let gcc us -O3 flag with no 
problems. 

------- Comment #6 From Peter Johanson (RETIRED) 2005-09-16 13:17:58 0000 -------
Patrizio: Can you please paste your full `emerge info` output? I have no
problems installing libgdiplus-1.1.9 with CFLAGS="-O3 -march=i686
-fomit-frame-pointer -mmmx -msse -msse2 -pipe" on my pentium-m laptop. Thanks.

------- Comment #7 From Patrizio Bassi 2005-09-16 13:19:23 0000 -------
pretty same flags here, only cpu march change. 
 
emerge info 
Portage 2.0.52-r1 (default-linux/x86/2005.1, gcc-3.4.4, glibc-2.3.5-r1, 2.6.14-rc1 i686) 
================================================================= 
System uname: 2.6.14-rc1 i686 Pentium III (Katmai) 
Gentoo Base System version 1.12.0_pre8 
distcc 2.18.3 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled] 
ccache version 2.4 [disabled] 
dev-lang/python:     2.4.1-r1 
sys-apps/sandbox:    1.2.13 
sys-devel/autoconf:  2.13, 2.59-r7 
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6 
sys-devel/binutils:  2.16.1 
sys-devel/libtool:   1.5.20 
virtual/os-headers:  2.6.11-r2 
ACCEPT_KEYWORDS="x86 ~x86" 
AUTOCLEAN="yes" 
CBUILD="i686-pc-linux-gnu" 
CFLAGS="-O3 -mtune=pentium3 -march=pentium3 -pipe -fomit-frame-pointer -mmmx 
-msse" 
CHOST="i686-pc-linux-gnu" 
CONFIG_PROTECT="/etc /opt/openjms/config /usr/kde/2/share/config /usr/kde/3.4/env /usr/kde/3.4/share/config /usr/kde/3.4/shutdown /usr/kde/3/share/config /usr/lib/X11/xkb /usr/lib/mozilla/defaults/pref /usr/share/config /var/bind /var/qmail/control /var/run/dspam /var/spool/dspam" 
CONFIG_PROTECT_MASK="/etc/gconf /etc/splash /etc/terminfo /etc/texmf/web2c /etc/env.d" 
CXXFLAGS="-O3 -mtune=pentium3 -march=pentium3 -pipe -fomit-frame-pointer 
-mmmx -msse" 
DISTDIR="/usr/portage/distfiles" 
FEATURES="autoconfig distlocks fixpackages sandbox sfperms strict" 
GENTOO_MIRRORS="http://gentoo.ngi.it 
http://www.die.unipd.it/pub/Linux/distributions/gentoo-sources/" 
LANG="it_IT@euro" 
LC_ALL="it_IT@euro" 
LINGUAS="it" 
PKGDIR="/usr/portage/packages" 
PORTAGE_TMPDIR="/var/tmp" 
PORTDIR="/usr/portage" 
PORTDIR_OVERLAY="/usr/local/portage" 
SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage" 
USE="x86 X X509 Xaw3d a52 aac aalib accessibility acl acpi activefilter adns alsa 
apache2 apm arts audiofile avi bash-completion berkdb bidi bitmap-fonts bonobo 
bootsplash browserplugin caps cdda cddb cdio cdparanoia cdr cgi chroot clamav cli 
client codecs crypt css cups curl dba dbus dga dhcp directfb divx4linux djbfft dlloader 
dri edl eds emboss encode ethereal exif extraengine faac faad fam fbcon ffmpeg fftw 
flac flash foomaticdb foreign-package fortran freetds gcj gd gdbm geometry ggi gif 
gimp gimpprint glx gnokii gnome gphoto2 gpm graphviz gs gstreamer gtk gtk2 gtkhtml 
guile iconv idea imagemagick imap imlib innodb irda irmc jack java javascript jikes jit 
joystick jpeg jpeg2k junit justify kde kdeenablefinal kerberos kqemu lcd ldap libcaca 
libclamav libg++ libgda libusb libwww lirc live lm_sensors lzo mad mailwrapper 
matroska md5sum mdb mikmod mime mmx mmx2 mmxext mng mono motif 
mozcalendar mozdevelop mozilla mozsvg mozxmlterm mp3 mpeg mpeg2 mpeg4 
mplayer mysql mysqli mythtv nagios-dns nagios-ntp nagios-ping nagios-ssh ncurses 
neXt network nls nntp no_wxgtk1 nobsh nopie nossp noxalan nptl nptlonly nsplugin 
oav odbc ogg oggvorbis opengl operanom2 oss pam pcre pda pdf pdflib pdo pear perl 
png pnp postgres ppds pthreads python qemu-fast qhull qt quicktime quotas readline 
real rrdtool rtc ruby samba scanner sdl server session sftplogging slang slp snortsam 
soap sockets socks5 softmmu softquota spamassassin speex spell sqlite3 sse ssl 
subject-rewrite svg svga tcltk tcpd tetex tga theora tiff tokenizer truetype truetype-fonts 
trusted type1-fonts usb userlocales vidix vorbis win32codecs wsconvert wxwindows 
xanim xchatdccserver xchattext xine xinerama xml xml2 xmlrpc xmms xosd xpm xprint 
xsl xv xvid xvm xvmc zlib linguas_it userland_GNU kernel_linux elibc_glibc" 
Unset:  ASFLAGS, CTARGET, LDFLAGS, MAKEOPTS 
 
 

------- Comment #8 From Peter Johanson (RETIRED) 2005-09-16 13:29:17 0000 -------
It could be the gcc version difference. I'm using gcc-3.3.6 here. I really hate
to do a conditional replace-flags based on gcc version, but that may prove to be
the difference.

------- Comment #9 From Peter Johanson (RETIRED) 2005-09-16 21:46:06 0000 -------
Created an attachment (id=68640) [details]
libgdiplus-1.1.9.ebuild with CFLAGS fix.

Can the folks having this problem please try this ebuild. It should replace O3
with O2 when it finds new enough of a compiler that the problem will show up.

Let me know if this solves things for folks. Thanks.

------- Comment #10 From Peter Johanson (RETIRED) 2005-09-17 00:16:44 0000 -------
Ok, ebuild posted was still slightly borked. I've fixed it in CVS after getting
confirmation of the fix from Cardoe (fellow dev). Marking FIXED. Please feel
free to re-open if folks still have problems after syncing in a bit.

------- Comment #11 From Jakub Moc (RETIRED) 2005-09-20 10:45:18 0000 -------
*** Bug 106701 has been marked as a duplicate of this bug. ***

------- Comment #12 From Armando Di Cianno (RETIRED) 2005-09-20 11:19:41 0000 -------
You asked, on 9/17, that one reopen it if it's not fixed, so ....

I made a duplicate bug report of this (bug 106701 -- and I searched too :-\) ...
anways, even after your fixes, it still fails.  As explained in the duplicate
bug, my CFLAGS are fairly conservative, and I only use -O2 by default.

Is it simply that -march=pentium-m is enabling -mmmx?

------- Comment #13 From Jonathan Adamczewski 2005-09-21 09:09:48 0000 -------
From what I can tell, -finline-functions is the offending optimisation. 
Substituting -O3 for -O2 is not enough for those (like me) using "-O2
-finline-functions".

I would suggest that the ebuild should be modified so that 
    replace-flags -O3 -O2
is replaced with
    append-flags -fno-inline-functions.

My testing indicates that this will handle both the CFLAGS="-O3" and CFLAGS="-O2
-finline-functions" scenarios correctly.

------- Comment #14 From Peter Johanson (RETIRED) 2005-09-22 15:39:48 0000 -------
I've just commited the new libgdiplus-1.1.9.1 with this change to the CFLAG
handling. Can people please confirm that this version in fact works for them,
then I'll mark this fixed. Thanks.

------- Comment #15 From Armando Di Cianno (RETIRED) 2005-09-23 11:30:29 0000 -------
Latest changes work here.

------- Comment #16 From Patrizio Bassi 2005-09-23 11:40:59 0000 -------
i do agree, it seems to be fixed. 
 
i mark it as fixed, reopen if needed