Internal compiler error on building ESMF coupling program.

I installed 17.4 version(64 bit) of PGI Compiler and mpich(ver. 3.2) on my Linux system.

I had to build ESMF coupling application on my system.

And, I didn’t have a problem on making ESMF library and ESMF coupling application when I tried with version 6.3.0rp1 of ESMF.

But, when I tried it with version 7.0.1 of ESMF, which is the recently version of ESMF, I had a problem.

Although I didn’t have a problem on making ESMF library, I had a problem on building & compiling application using ESMF library.

The error message is shown below.

[kesti@couple AtmOcn7]$ make
mpif90 -c -g -fpic -lpthread -I/home/kesti/ESMF/SRC/7.0.1/mod/modg/Linux.pgi.64.mpich3.default -I/home/kesti/ESMF/SRC/7.0.1/src/include -I/opt/compiler/pgi/linux86-64/10.1/APPLIC1/NETCDF4/4.1.3/include -DESMF_NO_INTEGER_1_BYTE -DESMF_NO_INTEGER_2_BYTE -DESMF_LAPACK=1 -DESMF_MOAB=1 -DESMF_NO_ACC_SOFTWARE_STACK=1 -DESMF_NETCDF=1 -DESMF_PIO=1 -DESMF_MPIIO -DESMF_NO_OPENMP -DESMF_NO_OPENACC -DSx86_64_small=1 -DESMF_OS_Linux=1 -DESMF_PGIVERSION_MAJOR=17 -DESMF_PGIVERSION_MINOR=4 -DESMF_PGIVERSION_PATCH=0 -I/home/kesti/WRF/WRFV3-ESMF/frame -I/home/kesti/WRF/WRFV3-ESMF/external/io_esmf -I/home/kesti/WRF/WRFV3-ESMF/share -I/home/kesti/WRF/WRFV3-ESMF/inc -I/home/kesti/WRF/WRFV3-ESMF/main -I/home/kesti/WRF/WRFV3-ESMF/test -I./includes -I/home/kesti/WRF/WRFV3-ESMF/external/io_netcdf -I/home/kesti/WRF/WRFV3-ESMF/external/io_int -I/home/kesti/WRF/WRFV3-ESMF/phys atm.F90
PGF90-S-0000-Internal compiler error. import: module esmf_f90interfacemod (2146,base=2147) member symbol this (offset=3): not found! 0 (atm.F90: 32)
PGF90-F-0000-Internal compiler error. interf:new_symbol, symbol not found 1974 (atm.F90: 32)
PGF90/x86-64 Linux 17.4-0: compilation aborted
make: *** [atm.o] Error 2

This message said the "Internal compiler error’ with error code ‘0000’

I guess, this error is originated from the “Symbol table” matching between “Fortran” codes and “C++” codes using esmf_f90interfacemod.


But, I haven’t seen this message ever, so I don’t know how I can deal with this error.


Could you tell me how can I deal with this issue, in detail?

Thanks.

Hooni90,

Here are details from the log of building ESMF 7.0.0 with 17.5
PGI compilers and Mpich 3.2.

dave


  • User set ESMF environment variables *
    ESMF_DIR=/proj/build/libs/17S/linux86-64/esmf/mpich/esmf
    ESMF_COMM=mpich2
    ESMF_INSTALL_PREFIX=/proj/pgi/linux86-64/2017/esmf/esmf-7.0.0/mpich-3.2
    ESMF_BOPT=0
    ESMF_COMPILER=pgi

  • ESMF environment variables *
    ESMF_DIR: /proj/build/libs/17S/linux86-64/esmf/mpich/esmf
    ESMF_OS: Linux
    ESMF_MACHINE: x86_64
    ESMF_ABI: 64
    ESMF_COMPILER: pgi
    ESMF_BOPT: 0
    ESMF_COMM: mpich2
    ESMF_SITE: default
    ESMF_PTHREADS: ON
    ESMF_OPENMP: OFF
    ESMF_OPENACC: OFF
    ESMF_ARRAY_LITE: FALSE
    ESMF_NO_INTEGER_1_BYTE: TRUE
    ESMF_NO_INTEGER_2_BYTE: TRUE
    ESMF_FORTRANSYMBOLS: default
    ESMF_DEFER_LIB_BUILD: ON
    ESMF_SHARED_LIB_BUILD: ON
    ESMF_TESTEXHAUSTIVE: OFF
    ESMF_TESTWITHTHREADS: OFF
    ESMF_TESTMPMD: OFF
    ESMF_TESTSHAREDOBJ: OFF
    ESMF_TESTFORCEOPENMP: OFF
    ESMF_TESTFORCEOPENACC: OFF
    ESMF_TESTHARNESS_ARRAY: default
    ESMF_TESTHARNESS_FIELD: default
    ESMF_MPIRUN: mpirun
    Fortran compiler flags:
    ESMF_F90COMPILEOPTS: -fpic -lpthread
    ESMF_F90COMPILEPATHS: -I/proj/build/libs/17S/linux86-64/esmf/mpich/esmf/mod/mod0/Linux.pgi.64.mpich2.default -I/proj/build/libs/17S/linux86-64/esmf/mpich/esmf/src/include
    ESMF_F90COMPILECPPFLAGS: -DESMF_NO_INTEGER_1_BYTE -DESMF_NO_INTEGER_2_BYTE -DESMF_LAPACK=1 -DESMF_MOAB=1 -DESMF_NO_ACC_SOFTWARE_STACK=1 -DESMF_PIO=1 -DESMF_MPIIO -DESMF_NO_OPENMP -DESMF_NO_OPENACC -DSx86_64_small=1 -DESMF_OS_Linux=1 -DESMF_PGIVERSION_MAJOR=17 -DESMF_PGIVERSION_MINOR=5 -DESMF_PGIVERSION_PATCH=0
    ESMF_F90COMPILEFREECPP:
    ESMF_F90COMPILEFREENOCPP: -Mfreeform
    ESMF_F90COMPILEFIXCPP: -Mpreprocess -Mnofreeform
    ESMF_F90COMPILEFIXNOCPP:

Fortran linker flags:
ESMF_F90LINKOPTS: -lpthread -Wl,–no-as-needed
ESMF_F90LINKPATHS: -L/proj/build/libs/17S/linux86-64/esmf/mpich/esmf/lib/lib0/Linux.pgi.64.mpich2.default -L/proj/pgi/linux86-64/130244-rel/libso
ESMF_F90LINKRPATHS: -Wl,-rpath,/proj/build/libs/17S/linux86-64/esmf/mpich/esmf/lib/lib0/Linux.pgi.64.mpich2.default -Wl,-rpath,/proj/pgi/linux86-64/130244-rel/libso
ESMF_F90LINKLIBS: -pgc++libs -ldl
ESMF_F90ESMFLINKLIBS: -lesmf -pgc++libs -ldl

C++ compiler flags:
ESMF_CXXCOMPILEOPTS: -fpic -lpthread
ESMF_CXXCOMPILEPATHS: -I/proj/build/libs/17S/linux86-64/esmf/mpich/esmf/src/include
ESMF_CXXCOMPILECPPFLAGS: -DESMF_NO_INTEGER_1_BYTE -DESMF_NO_INTEGER_2_BYTE -DESMF_LAPACK=1 -DESMF_MOAB=1 -DESMF_NO_ACC_SOFTWARE_STACK=1 -DESMF_PIO=1 -DESMF_MPIIO -DESMF_NO_OPENMP -DESMF_NO_OPENACC -DSx86_64_small=1 -DESMF_OS_Linux=1 -D__SDIR__=‘’

C++ linker flags:
ESMF_CXXLINKOPTS: -lpthread -Wl,–no-as-needed
ESMF_CXXLINKPATHS: -L/proj/build/libs/17S/linux86-64/esmf/mpich/esmf/lib/lib0/Linux.pgi.64.mpich2.default -L/proj/pgi/linux86-64/130244-rel/libso
ESMF_CXXLINKRPATHS: -Wl,-rpath,/proj/build/libs/17S/linux86-64/esmf/mpich/esmf/lib/lib0/Linux.pgi.64.mpich2.default -Wl,-rpath,/proj/pgi/linux86-64/130244-rel/libso
ESMF_CXXLINKLIBS: -lmpifort -pgf90libs -ldl
ESMF_CXXESMFLINKLIBS: -lesmf -lmpifort -pgf90libs -ldl