Open MPI logo

Open MPI Development Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Development mailing list

Subject: Re: [OMPI devel] libtool issue with crs/self
From: Brian W. Barrett (brbarret_at_[hidden])
Date: 2009-07-29 11:01:49


Never mind, I'm an idiot. I still don't like the wrappers around
lt_dlopen in util, but it might be your best option. Are you looking for
symbols in components or the executable? I assumed the executable, in
which case you might be better off just using dlsym() directly. If you're
looking for a symbol first place it's found, then you can just do:

   dlsym(RTLD_DEFAULT, symbol);

The lt_dlsym only really helps if you're running on really obscure
platforms which don't support dlsym and loading "preloaded" components.

Brian

On Wed, 29 Jul 2009, Brian W. Barrett wrote:

> What are you trying to do with lt_dlopen? It seems like you should always go
> through the MCA base utilities. If one's missing, adding it there seems like
> the right mechanism.
>
> Brian
>
> On Wed, 29 Jul 2009, Josh Hursey wrote:
>
>> George suggested that to me as well yesterday after the meeting. So we
>> would create opal interfaces to libtool (similar to what we do with the
>> event engine). That might be the best way to approach this.
>>
>> I'll start to take a look at implementing this. Since opal/libltdl is not
>> part of the repository, is there a 'right' place to put this header? maybe
>> in opal/util/?
>>
>> Thanks,
>> Josh
>>
>>
>> On Jul 28, 2009, at 6:57 PM, Jeff Squyres (jsquyres) wrote:
>>
>>> Josh - this is almost certainly what happened. Yoibks. Unfortunately,
>>> there's good reasons for it. :(
>>>
>>> What about if we proxy calls to lt_dlopen through an opal function call?
>>>
>>> -jms
>>> Sent from my PDA. No type good.
>>>
>>> ----- Original Message -----
>>> From: devel-bounces_at_[hidden] <devel-bounces_at_[hidden]>
>>> To: Open MPI Developers <devel_at_[hidden]>
>>> Sent: Tue Jul 28 16:39:42 2009
>>> Subject: Re: [OMPI devel] libtool issue with crs/self
>>>
>>> It was mentioned to me that r21731 might have caused this problem by
>>> restricting the visibility of the libltdl library.
>>> https://svn.open-mpi.org/trac/ompi/changeset/21731
>>>
>>> Brian,
>>> Do you have any thoughts on how we might extend the visibility so that
>>> MCA components could also use the libtool in opal?
>>> I can try to initialize libtool in the Self CRS component and use it
>>> directly, but since it is already opened by OPAL, I think it might be
>>> better to use the instantiation in OPAL.
>>>
>>> Cheers,
>>> Josh
>>>
>>> On Jul 28, 2009, at 3:06 PM, Josh Hursey wrote:
>>>
>>>> Once upon a time, the Self CRS module worked correctly, but I admit
>>>> that I have not tested it in a long time.
>>>>
>>>> The Self CRS component uses dl_open and friends to inspect the
>>>> running process for a particular set of functions. When I try to run
>>>> an MPI program that contains these signatures I get the following
>>>> error when it tries to resolve lt_dlopen() in
>>>> opal_crs_self_component_query():
>>>> ------------------
>>>> my-app: symbol lookup error: /path/to/install/lib/openmpi/
>>>> mca_crs_self.so: undefined symbol: lt_dlopen
>>>> ------------------
>>>>
>>>> I am configuring with the following:
>>>> ------------------
>>>> ./configure --prefix=/path/to/install \
>>>> --enable-binaries \
>>>> --with-devel-headers \
>>>> --enable-debug \
>>>> --enable-mpi-threads \
>>>> --with-ft=cr \
>>>> --without-memory-manager \
>>>> --enable-ft-thread \
>>>> CC=gcc CXX=g++ \
>>>> F77=gfortran FC=gfortran
>>>> ------------------
>>>>
>>>> The source code is at the link below:
>>>> https://svn.open-mpi.org/trac/ompi/browser/trunk/opal/mca/crs/self
>>>>
>>>>
>>>> Does anyone have any thoughts on what might be going wrong here?
>>>>
>>>> Thanks,
>>>> Josh
>>>>
>>>> _______________________________________________
>>>> devel mailing list
>>>> devel_at_[hidden]
>>>> http://www.open-mpi.org/mailman/listinfo.cgi/devel
>>>
>>> _______________________________________________
>>> devel mailing list
>>> devel_at_[hidden]
>>> http://www.open-mpi.org/mailman/listinfo.cgi/devel
>>>
>>> _______________________________________________
>>> devel mailing list
>>> devel_at_[hidden]
>>> http://www.open-mpi.org/mailman/listinfo.cgi/devel
>>
>> _______________________________________________
>> devel mailing list
>> devel_at_[hidden]
>> http://www.open-mpi.org/mailman/listinfo.cgi/devel
>>
> _______________________________________________
> devel mailing list
> devel_at_[hidden]
> http://www.open-mpi.org/mailman/listinfo.cgi/devel
>
>