Open MPI logo

Open MPI Development Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Development mailing list

Subject: Re: [OMPI devel] adding new functions to a BTL
From: Ralf Wildenhues (Ralf.Wildenhues_at_[hidden])
Date: 2008-10-22 17:51:34


Hello Jeff, Eugene,

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

Shouldn't it work to re-dlopen the lib with RTLD_GLOBAL?

Also, recent libltdl should allow you to choose which scope you want in
the first place, local or global, through lt_dladvise.

Hope that helps.

Cheers,
Ralf