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 帖子 / 0 全新
最新文章
如需更全面地了解编译器优化,请参阅优化注意事项

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"

登陆并发表评论。