Problems compiling MPP MM5 3.7 using PG6.2 in FC5

Has anyone had success compiling MM5 V3.7 (using MPICH1) in FC5 using the newly released PG6.2?

I’ve had success with 5.2 and 6.0 in FC2, but am trying 6.2 within FC5 now and receive the following errors upon compilation:

/opt/local/mpich/bin/mpif90 -o mm5.mpp addall.o addrx1c.o addrx1n.o bdyin.o bdyrst.o bdyten.o bdyval.o cadjmx.o coef_diffu.o condload.o consat.o convad.o couple.o date.o dcpl3d.o dcpl3dwnd.o decouple.o define_comms.o diffu.o diffth.o diffthd.o diffmoi.o diffintp.o dm_io.o dots.o dtfrz.o fillcrs.o fkill_model.o gamma.o gauss.o hadv.o init.o initsav.o initts.o kfbmdata.o kill_model.o lb_alg.o lbdyin.o mhz.o mm5.o mp_equate.o mp_initdomain.o mp_shemi.o mparrcopy.o mpaspect.o nconvp.o nudge.o output.o outsav.o outtap.o outts.o outts_c.o param.o paramr.o rdinit.o rho_mlt.o savread.o settbl.o setvegfr.o sfcrad.o shutdo.o slab.o solar1.o solve.o sound.o subch.o trans.o transm.o upshot_mm5.o vadv.o vadv2.o vecgath.o write_big_header.o write_fieldrec.o write_flag.o exmoisr.o exmoiss.o cup.o cupara3.o maximi.o minimi.o cupara6.o dtfrznew.o envirtht.o kfpara.o prof5.o tpdd.o tpmix.o heipre.o maxim.o minim.o moiene.o precip.o zunc.o cloudws.o entrs.o kerhels.o shallcu.o shallow.o araouts.o blkpbl.o hirpbl.o mrfpbl.o tridi2.o slab_col.o sfcrad_col.o transm_col.o lwrad.o swrad.o milliclock.o …/…/MPP/RSL/RSL/librsl.a -O2 -Mcray=pointer -tp p6 -pc 32 -Mnoframe -byteswapio -L/opt/local/mpich/lib -lfmpich -lmpich
define_comms.o: In function define_comms_': define_comms.f:(.text+0x41): undefined reference to addrx1c_’
param.o: In function param_': param.f:(.text+0x3a): undefined reference to paramr_’
param.f:(.text+0x4452): undefined reference to mpaspect_' param.f:(.text+0x448f): undefined reference to mpaspect_’
param.f:(.text+0x7c19): undefined reference to split_date_char_' param.f:(.text+0x85f2): undefined reference to trans_’
param.f:(.text+0x85f7): undefined reference to kfbmdata_' param.f:(.text+0xd028): undefined reference to fkill_model_’
param.f:(.text+0xd0cb): undefined reference to fkill_model_' param.f:(.text+0xd16e): undefined reference to fkill_model_’
param.f:(.text+0xd211): undefined reference to fkill_model_' param.f:(.text+0xd2b4): undefined reference to fkill_model_’
param.o:param.f:(.text+0xd357): more undefined references to fkill_model_' follow /usr/pgi/linux86/6.2/lib/f90main.o: In function main’:
f90main.c:(.text+0x77): undefined reference to `MAIN_’
make[1]: [all] Error 2 (ignored)

Bob Hart
FSU Meteorology

Hi Bob,

Sorry for the late reply. I’ve asked one of our application engineers to try and duplicate the issue here.

At first glance though, it appears that some of your objects might be built incorrectly or are missing. Can you post the log for the compilation “fkill_model.o” object?


Hi Bob,

We were able to determine that the problem is with the MPP “flic.csh” script. It uses the command “sort -nm +0 -1” to perform preprocessing. However, “+0 -1” are no longer valid options to sort so the result of the preprocessing is an empty file. The solution is to remove “+0 -1” from the sort command at line 211 of “MPP/FLIC/FLIC/flic.csh”.

Also, you should consider removing “-tp p6” since this flag specifies that the target platform is a Pentium III (unless you’re using a P3).

Hope this helps,