Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 244543 - dev-cpp/gtkmm-2.2.12: build failure, 'g_assert' was not declared in this scope
Summary: dev-cpp/gtkmm-2.2.12: build failure, 'g_assert' was not declared in this scope
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: x86 Linux
: High normal (vote)
Assignee: GNOME C++ Bindings Maintainers (OBSOLETE)
URL:
Whiteboard: Removed: 2010-12-17
Keywords: PMASKED
Depends on:
Blocks:
 
Reported: 2008-10-26 23:02 UTC by Mike Nelson
Modified: 2010-12-16 23:44 UTC (History)
7 users (show)

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


Attachments
emerge --info (emerge-info.txt,4.83 KB, text/plain)
2008-10-28 02:35 UTC, Markus Peloquin
Details
gtkmm-2.2.12-libc.patch (gtkmm-2.2.12-libc.patch,1.31 KB, patch)
2008-10-28 17:41 UTC, Markus Peloquin
Details | Diff
emerge --info (emerge.info.txt,4.20 KB, text/plain)
2008-10-31 23:49 UTC, Mike Nelson
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Mike Nelson 2008-10-26 23:02:10 UTC
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.
Comment 1 Jeroen Roovers (RETIRED) gentoo-dev 2008-10-26 23:21:45 UTC
Please post your `emerge --info' too.
Comment 2 Markus Peloquin 2008-10-28 02:35:16 UTC
Created attachment 170053 [details]
emerge --info

I have the same problem.  Here's my emerge --info.
Comment 3 Markus Peloquin 2008-10-28 02:51:17 UTC
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

Comment 4 Markus Peloquin 2008-10-28 17:41:21 UTC
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.
Comment 5 Rémi Cardona (RETIRED) gentoo-dev 2008-10-28 18:05:11 UTC
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
Comment 6 Markus Peloquin 2008-10-28 18:08:39 UTC
equery depends gtkmm
x11-misc/fluxbg-0.7 (=dev-cpp/gtkmm-2.2*)
Comment 7 Mike Nelson 2008-10-31 23:49:12 UTC
Created attachment 170432 [details]
emerge --info

Here's my emerge --info
Comment 8 Mike Nelson 2008-10-31 23:55:04 UTC
(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*)
Comment 9 Dave 2008-11-15 12:14:01 UTC
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*)
Comment 10 Diego Elio Pettenò (RETIRED) gentoo-dev 2008-12-20 18:56:53 UTC
Yeah fluxbg is it (just hit this on my tinderbox).
Comment 11 lalebarde 2008-12-30 09:11:12 UTC
> 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.

Comment 12 Rémi Cardona (RETIRED) gentoo-dev 2008-12-31 15:44:33 UTC
(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
Comment 13 Felix Finch 2009-09-27 22:46:32 UTC
Is there no better permanent fix for this by now?
Comment 14 Pacho Ramos gentoo-dev 2010-06-17 17:08:11 UTC
Seems that no package in the tree requires this slot, what about dropping it?
Comment 15 Gilles Dartiguelongue (RETIRED) gentoo-dev 2010-12-16 23:44:53 UTC
+  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.