Hi, The following trivial example doesn't compile because of 2 missing types in the MPI_SIZEOF subroutines (in mpi_sizeof.f90).
[derbeyn@btp0 test]$ cat mpi_sizeof.f90 program main ! use mpi include 'mpif.h' integer ierr, sz, mpisize real r1 integer i1 character ch1 logical l1 call MPI_INIT(ierr) call MPI_SIZEOF(r1, sz, ierr) call MPI_SIZEOF(i1, sz, ierr) call MPI_SIZEOF(l1, sz, ierr) call MPI_SIZEOF(ch1, sz, ierr) call MPI_FINALIZE(ierr) end [derbeyn@btp0 test]$ mpif90 -o mpi_sizeof mpi_sizeof.f90 mpi_sizeof.f90(14): error #6285: There is no matching specific subroutine for this generic subroutine call. [MPI_SIZEOF] call MPI_SIZEOF(ch1, sz, ierr) -------------^ mpi_sizeof.f90(15): error #6285: There is no matching specific subroutine for this generic subroutine call. [MPI_SIZEOF] call MPI_SIZEOF(l1, sz, ierr) -------------^ compilation aborted for mpi_sizeof.f90 (code 1) This problem happens both on master and v2.x. The following patch seems to solve the issue: diff --git a/ompi/mpi/fortran/base/gen-mpi-sizeof.pl b/ompi/mpi/fortran/base/gen-mpi-sizeof.pl index 5ea3dca3..a2a99924 100755 --- a/ompi/mpi/fortran/base/gen-mpi-sizeof.pl +++ b/ompi/mpi/fortran/base/gen-mpi-sizeof.pl @@ -145,6 +145,9 @@ sub generate { # Main ############################################################################# +queue_sub("character", "char", "character_kinds"); +queue_sub("logical", "logical", "logical_kinds"); + for my $size (qw/8 16 32 64/) { queue_sub("integer(int${size})", "int${size}", "int${size}"); } Regards, Nadia -- Nadia Derbey - B1-387 HPC R&D - MPI Tel: +33 4 76 29 77 62 nadia.der...@atos.net 1 Rue de Provence BP 208 38130 Echirolles Cedex, France www.atos.com