The latest gnome-panel (gnome-panel-2.32.1-r2) has removed some functions from panel-applet.h. The function "panel_applet_shlib_factory" declared in panel-2.0/panel-applet.h as a function with 6 arguments has been removed. As a result dev-cpp/libpanelappletmm-2.26.0 can not be compiled anymore. Here is the search result for the function "panel_applet_shlib" when gnome-panel-2.32.1-r1 was installed: ~> grep -ir panel_applet_shlib_factory /usr/include/ /usr/include/panel-2.0/panel-applet.h:Bonobo_Unknown panel_applet_shlib_factory (const char *iid, /usr/include/panel-2.0/panel-applet.h:Bonobo_Unknown panel_applet_shlib_factory_closure (const char *iid, /usr/include/panel-2.0/panel-applet.h:__panel_applet_shlib_factory (PortableServer_POA poa, \ /usr/include/panel-2.0/panel-applet.h: return panel_applet_shlib_factory ((iid), (type), poa, impl_ptr, \ /usr/include/panel-2.0/panel-applet.h: { (iid), __panel_applet_shlib_factory }, \ /usr/include/gnome-panel-3.0/libpanel-applet/panel-applet.h:gboolean _panel_applet_shlib_factory (void); /usr/include/gnome-panel-3.0/libpanel-applet/panel-applet.h:_panel_applet_shlib_factory (void) \ grep: warning: /usr/include/gphoto2/gphoto2: recursive directory loop /usr/include/libpanelappletmm-2.6/libpanelappletmm/factory.h: return panel_applet_shlib_factory( iid.c_str(), Applet::get_type(), poa, impl_ptr, SignalProxy_Factory::c_callback, &proxy, ev); The function panel_applet_shlib is declared in panel-2.0 folder and gnome-panel-3.0. After upgrading to gnome-panel-2.32.1-r2 ~> grep -r -i panel_applet_shlib_factory /usr/include/ /usr/include/libpanelappletmm-2.6/libpanelappletmm/factory.h: return panel_applet_shlib_factory( iid.c_str(), Applet::get_type(), poa, impl_ptr, SignalProxy_Factory::c_callback, &proxy, ev); grep: warning: /usr/include/gphoto2/gphoto2: recursive directory loop /usr/include/gnome-panel-3.0/libpanel-applet/panel-applet.h:gboolean _panel_applet_shlib_factory (void); /usr/include/gnome-panel-3.0/libpanel-applet/panel-applet.h:_panel_applet_shlib_factory (void) After ugdating gnome-panel-2.32.1-r2, gnote-0.7.3 will not launch anymore (missing function panel_applet_shlib_factory in libpanelappletmm.lo). Gnome-panel-3.0 does have this function but with a different signature. Trying to rebuild dev-cpp/libpanelappletmm-2.26.0 with the latest gnome-panel-2.32.1-r2 produces the following error: In file included from factory.cc:18:0: ../../libpanelapplet/libpanelappletmm/factory.h: In function 'CORBA_Object_type* Gnome::Panel::shlib_factory(const Glib::ustring&, PortableServer_POA_type*, void*, const Gnome::Panel::SlotFactory&, CORBA_Environment*)': ../../libpanelapplet/libpanelappletmm/factory.h:107:129: error: there are no arguments to 'panel_applet_shlib_factory' that depend on a template parameter, so a declaration of 'panel_applet_shlib_factory' must be available ../../libpanelapplet/libpanelappletmm/factory.h:107:129: note: (if you use '-fpermissive', G++ will accept your code, but allowing the use of an undeclared name is deprecated) factory.cc: In function 'CORBA_Object_type* Gnome::Panel::shlib_factory_closure(const Glib::ustring&, PortableServer_POA_type*, void*, GClosure*, CORBA_Environment*)': factory.cc:35:104: error: 'panel_applet_shlib_factory_closure' was not declared in this scope Reproducible: Always
This is due upstream: http://git.gnome.org/browse/gnome-panel/commit/?h=gnome-2-32&id=cc7f3e7cac8dd9da5e8e48eac6ef9e992c557812
+*libpanelappletmm-2.26.0-r1 (04 Apr 2011) + + 04 Apr 2011; Pacho Ramos <pacho@gentoo.org> + +libpanelappletmm-2.26.0-r1.ebuild, + +files/libpanelappletmm-2.26.0-no-shlib.patch: + Following the change in gnome-panel, drop in-process support for bonobo + applets here too, upstream bug #642637 (bug #361927 by Marko D., patch by + Vuntz). +