Skip to content

Conversation

@awlauria
Copy link
Contributor

No description provided.

@awlauria awlauria changed the title V5.0.x updated2 v5.0.x updates Feb 23, 2023
@github-actions

This comment was marked as outdated.

@github-actions

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)
@github-actions

This comment was marked as outdated.

thesamesam and others added 4 commits February 23, 2023 16:12
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)
@awlauria awlauria merged commit 64715a7 into open-mpi:v5.0.x Feb 24, 2023
@awlauria awlauria deleted the v5.0.x_updated2 branch February 24, 2023 16:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants