Problem with the compilation of wrf-chem with kpp enabled

Problem with the compilation of wrf-chem with kpp enabled

Hi everyone,

I'm trying to compile wrf with the chemistry module enabled. I managed to get wrf alone compiling well following the tutorial on the intel website but it doesn't work with the chemistry model.

I am using byacc for yacc and intel compiler verson 9.1

I get this error and have no idea on how to solve it.

Thanks for your help

------------------------------------------
configure_kpp, settings:
location of flex library: /home/paulot/WRF/Others/FLEX/lib/libfl.a
# DM_CC = mpiicc DM_CC = mpiicc CC = $(DM_CC) -DFSEEKO64_OK
SCC = icc CC_TOOLS = $(SCC)
writing chem/KPP/configure.kpp
/home/paulot/WRF/WRF-V3/WRFV3_CHEM
-----------------------------------------
compile kpp
make[1]: Entering directory `/ibrixfs1/home/paulot/WRF/WRF-V3/WRFV3_CHEM/chem/KPP/kpp/kpp-2.1/src'
yacc -d scan.y
icc -O -c y.tab.c
y.tab.c(1216): warning #266: function declared implicitly
if ((yychar = yylex()) < 0) yychar = 0;
^

scan.y(95): warning #266: function declared implicitly
{ CmdJacobian( yyvsp[0].str );
^

scan.y(98): warning #266: function declared implicitly
{ CmdHessian( yyvsp[0].str );
^

scan.y(101): warning #266: function declared implicitly
{ CmdStoicmat( yyvsp[0].str );
^

scan.y(104): warning #266: function declared implicitly
{ CmdDouble( yyvsp[0].str );
^

scan.y(107): warning #266: function declared implicitly
{ CmdReorder( yyvsp[0].str );
^

scan.y(110): warning #266: function declared implicitly
{ CmdMex( yyvsp[0].str );
^

scan.y(113): warning #266: function declared implicitly
{ CmdDummyindex( yyvsp[0].str );
^

scan.y(116): warning #266: function declared implicitly
{ CmdEqntags( yyvsp[0].str );
^

scan.y(119): warning #266: function declared implicitly
{ CmdFunction( yyvsp[0].str );
^

scan.y(122): warning #266: function declared implicitly
{ CmdStochastic( yyvsp[0].str );
^

scan.y(153): warning #266: function declared implicitly
{ CheckAll(); }
^

scan.y(155): warning #266: function declared implicitly
{ LookAtAll(); }
^

scan.y(157): warning #266: function declared implicitly
{ TransportAll(); }
^

scan.y(167): warning #266: function declared implicitly
{ CmdUse( yyvsp[0].str ); }
^

scan.y(169): warning #266: function declared implicitly
{ CmdLanguage( yyvsp[0].str ); }
^

scan.y(171): warning #266: function declared implicitly
{ DefineInitializeNbr( yyvsp[0].str ); }
^

scan.y(173): warning #266: function declared implicitly
{ DefineXGrid( yyvsp[0].str ); }
^

scan.y(175): warning #266: function declared implicitly
{ DefineYGrid( yyvsp[0].str ); }
^

scan.y(177): warni
ng #266: function declared implicitly
{ DefineZGrid( yyvsp[0].str ); }
^

scan.y(186): warning #266: function declared implicitly
{ CmdIntegrator( yyvsp[0].str ); }
^

scan.y(188): warning #266: function declared implicitly
{ CmdDriver( yyvsp[0].str ); }
^

scan.y(190): warning #266: function declared implicitly
{ CmdRun( yyvsp[0].str ); }
^

scan.y(194): warning #266: function declared implicitly
{ SparseData( yyvsp[0].str );
^

scan.y(197): warning #266: function declared implicitly
{ WRFConform();
^

scan.y(250): warning #266: function declared implicitly
{ AddUseFile( yyvsp[0].str );
^

y.tab.c(1745): warning #266: function declared implicitly
if ((yychar = yylex()) < 0) yychar = 0;
^

y.tab.c(1260): warning #177: label "yyerrlab" was declared but never referenced
yyerrlab:
^

flex scan.l
icc -O -c lex.yy.c
scan.l(80): error: identifier "INC_STATE" is undefined
KEYWORD keywords[] = { { "INCLUDE", INC_STATE, 0 },
^

scan.l(81): error: identifier "MOD_STATE" is undefined
{ "MODEL", MOD_STATE, 0 },
^

scan.l(82): error: identifier "INT_STATE" is undefined
{ "INTEGRATOR", INT_STATE, 0 },
^

scan.l(83): error: identifier "PRM_STATE" is undefined
{ "JACOBIAN", PRM_STATE, JACOBIAN },
^

scan.l(93): error: identifier "ATM_STATE" is undefined
&nbs
p; { "ATOMS", ATM_STATE, ATOMDECL },
^

scan.l(95): error: identifier "INITIAL" is undefined
{ "CHECKALL", INITIAL, CHECKALL },
^

scan.l(96): error: identifier "DSP_STATE" is undefined
{ "DEFVAR", DSP_STATE, DEFVAR },
^

scan.l(99): error: identifier "SSP_STATE" is undefined
{ "SETVAR", SSP_STATE, SETVAR },
^

scan.l(102): error: identifier "INI_STATE" is undefined
{ "INITVALUES", INI_STATE, INITVALUES },
^

scan.l(103): error: identifier "EQN_STATE" is undefined
{ "EQUATIONS", EQN_STATE, EQUATIONS },
^

scan.l(104): error: identifier "LMP_STATE" is undefined
{ "LUMP", LMP_STATE, LUMP },
&nb
sp; ^

scan.l(105): error: identifier "LKT_STATE" is undefined
{ "LOOKAT", LKT_STATE, LOOKAT },
^

scan.l(107): error: identifier "TPT_STATE" is undefined
{ "TRANSPORT", TPT_STATE, TRANSPORT },
^

scan.l(113): error: identifier "MNI_STATE" is undefined
{ "MONITOR", MNI_STATE, MONITOR },
^

scan.l(120): error: identifier "INL_STATE" is undefined
{ "INLINE", INL_STATE, INLINE },
^

scan.l(125): error: identifier "USE_STATE" is undefined
{ "USES", USE_STATE, USES },
^

scan.l(315): warning #266: function declared implicitly
{ if ( EqNoCase( yytext+1, "ENDINLINE" ) ){
^

scan.l(348): error: identifier "yy_current_buffer" is undefined
yy_buffers[ yy_buf_level ] = yy_current_buffer;
^

scan.l(372): error: identifier "yy_current_buffer" is undefined
oldb = yy_current_buffer;
&n
bsp; ^

compilation aborted for lex.yy.c (code 2)
make[1]: *** [lex.yy.o] Error 2
make[1]: Leaving directory `/ibrixfs1/home/paulot/WRF/WRF-V3/WRFV3_CHEM/chem/KPP/kpp/kpp-2.1/src'
-----------------------------------------
linker.csh: Command not found.
linker.csh: Command not found.
compile the coupler
icc -c -g registry_kpp.c
registry_kpp.c(10): catastrophic error: could not open source file "protos.h"
#include "protos.h"
^

compilation aborted for registry_kpp.c (code 4)
make: [registry_kpp.o] Error 4 (ignored)
make: *** No rule to make target `my_strtok.o', needed by `registry'. Stop.

3 Beiträge / 0 neu
Letzter Beitrag
Nähere Informationen zur Compiler-Optimierung finden Sie in unserem Optimierungshinweis.

Hi- I don't have any personal experience with WRF (I've sent this out to the author of the Building WRF article though, so they might have some more insight), but it looks like you're not finding a header file that you need. Those "function declared implicitly" warnings are a good indicator - you need to find where those functions are declared. It's very likely that where those functions are declared is somewhere in the neighborhood of the header that defines the constants you need.

Brandon Hewitt Technical Consulting Engineer Tools Knowledge Base: "http://software.intel.com/en-us/articles/tools" Software Product Support info: "http://www.intel.com/software/support"

Some more info I got from one of the engineers working on this. Hope this helps!

I have possibly found a workaround for problems encountered by user: /chem/KPP/util/wkc must be in $PATH. Build scripts expects that.

Other compiler complaints (warnings about implicitly defined functions) arise because byacc headers are not included.

Brandon Hewitt Technical Consulting Engineer Tools Knowledge Base: "http://software.intel.com/en-us/articles/tools" Software Product Support info: "http://www.intel.com/software/support"

Melden Sie sich an, um einen Kommentar zu hinterlassen.