GNOME Bugzilla – Bug 588397
Map plugin fails to build against libchamplain-0.3
Last modified: 2019-02-22 03:17:05 UTC
Attempting to build a eog-plugins package for Ubuntu Karmic, it fails to build with libchamplain-0.3. I suppose it was to be expected as I had to patch configure.ac even to try and build it.... eog-champlain-plugin.c: In function 'get_coordinates': eog-champlain-plugin.c:138: warning: implicit declaration of function 'eog_exif_util_get_value' eog-champlain-plugin.c: In function 'create_marker': eog-champlain-plugin.c:205: warning: implicit declaration of function 'champlain_marker_set_position' eog-champlain-plugin.c: In function 'impl_activate': eog-champlain-plugin.c:305: error: 'CHAMPLAIN_VIEW_MODE_KINETIC' undeclared (first use in this function) eog-champlain-plugin.c:305: error: (Each undeclared identifier is reported only once eog-champlain-plugin.c:305: error: for each function it appears in.) eog-champlain-plugin.c:305: error: too many arguments to function 'champlain_view_new' eog-champlain-plugin.c:308: warning: 'champlain_view_embed_new' is deprecated (declared at /usr/include/libchamplain-gtk-0.3/champlain-gtk/gtk-champlain-embed.h:61) eog-champlain-plugin.c:326: warning: assignment from incompatible pointer type eog-champlain-plugin.c:327: warning: passing argument 2 of 'champlain_view_add_layer' from incompatible pointer type /usr/include/libchamplain-0.3/champlain/champlain-view.h:119: note: expected 'struct ChamplainLayer *' but argument is of type 'struct ClutterActor *' make[4]: *** [eog-champlain-plugin.lo] Error 1 make[4]: Leaving directory `/tmp/buildd/eog-plugins-2.27.0~git20090707.a35368/plugins/champlain' make[3]: *** [all-recursive] Error 1 make[3]: Leaving directory `/tmp/buildd/eog-plugins-2.27.0~git20090707.a35368/plugins' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory `/tmp/buildd/eog-plugins-2.27.0~git20090707.a35368' make[1]: *** [all] Error 2 make[1]: Leaving directory `/tmp/buildd/eog-plugins-2.27.0~git20090707.a35368' make: *** [debian/stamp-makefile-build] Error 2
Yes, this is currently expected. Looking http://live.gnome.org/libchamplain/schedule it looks like it will make the switch to clutter-1.0 soon, so it might be worth waiting until libchamplain-0.3's API is mostly stable before adapting the plugin.
I alrealdy have a patch that fixes this, I just didn't publish it yet. It'll have to wait until I return from vacation on July 24th.
Created attachment 139835 [details] [review] Port to Clutter 1.0 and libchamplain 0.3.6 Works better than before, except for the nasty bug #590692 in libchamplain 0.3.6.
(In reply to comment #3) > Works better than before, except for the nasty bug #590692 in libchamplain > 0.3.6. > Hmm, it's crashing again in my video driver. Different function this time though. The fix I committed for the old version probably needs some extension.
Okay, looks like I know what to do to avoid the crash. Just need to make the patch a bit nicer (hopefully doesn't need 9 months as the last one ;) ). This leaves us with bug 590692, which makes it impossible to disable the plugin from the Plugin Manager as eog is aborted before it updates the gconf key. Apart from that, the patch looks good.
Pushed this together with the GtkFrame-workaround, as we plan to do a first eog-plugins release for 2.27.91. Once there is a fix for bug 590692 available the workaround can be reverted. commit 4131a1d8df75599aab2e9b33572f42544b2923c7 Author: Pierre-Luc Beaudoin <> Date: Mon Aug 24 12:35:35 2009 +0200 [champlain] Migrate to libchamplain-0.3 and clutter-1.0 Update the plugin to work with the latest releases of said libraries. Closes bgo#588397. commit aca7153e266dd8f1755fce72c370cbe1862d50b0 Author: Felix Riemann <> Date: Mon Aug 24 12:46:38 2009 +0200 [champlain] Place map widget inside GtkFrame instead of a GtkViewport This is a temporary workaround to avoid fatal X errors when destroying the widget. A label-less GtkFrame should only look minimally different to the viewport and avoids the fatal errors. See bgo#590692 for details.