Jeff Squyres wrote:
> We use lt_dlopen() to open the plugins (Libtool's wrapper for a
> portable dlopen). It opens all plugins (DSOs) in a private scope.
> That private scope is kept deep in the OPAL MCA base and not exposed
> elsewhere in the code base. So if you manually dlopen a plugin
> again, I'll bet that the linker realizes that that DSO has already
> been loaded into the process space and doesn't actually load it again
> (but doesn't fail). So the dlsyms fail because you don't have access
> to the private scope from where Libtool originally opened the DSO.
>
> Make sense?
Yes, I'm nodding my head vigorously (with a vacuous stare on my face).
Mostly, I think you're very smart and I'm not! I get the general
principles, but am unfamiliar with the details.
Never mind: --enable-static is exactly the flavor of suggestion I was
looking for. Thanks. I'm back in the saddle. Onward.
|