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