Subject: Re: dlopen'ing a plugin that calls functions in the parent...
To: Jasper Wallace <>
From: Jason R Thorpe <>
List: netbsd-users
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[1] for gkrellm[2] 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/ 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
 > striped).

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 <>