From a086a5c600b6614c2f679ce7a87d8587f0f2734d Mon Sep 17 00:00:00 2001 From: Jeff Squyres Date: Tue, 21 Sep 2021 08:27:42 -0700 Subject: [PATCH 1/2] opal_setup_cc.m4: remove dead code We haven't supported AIX in years. Signed-off-by: Jeff Squyres --- config/opal_setup_cc.m4 | 4 ---- 1 file changed, 4 deletions(-) diff --git a/config/opal_setup_cc.m4 b/config/opal_setup_cc.m4 index ba3d99f819e..6201f8f5281 100644 --- a/config/opal_setup_cc.m4 +++ b/config/opal_setup_cc.m4 @@ -416,10 +416,6 @@ AC_DEFUN([OPAL_SETUP_CC],[ AC_DEFUN([_OPAL_START_SETUP_CC],[ opal_show_subtitle "C compiler and preprocessor" - - # $%@#!@#% AIX!! This has to be called before anything invokes the C - # compiler. - dnl AC_AIX ]) From 12cef1fc643960422ca38d31a0e326c24326631d Mon Sep 17 00:00:00 2001 From: Jeff Squyres Date: Tue, 21 Sep 2021 08:28:01 -0700 Subject: [PATCH 2/2] configury: explicitly disable gcc < v4.8.1 NOTE: The default GCC that ships in RHEL is v4.8.5. Cisco regularly tests GCC v4.8.1, and it works fine. We know that PRTE and PMIX do not compile with RHEL 6's default GCC (v4.4.7). We know that v4.8.x works and 4.4.7 doesn't, so set the lower bound support for 4.8.1. Specifically: abort configure if the compiler is GCC and the version is < v4.8.1. Signed-off-by: Jeff Squyres --- NEWS | 3 +++ README.md | 2 +- configure.ac | 16 ++++++++++++++++ 3 files changed, 20 insertions(+), 1 deletion(-) diff --git a/NEWS b/NEWS index 484342c5929..b8825462f8c 100644 --- a/NEWS +++ b/NEWS @@ -77,6 +77,7 @@ Master (not on release branches yet) v5.0.0rc1 -- September, 2021 -------------------- + - ORTE, the underlying OMPI launcher has been removed, and replaced with PRTE. - Reworked how Open MPI integrates with 3rd party packages. @@ -94,6 +95,8 @@ v5.0.0rc1 -- September, 2021 - Various ROMIO v3.4.1 updates. - Use Pandoc to generate manpages - 32 bit atomics are now only supported via C11 compliant compilers. +- Explicitly disable support for GNU gcc < v4.8.1 (note: the default + gcc compiler that is included in RHEL 7 is v4.8.5). - Do not build Open SHMEM layer when there are no SPMLs available. Currently, this means the Open SHMEM layer will only build if the UCX library is found. diff --git a/README.md b/README.md index bf3e09a47b0..bec4cf70c22 100644 --- a/README.md +++ b/README.md @@ -201,7 +201,7 @@ base as of this writing (April 2020): * On platforms other than x86-64, AArch64 (64-bit ARM), and PPC64, Open MPI requires a compiler that either supports C11 atomics or - the GCC `__atomic` atomics (e.g., GCC >= v4.7.2). + the GCC `__atomic` atomics (e.g., GCC >= v4.8.1). * 32-bit platforms are only supported with a recent compiler that supports C11 atomics. This includes gcc 4.9.x+ (gcc 6.x or newer diff --git a/configure.ac b/configure.ac index 86d0df1e29a..2352302ad90 100644 --- a/configure.ac +++ b/configure.ac @@ -600,6 +600,22 @@ opal_show_subtitle "Compiler characteristics" OPAL_CHECK_ATTRIBUTES OPAL_CHECK_COMPILER_VERSION_ID +# Open MPI only supports GCC >=v4.8.1. Notes: +# +# 1. The default compiler that comes with RHEL 7 is v4.8.5 (version ID +# 264197). +# 2. We regularly test with GCC v4.8.1 (version ID 264193). +# 3. GCC 4.8.0 probably also works; we just haven't tested it. +# +# Since we regularly test with 4.8.1, that's what we check for. +AS_IF([test "$opal_cv_compiler_FAMILYNAME" = "GNU" && \ + test "$opal_cv_compiler_VERSION" -lt 264193], + [AC_MSG_WARN([Open MPI no longer supports versions of the GNU compiler suite]) + AC_MSG_WARN([less than v4.8.1.]) + AC_MSG_WARN([Please upgrade your GNU compiler suite, or use]) + AC_MSG_WARN([a different compiler to build Open MPI.]) + AC_MSG_ERROR([Cannot continue]) + ]) ################################## # Java MPI Binding request