Skip to content

Conversation

@jsquyres
Copy link
Member

Two things:

These will need to be cherry-picked to v5.0.x.

@jsquyres jsquyres force-pushed the pr/compiler-updates-and-misc-updates branch from e913ef4 to 65fcf57 Compare September 21, 2021 16:45
jsquyres added a commit to jsquyres/pmix-master that referenced this pull request Sep 21, 2021
This is a port from the corresponding
open-mpi/ompi#9398.

OpenPMIx does not compile with GCC 4.4.7 (the default GCC that ships
in RHEL 6).  Open PMIx *does* compile with GCC 4.8.5 (the default GCC
that ships with RHEL 7).  The Open MPI community regularly tests Open
MPI (including PMIx) with GCC 4.8.1, so we know that works, too.

Hence, abort configure if GCC is used and GCC is < v4.8.1.

Signed-off-by: Jeff Squyres <[email protected]>
jsquyres added a commit to jsquyres/pmix-master that referenced this pull request Sep 21, 2021
This is a port from the corresponding
open-mpi/ompi#9398.

OpenPMIx does not compile with GCC 4.4.7 (the default GCC that ships
in RHEL 6).  Open PMIx *does* compile with GCC 4.8.5 (the default GCC
that ships with RHEL 7).  The Open MPI community regularly tests Open
MPI (including PMIx) with GCC 4.8.1, so we know that works, too.

Hence, abort configure if GCC is used and GCC is < v4.8.1.

Signed-off-by: Jeff Squyres <[email protected]>
jsquyres added a commit to jsquyres/prrte that referenced this pull request Sep 21, 2021
This is a port from the corresponding
open-mpi/ompi#9398.

PRTE does not compile with GCC 4.4.7 (the default GCC that ships in
RHEL 6).  PRTE *does* compile with GCC 4.8.5 (the default GCC
that ships with RHEL 7).  The Open MPI community regularly tests Open
MPI (including PRTE) with GCC 4.8.1, so we know that works, too.

Hence, abort configure if GCC is used and GCC is < v4.8.1.

Signed-off-by: Jeff Squyres <[email protected]>
@jsquyres
Copy link
Member Author

See the corresponding PMIx and PRTE PRs, too openpmix/openpmix#2294 and openpmix/prrte#1091.

Also see the announcement on the Open MPI devel https://www.mail-archive.com/[email protected]/msg21314.html and packagers lists https://www.mail-archive.com/[email protected]/msg00063.html.

@jsquyres
Copy link
Member Author

@bwbarrett Well that's fun -- clang10 failed:

checking for compiler familyid... 1
checking for compiler familyname... GNU
checking for compiler version... 262657
checking for compiler version_str... 4.2.1
configure: WARNING: Open MPI no longer supports versions of the GNU compiler suite
configure: WARNING: less than v4.8.1.
configure: WARNING: Please upgrade your GNU compiler suite, or use
configure: WARNING: a different compiler to build Open MPI.
configure: error: Cannot continue
./configure --prefix="/home/ubuntu/workspace/open-mpi.build.compilers/Compiler/clang10/install" CC=clang-10 CXX=clang++-10 --disable-mpi-fortran failed, ABORTING !

Any idea why clang10 reported GNU 4.2.1?

@bwbarrett
Copy link
Member

It looks like opal_portable_platform.h was never updated to include clang. Looking at the code more, I don't think that we should be using the results of any of the OPAL_CHECK_COMPILER_VERSION_ID results unless we're going to start updating opal_portable_platform.h on a more regular basis.

@jsquyres
Copy link
Member Author

jsquyres commented Sep 22, 2021

Ok. Should I attempt to parse the gcc version number, then? That kinda sucks, but it should be workable via regexp, perhaps something like (perl-like notation): m/gcc \(.+\) ([\d\.]+)/. It'll get an A.B.C type of version number which will be somewhat annoying to compare -- that was the nice thing about using the ID (it's a single integer).

@bwbarrett
Copy link
Member

Can we instead either (1) just document the limitation or (2) test for whatever feature is causing the PMIX compile to fail? Looking at this more, trying to sanely get the GCC version without picking up leftovers from Intel or Clang is going to be really difficult.

@jsquyres jsquyres force-pushed the pr/compiler-updates-and-misc-updates branch from 65fcf57 to b992423 Compare October 5, 2021 19:08
We haven't supported AIX in years.

Signed-off-by: Jeff Squyres <[email protected]>
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 <[email protected]>
@jsquyres jsquyres force-pushed the pr/compiler-updates-and-misc-updates branch from b992423 to 12cef1f Compare October 6, 2021 01:14
@jsquyres
Copy link
Member Author

jsquyres commented Oct 6, 2021

Rebased on top of the merged update to the portable platform file (#9470).

@jsquyres
Copy link
Member Author

jsquyres commented Oct 6, 2021

bot:ompi:retest

@bwbarrett bwbarrett merged commit defc260 into open-mpi:master Oct 6, 2021
@ibm-ompi
Copy link

ibm-ompi commented Oct 6, 2021

The IBM CI (GNU/Scale) build failed! Please review the log, linked below.

Gist: https://gist.github.com/ibm-ompi/88b480fb98dfd2bdac939f023e1f8fe6

@jsquyres jsquyres deleted the pr/compiler-updates-and-misc-updates branch October 6, 2021 10:51
jsquyres added a commit to jsquyres/prrte that referenced this pull request Oct 6, 2021
This is a port from the corresponding
open-mpi/ompi#9398.

PRTE does not compile with GCC 4.4.7 (the default GCC that ships in
RHEL 6).  PRTE *does* compile with GCC 4.8.5 (the default GCC
that ships with RHEL 7).  The Open MPI community regularly tests Open
MPI (including PRTE) with GCC 4.8.1, so we know that works, too.

Hence, abort configure if GCC is used and GCC is < v4.8.1.

Signed-off-by: Jeff Squyres <[email protected]>
rhc54 pushed a commit to rhc54/prrte that referenced this pull request Oct 6, 2021
This is a port from the corresponding
open-mpi/ompi#9398.

PRTE does not compile with GCC 4.4.7 (the default GCC that ships in
RHEL 6).  PRTE *does* compile with GCC 4.8.5 (the default GCC
that ships with RHEL 7).  The Open MPI community regularly tests Open
MPI (including PRTE) with GCC 4.8.1, so we know that works, too.

Hence, abort configure if GCC is used and GCC is < v4.8.1.

Signed-off-by: Jeff Squyres <[email protected]>
(cherry picked from commit 7975b6b)
rhc54 pushed a commit to rhc54/openpmix that referenced this pull request Oct 6, 2021
This is a port from the corresponding
open-mpi/ompi#9398.

OpenPMIx does not compile with GCC 4.4.7 (the default GCC that ships
in RHEL 6).  Open PMIx *does* compile with GCC 4.8.5 (the default GCC
that ships with RHEL 7).  The Open MPI community regularly tests Open
MPI (including PMIx) with GCC 4.8.1, so we know that works, too.

Hence, abort configure if GCC is used and GCC is < v4.8.1.

Signed-off-by: Jeff Squyres <[email protected]>
(cherry picked from commit 33f35dd)
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.

3 participants