Subject: Re: dlopen'ing a plugin that calls functions in the parent...
To: Jasper Wallace <firstname.lastname@example.org>
From: Jason R Thorpe <email@example.com>
Date: 09/05/2001 14:04:02
On Wed, Sep 05, 2001 at 09:55:06PM +0100, Jasper Wallace wrote:
> I'm trying to get the wirless plugin for gkrellm to work under
> NetBSD 1.5.2.
> After digging around with gdb the call to dlopen() on the plugin fails with
> (as reported dy dlerror()):
> Error: /usr/home/jasper/.gkrellm/plugins/wireless.so: Undefined PLT symbol
> "gkrellm_draw_decal_text" (reloc type = 7, symnum = 31)
> gkrellm_draw_decal_text is a function in gkrellm (and gkrellm is NOT
gkrellm needs to be linked with the -E (--export-dyanmic) option. That
should fix your problem.
Any program which opens a shared object that needs to call back into
the parent needs this option. I guess maybe it's the default on Linux,
or something, because lots of programs fail to include it in their
-- Jason R. Thorpe <firstname.lastname@example.org>