PGF90-S-0155-Could not resolve generic procedure

What is causing the following error?

Using pgf90 the code below yields the undocumented error, listed in the subject line.

Here is the compiler output:
$ mpif90 -fastsse -Mnosave -tp piv -byteswapio -r8 -I ./ -c t.F90
PGF90-S-0155-Could not resolve generic procedure mpi_bcast (t.F90: 5)
0 inform, 0 warnings, 1 severes, 0 fatal for t

Here is the code:

subroutine t
 use mpi
  integer ierror
  character(1),dimension(1000):: buf
  call mpi_bcast(buf,100,mpi_character,0,mpi_comm_world,ierror)


Without seeing the file that contains ‘module mpi’, I can only make an educated guess here.
Fortran generic procedures are much stricter with respect to type checking than, say, C with type casting. There is nothing corresponding to a C ‘void’ type in Fortran, and no type casting. My guess is that mpi_bcast is defined in ‘module mpi’ as a generic, with a specific procedure for each datatype, integer, real, doubleprecision, complex, character; it might not be defined for each datatype and each array dimensionality.
You are passing a character array to mpi_bcast; this won’t match the TKR (type-kind-rank) matching rules for resolving generic-to-specific procedures in Fortran, if the specific procedure is defined with a character scalar dummy first argument. You might try passing the first element of the array:

call mpi_bcast(buf(1),100,mpi_character,0,mpi_comm_world,ierror)