On 4/11/19 7:53 PM, Stefan Gehn wrote:
> 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
Stefan,
Thanks for the suggestions, but I'm just a user, not the author of the
plugin. As I saId in a later response, I solved my problem (and
Peter's, who started this thread) by noting that the Makefile didn't
actually include gkrellfire.o when linking gkrellfire.so.
Jack
|