Compiling with KPP - where are the libraries??

Posts related to the installation of WRF Chemistry

Compiling with KPP - where are the libraries??

Postby hmacintyre » Tue Dec 20, 2016 1:48 pm

I have a mysterious error that I cannot seem to find a solution for.

I am using WRFV3.8.1 with 3.8.1 chemistry. I can compile successfully without KPP, but with KPP it seems to fall almost at the first step.

running chem/KPP/configure_kpp gives:
Code: Select all
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

  WKC - WRF-Chem/KPP coupler


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

  KPP - symbolic chemistry Kinetics PreProcessor, Version 2.1
        (http://www.cs.vt.edu/~asandu/Software/KPP)
  KPP is distributed under GPL, the general public licence
        (http://www.gnu.org/copyleft/gpl.html)
    (C) 1995-1997, V. Damian & A. Sandu, CGRER, Univ. Iowa
    (C) 1997-2003, A. Sandu, Michigan Tech
    (C) 2003-2005, A. Sandu, Virginia Polytechnic Institute and State University
        with contributions from:
        R. Sander, Max-Planck Institute for Chemistry, Mainz, Germany


   The current version of KPP was modified for WRF-Chem.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
------------------------------------------
 configure_kpp, settings:
location of flex library: /home/helen.macintyre/LIBRARIES/flex/lib/libfl.a
OMPCC = # -fopenmp CCOMP = gcc CC = $(DM_CC) -DFSEEKO64_OK
DESCRIPTION = GNU ($SFC/$SCC) SCC = gcc DM_CC = mpicc -cc=$(SCC) -DMPI2_SUPPORT CC_TOOLS = $(SCC) CC="$(SCC)" CFLAGS="$(CFLAGS)" \
writing chem//configure.kpp
/home/helen.macintyre/WRFv3.8.1/Build_WRF/WRFV3
-----------------------------------------


then chem/KPP/compile_wkc:

Code: Select all
====================================================
starting compile_wkc
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

  WKC - WRF-Chem/KPP coupler


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

  KPP - symbolic chemistry Kinetics PreProcessor, Version 2.1
        (http://www.cs.vt.edu/~asandu/Software/KPP)
  KPP is distributed under GPL, the general public licence
        (http://www.gnu.org/copyleft/gpl.html)
    (C) 1995-1997, V. Damian & A. Sandu, CGRER, Univ. Iowa
    (C) 1997-2003, A. Sandu, Michigan Tech
    (C) 2003-2005, A. Sandu, Virginia Polytechnic Institute and State University
        with contributions from:
        R. Sander, Max-Planck Institute for Chemistry, Mainz, Germany


   The current version of KPP was modified for WRF-Chem.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
------------------------------------------
 configure_kpp, settings:
location of flex library: /home/helen.macintyre/LIBRARIES/flex/lib/libfl.a
OMPCC = # -fopenmp CCOMP = gcc CC = $(DM_CC) -DFSEEKO64_OK
DESCRIPTION = GNU ($SFC/$SCC) SCC = gcc DM_CC = mpicc -cc=$(SCC) -DMPI2_SUPPORT CC_TOOLS = $(SCC) CC="$(SCC)" CFLAGS="$(CFLAGS)" \
writing chem/KPP/configure.kpp
/home/helen.macintyre/WRFv3.8.1/Build_WRF/WRFV3
-----------------------------------------
compile kpp
make[1]: Entering directory `/home/helen.macintyre/WRFv3.8.1/Build_WRF/WRFV3/chem/KPP/kpp/kpp-2.1/src'
  gcc -O -lm y.tab.o lex.yy.o scanner.o scanutil.o kpp.o gen.o code.o code_c.o code_f77.o code_f90.o code_matlab.o debug.o -L/home/helen.macintyre/LIBRARIES/flex/lib -lfl -o kpp
make[1]: Leaving directory `/home/helen.macintyre/WRFv3.8.1/Build_WRF/WRFV3/chem/KPP/kpp/kpp-2.1/src'
-----------------------------------------
compile the coupler
gcc -I../../../../inc  -c -g  gen_kpp.c
gcc -o registry_kpp -g   registry_kpp.o  my_strtok.o data.o type.o misc.o reg_parse.o gen_kpp.o get_wrf_chem_specs.o gen_kpp_mech_dr.o gen_kpp_interface.o get_kpp_chem_specs.o compare_kpp_to_species.o get_wrf_radicals.o get_wrf_jvals.o gen_kpp_utils.o change_chem_Makefile.o gen_kpp_interf_utils.o gen_kpp_args_to_Update_Rconst.o  kpp_data.o sym.o symtab_gen.o
-----------------------------------------
check if Registry was touched
make: `mod_registry.temp' is up to date.
-----------------------------------------
Run kpp for mechanisms in chem/KPP/mechanisms
=========================================================
mechanisms/cb05_sorg_aq
model cb05_sorg_aq
/home/helen.macintyre/WRFv3.8.1/Build_WRF/WRFV3/chem/KPP/kpp/kpp-2.1/bin/kpp cb05_sorg_aq.kpp
/home/helen.macintyre/WRFv3.8.1/Build_WRF/WRFV3/chem/KPP/kpp/kpp-2.1/bin/kpp: error while loading shared libraries: libfl.so.2: cannot open shared object file: No such file or directory
make: *** [cb05_sorg_aq_Integrator.f90] Error 127
WARNING: If kpp fails here the path to WRF-Chem might be too long for yacc ...
grep: ../../../module_kpp_cb05_sorg_aq_Integr.F: No such file or directory
Makefile:50: warning: overriding recipe for target `.F.o'
../../../../configure.wrf:334: warning: ignoring old recipe for target `.F.o'
Makefile:58: warning: overriding recipe for target `.c.o'
../../../../configure.wrf:361: warning: ignoring old recipe for target `.c.o'
rm -f decomp_uses.inc

... and so on with errors.

I have gone through the solutions here (http://forum.wrfforum.com/viewtopic.php?f=39&t=3302) but none have solved the issue.

I have a feeling that the kpp binary is not pointing to the correct flex libraries, but the code tells me that it is. I have explicitly set FLEX and FLEX_LIB_DIR to my locally installed version. I have also edited my files according to the solution here http://ruc.noaa.gov/wrf/wrf-chem/KPP_yacc_flex_problems.pdf

I've gone through executing the make scripts line by line and the first instance that kpp is run, I get the error about not locating shared libraries :
Code: Select all
/home/helen.macintyre/WRFv3.8.1/Build_WRF/WRFV3/chem/KPP/kpp/kpp-2.1/bin/kpp cb05_sorg_aq.kpp
/home/helen.macintyre/WRFv3.8.1/Build_WRF/WRFV3/chem/KPP/kpp/kpp-2.1/bin/kpp: error while loading shared libraries: libfl.so.2: cannot open shared object file: No such file or directory
make: *** [cb05_sorg_aq_Integrator.f90] Error 127


Feeling very confused, any help appreciated.
hmacintyre
 
Posts: 9
Joined: Thu Dec 04, 2014 4:31 pm

Re: Compiling with KPP - where are the libraries??

Postby hmacintyre » Thu Dec 22, 2016 6:35 am

Hi,
Just to update, I did not manage to get the original error fixed, but instead used the flex library files already installed on the system.
The odd thing is that the missing file libfl.so.2 is not part of the system flex libraries, but it seems to not matter now....??

It turned out I was having an issue with yacc not being called properly from within the Makefile. I called it from command line on 'scan.y', copied the files produced ('y.tab.c' and 'y.tab.h') to the appropriate directory, and then did a configure and compile again (with WRF_KPP=1 from WRFV3/), and it seems to have compiled with no errors.

Rather unusual.
hmacintyre
 
Posts: 9
Joined: Thu Dec 04, 2014 4:31 pm


Return to Installation

Who is online

Users browsing this forum: No registered users and 1 guest