PGF90-S-0155-Could not resolve generic procedure

I’m a bit stumped at the moment trying to figure out this error. When I try to compile a rather large collection of packages (that compiles elsewhere with other compilers, including older versions of PGI), the build dies with three “Could not resolve generic procedure” errors:

mpif90 -c -O -mcmodel=small  -I/home/mathomp4/GMAO-Baselibs-3_1_5/src/esmf/build_config/Linux.pgi.default -I/home/mathomp4/GMAO-Baselibs-3_1_5/src/esmf/src/Infrastructure -I/home/mathomp4/GMAO-Baselibs-3_1_5/src/esmf/src/Superstructure -I/home/mathomp4/GMAO-Baselibs-3_1_5/src/esmf/mod/modO/Linux.pgi.64.mpich.default -I/home/mathomp4/GMAO-Baselibs-3_1_5/src/esmf/src/include   -DSx86_64_small=1 -DESMF_OS_Linux=1 /home/mathomp4/GMAO-Baselibs-3_1_5/src/esmf/src/Infrastructure/Array/interface/ESMF_ArrayGet.F90
PGF90-S-0155-Could not resolve generic procedure esmf_distgridget (/home/mathomp4/GMAO-Baselibs-3_1_5/src/esmf/src/Infrastructure/Array/interface/ESMF_ArrayGet.F90: 539)
  0 inform,   0 warnings,   1 severes, 0 fatal for esmf_arraygetdefault
PGF90-S-0155-Could not resolve generic procedure esmf_distgridget (/home/mathomp4/GMAO-Baselibs-3_1_5/src/esmf/src/Infrastructure/Array/interface/ESMF_ArrayGet.F90: 627)
PGF90-S-0155-Could not resolve generic procedure esmf_distgridget (/home/mathomp4/GMAO-Baselibs-3_1_5/src/esmf/src/Infrastructure/Array/interface/ESMF_ArrayGet.F90: 653)
  0 inform,   0 warnings,   2 severes, 0 fatal for esmf_arraygetplocaldepdim
make[10]: *** [/home/mathomp4/GMAO-Baselibs-3_1_5/src/esmf/lib/libO/Linux.pgi.64.mpich.default/libesmf.a(ESMF_ArrayGet.o)] Error 2

Usually when I see these, it means that the generic procedure’s interface isn’t being met correctly (i.e., passing a REAL when an INTEGER is called for or passing a CHARACTER array rather than just a single CHARACTER). But, I have gone through the source code and every single one of the variables being passed to the procedure is the correct type, correct rank, correct everything. And, as I’ve stated, this package does compile elsewhere. So, I suppose my question is, is there a compiler switch I can/should use that fixes this? Or is this a compiler bug?

FYI, I am using 9.0-1, 64-bit on RHEL 5.3. Let me know if any other information would be helpful.

Matt

Hi Matt,

This looks very similar to a bug that was reported in 9.0-1 and was fixed in 9.0-2. Do you mind installing 9.0-2 and see if it resolves your issue as well? If not, please send a report to PGI customer support (trs@pgroup.com).

Thanks,
Mat

It was indeed a compiler bug with 9.0-1. Upgrading to 9.0-2 fixed it. Now I am off to figure out a “PGC-S-0137-Incompatible prototype declaration for function” error.

Thanks for your support,
Matt