v5.0.x: fortran: fix common symbol sizes and alignments #13240
+69
−16
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.
with mpif-h and usempi, MPI constants (e.g. MPI_COMM_WORLD) are all parts of a unique common block. Fortran compilers generally have alignment requirements for these (16 with gfortran, 32 with ifort or 64 with nvfortran to name a few), so pass these requirements to the actual symbols that are defined in the C code to make pick linkers (e.g. ubuntu) happy pandas. Such linkers also complain about the size of MPI_STATUS, so define these are arrays intead of pointer.
Fixes #13043
Thanks MJ Rutter for the report
back-ported from ec2b164
:bot:notacherrypick