[Sugar-devel] jhbuild execution error
Bernie Innocenti
bernie at codewiz.org
Thu May 13 14:26:17 EDT 2010
El Thu, 13-05-2010 a las 10:28 -0300, Daniel Castelo escribió:
> When I run the last version of jhbuild ./sugar-jhbuild run
> sugar-emulator the emulator doesn't start.
> This is the Shell.log output:
>
> 1273756965.523033 DEBUG root: STARTUP: Loading the mesh view
> 1273756965.558274 DEBUG root: Not an activity icon <_MyIcon object at
> 0x9d091bc (SugarFavoritesMyIcon at 0x9dad488)>
> 1273756965.558593 DEBUG root: Not an activity icon
> <CurrentActivityIcon object at 0x9d0948c (CanvasIcon at 0x9dad500)>
> 1273756965.612840 DEBUG sugar.presence.presenceservice: Reused proxy
> <Buddy object at 0x9cffe14 (sugar+presence+buddy+Buddy at 0x98c2d00)>
> python: symbol lookup
> error: /home/latu/sugar-jhbuild5May/install/lib/gtk-2.0/2.10.0/engines/libsugar.so: undefined symbol: gtk_widget_is_sensitive
Are you perhaps using an old Linux distribution?
sugar-artwork will silently miscompile if GTK does not contain some of
the required symbols.
I've posted a patch to make it fail noisily (see below). Benjamin, can
you ACK it, please?
Besides, we should probably update configure.ac to require the minimum
version of GTK which contains gtk_widget_is_sensitive().
From: Bernie Innocenti <bernie at codewiz.org>
Date: Tue, 11 May 2010 18:44:12 -0400
Subject: [PATCH] sugar-artwork: stricter compiler flags
Organization: Sugar Labs Foundation
X-Subversion: sucks
WARN_CFLAGS was already used in gtk/engine/Makefile.am, but not
initialized by configure.
For backwards compatibility, GCC's by default is very permissive.
In my case, it was silently miscompiling code which was calling
a non-existent GTK function. For this particular case, the
proposed WARN_CFLAGS should make the build fail early in this case.
I'm not proposing -Werror because it frequetly results in broken
builds for trivial reasons when distros update the toolchain.
Signed-off-by: Bernie Innocenti <bernie at codewiz.org>
Reviewed-by: James Cameron <quozl at laptop.org>
Tested-by: James Cameron <quozl at laptop.org>
---
configure.ac | 6 +++++-
1 files changed, 5 insertions(+), 1 deletions(-)
diff --git a/configure.ac b/configure.ac
index f32dd32..c9f5c26 100644
--- a/configure.ac
+++ b/configure.ac
@@ -11,6 +11,10 @@ AM_DISABLE_STATIC
PKG_PROG_PKG_CONFIG([0.19])
+dnl These catch plenty of subtle bugs and miscompilation problems
+WARN_CFLAGS="-Wall -W -Werror=implicit-function-declaration"
+AC_SUBST(WARN_CFLAGS)
+
AC_PROG_CC
AC_HEADER_STDC
AC_PROG_LIBTOOL
@@ -21,7 +25,7 @@ if test -z "$ICON_SLICER"; then
fi
PKG_CHECK_MODULES(GTK2, gtk+-2.0 >= 2.0.0,,
- AC_MSG_ERROR([GTK+-2.0 is required to compile
redhat-artwork]))
+ AC_MSG_ERROR([GTK+-2.0 is required to compile
sugar-artwork]))
GDK_PIXBUF2_CFLAGS=`$PKG_CONFIG --cflags gdk-pixbuf-2.0`
GDK_PIXBUF2_LIBS=`$PKG_CONFIG --libs gdk-pixbuf-2.0`
--
1.7.0.1
--
// Bernie Innocenti - http://codewiz.org/
\X/ Sugar Labs - http://sugarlabs.org/
More information about the Sugar-devel
mailing list