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

Reply via email to