Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 49372 - libgnomecanvasmm-2.0.1 does not compile with gcc 3.4
Summary: libgnomecanvasmm-2.0.1 does not compile with gcc 3.4
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] GNOME (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Please assign to toolchain
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 48528 51589 56661 56885
  Show dependency tree
 
Reported: 2004-04-29 06:50 UTC by gent_bz
Modified: 2004-09-07 17:30 UTC (History)
6 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
Fix line.h to work with gcc 3.4 (libgnomecanvas-2.0.1-gcc-3.4.patch,522 bytes, patch)
2004-04-29 06:55 UTC, gent_bz
Details | Diff
2.0.1-gcc3.4.patch (2.0.1-gcc3.4.patch,2.33 KB, patch)
2004-05-14 19:42 UTC, Ed Catmur
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description gent_bz 2004-04-29 06:50:08 UTC
There's several places that gcc-3.4.0 has problems in libgnomecanvasmm-2.0.1

 g++ -DHAVE_CONFIG_H -DG_LOG_DOMAIN=\"libgnomecanvasmm\" -I../../libgnomecanvas -I../../libgnomecanvas -I/usr/include/gtkmm-2.0 -I/usr/lib/gtkmm-2.0/include -I/usr/include/gtk-2.0 -I/usr/lib/sigc++-1.2/include -I/usr/include/sigc++-1.2 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/lib/gtk-2.0/include -I/usr/include/pango-1.0 -I/usr/X11R6/include -I/usr/include/freetype2 -I/usr/include/freetype2/config -I/usr/include/atk-1.0 -I/usr/include/libgnomecanvas-2.0 -I/usr/include/libart-2.0 -O3 -march=athlon-xp -fomit-frame-pointer -ftracer -pipe -maccumulate-outgoing-args -fprefetch-loop-arrays -MT polygon.lo -MD -MP -MF .deps/polygon.Tpo -c polygon.cc  -fPIC -DPIC -o .libs/polygon.o
In file included from line.cc:3:
../../libgnomecanvas/libgnomecanvasmm/line.h:289: error: extra qualification ignored
../../libgnomecanvas/libgnomecanvasmm/line.h:290: error: explicit specialization of non-template `Glib::<anonymous class>'
../../libgnomecanvas/libgnomecanvasmm/line.h:290: error: an anonymous union cannot have function members
../../libgnomecanvas/libgnomecanvasmm/line.h:293: error: abstract declarator `Glib::<anonymous class>' used as declaration
../../libgnomecanvas/libgnomecanvasmm/line.h:293: error: namespace-scope anonymous aggregates must be static

This is resolved by removing the extra GLibc:: on line 293 in libgnomecanvas/libgnomecanvasmm/line.h (patch attached)



The other problem I have come across is beyond me at the moment :

make[2]: Entering directory `/var/tmp/portage/libgnomecanvasmm-2.0.1/work/libgnomecanvasmm-2.0.1/examples/canvas_events'
if g++ -DHAVE_CONFIG_H  -I. -I. -I../../libgnomecanvas -I../../libgnomecanvas -I/usr/include/gtkmm-2.0 -I/usr/lib/gtkmm-2.0/include -I/usr/include/gtk-2.0 -I/usr/lib/sigc++-1.2/include -I/usr/include/sigc++-1.2 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/lib/gtk-2.0/include -I/usr/include/pango-1.0 -I/usr/X11R6/include -I/usr/include/freetype2 -I/usr/include/freetype2/config -I/usr/include/atk-1.0 -I/usr/include/libgnomecanvas-2.0 -I/usr/include/libart-2.0    -O3 -march=athlon-xp -fomit-frame-pointer -ftracer -pipe -maccumulate-outgoing-args -fprefetch-loop-arrays -MT canvas_events.o -MD -MP -MF ".deps/canvas_events.Tpo" \
  -c -o canvas_events.o `test -f 'canvas_events.cc' || echo './'`canvas_events.cc; \
then mv -f ".deps/canvas_events.Tpo" ".deps/canvas_events.Po"; \
else rm -f ".deps/canvas_events.Tpo"; exit 1; \
fi
canvas_events.cc: In constructor `CanvasExample::CanvasExample()':
canvas_events.cc:76: error: no matching function for call to `bind(SigC::Slot2<void, GdkEvent*, guint>, <anonymous enum>)'
canvas_events.cc:77: error: no matching function for call to `bind(SigC::Slot2<void, GdkEventButton*, guint>, <anonymous enum>)'
canvas_events.cc:78: error: no matching function for call to `bind(SigC::Slot2<bool, GdkEventButton*, guint>, <anonymous enum>)'
canvas_events.cc:80: error: no matching function for call to `bind(SigC::Slot2<void, GdkEvent*, guint>, <anonymous enum>)'
canvas_events.cc:81: error: no matching function for call to `bind(SigC::Slot2<bool, GdkEvent*, guint>, <anonymous enum>)'
canvas_events.cc:83: error: no matching function for call to `bind(SigC::Slot2<void, GdkEvent*, guint>, <anonymous enum>)'
canvas_events.cc:84: error: no matching function for call to `bind(SigC::Slot2<bool, GdkEvent*, guint>, <anonymous enum>)'
make[2]: *** [canvas_events.o] Error 1

I am unable to fix this

Reproducible: Always
Steps to Reproduce:
1. emerge =sys-devel/gcc-3.4.0
2. emerge libgnomecanvasmm




Portage 2.0.50-r6 (default-x86-2004.0, gcc-3.4.0, glibc-2.3.3_pre20040420-r0,
2.6.5-gentoo-r1)
=================================================================
System uname: 2.6.5-gentoo-r1 i686 AMD Athlon(tm)
Gentoo Base System version 1.4.10
ccache version 2.3 [enabled]
Autoconf: sys-devel/autoconf-2.59-r3
Automake: sys-devel/automake-1.8.3
ACCEPT_KEYWORDS="x86 ~x86"
AUTOCLEAN="yes"
CFLAGS="-O3 -march=athlon-xp -fomit-frame-pointer -ftracer -pipe
-maccumulate-outgoing-args -fprefetch-loop-arrays"
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/lib/mozilla/defaults/pref /usr/share/config
/var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-O3 -march=athlon-xp -fomit-frame-pointer -ftracer -pipe
-maccumulate-outgoing-args -fprefetch-loop-arrays"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoaddcvs ccache sandbox"
GENTOO_MIRRORS="ftp://linux.ntcu.net/dists/gentoo/
http://gentoo.seren.com/gentoo http://gentoo.ccccom.com"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://192.168.0.238/gentoo-portage"
USE="3dnow X aalib alsa apm avi berkdb cdr crypt cups curl dedicated dv dvd
encode esd faad foomaticdb gdbm gif gnome gpm gstreamer gtk gtk2 imlib jpeg lcms
libg++ libwww mad mbox mikmod mmx motif mozilla mpeg ncurses nls nptl oggvorbis
opengl oss pam pdflib perl png ppds python qt quicktime readline samba sdl slang
spell sse ssl tcpd tiff truetype usb videos wmf x86 xml xml2 xmms xv zlib"
Comment 1 gent_bz 2004-04-29 06:55:03 UTC
Created attachment 30312 [details, diff]
Fix line.h to work with gcc 3.4
Comment 2 Ed Catmur 2004-05-14 19:42:39 UTC
Created attachment 31451 [details, diff]
2.0.1-gcc3.4.patch

Contains and obsoletes previous patch. This allows successful compile.
Comment 3 Jure Repinc 2004-07-11 01:40:05 UTC
I used the patch and then the compiling with GCC 3.4 for AMD64 went just fine.
Comment 4 Lars Weiler (RETIRED) gentoo-dev 2004-07-11 12:20:20 UTC
This patch does not work with gcc-3.4 on ppc.  The error:

gcc -shared  canvas.lo ellipse.lo rect.lo group.lo item.lo line.lo polygon.lo rect-ellipse.lo shape.lo pixbuf.lo rich-text.lo text.lo widget.lo path-def.lo bpath.lo wrap_init.lo affinetrans.lo properties.lo init.lo point.lo  -L/usr/lib/gcc-lib/powerpc-unknown-linux-gnu/3.4.0 -L/usr/lib/../powerpc-unknown-linux-gnu/lib -L/usr/powerpc-unknown-linux-gnu/lib -L/usr/powerpc-unknown-linux-gnu/bin -L/usr/lib/gcc/powerpc-unknown-linux-gnu/3.4.0 -L/usr/lib /usr/lib/libgtkmm-2.0.so /usr/lib/libgdkmm-2.0.so /usr/lib/libatkmm-1.0.so /usr/lib/libpangomm-1.0.so /usr/lib/libglibmm-2.0.so /usr/lib/libsigc-1.2.so /usr/lib/libgnomecanvas-2.so /usr/lib/libart_lgpl_2.so /usr/lib/libpangoft2-1.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  -Wl,--export-dynamic -Wl,-soname -Wl,libgnomecanvasmm-2.0.1 -o .libs/libgnomecanvasmm-2.0.1.0.1
canvas.lo: file not recognized: File format not recognized
collect2: ld returned 1 exit status
make[4]: *** [libgnomecanvasmm-2.0.la] Error 1
make[4]: Leaving directory `/var/tmp/portage/libgnomecanvasmm-2.0.1/work/libgnomecanvasmm-2.0.1/libgnomecanvas/libgnomecanvasmm'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/var/tmp/portage/libgnomecanvasmm-2.0.1/work/libgnomecanvasmm-2.0.1/libgnomecanvas/libgnomecanvasmm'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/var/tmp/portage/libgnomecanvasmm-2.0.1/work/libgnomecanvasmm-2.0.1/libgnomecanvas'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/var/tmp/portage/libgnomecanvasmm-2.0.1/work/libgnomecanvasmm-2.0.1/libgnomecanvas'
make: *** [all-recursive] Error 1

!!! ERROR: dev-cpp/libgnomecanvasmm-2.0.1 failed.
!!! Function gnome2_src_compile, Line 39, Exitcode 2
!!! compile failure
!!! If you need support, post the topmost build error, NOT this status message.

Comment 5 Sebastian Dröge 2004-07-12 08:54:39 UTC
Works here on x86
Comment 6 Lukas Miczka 2004-07-12 11:50:15 UTC
Doesn't wordk form me on x86:
!!! ERROR: dev-cpp/libgnomecanvasmm-2.0.1 failed.
!!! Function gnome2_src_compile, Line 39, Exitcode 2
!!! compile failure

I know same bug as on PPC (#4)

Portage 2.0.50-r9 (default-x86-2004.0, gcc-3.4.1, glibc-2.3.4.20040619-r0, 2.6.7-love8)
=================================================================
System uname: 2.6.7-love8 i686 AMD Athlon(tm)
Gentoo Base System version 1.5.1
distcc 2.16 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled]
Autoconf: sys-devel/autoconf-2.59-r4
Automake: sys-devel/automake-1.8.5-r1
ACCEPT_KEYWORDS="x86 ~x86"
AUTOCLEAN="yes"
CFLAGS="-march=athlon-xp -O2 -fomit-frame-pointer -momit-leaf-frame-pointer -fprefetch-loop-arrays -fforce-addr -mfpmath=sse -maccumulate-outgoing-args -fweb -frename-registers -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=athlon-xp -O2 -fomit-frame-pointer -momit-leaf-frame-pointer -fprefetch-loop-arrays -fforce-addr -mfpmath=sse -maccumulate-outgoing-args -fweb -frename-registers -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoaddcvs ccache sandbox"
GENTOO_MIRRORS="http://gentoo.zie.pg.gda.pl ftp://ftp.belnet.be/mirror/rsync.gentoo.org/gentoo/ ftp://ftp.uni-erlangen.de/pub/mirrors/gentoo"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://153.19.33.225/gentoo-portage"
USE="3dnow X aalib alsa apache2 apm avi berkdb cdr crypt cups dvd esd faac faad fbcon flac foomaticdb gdbm gif gimpprint gnome gpm gtk gtk2 imlib java jpeg lame libg++ libwww linguas_pl mad matroska mikmod mitshm mmx motif mozilla mpeg mysql ncurses nls nptl oggvorbis opengl oss pam pdflib perl png ppds python quicktime readline sdl slang speex spell sse ssl svga tcpd tiff truetype x86 xml2 xmms xv xvid zlib"
Comment 7 Disenchanted (RETIRED) gentoo-dev 2004-09-07 17:30:16 UTC
fixed in portage

thanks to all contributing