-
Notifications
You must be signed in to change notification settings - Fork 68
Fix the PMIx external library config so that it checks both lib and lib64 locations #1118
Conversation
…ib64 locations Thanks to Orion Poplawski for pointing it out
|
Test PASSed. |
|
Fixes open-mpi/ompi#1609 |
|
@rhc54 i made open-mpi/ompi#1612, using |
|
#1612 does seem quite a bit simpler, and uses the macro as intended. @rhc54 Is there a reason not to use |
|
fwiw, pmix used to use more include dirs than necessary, and hence |
|
@ggouaillardet Did you read the comment explaining why we cannot use check_package?? # cannot use check_package because there are
# external dependencies to make the headers
# build, so just check for presence of header
# and library files - these checks will error
# out if the files aren't found, which is okay
# as we are only executing here if the user
# specified external pmix |
|
I probably read the comment, but could not find such dependencies |
|
Yes - IF and only if the external dependencies are all in standard locations! We tried this approach and had to reject it because it fails if things are in non-standard locations since you cannot know what PMIx linked itself against, and where those packages are located. |
|
@ggouaillardet I think @rhc54 is saying that |
|
It's ugly, but it works. 👍 |
|
OpenMPI configure detects libevent and hwloc before pmix, and hence CPPFLAGS and LDFLAGS are already set when external pmix is checked. |
|
@jsquyres and I just spent a bunch of time on the phone over this, and I think we concur that using OPAL_CHECK_PACKAGE should be okay for now. The reason we can do it is that check_package only does AC_TRY_LINK - it doesn't actually try to run anything, and thus the pmix external linkages don't matter so long as the header for those external links aren't directly referenced in the pmix headers. So I will close this one out and we can use yours. Thx! |
Thanks to Orion Poplawski for pointing it out
The patch for master will likely be different as we are dealing with multiple versions, so this is just for 2.x for now.