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 <r...@open-mpi.org> 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-mai...@open-mpi.org 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 >> s...@open-mpi.org >> http://www.open-mpi.org/mailman/listinfo.cgi/svn >