Open MPI logo

Open MPI User's Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Open MPI User's mailing list

From: Michael (mklus_at_[hidden])
Date: 2007-09-18 08:44:44


On Sep 17, 2007, at 7:55 PM, Jeff Squyres wrote:

> Are you using the MPI F90 bindings perchance?
>
> If so, the issue could be that the prototype for MPI_FILE_SET_VIEW is:
>
> interface MPI_File_set_view
>
> subroutine MPI_File_set_view(fh, disp, etype, filetype, datarep, &
> info, ierr)
> include 'mpif-config.h'
> integer, intent(in) :: fh
> integer(kind=MPI_OFFSET_KIND), intent(in) :: disp
> integer, intent(in) :: etype
> integer, intent(in) :: filetype
> character(len=*), intent(in) :: datarep
> integer, intent(in) :: info
> integer, intent(out) :: ierr
> end subroutine MPI_File_set_view
>
> end interface
>
> and you might need a variable to be explicitly typed "integer
> (kind=MPI_OFFSET_KIND)" -...
>
> On Sep 17, 2007, at 12:40 PM, Andrus, Mr. Brian (Contractor) wrote:
>
>> I have run into something that I don't quite understand. I have
>> some code that is meant to open a file for reading, but at compile
>> time I get "Could not resolve generic procedure mpi_file_set_view"

Jeff is precisely correct. In Fortran 90 if you get a message of
this type from the compiler it means that the variable types don't
line up between subroutine/function and the calling code. The only
promotion in Fortran 90 is inline, i.e. x = i * y. Fortran 90 is a
strongly typed language if you use interfaces. Unfortunately I have
yet to see a Fortran 90 compiler that gives a obvious error message
pointing to the specific error for these interfacing errors.

Michael