Re: Problem with gkrellfire plugin

Stefan Gehn <[email protected]> Fri, 12 Apr 2019 01:53:51 +0200
Newsgroups gmane.comp.gnome.apps.gkrellm
Message-ID <[email protected]>
On 11/04/2019 22:19, Jack Ostroff wrote:
> On 2019.04.11 13:20, Jack wrote:
>> On 2019.04.11 04:37, Peter Humphrey wrote:
>>> On Wednesday, 10 April 2019 23:58:26 BST you wrote:
>>>> A gkrellm_init_plugin() function is supposed to be in each plugin so=
=20
>>>> something is wrong with the gkrellfire plugin.=C2=A0 Maybe it is=20
>>>> corrupted or the plugin has had symbols stripped.
>=20
> [snip....]
>=20
> Something is definitely strange.=C2=A0 If I unpack the source, and do "=
grep=20
> init gkrellfire.c" I get
>=20
> // All GKrellM plugins must have one global routine named init_plugin()
> __declspec(dllexport) GkrellmMonitor=20
> *gkrellm_init_plugin(win32_plugin_callbacks* calls)
> GkrellmMonitor *gkrellm_init_plugin()

The above signature is quite outdated. The win32 part is not needed=20
anymore and for Unix systems it does not mark the function as exported.
Please try making the init function signature look like this, i.e.=20
prefix it with G_MODULE_EXPORT:

G_MODULE_EXPORT
GkrellmMonitor *gkrellm_init_plugin()

Also, if needed, add the following include somewhere at the top:
#include <gmodule.h>

I wouldn't be surprised if either the default compiler configuration or=20
one of the dependencies (glib, gmodule, gtk+2) sneaks in a=20
"-fvisibility=3Dhidden" which will only export symbols marked as such.

Regards,
Stefan