Good job, Gilles! PR coming - this fixed the problem. > On Sep 22, 2016, at 6:52 AM, Gilles Gouaillardet > <gilles.gouaillar...@gmail.com> wrote: > > Ralph, > > if you have libevent in your CPPFLAGS and you want to use the embedded > one, then please use the patch below > pmix3x looks ok > > Cheers, > > Gilles > > diff --git a/opal/mca/event/libevent2022/configure.m4 > b/opal/mca/event/libevent2022/configure.m4 > > index d299b5f..8124c11 100644 > > --- a/opal/mca/event/libevent2022/configure.m4 > > +++ b/opal/mca/event/libevent2022/configure.m4 > > @@ -75,9 +75,9 @@ EOF > > # Add some stuff to CPPFLAGS so that the rest of the source > > # tree can be built > > libevent_file=$libevent_basedir/libevent > > - CPPFLAGS="$CPPFLAGS -I$OPAL_TOP_SRCDIR/$libevent_file > -I$OPAL_TOP_SRCDIR/$libevent_file/include" > > AS_IF([test "$OPAL_TOP_BUILDDIR" != "$OPAL_TOP_SRCDIR"], > > - [CPPFLAGS="$CPPFLAGS > -I$OPAL_TOP_BUILDDIR/$libevent_file/include"]) > > + > [CPPFLAGS="-I$OPAL_TOP_BUILDDIR/$libevent_file/include $CPPFLAGS"]) > > + CPPFLAGS="-I$OPAL_TOP_SRCDIR/$libevent_file > -I$OPAL_TOP_SRCDIR/$libevent_file/include $CPPFLAGS" > > unset libevent_file > > ]) > > ]) > > diff --git a/opal/mca/hwloc/hwloc1113/configure.m4 > b/opal/mca/hwloc/hwloc1113/configure.m4 > > index 7fe3527..c1646d4 100644 > > --- a/opal/mca/hwloc/hwloc1113/configure.m4 > > +++ b/opal/mca/hwloc/hwloc1113/configure.m4 > > @@ -52,9 +52,9 @@ AC_DEFUN([MCA_opal_hwloc_hwloc1113_POST_CONFIG],[ > > # Add some stuff to CPPFLAGS so that the rest of the source > > # tree can be built > > file=$opal_hwloc_hwloc1113_basedir/hwloc > > - CPPFLAGS="$CPPFLAGS -I$OPAL_TOP_SRCDIR/$file/include" > > AS_IF([test "$OPAL_TOP_BUILDDIR" != "$OPAL_TOP_SRCDIR"], > > - [CPPFLAGS="$CPPFLAGS -I$OPAL_TOP_BUILDDIR/$file/include"]) > > + [CPPFLAGS="-I$OPAL_TOP_BUILDDIR/$file/include $CPPFLAGS"]) > > + CPPFLAGS="-I$OPAL_TOP_SRCDIR/$file/include $CPPFLAGS" > > unset file > > ]) > > OPAL_VAR_SCOPE_POP > > diff --git a/opal/mca/hwloc/hwloc1113/hwloc/config/hwloc.m4 > b/opal/mca/hwloc/hwloc1113/hwloc/config/hwloc.m4 > > index 6807624..3f6a6fe 100644 > > --- a/opal/mca/hwloc/hwloc1113/hwloc/config/hwloc.m4 > > +++ b/opal/mca/hwloc/hwloc1113/hwloc/config/hwloc.m4 > > @@ -988,7 +988,7 @@ EOF]) > > if test "x$enable_cpuid" != "xno"; then > > AC_MSG_CHECKING([for x86 cpuid]) > > old_CPPFLAGS="$CPPFLAGS" > > - CPPFLAGS="$CPPFLAGS -I$HWLOC_top_srcdir/include" > > + CPPFLAGS="-I$HWLOC_top_srcdir/include $CPPFLAGS" > > # We need hwloc_uint64_t but we can't use > hwloc/autogen/config.h before configure ends. > > # So pass #include/#define manually here for now. > > CPUID_CHECK_HEADERS= > > > On Thu, Sep 22, 2016 at 10:39 PM, Gilles Gouaillardet > <gilles.gouaillar...@gmail.com> wrote: >> Ralph, >> >> do you use VPATH ? >> >> can you give a try to the patch below ? >> >> Cheers, >> >> Gilles >> >> diff --git a/opal/mca/hwloc/hwloc1113/configure.m4 >> b/opal/mca/hwloc/hwloc1113/configure.m4 >> >> index 7fe3527..c1646d4 100644 >> >> --- a/opal/mca/hwloc/hwloc1113/configure.m4 >> >> +++ b/opal/mca/hwloc/hwloc1113/configure.m4 >> >> @@ -52,9 +52,9 @@ AC_DEFUN([MCA_opal_hwloc_hwloc1113_POST_CONFIG],[ >> >> # Add some stuff to CPPFLAGS so that the rest of the source >> >> # tree can be built >> >> file=$opal_hwloc_hwloc1113_basedir/hwloc >> >> - CPPFLAGS="$CPPFLAGS -I$OPAL_TOP_SRCDIR/$file/include" >> >> AS_IF([test "$OPAL_TOP_BUILDDIR" != "$OPAL_TOP_SRCDIR"], >> >> - [CPPFLAGS="$CPPFLAGS -I$OPAL_TOP_BUILDDIR/$file/include"]) >> >> + [CPPFLAGS="-I$OPAL_TOP_BUILDDIR/$file/include $CPPFLAGS"]) >> >> + CPPFLAGS="-I$OPAL_TOP_SRCDIR/$file/include $CPPFLAGS" >> >> unset file >> >> ]) >> >> OPAL_VAR_SCOPE_POP >> >> diff --git a/opal/mca/hwloc/hwloc1113/hwloc/config/hwloc.m4 >> b/opal/mca/hwloc/hwloc1113/hwloc/config/hwloc.m4 >> >> index 6807624..3f6a6fe 100644 >> >> --- a/opal/mca/hwloc/hwloc1113/hwloc/config/hwloc.m4 >> >> +++ b/opal/mca/hwloc/hwloc1113/hwloc/config/hwloc.m4 >> >> @@ -988,7 +988,7 @@ EOF]) >> >> if test "x$enable_cpuid" != "xno"; then >> >> AC_MSG_CHECKING([for x86 cpuid]) >> >> old_CPPFLAGS="$CPPFLAGS" >> >> - CPPFLAGS="$CPPFLAGS -I$HWLOC_top_srcdir/include" >> >> + CPPFLAGS="-I$HWLOC_top_srcdir/include $CPPFLAGS" >> >> # We need hwloc_uint64_t but we can't use >> hwloc/autogen/config.h before configure ends. >> >> # So pass #include/#define manually here for now. >> >> CPUID_CHECK_HEADERS= >> >> >> On Thu, Sep 22, 2016 at 10:13 PM, r...@open-mpi.org <r...@open-mpi.org> >> wrote: >>> Here is the compile line: >>> >>> libtool: compile: gcc -DHAVE_CONFIG_H -I. -I../../opal/include >>> -I../../ompi/include -I../../oshmem/include >>> -I../../opal/mca/hwloc/hwloc1113/hwloc/include/private/autogen >>> -I../../opal/mca/hwloc/hwloc1113/hwloc/include/hwloc/autogen >>> -I../../ompi/mpiext/cuda/c -I../.. -I../../orte/include >>> -I/Users/rhc/local/include >>> -I/Users/rhc/openmpi/foobar/opal/mca/hwloc/hwloc1113/hwloc/include >>> -I/Users/rhc/openmpi/foobar/opal/mca/event/libevent2022/libevent >>> -I/Users/rhc/openmpi/foobar/opal/mca/event/libevent2022/libevent/include >>> -L/Users/rhc/local/lib -g -Wall -Wundef -Wno-long-long -Wsign-compare >>> -Wmissing-prototypes -Wstrict-prototypes -Wcomment -pedantic >>> -Werror-implicit-function-declaration -finline-functions >>> -fno-strict-aliasing -mcx16 -MT proc.lo -MD -MP -MF .deps/proc.Tpo -c proc.c >>> -fno-common -DPIC -o .libs/proc.o >>> depbase=`echo qsort.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\ >>> /bin/sh ../../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H >>> -I. -I../../opal/include -I../../ompi/include -I../../oshmem/include >>> -I../../opal/mca/hwloc/hwloc1113/hwloc/include/private/autogen >>> -I../../opal/mca/hwloc/hwloc1113/hwloc/include/hwloc/autogen >>> -I../../ompi/mpiext/cuda/c -I../.. -I../../orte/include >>> -I/Users/rhc/local/include >>> -I/Users/rhc/openmpi/foobar/opal/mca/hwloc/hwloc1113/hwloc/include >>> -I/Users/rhc/openmpi/foobar/opal/mca/event/libevent2022/libevent >>> -I/Users/rhc/openmpi/foobar/opal/mca/event/libevent2022/libevent/include >>> -L/Users/rhc/local/lib -g -Wall -Wundef -Wno-long-long -Wsign-compare >>> -Wmissing-prototypes -Wstrict-prototypes -Wcomment -pedantic >>> -Werror-implicit-function-declaration -finline-functions >>> -fno-strict-aliasing -mcx16 -MT qsort.lo -MD -MP -MF $depbase.Tpo -c -o >>> qsort.lo qsort.c &&\ >>> >>> >>> It looks to me like my CPPFLAGS are stuck in the middle of the whole mess - >>> I wonder if that’s the problem? I see it sandwiched in-between flags for >>> different levels of hwloc redirection >>> >>> >>> On Sep 22, 2016, at 4:40 AM, Gilles Gouaillardet >>> <gilles.gouaillar...@gmail.com> wrote: >>> >>> Ralph, >>> >>> Is the root cause we append our stuff to CPPFLAGS, instead of prepend ? >>> >>> You can retrieve the compile command line with >>> make V=1 >>> >>> If my guess is correct, does someone know the rationale for append vs >>> prepend ? >>> >>> Cheers, >>> >>> Gilles >>> >>> r...@open-mpi.org wrote: >>> Hey folks >>> >>> I’m encountering an issue with the way we detect external HWLOC. If I have a >>> directory that includes an hwloc installation in my CPPFLAGS, then we fail >>> to build, even if I don’t specify anything with regard to hwloc on my >>> configure cmd line. The errors I get look like: >>> >>> In file included from sec_basic.c:11:0: >>> ../../../../opal/include/opal_config.h:1348:0: note: this is the location of >>> the previous definition >>> #define HWLOC_SYM_PREFIX opal_hwloc1113_ >>> ^ >>> In file included from >>> ../../../../opal/mca/hwloc/hwloc1113/hwloc/include/hwloc.h:53:0, >>> from ../../../../opal/mca/hwloc/hwloc1113/hwloc1113.h:24, >>> from ../../../../opal/mca/hwloc/hwloc.h:131, >>> from ../../../../opal/util/proc.h:21, >>> from ../../../../opal/mca/sec/sec.h:25, >>> from ../../../../opal/mca/sec/base/base.h:23, >>> from sec_basic.c:22: >>> /Users/rhc/local/include/hwloc/autogen/config.h:200:0: warning: >>> "HWLOC_SYM_PREFIX_CAPS" redefined >>> #define HWLOC_SYM_PREFIX_CAPS HWLOC_ >>> ^ >>> In file included from sec_basic.c:11:0: >>> ../../../../opal/include/opal_config.h:1351:0: note: this is the location of >>> the previous definition >>> #define HWLOC_SYM_PREFIX_CAPS OPAL_HWLOC1113_ >>> ^ >>> Undefined symbols for architecture x86_64: >>> "_hwloc_bitmap_alloc", referenced from: >>> import-atom in libopen-pal.dylib >>> "_hwloc_bitmap_and", referenced from: >>> import-atom in libopen-pal.dylib >>> "_hwloc_bitmap_copy", referenced from: >>> import-atom in libopen-pal.dylib >>> "_hwloc_bitmap_first", referenced from: >>> import-atom in libopen-pal.dylib >>> "_hwloc_bitmap_free", referenced from: >>> import-atom in libopen-pal.dylib >>> "_hwloc_bitmap_intersects", referenced from: >>> import-atom in libopen-pal.dylib >>> "_hwloc_bitmap_isincluded", referenced from: >>> ... >>> >>> Lots and lots of repetitions of the warning from many different sources, and >>> it’s clear that we somehow picked up the external header and went haywire. >>> This isn’t what we intended to have happen - we are supposed to ignore >>> external installations unless directed to use them. >>> >>> Is this the expected behavior? Any way we can clean this up? >>> Ralph >>> >>> _______________________________________________ >>> devel mailing list >>> devel@lists.open-mpi.org >>> https://rfd.newmexicoconsortium.org/mailman/listinfo/devel >>> >>> >>> >>> _______________________________________________ >>> devel mailing list >>> devel@lists.open-mpi.org >>> https://rfd.newmexicoconsortium.org/mailman/listinfo/devel > _______________________________________________ > devel mailing list > devel@lists.open-mpi.org > https://rfd.newmexicoconsortium.org/mailman/listinfo/devel
_______________________________________________ devel mailing list devel@lists.open-mpi.org https://rfd.newmexicoconsortium.org/mailman/listinfo/devel