Seems to be problem with a mismatched glib and gtkmm sources. Reproducible: Always Steps to Reproduce: emerge -av1 =dev-cpp/gtkmm-2.2.12 Actual Results: ... i686-pc-linux-gnu-g++ -DHAVE_CONFIG_H -DG_LOG_DOMAIN=\"glibmm\" -Dglibmm_COMPILATION -I../../glib -I../../glib -I../../pango -I../../pango -I../../atk -I../../atk -I../../gdk -I../../gdk -I../../gtk -I../../gtk -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 -pthread -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -O3 -march=pentium4 -funroll-loops -fprefetch-loop-arrays -pipe -Wall -MT date.lo -MD -MP -MF .deps/date.Tpo -c date.cc -fPIC -DPIC -o .libs/date.o convert.cc: In constructor 'Glib::IConv::IConv(const std::string&, const std::string&)': convert.cc:51: error: 'g_assert' was not declared in this scope make[5]: *** [convert.lo] Error 1 make[5]: *** Waiting for unfinished jobs.... date.cc: In member function 'Glib::ustring Glib::Date::format_string(const Glib::ustring&) const': date.cc:271: error: 'g_assert' was not declared in this scope make[5]: *** [date.lo] Error 1 make[5]: Leaving directory `/var/tmp/portage/dev-cpp/gtkmm-2.2.12/work/gtkmm-2.2.12/glib/glibmm' make[4]: *** [all-recursive] Error 1 make[4]: Leaving directory `/var/tmp/portage/dev-cpp/gtkmm-2.2.12/work/gtkmm-2.2.12/glib/glibmm' make[3]: *** [all-recursive] Error 1 make[3]: Leaving directory `/var/tmp/portage/dev-cpp/gtkmm-2.2.12/work/gtkmm-2.2.12/glib' make[2]: *** [all] Error 2 make[2]: Leaving directory `/var/tmp/portage/dev-cpp/gtkmm-2.2.12/work/gtkmm-2.2.12/glib' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/dev-cpp/gtkmm-2.2.12/work/gtkmm-2.2.12' make: *** [all] Error 2 * * ERROR: dev-cpp/gtkmm-2.2.12 failed. * Call stack: * ebuild.sh, line 49: Called src_compile * environment, line 2589: Called gnome2_src_compile * environment, line 1978: Called die * The specific snippet of code: * emake || die "compile failure" * The die message: * compile failure * * If you need support, post the topmost build error, and the call stack if relevant. * A complete build log is located at '/var/tmp/portage/dev-cpp/gtkmm-2.2.12/temp/build.log'. * The ebuild environment file is located at '/var/tmp/portage/dev-cpp/gtkmm-2.2.12/temp/environment'. * Expected Results: A successful emerge. Fixed this by adding an overlay and adding this line to the very end of the src_unpack section in gtkmm-2.2.12.ebuild. grep -rl g_assert * | xargs sed -ie 's,^\(#include.*<glib/gmessages\.h>\),\1\n#include <glib/gtestutils.h>,' || die "sed failed" This fix was created from info found in the the forums here, http://forums.gentoo.org/viewtopic-t-609431-highlight-gtkmm+gassert.html . Not a very pretty fix.
Please post your `emerge --info' too.
Created attachment 170053 [details] emerge --info I have the same problem. Here's my emerge --info.
I applied Mike's fix, which appears to have fixed the immediate problem. I now see this error: if /bin/sh ../../libtool --mode=compile i686-pc-linux-gnu-g++ -DHAVE_CONFIG_H -DG_LOG_DOMAIN=\"glibmm\" -Dglibmm_COMPILATION -I../../glib -I../../glib -I../../pango -I../../pango -I../../atk -I../../atk -I../../gdk -I../../gdk -I../../gtk -I../../gtk -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 -pthread -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -O2 -march=pentium-m -pipe -Wall -MT quark.lo -MD -MP -MF ".deps/quark.Tpo" -c -o quark.lo quark.cc; \ then mv -f ".deps/quark.Tpo" ".deps/quark.Plo"; else rm -f ".deps/quark.Tpo"; exit 1; fi propertyproxy_base.cc: In static member function 'static void Glib::SignalProxyProperty::callback(GObject*, GParamSpec*, void*)': propertyproxy_base.cc:102: error: 'strcmp' was not declared in this scope
Created attachment 170132 [details, diff] gtkmm-2.2.12-libc.patch Probably caused by my recent upgrades of gcc (4.2->4.3) and glibc (2.6->2.7). But fewer header redundancies in the standard headers is a very good thing IMHO.
Could you guys tell me which package is pulling this gtkmm slot for you? It's been my plan for a while to ditch it, now I even have a good reason to do so :) Thanks
equery depends gtkmm x11-misc/fluxbg-0.7 (=dev-cpp/gtkmm-2.2*)
Created attachment 170432 [details] emerge --info Here's my emerge --info
(In reply to comment #4) > Created an attachment (id=170132) [edit] > gtkmm-2.2.12-libc.patch > > Probably caused by my recent upgrades of gcc (4.2->4.3) and glibc (2.6->2.7). > But fewer header redundancies in the standard headers is a very good thing > IMHO. > # equery depends gtkmm [ Searching for packages depending on gtkmm... ] app-cdr/cdrdao-1.2.2-r2 (gcdmaster? >=dev-cpp/gtkmm-2.4) app-misc/workrave-1.8.5 (>=dev-cpp/gtkmm-2.4) dev-cpp/gconfmm-2.22.0 (>=dev-cpp/gtkmm-2.4) dev-cpp/libglademm-2.6.6 (>=dev-cpp/gtkmm-2.6) dev-cpp/libgnomecanvasmm-2.22.0 (>=dev-cpp/gtkmm-2.4) dev-cpp/libgnomemm-2.22.0 (>=dev-cpp/gtkmm-2.8) gnome-extra/gnome-system-monitor-2.22.3 (>=dev-cpp/gtkmm-2.8) x11-misc/fluxbg-0.7 (=dev-cpp/gtkmm-2.2*)
Here's my full list, it looks like fluxbg: app-cdr/cdrdao-1.2.2-r2 (gcdmaster? >=dev-cpp/gtkmm-2.4) app-editors/amyedit-1.0-r1 (>=dev-cpp/gtkmm-2.6) app-editors/gobby-0.4.8 (>=dev-cpp/gtkmm-2.6) dev-cpp/gconfmm-2.22.0 (>=dev-cpp/gtkmm-2.4) dev-cpp/libglademm-2.6.6 (>=dev-cpp/gtkmm-2.6) dev-cpp/libgnomecanvasmm-2.22.0 (>=dev-cpp/gtkmm-2.4) dev-cpp/libgnomemm-2.24.0 (>=dev-cpp/gtkmm-2.8) dev-cpp/libgtksourceviewmm-0.3.1 (>=dev-cpp/gtkmm-2.4) dev-cpp/libsexymm-0.1.9 (>=dev-cpp/gtkmm-2.4) dev-db/mysql-gui-tools-5.0_p12-r2 (dev-cpp/gtkmm:2.4) dev-libs/guiloader-c++-2.12.1 (>=dev-cpp/gtkmm-2.12.4) games-board/ccgo-0.3.6.3 (>=dev-cpp/gtkmm-2.4) games-board/hexxagon-1.0 (>=dev-cpp/gtkmm-2.4) games-emulation/visualboyadvance-1.7.2-r2 (gtk? >=dev-cpp/gtkmm-2.4) games-puzzle/gnudoku-0.93 (>=dev-cpp/gtkmm-2.6) gnome-extra/gnome-system-monitor-2.24.1 (>=dev-cpp/gtkmm-2.8) media-gfx/gimmage-0.2.3 (>=dev-cpp/gtkmm-2.6.2) media-gfx/inkscape-0.46-r5 (>=dev-cpp/gtkmm-2.10.0) media-sound/alsa-patch-bay-1.0.0-r3 (gtk? =dev-cpp/gtkmm-2.2*) media-sound/amsynth-1.2.0 (>=dev-cpp/gtkmm-2.4) media-sound/ardour-2.4.1 (>=dev-cpp/gtkmm-2.12.3) media-sound/bmpx-0.40.14 (>=dev-cpp/gtkmm-2.12) media-sound/gnomoradio-0.15.1 (>=dev-cpp/gtkmm-2.4) media-sound/paman-0.9.4-r1 (>=dev-cpp/gtkmm-2.4) media-sound/paprefs-0.9.7 (>=dev-cpp/gtkmm-2.4) media-sound/pavucontrol-0.9.7 (>=dev-cpp/gtkmm-2.4) media-sound/pavumeter-0.9.3-r1 (>=dev-cpp/gtkmm-2.4) media-sound/seq24-0.8.7-r1 (>=dev-cpp/gtkmm-2.4) net-print/omni-0.9.2 (X? =dev-cpp/gtkmm-1.2*) sci-visualization/quickplot-0.8.13-r1 (>=dev-cpp/gtkmm-2.4.5) sys-block/gparted-0.3.9 (>=dev-cpp/gtkmm-2.8.0) x11-misc/fluxbg-0.7 (=dev-cpp/gtkmm-2.2*)
Yeah fluxbg is it (just hit this on my tinderbox).
> Could you guys tell me which package is pulling this gtkmm slot for you? > Not only flubox : # equery depends =gtkmm-2.2.12 [ Searching for packages depending on =gtkmm-2.2.12... ] media-sound/alsa-patch-bay-1.0.0-r1 (!fltk? =dev-cpp/gtkmm-2.2*) # grep gtkmm /usr/portage/media-sound/alsa-patch-bay/alsa-patch-bay-1.0.0-r2.ebuild DEPEND="gtk? ( =dev-cpp/gtkmm-2.2* ) The fix of Mike has worked for me. Thanks.
(In reply to comment #11) > # grep gtkmm > /usr/portage/media-sound/alsa-patch-bay/alsa-patch-bay-1.0.0-r2.ebuild > DEPEND="gtk? ( =dev-cpp/gtkmm-2.2* ) You should probably sync your portage tree. Those old alsa-path-bay ebuilds have been gone for more than 2 weeks now. Thanks
Is there no better permanent fix for this by now?
Seems that no package in the tree requires this slot, what about dropping it?
+ 16 Dec 2010; Gilles Dartiguelongue <eva@gentoo.org> -gtkmm-2.2.12.ebuild, + -files/gtkmm-2.2.12-gcc41.patch: + Drop gtkmm:2, build failures (bug 244543) and not required by anything in the + tree. Done. Thanks for reporting.