-
Notifications
You must be signed in to change notification settings - Fork 901
Fortran fixes #7265
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
Fortran fixes #7265
Conversation
f66a6f1
to
2b7e91d
Compare
The IBM CI (GNU Compiler) build failed! Please review the log, linked below. Gist: https://gist.github.com/be4f601d51a0a5d426598783172d0a01 |
That looks to be a real issue with the GNU compiler and this pr:
After fixing the config issue, other PR's are now passing the ibm build. |
2b7e91d
to
d9c8b9c
Compare
bot:lanl:retest |
@jeffhammond @marmistrz Does this PR fix the issue for you? |
Unfortunately, no.
|
@jeffhammond Well phooey. Can you send the output of that failure, but run via |
|
a986fb3
to
259debc
Compare
@jeffhammond @marmistrz Looks like I missed some BE AWARE: I rebased on top of the current Open MPI git master HEAD, which now uses git submodules. If you clone/pull/whatever this branch, you may need to:
(and fully |
|
Do you have stale build artifacts?
|
That is unlikely. I ran |
@jsquyres did you omit to push (similar) changes to (at least) |
@jsquyres I made the changes and pushed them into this PR @jeffhammond could you please give this updated PR an other try? |
bot:ompi:retest |
@jeffhammond Ping. |
It now compiles without error. Hooray!
|
These -D's are for C compilation, not Fortran compilation. Remove this useless statement. Signed-off-by: Jeff Squyres <[email protected]>
Automake's Fortran compilation rules inexplicably use CPPFLAGS and AM_CPPFLAGS. Unfortunately, this can cause problems in some cases (e.g., picking up already-installed mpi.mod in a system-default include search path). So in relevant module-using Fortran compilation Makefile.am's, zero out CPPFLAGS and AM_CPPFLAGS. This has a side-effect of requiring that we compile the one .c file in the F08 library in a new, separate subdirectory (with its own Makefile.am that does _not_ have CPPFLAGS/AM_CPPFLAGS zeroed out). Signed-off-by: Jeff Squyres <[email protected]> Signed-off-by: Gilles Gouaillardet <[email protected]>
626d4f1
to
ab398f4
Compare
Squashed @ggouaillardet's commit into the 1st commit. When this finishes CI, I'll merge. |
* Some C and Fortran compilers use different preprocessors. If one preprocessor accepts `-iquote` and the other does not then a compiler error will occur when Open MPI tries to use it. - Nvidia/PGI v22.1-0 is one such. The C compiler supports `-iquote` while the Fortran compiler does not. * Similar to PR open-mpi#7265 we need to clear the `CPPFLAGS` and `AM_CPPFLAGS` Signed-off-by: Joshua Hursey <[email protected]>
* Some C and Fortran compilers use different preprocessors. If one preprocessor accepts `-iquote` and the other does not then a compiler error will occur when Open MPI tries to use it. - Nvidia/PGI v22.1-0 is one such. The C compiler supports `-iquote` while the Fortran compiler does not. * Similar to PR open-mpi#7265 we need to clear the `CPPFLAGS` and `AM_CPPFLAGS` Signed-off-by: Joshua Hursey <[email protected]>
* Some C and Fortran compilers use different preprocessors. If one preprocessor accepts `-iquote` and the other does not then a compiler error will occur when Open MPI tries to use it. - Nvidia/PGI v22.1-0 is one such. The C compiler supports `-iquote` while the Fortran compiler does not. * Similar to PR open-mpi#7265 we need to clear the `CPPFLAGS` and `AM_CPPFLAGS` Signed-off-by: Joshua Hursey <[email protected]> (cherry picked from commit bbe5788)
This is an attempt at fixing #7253 with the originally-proposed mechanism (i.e., zeroing out CPPFLAGS / AM_CPPFLAGS when relevant). I think the original patch I posted was incomplete -- this one is hypothetically complete.
I went this direction because I don't think @jeffhammond's proposed patches on #7253 were correct -- we shouldn't be using CPPFLAGS / AM_CPPFLAGS for Fortran compilation. Indeed, the Makefiles in question already set AM_FCFLAGS. So if those are wrong, let's fix those values. The problem appears to be the incorrect-for-Fortran values in CPPFLAGS / AM_CPPFLAGS, so let's see if zeroing them out in all relevant places (and as a side-effect, moving the one
.c
file compilation inuse-mpi-f08
into its own subdirectory) fixes the issue.Fixes #7253
See the individual commit messages for details.
FYI @jeffhammond @marmistrz