Open MPI logo

Open MPI Development Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Development mailing list

Subject: Re: [OMPI devel] [OMPI svn] svn:open-mpi r28202 - in trunk: ompi/runtime opal/mca/memory/linux
From: Ralph Castain (rhc_at_[hidden])
Date: 2013-03-22 11:24:09


FWIW: I have to revert 28202 and 28164 to get the trunk to build again on Centos 6.2

On Mar 22, 2013, at 8:17 AM, Ralph Castain <rhc_at_[hidden]> wrote:

> I'm afraid this still doesn't work for me - on my Centos box:
>
> ../../../ompi/.libs/libmpi.so: undefined reference to `opal_memory_linux_malloc_init_hook'
>
> I tried it with a brand new checkout of the trunk. Any ideas?
>
> IIRC, we wound up here because we were trying to avoid rolling libopal into liborte into libmpi and instead having three completely separable libraries. Given that we haven't been able to make that work across platforms, is it time to give up and return to what worked?
>
>
> On Mar 21, 2013, at 4:05 PM, svn-commit-mailer_at_[hidden] wrote:
>
>> Author: brbarret (Brian Barrett)
>> Date: 2013-03-21 19:05:54 EDT (Thu, 21 Mar 2013)
>> New Revision: 28202
>> URL: https://svn.open-mpi.org/trac/ompi/changeset/28202
>>
>> Log:
>> * Fix issue with duplicate symbol for the initialize hook due to it existing in both libmpi and libopen-pal by removing the one for libopen-pal. This won't work if we eventually need registration caching in opal/orte, but I'm hoping that by that point, OFED will have gotten off its butt and properly integrated ummunotify into the verbs layer so that this code can go away.
>>
>> At the same time, fix a minor issue where the init hook was being called twice, once by the libc malloc and once by our malloc by removing the call from our malloc.
>>
>> Text files modified:
>> trunk/ompi/runtime/ompi_mpi_init.c | 2 +-
>> trunk/opal/mca/memory/linux/arena.c | 3 +++
>> trunk/opal/mca/memory/linux/hooks.c | 5 -----
>> 3 files changed, 4 insertions(+), 6 deletions(-)
>>
>> Modified: trunk/ompi/runtime/ompi_mpi_init.c
>> ==============================================================================
>> --- trunk/ompi/runtime/ompi_mpi_init.c Thu Mar 21 13:13:46 2013 (r28201)
>> +++ trunk/ompi/runtime/ompi_mpi_init.c 2013-03-21 19:05:54 EDT (Thu, 21 Mar 2013) (r28202)
>> @@ -95,7 +95,7 @@
>> implicity from libmpi, there are times when the malloc initialize
>> hook in the memory component doesn't work. So we have to do it
>> from here, since any MPI code is going to call MPI_Init... */
>> -void (*__malloc_initialize_hook) (void) =
>> +OPAL_DECLSPEC void (*__malloc_initialize_hook) (void) =
>> opal_memory_linux_malloc_init_hook;
>> #endif
>>
>>
>> Modified: trunk/opal/mca/memory/linux/arena.c
>> ==============================================================================
>> --- trunk/opal/mca/memory/linux/arena.c Thu Mar 21 13:13:46 2013 (r28201)
>> +++ trunk/opal/mca/memory/linux/arena.c 2013-03-21 19:05:54 EDT (Thu, 21 Mar 2013) (r28202)
>> @@ -462,8 +462,11 @@
>> if(s[0]) mALLOPt(M_CHECK_ACTION, (int)(s[0] - '0'));
>> __malloc_check_init();
>> }
>> +#if 0
>> + /* OMPI Change: Don't call the initialize hook; it was us. */
>> if(__malloc_initialize_hook != NULL)
>> (*__malloc_initialize_hook)();
>> +#endif
>>
>> __malloc_initialized = 1;
>> }
>>
>> Modified: trunk/opal/mca/memory/linux/hooks.c
>> ==============================================================================
>> --- trunk/opal/mca/memory/linux/hooks.c Thu Mar 21 13:13:46 2013 (r28201)
>> +++ trunk/opal/mca/memory/linux/hooks.c 2013-03-21 19:05:54 EDT (Thu, 21 Mar 2013) (r28202)
>> @@ -892,11 +892,6 @@
>>
>>
>>
>> -/* OMPI change: This is the symbol to override to make the above
>> - function get fired during malloc initialization time. */
>> -void (*__malloc_initialize_hook) (void) =
>> - opal_memory_linux_malloc_init_hook;
>> -
>> /*
>> * Local variables:
>> * c-basic-offset: 4
>> _______________________________________________
>> svn mailing list
>> svn_at_[hidden]
>> http://www.open-mpi.org/mailman/listinfo.cgi/svn
>