Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 361927 - gnome-base/gnome-panel-2.32.1-r2 breaks libpanelappletmm
Summary: gnome-base/gnome-panel-2.32.1-r2 breaks libpanelappletmm
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] GNOME (show other bugs)
Hardware: AMD64 Linux
: Normal normal
Assignee: Gentoo Linux Gnome Desktop Team
URL: https://bugzilla.gnome.org/show_bug.c...
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-04-04 16:24 UTC by Marko D
Modified: 2011-04-04 18:54 UTC (History)
0 users

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Marko D 2011-04-04 16:24:27 UTC
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
Comment 2 Pacho Ramos gentoo-dev 2011-04-04 18:54:26 UTC
+*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).
+