That was a fast response! Of course, it's not my code :). I had looked at the 
arguments and thought they were OK, but eventually noticed that the fourth 
argument is supposed to be an *array* of statuses. Apparently passing 
'MPI_STATUS_IGNORE' there did not cause a problem for the 'mpif.h' interface. I 
also tried MPI_STATUSES_IGNORE, but it still didn't like it, so I created an 
array [integer :: statuses(MPI_STATUS_SIZE)] that it was happy with. So your 
suggestion was correct -- thank you!

Shouldn't MPI_STATUSES_IGNORE work, however? Or is it something about using the 
module interface being pickier than the include file? (I suppose with the 
explicit "intent(out)" in the interface.) I don't know what flavor of MPI was 
used to test the code, but perhaps it was less picky, because it must have 
worked for the developer.

-- Ted


On Jul 27, 2015, at 2:19 PM, Jeff Squyres (jsquyres) <jsquy...@cisco.com> wrote:

>> On Jul 27, 2015, at 3:15 PM, Ted Mansell <ted.mans...@noaa.gov> wrote:
>> 
>> Hi,
>> 
>> I'm getting a compile-time error on MPI_WAITALL and MPI_WAITANY when using 
>> "use mpi":
>> 
>> parcel.f90(555): error #6285: There is no matching specific subroutine for 
>> this generic subroutine call.   [MPI_WAITANY]
>>         call mpi_waitany(numprocs-1,reqt(1),index,MPI_STATUS_IGNORE,ierr)
>> ---------------^
> 
> This error *usually* means an error in your source code.  It's the Fortran 
> compiler's way of saying "I couldn't find a version of the MPI_WAITANY 
> subroutine that has the type of arguments that you have provided."
> 
> Can you send a short reproducer program that shows this error?
> 
>> comm.f90(1516): error #6285: There is no matching specific subroutine for 
>> this generic subroutine call.   [MPI_WAITALL]
>>     call MPI_WAITALL(nr,reqs(3),MPI_STATUSES_IGNORE,ierr)
>> -----------^
>> comm.f90(1737): error #6285: There is no matching specific subroutine for 
>> this generic subroutine call.   [MPI_WAITANY]
>>     call MPI_WAITANY(nr,reqs(1),index,MPI_STATUS_IGNORE,ierr)
>> -----------^
>> 
>> but it compiles fine with the alternate
>> 
>>     include 'mpif.h'
>> 
>> This is OS X 10.9.5 with Intel ifort 13, Openmpi 1.8.4. I did try 
>> substituting a generic integer variable as the fourth argument, but it made 
>> no difference.
>> 
>> The compiler appears to be finding the module, and seems to find everything 
>> else needed for this particular code (e.g., MPI_IRECV, MPI_ISEND, contants, 
>> etc.) The mpi.mod is built in the "use-mpi-ignore-tkr" directory, if that 
>> matters.
>> 
>> Is there any known issue here? I have not tried with gfortran yet. This is 
>> on a stand-alone Mac Pro tower, so nothing too fancy. As far as I can tell, 
>> it is not using some other version of mpi.mod.
>> 
>> Thanks....
>> -- Ted
>> 
>> __________________________________________________________
>> | Ted Mansell <ted.mans...@noaa.gov>
>> | National Severe Storms Laboratory
>> |--------------------------------------------------------------
>> | "The contents of this message are mine personally and
>> | do not reflect any position of the U.S. Government or NOAA."
>> |--------------------------------------------------------------
>> 
>> _______________________________________________
>> users mailing list
>> us...@open-mpi.org
>> Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/users
>> Link to this post: 
>> http://www.open-mpi.org/community/lists/users/2015/07/27336.php
> 
> 
> -- 
> Jeff Squyres
> jsquy...@cisco.com
> For corporate legal information go to: 
> http://www.cisco.com/web/about/doing_business/legal/cri/
> 
> _______________________________________________
> users mailing list
> us...@open-mpi.org
> Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/users
> Link to this post: 
> http://www.open-mpi.org/community/lists/users/2015/07/27337.php

Reply via email to