WRF Compile Failure with IFORT 14.0.1, error #5145, Invalid blank/tab”

WRF Compile Failure with IFORT 14.0.1, error #5145, Invalid blank/tab”

Howdy! 

I am unable to compile WRFv3.5.1 with IFORT 14.0.1 and ICC 8.0 on a Linux cluster running Fedora 19 with dual hex-core Sandy Bridge E5-2660 processors. The build includes szip-2.1, zlib-1.2.7, hdf5-1.8.11, netcdf-4.3.0 and netcdf-fortran-4.2, all generated (apparently without issue) with ifort and icc.  I'm trying to compile smpar (config options 18, 1).

When I use the CPP = -C -P flags,the compilation immediately generates a plethora of error (#5145, #5143 and #5082) messages.  Seems that the “\” and “*” characters in the first dozen or so lines of the .f files in the external directory ../WRFV3/external/esmv_time_f90/ are not being handled properly.  I’m getting messages such as those below.  I’ve not had this problem with earlier versions of WRF or IFORT.

When I tried the CPP = icpc -E flags, the compilation generates a very large number of different error (#7002, #6406, and #6460) messages. Most of these messages say  "Check INCLUDE paths" but I can't find anything wrong.  Obviously, I'm missing something very elementary............. 

Any suggestions would be greatly appreciated. Attached are my .cshrc,  log, and compile files…  Here are examples of the error messages produced by the two different compilation attempts.

CPP = -C -P compilation error messages

ESMF_Fraction.f(1): error #5082: Syntax error, found '/' when expecting one of: <LABEL> <END-OF-STATEMENT> ; BLOCK BLOCKDATA PROGRAM MODULE TYPE INTEGER REAL ...

/* Copyright (C) 1991-2012 Free Software Foundation, Inc.

^

ESMF_Fraction.f(16): error #5145: Invalid blank/tab#

   <http://www.gnu.org/licenses/>. */

----------------------------------^

ESMF_Fraction.f(20): error #5145: Invalid blank/tab

  include it implicitly at the start of every compilation. It must

-----------------------------------------------------------^

ESMF_Fraction.f(29): error #5143: Missing mandatory separating blank

/* wchar_t uses ISO/IEC 10646 (2nd ed., published 2011-03-15) /

--------------------------------^

ESMF_Fraction.f(30): error #5145: Invalid blank/tab

  Unicode 6.0. */

---------------^

ESMF_Fraction.f(32): error #5145: Invalid blank/tab

/* We do not support C11 <threads.h>. */

-------------------------------------^

ESMF_Base.f(1): error #5082: Syntax error, found '/' when expecting one of: <LABEL> <END-OF-STATEMENT> ; BLOCK BLOCKDATA PROGRAM MODULE TYPE INTEGER REAL ...

/* Copyright (C) 1991-2012 Free Software Foundation, Inc.

^

ESMF_Fraction.f(1): catastrophic error: Could not recover from previous syntax error

ESMF_Base.f(16): error #5145: Invalid blank/tab

   <http://www.gnu.org/licenses/>. */

----------------------------------^

ESMF_Base.f(20): error #5145: Invalid blank/tab

  include it implicitly at the start of every compilation. It must

-----------------------------------------------------------^

ESMF_Base.f(29): error #5143: Missing mandatory separating blank

/* wchar_t uses ISO/IEC 10646 (2nd ed., published 2011-03-15) /

--------------------------------^

ESMF_Base.f(30): error #5145: Invalid blank/tab

  Unicode 6.0. */

---------------^

ESMF_Base.f(32): error #5145: Invalid blank/tab

/* We do not support C11 <threads.h>. */

-------------------------------------^

compilation aborted for ESMF_Fraction.f (code 1)

make[3]: [ESMF_Fraction.o] Error 1 (ignored)

ESMF_Base.f(1): catastrophic error: Could not recover from previous syntax error

compilation aborted for ESMF_Base.f (code 1)

make[3]: [ESMF_Base.o] Error 1 (ignored)

 

 CPP = icpc -E compilation error messages

 

icpc -E -DNNN=1 -I../inc -DNL_get_ROUTINES nl_access_routines.F > yy1.f90

ifort -o nl_get_0_routines.o -c -i4 -O0 -fno-inline -fno-ip -ip -fp-model precise -w -ftz -align all -fno-alias -FR -convert big_endian  -I../dyn_em -I../dyn_nmm   -I/work/wrf/WRFV3/external/esmf_time_f90  -I/work/wrf/WRFV3/main -I/work/wrf/WRFV3/external/io_netcdf -I/work/wrf/WRFV3/external/io_int -I/work/wrf/WRFV3/frame -I/work/wrf/WRFV3/share -I/work/wrf/WRFV3/phys -I/work/wrf/WRFV3/chem -I/work/wrf/WRFV3/inc -I/usr/local/INTEL-v14.0/include   yy0.f90

ifort -o nl_get_1_routines.o -c -i4 -O0 -fno-inline -fno-ip -ip -fp-model precise -w -ftz -align all -fno-alias -FR -convert big_endian  -I../dyn_em -I../dyn_nmm   -I/work/wrf/WRFV3/external/esmf_time_f90  -I/work/wrf/WRFV3/main -I/work/wrf/WRFV3/external/io_netcdf -I/work/wrf/WRFV3/external/io_int -I/work/wrf/WRFV3/frame -I/work/wrf/WRFV3/share -I/work/wrf/WRFV3/phys -I/work/wrf/WRFV3/chem -I/work/wrf/WRFV3/inc -I/usr/local/INTEL-v14.0/include   yy1.f90
../inc/nl_config.inc(10): error #7002: Error in opening the compiled module file.  Check INCLUDE paths.   [MODULE_CONFIGURE]

  USE module_configure, ONLY : model_config_rec
------^
../inc/nl_config.inc(13): error #6406: Conflicting attributes or multiple declaration of name.   [MODEL_CONFIG_REC]
  run_days = model_config_rec%run_days
-------------^
../inc/nl_config.inc(13): error #6460: This is not a field name that is defined in the encompassing structure.   [RUN_DAYS]
  run_days = model_config_rec%run_days
------------------------------^
../inc/nl_config.inc(10): error #6580: Name in only-list does not exist.   [MODEL_CONFIG_REC]
  USE module_configure, ONLY : model_config_rec
-------------------------------^
../inc/nl_config.inc(17): error #7002: Error in opening the compiled module file.  Check INCLUDE paths.   [MODULE_CONFIGURE]
  USE module_configure, ONLY : model_config_rec
------^
../inc/nl_config.inc(20): error #6406: Conflicting attributes or multiple declaration of name.   [MODEL_CONFIG_REC]
  run_hours = model_config_rec%run_hours
--------------^
../inc/nl_config.inc(20): error #6460: This is not a field name that is defined in the encompassing structure.   [RUN_HOURS]
  run_hours = model_config_rec%run_hours
-------------------------------^
../inc/nl_config.inc(17): error #6580: Name in only-list does not exist.   [MODEL_CONFIG_REC]
  USE module_configure, ONLY : model_config_rec
-------------------------------^
../inc/nl_config.inc(24): error #7002: Error in opening the compiled module file.  Check INCLUDE paths.   [MODULE_CONFIGURE]
  USE module_configure, ONLY : model_config_rec
------^
../inc/nl_config.inc(27): error #6406: Conflicting attributes or multiple declaration of name.   [MODEL_CONFIG_REC]
  run_minutes = model_config_rec%run_minutes
----------------^
../inc/nl_config.inc(27): error #6460: This is not a field name that is defined in the encompassing structure.   [RUN_MINUTES]
  run_minutes = model_config_rec%run_minutes
---------------------------------^
../inc/nl_config.inc(24): error #6580: Name in only-list does not exist.   [MODEL_CONFIG_REC]
  USE module_configure, ONLY : model_config_rec
-------------------------------^

 Thank you,

twt

publicaciones de 4 / 0 nuevos
Último envío
Para obtener más información sobre las optimizaciones del compilador, consulte el aviso sobre la optimización.

Did you find advice to tinker with CPP somewhere in the Intel whilte papers?

http://software.intel.com/en-us/articles/building-the-wrf-with-intel-com...

I haven't built WRF for too long to recall how CPP was normally set.

IN general, for applications built with Fortran, if you want to second-guess the people who set up the build, possible choices might be

CPP = $(FC) $(FFLAGS) -E -P

that is, use the same Fortran, however the Makefile defines it, appending the pre-processing flags, or

CPP = gcc -traditional -E -x c

If you are building a parallel version, it's important to retain whatever parallel flags are expected when pre-processing.  If the Makefile is set up to use the MPI wrapper for pre-processing, it's probably important to preserve that.

Hi, Thomas did you solved this problem ? I have same problem with Fedora 19, WRF and intel xe_composer sp1 update 1 (intel64).

HelloThomas, as shown inthisdiscussion  http://forum.wrfforum.com/viewtopic.php?f=5&t=6086

I solved the problem by adding "-cpp"  to the two lines :

Original :
FORMAT_FIXED =-FI
FORMAT_FREE =-FR

Changed :

FORMAT_FIXED =-FI -cpp
FORMAT_FREE =-FR -cpp

I hope this help you.

Andrea

Deje un comentario

Por favor inicie sesión para agregar un comentario. ¿No es socio? Únase ya