H.Dang wrote:
> Hello~
>
> I met the following problem when I compiling CMAQ source codes:
>
> Â
> -DSUBST_PADAT_ID=\"/brosto2/jcl_data/hdang/M3HOME/CMAQ_ADJv4.5/models/include/release/pa_noop/PA_DAT.EXT\"
> calc_obsgrad.F
> PGF90-F-0004-Corrupt or Old Module file
> /brosto2/jcl_data/hdang/M3HOME/CMAQ_ADJv4.5/scripts/cctm/MOD_DIR/netcdf.mod
> (calc_obsgrad.F: 55)
> PGF90/any Linux/x86-64 6.1-6: compilation aborted
> make: *** [calc_obsgrad.o] Error 2
This is using the PGI compiler to build your CMAQ code...
>
> If I comment out the line "use netcdf" in calc_obsgrad.F, I can get the
> object file. I've "make clean" the netcdf, deleted files in include/ and
> lib/ folder, and re-installed netcdf, but I get the same problem again.
> The process I install netcdf-3.6.2 is:
>
> ./configure --prefix=[current path]
> make CC=gcc CPP=g++
> make install
> make check
...and here you are using .. what? .. to build the netCDF f90 interface? You
config.log
should tell you.
Generally, you have to build the library and your application code using the
same
compiler. This is especially true for Fortran90+ interface "module" files (the
*.mod), the
formats of which can change between different versions of the same file.
cheers,
paulv
--
Paul van Delst