When I try to emerge libgnomecanvasmm I get several error messages and it does not build. See below: Reproducible: Always Steps to Reproduce: 1."emerge libgnomvecanvasmm" 2. 3. Actual Results: g++ -DHAVE_CONFIG_H -DG_LOG_DOMAIN=\"libgnomecanvasmm\" -I../../libgnomecanvas -I../../libgnomecanvas -I/usr/include/gtkmm-2.4 -I/usr/lib/gtkmm-2.4/include -I/usr/include/glibmm-2.4 -I/usr/lib/glibmm-2.4/include -I/usr/include/gdkmm-2.4 -I/usr/lib/gdkmm-2.4/include -I/usr/include/pangomm-1.4 -I/usr/include/atkmm-1.6 -I/usr/include/gtk-2.0 -I/usr/include/sigc++-2.0 -I/usr/lib/sigc++-2.0/include -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 -march=pentium3 -mtune=i686 -O2 -funroll-loops -pipe -g -g -g -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:374: error: extra qualification ignored ../../libgnomecanvas/libgnomecanvasmm/line.h:375: error: explicit specialization of non-template `Glib::<anonymous class>' ../../libgnomecanvas/libgnomecanvasmm/line.h:375: error: an anonymous union cannot have function members ../../libgnomecanvas/libgnomecanvasmm/line.h:378: error: abstract declarator `Glib::<anonymous class>' used as declaration ../../libgnomecanvas/libgnomecanvasmm/line.h:378: error: namespace-scope anonymous aggregates must be static make[4]: *** [line.lo] Error 1 make[4]: *** Waiting for unfinished jobs.... In file included from ../../libgnomecanvas/libgnomecanvasmm/polygon.h:31, from polygon.cc:3: ../../libgnomecanvas/libgnomecanvasmm/line.h:374: error: extra qualification ignored ../../libgnomecanvas/libgnomecanvasmm/line.h:375: error: explicit specialization of non-template `Glib::<anonymous class>' ../../libgnomecanvas/libgnomecanvasmm/line.h:375: error: an anonymous union cannot have function members ../../libgnomecanvas/libgnomecanvasmm/line.h:378: error: abstract declarator `Glib::<anonymous class>' used as declaration ../../libgnomecanvas/libgnomecanvasmm/line.h:378: error: namespace-scope anonymous aggregates must be static make[4]: *** [polygon.lo] Error 1 make[4]: Leaving directory `/var/tmp/portage/libgnomecanvasmm-2.6.0/work/libgnomecanvasmm-2.6.0/libgnomecanvas/libgnomecanvasmm' make[3]: *** [all-recursive] Error 1 make[3]: Leaving directory `/var/tmp/portage/libgnomecanvasmm-2.6.0/work/libgnomecanvasmm-2.6.0/libgnomecanvas/libgnomecanvasmm' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/var/tmp/portage/libgnomecanvasmm-2.6.0/work/libgnomecanvasmm-2.6.0/libgnomecanvas' make[1]: *** [all] Error 2 make[1]: Leaving directory `/var/tmp/portage/libgnomecanvasmm-2.6.0/work/libgnomecanvasmm-2.6.0/libgnomecanvas' make: *** [all-recursive] Error 1 !!! ERROR: dev-cpp/libgnomecanvasmm-2.6.0 failed. !!! Function gnome2_src_compile, Line 39, Exitcode 2 !!! compile failure Expected Results: I expected it to build emerge info Portage 2.0.50-r6 (default-x86-1.4, gcc-3.4.0, glibc-2.3.3_pre20040420-r0, 2.6.6-love1) ================================================================= System uname: 2.6.6-love1 i686 Pentium III (Coppermine) Gentoo Base System version 1.4.12 Autoconf: sys-devel/autoconf-2.59-r3 Automake: sys-devel/automake-1.8.3 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CFLAGS="-march=pentium3 -mtune=i686 -O2 -funroll-loops -pipe" 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 /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/bind /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-march=pentium3 -mtune=i686 -O2 -funroll-loops -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs ccache sandbox" GENTOO_MIRRORS="ftp://ftp.ucsb.edu/pub/mirrors/linux/gentoo/ http://mirror.clarkson.edu/pub/distributions/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.us.gentoo.org/gentoo-portage" USE="X alsa apm avi berkdb cdr crypt cups doc encode esd foomaticdb gdbm gif gimp gimp-print gnome gtk gtk2 imlib java jpeg libg++ libwww mad mikmod motif mozilla mpeg ncurses nls nptl oggvorbis opengl oss pam pdflib perl png python quicktime readline samba sdl slang spell ssl svga tcltk tcpd tetex truetype x86 xml2 xmms xv zlib"
There was an update to libgnomecavasmm-2.6.1. It compiled and installed just fine using gcc-3.4.
Bumping it will make this one compile, but libraries which depend on it, like libgnomeuimm, doesn't work anyone. The problems is related to the /usr/lib/libgnomecanvasmm-2.6.la file. The original library_names suggest that libgnomecanvasmm-2.6 is valid, but it's not because it's a directory. This will cause libraries using -llibgnomecanvasmm-2.6 to fail with some like can't open /usr/lib/libgnomecanvasmm-2.6. The problem seems to be that normally libraries have the .so at the end, but for some unkown reason to me, this ebuilds installs them without... The real fix would be to reverse this stripping of the .so of the libraries installed. This simple patch fixes it for now, add the following to the end of the ebuild: pkg_postinst() { #Fix broken .la cd /usr/lib/ sed -e "s:library_names='libgnomecanvasmm-2.6.1.0.1 libgnomecanvasmm-2.6 .1 libgnomecanvasmm-2.6':library_names='libgnomecanvasmm-2.6.1.0.1 libgnomecanva smm-2.6.1':g" \ libgnomecanvasmm-2.6.la > libgnomecanvasmm-2.6.la.hacked mv libgnomecanvasmm-2.6.la.hacked libgnomecanvasmm-2.6.la }
anders - can you file another bug about that so that it gets assigned to the right people?