-
Notifications
You must be signed in to change notification settings - Fork 885
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix static builds on main #10165
Fix static builds on main #10165
Conversation
106bcf3
to
0bd7617
Compare
Moving to draft for a bit; I realized that this PR needs to have the libnl checks integrated, because pmix links against libnl3. |
667a8c5
to
3c6f88b
Compare
Libnl changes complete; this should be ready for review. |
bot:ibm:retest |
6ccb2b1
to
40b7bef
Compare
Updated branch to fix conflicts created by merging #10166. |
40b7bef
to
d213e3d
Compare
Updated the PMIx/PRRTE patch to include a slight change to opal_check_ofi, which was the only place that we were checking for PMIx structures in configure tests and had that test start failing (not OFI the component, just that test, which is why I missed it). |
87ea489
to
dd8fa8f
Compare
bot:aws:retest |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Overall looks good. Some typos found
1e7907c
to
fc1c73c
Compare
PMIx Changes: fbc2513 build: Delay adding DELAYED_LIBS even more a83d564 Minor correction to client-get logic 4aa95ff In the case where the server is using a different dstore component, check that as well. 8a41b35 Remove the "<option> help" support 76850f6 Fix signed comparison warning 65df23e Ensure we check peer's gds for data b13e7d4 Silence Coverity warning 2a34472 build: Clean up delayed flags a1a5935 build: Use MCA env management for common/sse e15de4b build: Wrapper/pkg-config improvements 680326c build: check_package static improvements 330d2d4 Merge pull request open-mpi#2529 from bwbarrett/bugfix/summary_stream a819eeb build: Fix output stream bug in summary PRRTE Changes: c49eafc3ac Protect against proxy confusion 86bddb2abf Add some missing help verbiage 4e9029ccea slurm: fix breakage owing to rlm refactor 514553dedf Correctly determine when to daemonize backend prted 0db143da11 Some really minor cleanups c784c22947 build: check_package static improvements e0810859d7 Add missing CLI option and parsing a9e2303807 Merge pull request open-mpi#1292 from bwbarrett/bugfix/summary_stream 94b57788ca Merge pull request open-mpi#1291 from rhc54/topic/py fabb57117b build: Fix output stream bug in summary 17e6d86cbf Fix a problem with the "canonicalize_path" function Signed-off-by: Brian Barrett <bbarrett@amazon.com>
Introduce OAC_CHECK_PACKAGE (naming so that it can be used in other projects), which combines many of the pieces being done in OPAL_CHECK_PACKAGE, OPAL_CHECK_WITHDIR, and in all the individual package checks. Additionally, OAC_CHECK_PACKAGE can use pkg-config and OPAL-style wrapper compilers to retrieve package information, making finding the right dependent libraries for static builds significantly sanier. Signed-off-by: Brian Barrett <bbarrett@amazon.com>
Expose the pkg-config option retrieval code in OAC_CHECK_PACKAGE as a stand-alone macro. Unlike PMIx and PRRTE, Open MPI does have a couple of places (including internal hwloc builds) where parsing pkg-config module files is useful, so don't duplicate code. Signed-off-by: Brian Barrett <bbarrett@amazon.com>
Fix a typo that broke package verification callbacks for oac_check_package. With this change, callbacks now fire during the final verification phase. Signed-off-by: Brian Barrett <bbarrett@amazon.com>
Update the libnl version compatibility checks to work with OAC_CHECK_PACKAGE. There's some duplicate code to support both OAC_CHECK_PACKAGE and OPAL_CHECK_PACKAGE that can be removed when OPAL_CHECK_PACKAGE is retired. Signed-off-by: Brian Barrett <bbarrett@amazon.com>
Improve static application build handling in the wrapper compilers by tracking both LIBS (the libraries libmpi/libopen-pal depend on) and LIBS_STATIC (the libraries those libraries depend on), and improve the behavior of static/dynamic linking with the wrapper compilers, to make them similar to the pkg-config behaviors. See the overly verbose comment in opal_setup_wrappers.m4 for the intended behavior. Finally, start tracking pkg-config module dependencies, when possible. Signed-off-by: Brian Barrett <bbarrett@amazon.com>
Update the libevent, hwloc, pmix, and prrte configure checks to use OAC_CHECK_PACKAGE for external builds and to better pull in the static library dependencies from the hwloc and pmix. This solves the missing libz problem for building applications against a static OMPI/PMIx build. Signed-off-by: Brian Barrett <bbarrett@amazon.com>
With the change in Libevent, HWLOC, and PMIx to use OAC_CHECK_PACKAGE, there are no users of OPAL_GET_{LDFLAGS,LIBS}_FROM_PC, so we can remove this file. Signed-off-by: Brian Barrett <bbarrett@amazon.com>
Cache the results of the checks to verify which versions of libnl packages link against. Signed-off-by: Brian Barrett <bbarrett@amazon.com>
fc1c73c
to
6ebef9a
Compare
bot:aws:retest |
3 similar comments
bot:aws:retest |
bot:aws:retest |
bot:aws:retest |
A series of changes with the goal of allowing static builds to work on main, even when pkg-config is not already installed. This patch series also improves the general wrapper compiler behaviors and allows us to start tracking pkg-config module dependencies, as well as simplifying package checks (although moving from OPAL_CHECK_PACKAGE to OAC_CHECK_PACKAGE is a work in progress not completed in this patch series).