I tried building 1.7.1 on my Ubuntu system. The default gfortran is
v4.6.3, so configure won't enable the mpi_f08 module build. I also
tried a three week old snapshot of the gfortran 4.9 trunk. This has
Tobias's new TYPE(*) in it, but not his latest !GCC$ attributes
NO_ARG_CHECK stuff. However configure still won't enable the mpi_f08
Is there a trick to getting a recent gfortran to compile the mpi_f08 module?
I went into the openmpi-1.7.1/ompi/mpi/fortran/use-mpi-tkr/scripts
directory and modified the files to use ierror instead of ierr. (One
well-crafted line of shell script.) Did the same with a couple of .h.in
files in the use-mpi-tkr and use-mpi-ignore-tkr directories, and
use-mpi-tkr/attr_fn-f90-interfaces.h.in. (One editor command each.)
With the above, the mpi module is in much better shape. However there
are still some scattered incorrect non-ierror argument names. A few
examples from the code I am working with:
MPI_Type_create_struct: The 2nd argument should be
"array_of_blocklengths", instead of "array_of_block_lengths"
MPI_Type_commit: "datatype" instead of "type"
MPI_Type_free: Again, "datatype" instead of "type"
There are more...
On 04/25/2013 06:50 AM, W Spector wrote:
> Hi Jeff,
> I just downloaded 1.7.1. The new files in the use-mpi-f08 look great!
> However the use-mpi-tkr and use-mpi-ignore-tkr directories don't fare so
> well. Literally all the interfaces are still 'ierr'.
> While I realize that both the F90 mpi module and interface checking,
> were optional prior to MPI 3.0, the final argument has been called
> 'ierror' since MPI 1! This really should be fixed.
> On 04/24/2013 06:08 PM, Jeff Squyres (jsquyres) wrote:
>> Can you try v1.7.1?
>> We did a major Fortran revamp in the 1.7.x series to bring it up to
>> speed with MPI-3 Fortran stuff (at least mostly). I mention MPI-3
>> because the name-based parameter passing stuff wasn't guaranteed until
>> MPI-3. I think 1.7.x should have gotten all the name-based parameter
>> passing stuff correct (please let me know if you find any bugs!).
>> Just to be clear: it is unlikely that we'll be updating the Fortran
>> support in the 1.6.x series.
>> On Apr 24, 2013, at 8:52 PM, W Spector <w6ws_at_[hidden]>
>>> The MPI Standard specifies to use 'ierror' for the final argument in
>>> most Fortran MPI calls. However the Openmpi f90 module defines it as
>>> being 'ierr'. This messes up those who want to use keyword=value
>>> syntax in their calls.
>>> I just checked the latest 1.6.4 release and it is still broken.
>>> Is this something that can be fixed?
>>> users mailing list
> users mailing list