Re: GCC 4.6 warnings, and dependency on nonexisting wrapset: standard
Andy Wingo <[email protected]> Wed, 07 Dec 2011 22:53:07 +0100
| Newsgroups | gmane.lisp.guile.gtk |
|---|---|
| Message-ID | <[email protected]> |
On Wed 07 Dec 2011 21:00, Mark H Weaver <[email protected]> writes: > I recently compiled guile-gnome-platform from recent git, on top of > Guile 2.0.3.50-d88f5, guile-cairo-1.9.91, and g-wrap 1.9.14. This is on > GCC 4.6.2 on MIPS little-endian with the N32 ABI. I just pushed some fixes to a branch called `platform'. I think we should hack on that branch. WDYT? > First off, the guile-gnome build system uses -Werror by default, and > this combined with some (apparently) new warnings in GCC 4.6 causes the > build to fail. I have fixed some of these, and disabled -Werror by default. > Here's an excerpt of the generated code from the first warning above: > > { > GList*gw__tmp7829_cursor = gw__c_arg0; > while(gw__tmp7829_cursor) > { > GdkPixbuf* gw__tmp7828_c_item; > gw__tmp7828_c_item = ( GdkPixbuf*) gw__tmp7829_cursor->data; > gw__tmp7829_cursor = gw__tmp7829_cursor->next; > } > } I think I fixed this one. > There was one "set but not used" warning in hand-written code, and > here's a fix: > > diff --git a/gnome/gobject/gsignal.c b/gnome/gobject/gsignal.c > index 59bccc4..1fc493b 100644 > --- a/gnome/gobject/gsignal.c > +++ b/gnome/gobject/gsignal.c > @@ -271,13 +271,13 @@ SCM_DEFINE (scm_gtype_instance_signal_connect_closure, > gtype = G_TYPE_FROM_INSTANCE (instance); > gclosure = g_value_get_boxed (gvalue); > > - g_signal_query (scm_to_ulong (id), &query); > + g_signal_query (signal_id, &query); > SCM_ASSERT (g_type_is_a (gtype, query.itype), object, SCM_ARG1, FUNC_NAME); > > #ifdef DEBUG_PRINT > old_ref_count = gclosure->ref_count; > #endif > - handler_id = g_signal_connect_closure_by_id (instance, scm_to_ulong (id), > + handler_id = g_signal_connect_closure_by_id (instance, signal_id, > detail_quark, gclosure, > SCM_NFALSEP (after)); > DEBUG_ALLOC ("GClosure %p connecting: %u->%u", Ah, we should fix these. Want to push to `platform' ? > Another GCC 4.6 warning bites us in corba/gnome/corba/guile-gnome-corba.c: > > guile-gnome-corba.c: In function 'scm_corba_servant_to_reference': > guile-gnome-corba.c:55:5: error: the comparison will always evaluate as 'true' for the address of 'ev' will never be NULL [-Werror=address] > guile-gnome-corba.c: In function 'scm_bonobo_get_object': > guile-gnome-corba.c:82:9: error: the comparison will always evaluate as 'true' for the address of 'ev' will never be NULL [-Werror=address] > guile-gnome-corba.c: In function 'scm_bonobo_object_query_interface': > guile-gnome-corba.c:109:9: error: the comparison will always evaluate as 'true' for the address of 'ev' will never be NULL [-Werror=address] > cc1: all warnings being treated as errors I "fixed" these. > However, I run into problems at runtime with gtk/examples/calc.scm. > The most relevant errors are probably these: > > ;;; WARNING: compilation of /usr/share/guile-gnome-2/gnome/gtk.scm failed: > ;;; ERROR: In procedure %gw:wrapset-new: dependency on nonexisting wrapset: standard > [...] > ;;; WARNING: compilation of /home/mhw/bin/calc failed: > ;;; ERROR: In procedure %gw:wrapset-new: dependency on nonexisting wrapset: standard > > There are many other warnings as well; the full transcript follows. > Any ideas? Hum, I'll give it a try. Andy -- http://wingolog.org/