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"
Created attachment 30312 [details, diff] Fix line.h to work with gcc 3.4
Created attachment 31451 [details, diff] 2.0.1-gcc3.4.patch Contains and obsoletes previous patch. This allows successful compile.
I used the patch and then the compiling with GCC 3.4 for AMD64 went just fine.
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.
Works here on x86
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"
fixed in portage thanks to all contributing