-
Notifications
You must be signed in to change notification settings - Fork 934
v5.0.x updates #11440
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
Merged
Merged
v5.0.x updates #11440
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
Refactor the OPAL_VAR_SCOPE_PUSH and OPAL_VAR_SCOPE_POP macros to be wrappers around shell functions to reduce code duplication in the output configure. This patch reduces the size of the output configrue by approximately 30% on MacOS. Move the scope stack from shell to m4, as all the inputs are currently string literals, so we can have the same functionality with less work in the resulting configure script. With the scope stack in m4, also perform variable name conflicts during autogen time. This allows for us to detect more conflicts, as there were times that the parent macro pushed a variable name in the scope but didn't initialize it before calling a child macro with a conflict, which was a bit of a ticking timebomb. Note that we do still search the current shell environment during OPAL_VAR_SCOPE_PUSH, as macros may use a variable without pushing it into a scope. FInally, be more aggressive about cleaning up the environment after ourselves. Signed-off-by: Brian Barrett <[email protected]> (cherry picked from commit a8c829c)
c383e57 to
1026d24
Compare
This comment was marked as outdated.
This comment was marked as outdated.
configure scripts need to be runnable with a POSIX-compliant /bin/sh. On many (but not all!) systems, /bin/sh is provided by Bash, so errors like this aren't spotted. Notably Debian defaults to /bin/sh provided by dash which doesn't tolerate such bashisms as '=='. This retains compatibility with bash. Signed-off-by: Sam James <[email protected]> (cherry picked from commit 08a558d)
Drop support for both adding components at configure time (ie, after autogen has run) and components that have a stand-alone configure script. The first change greatly simplifies reasoning about variable names in the MCA configure code, since the component name will never be a shell variable with this change. Note that there was already one place where we would have mis-handled such a component, in setting LDFLAGS for the wrapper compilers. The second is dead code after the first, as no component currently built in the OMPI tree uses an external configure script directly (note that config macros that call a third-party configure script, like the io/romio component, are still fine). Organizations can still build tarballs with added components after this change, they just must run autogen to add the components to the list of available component. And developers are also free to add run-time components that are built outside of the OMPI build (generally by building OMPI with the --with-devel-headers configure option). Signed-off-by: Brian Barrett <[email protected]> (cherry picked from commit 6d06552)
The hook that would fail "make dist" if packages weren't configured to be included in the tarball ran at the end of "make dist". This was fine when the packages missing didn't break running make dist. However, Sphinx not being available means that "make dist" won't work because of missing files, but the error was really not intuitive. Move the dist-hook for missing packages from the top level to the config directory Makefile, which has the practical outcome of running the missing package check right after generation of the AUTHORS file, well before any likely missing package make breakage, returning us to clear error messages. Signed-off-by: Brian Barrett <[email protected]> (cherry picked from commit 0224e23)
Fix to allow Open MPI to build on RHEL7 systems with default distro libfabric. Related to open-mpi#10954 Signed-off-by: Howard Pritchard <[email protected]> (cherry picked from commit 4f404a8)
1026d24 to
8970843
Compare
gpaulsen
approved these changes
Feb 24, 2023
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
No description provided.