Scheduled Downtime
On Friday 21 April 2023 @ 5pm MT, this website will be down for maintenance and expected to return online the morning of 24 April 2023 at the latest

Compile Time Errors

This post was from a previous version of the WRF&MPAS-A Support Forum. New replies have been disabled and if you have follow up questions related to this post, then please start a new thread from the forum home page.

jcfowlerca

New member
Today I downloaded and attempted to compile WRF benchmark. Full output is attached.

It look like a number files have comments that are improper syntax.

ifort -i4 -w -ftz -align all -fno-alias -fp-model precise -FR -convert big_endian -o ESMF_TimeInterval.o -c ESMF_TimeInterval.f
ESMF_TimeInterval.f(1): error #5082: Syntax error, found '/' when expecting one of: <LABEL> <END-OF-STATEMENT> ; <IDENTIFIER> TYPE MODULE ELEMENTAL IMPURE NON_RECURSIVE ...
/* Copyright (C) 1991-2012 Free Software Foundation, Inc.
^
ESMF_TimeInterval.f(16): error #5145: Invalid blank/tab
<http://www.gnu.org/licenses/>. */
----------------------------------^
ESMF_TimeInterval.f(20): error #5145: Invalid blank/tab
include it implicitly at the start of every compilation. It must
-----------------------------------------------------------^
ESMF_TimeInterval.f(29): error #5143: Missing mandatory separating blank
/* wchar_t uses ISO/IEC 10646 (2nd ed., published 2011-03-15) /
--------------------------------^
ESMF_TimeInterval.f(30): error #5145: Invalid blank/tab
Unicode 6.0. */
---------------^
ESMF_TimeInterval.f(32): error #5145: Invalid blank/tab
/* We do not support C11 <threads.h>. */
-------------------------------------^
ESMF_TimeInterval.f(1): catastrophic error: Could not recover from previous syntax error
compilation aborted for ESMF_TimeInterval.f (code 1)
make[3]: [ESMF_TimeInterval.o] Error 1 (ignored)
/bin/rm -f ESMF_Stubs.o
sed -e "/\!.*'/s/'//g" ESMF_Stubs.F90 > ESMF_Stubs.b
/lib/cpp -C -P -I/mnt/beegfs/home/john/Projects/WRFV3_BENCH/inc -I. -DEM_CORE=1 -DNMM_CORE=0 -DNMM_MAX_DIM=2600 -DCOAMPS_CORE=0 -DDA_CORE=0 -DEXP_CORE=0 -DIWORDSIZE=4 -DDWORDSIZE=8 -DRWORDSIZE=4 -DLWORDSIZE=4 -DNONSTANDARD_SYSTEM -DDM_PARALLEL -DNETCDF -DGRIB1 -DINTIO -DLIMIT_ARGS -DCONFIG_BUF_LEN=32768 -DMAX_DOMAINS_F=21 -DNMM_NEST=0 -traditional -C -P -I. ESMF_Stubs.b > ESMF_Stubs.f
/bin/rm -f ESMF_Stubs.b
ifort -i4 -w -ftz -align all -fno-alias -fp-model precise -FR -convert big_endian -o ESMF_Stubs.o -c ESMF_Stubs.f
ESMF_Stubs.f(1): error #5082: Syntax error, found '/' when expecting one of: <LABEL> <END-OF-STATEMENT> ; <IDENTIFIER> TYPE MODULE ELEMENTAL IMPURE NON_RECURSIVE ...
/* Copyright (C) 1991-2012 Free Software Foundation, Inc.
^
ESMF_Stubs.f(16): error #5145: Invalid blank/tab
<http://www.gnu.org/licenses/>. */
----------------------------------^
ESMF_Stubs.f(20): error #5145: Invalid blank/tab
include it implicitly at the start of every compilation. It must
-----------------------------------------------------------^
ESMF_Stubs.f(29): error #5143: Missing mandatory separating blank
/* wchar_t uses ISO/IEC 10646 (2nd ed., published 2011-03-15) /
--------------------------------^
ESMF_Stubs.f(30): error #5145: Invalid blank/tab
Unicode 6.0. */
---------------^
ESMF_Stubs.f(32): error #5145: Invalid blank/tab
/* We do not support C11 <threads.h>. */
-------------------------------------^
ESMF_Stubs.f(1): catastrophic error: Could not recover from previous syntax error
compilation aborted for ESMF_Stubs.f (code 1)
make[3]: [ESMF_Stubs.o] Error 1 (ignored)
 

Attachments

  • WRF_compile_err.txt
    458.2 KB · Views: 46
It appears that all the C++ style comments have been added to all of the Fortran 90 modules and some of the Fortran Headers.
 
I used wrfv3_bench_2008617.tar.gz found at http://www2.mmm.ucar.edu/wrf/WG2/benchv3/

The configure.wrf is attached.
 

Attachments

  • configure.wrf
    20 KB · Views: 61
I have a few suggestions.

First, the code you are using is too old. Would you please update to a newer version of WRF?

Second, please change the line in your configure.wrf from

CPP = /lib/cpp -C -P

to

CPP = /lib/cpp -P -nostdinc

or

CPP = /lib/cpp -P -traditional

Then try again.
 
Old Code - What is the correct URL for the benchmark?
I was directed to http://www2.mmm.ucar.edu/wrf/WG2/benchv3/ for the benchmark code, which is the source for my download.

I will give them a try.
 
Top