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
>>>> something is wrong with the gkrellfire plugin. Maybe it is
>>>> corrupted or the plugin has had symbols stripped.
>
> [snip....]
>
> Something is definitely strange. If I unpack the source, and do "grep
> init gkrellfire.c" I get
>
> // All GKrellM plugins must have one global routine named init_plugin()
> __declspec(dllexport) GkrellmMonitor
> *gkrellm_init_plugin(win32_plugin_callbacks* calls)
> GkrellmMonitor *gkrellm_init_plugin()
The above signature is quite outdated. The win32 part is not needed
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.
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
one of the dependencies (glib, gmodule, gtk+2) sneaks in a
"-fvisibility=hidden" which will only export symbols marked as such.
Regards,
Stefan
|