Brian,

there used to be two hwloc.h : the one from the hwloc libraries, and
the one from the OMPI MCA framework.
as a side effect, we could not --with-hwloc=external, but we had to
--with-hwloc=/usr, which leads to add
-I/usr/include to the CPPFLAGS.
so you might end up having
CPPFLAGS=-I/usr/include -I/.../internal_libevent/include ...
which means that if libevent is also installed in /usr, you do not use
the internal libevent as you expected.

Jeff avoided this scenario by having the option to rename the
framework header file (e.g. opal/mca/hwloc/hwloc.h was moved to
hwloc-internal.h), so --with-hwloc=external works now, and there is no
more -I/usr/include in the CPPFLAGS

i am not sure we can run into this issue with libevent nor pmix since
their base component do not need to #include
the external pmix.h nor event.h

note this is not 100% bulletproof yet
if you have both hwloc and libevent in /opt/include and /opt/lib, you
have to --with-hwloc=/opt and you will likely
use the external libevent too


Cheers,

Gilles

On Thu, Apr 6, 2017 at 3:59 AM, r...@open-mpi.org <r...@open-mpi.org> wrote:
> It could be that a fairly recent change was made to fix that conflict. I 
> believe Jeff and Gilles modified the internal hwloc header name(s) to ensure 
> we got the right one of those. However, that didn’t get done for libevent 
> and/or pmix, so the conflict likely still resides there.
>
>> On Apr 5, 2017, at 11:56 AM, Barrett, Brian via devel
>
>> <devel@lists.open-mpi.org> wrote:
>>
>> Right; that’s what I built.  I had both libevent and hwloc installed in 
>> /usr.  I configured with —with-hwloc=external.  It built against the 
>> external hwloc and the internal libevent.  So there must be some slight 
>> variation on the theme I’m missing.
>>
>> Brian
>>
>>> On Apr 5, 2017, at 11:36 AM, r...@open-mpi.org wrote:
>>>
>>> Not quite the problem I mentioned. The problem arises if you want external 
>>> hwloc, but internal libevent - and both have external versions in (say) 
>>> /usr. If you point hwloc there, then the -I and -L flags will cause us to 
>>> pull in the /usr libevent versions instead of the internal ones - and havoc 
>>> ensues.
>>>
>>>
>>>> On Apr 5, 2017, at 11:30 AM, Barrett, Brian via devel 
>>>> <devel@lists.open-mpi.org> wrote:
>>>>
>>>> All -
>>>>
>>>> On the telecon yesterday, there was discussion of external hwloc causing 
>>>> problems if libevent was also installed in the same location.  Does anyone 
>>>> have details on exactly what the failure mode is?  I tried what I think is 
>>>> the issue (./configure —with-hwloc=external with libevent installed in 
>>>> /usr/ as well) and everything built / works fine.  I checked the library 
>>>> paths and include and everything looks normal, so I must have the wrong 
>>>> scenario.  Hints?
>>>>
>>>> Thanks,
>>>>
>>>> Brian
>>>> _______________________________________________
>>>> 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
_______________________________________________
devel mailing list
devel@lists.open-mpi.org
https://rfd.newmexicoconsortium.org/mailman/listinfo/devel

Reply via email to