[Wrf-users] error compiling (icc & ifort) WRFV3.3 with NetCDF V4.12

Selin, Rebecca D CTR USAF AFWA 16 WS/WXE Rebecca.Selin.Ctr at offutt.af.mil
Mon Apr 25 13:29:56 MDT 2011


Andrew - Looks like your netcdf library isn't linking in correctly.  In your LIB_EXTERNAL setting, change '-L/path/to/netcdf/lib' to your netcdf path.

Becky Adams Selin
Atmospheric & Environmental Research, Inc.
AFWA 16th Wx Sqdn  (402) 294-5273


-----Original Message-----
From: wrf-users-bounces at ucar.edu [mailto:wrf-users-bounces at ucar.edu] On Behalf Of Andrew Penny
Sent: Monday, April 25, 2011 2:23 PM
To: wrf-users at ucar.edu
Subject: [Wrf-users] error compiling (icc & ifort) WRFV3.3 with NetCDF V4.12

We are having problems getting the latest version of WRF compiled with the latest version of NetCDF.

Here are the compilation options we are using for NetCDF 4.1.2:

---------------------------------------------------
export CC=mpicc
export CXX=mpicxx

export FC=mpif90
export F77=mpif77
export F90=mpif90

export CPP='icpc -E'
export CXXCPP='icpc -E'

export CFLAGS='-O3 -xSSSE3 -ip -no-prec-div -m64 -fPIC'
export CXXFLAGS='-O3 -xSSSE3 -ip -no-prec-div -m64 -fPIC'
export CPPFLAGS='-DpgiFortran -I/opt/hdf5/intel/include -I/opt/hdf4/intel/include -I/opt/udunits/intel/include -I/usr/include -I/opt/szip/intel/include -I/usr/mpi/intel/mvapich2-1.6/include'

export FFLAGS='-DpgiFortran -O3 -xSSSE3 -ip -no-prec-div -m64 -fPIC -assume nounderscore'
export FCFLAGS='-DpgiFortran -O3 -xSSSE3 -ip -no-prec-div -m64 -fPIC -assume nounderscore'
export FCFLAGS_f90='-DpgiFortran -O3 -xSSSE3 -ip -no-prec-div -m64 -fPIC -assume nounderscore'
export F90FLAGS='-DpgiFortran -O3 -xSSSE3 -ip -no-prec-div -m64 -fPIC -assume nounderscore'
export LDFLAGS='-DpgiFortran -O3 -xSSSE3 -ip -no-prec-div -m64 -fPIC'

export LIBS="-L/opt/hdf5/intel/lib -lhdf5_fortran -lhdf5_hl -lhdf5 -L/opt/hdf4/intel/lib -ldf -L/opt/udunits/intel/lib -ludunits2 -L/usr/lib64 -lz -lm -L/opt/szip/intel/lib -lsz"

./configure --disable-shared --enable-large-file-tests --enable-fortran --enable-f90 --enable-f77 --disable-netcdf-4 --enable-netcdf4 --enable-parallel --enable-cxx-4 --enable-cxx --enable-hdf4 --enable-utilities --with-libcf --with-zlib=/usr --with-szlib=/opt/szip/intel --with-hdf4=/opt/hdf4/intel --with-hdf5=/opt/hdf5/intel --with-curl-config=/usr/bin --prefix=/path/to/netcdf
---------------------------------------------------


The mpif77/mpicc/mpif90 binaries are compiled using the Intel C++/FORTRAN compilers.


Here is the "LIB_EXTERNAL" variable setting in the 'configure.wrf' file for compiling WRF version 3.3:

---------------------------------------------------
 LIB_EXTERNAL    = \
                      -L$(WRF_SRC_ROOT_DIR)/external/io_netcdf -lwrfio_nf -L/path/to/netcdf/lib -lnetcdff -lnetcdf   -L$(WRF_SRC_ROOT_DIR)/external/io_grib2 -lio_grib2 -L/opt/jasper/intel/lib -ljasper -L/opt/hdf4/intel/lib -ldf -lmfhdf -L/opt/hdf5/intel/lib -lhdf5_fortran -lhdf5_hl -lhdf5 -L/opt/g2clib/intel/lib -lgrib2c -L/usr/lib64 -lcurl
---------------------------------------------------

Here are the error messages that show up during the './compile em_real' process:

---------------------------------------------------
/work/sbarve/netcdf/lib/libnetcdff.a(fort-attio.o): In function `nf_put_att_text_':
fort-attio.c:(.text+0x7a): undefined reference to `nc_put_att_text'
/work/sbarve/netcdf/lib/libnetcdff.a(fort-attio.o): In function `nf_get_att_text_':
fort-attio.c:(.text+0x18d): undefined reference to `nc_get_att_text'
/work/sbarve/netcdf/lib/libnetcdff.a(fort-attio.o): In function `nf_put_att_int1_':
fort-attio.c:(.text+0x2af): undefined reference to `nc_put_att_schar'
/work/sbarve/netcdf/lib/libnetcdff.a(fort-attio.o): In function `nf_get_att_int1_':
fort-attio.c:(.text+0x3bd): undefined reference to `nc_get_att_schar'
/work/sbarve/netcdf/lib/libnetcdff.a(fort-attio.o): In function `nf_put_att_int2_':
fort-attio.c:(.text+0x4df): undefined reference to `nc_put_att_short'
/work/sbarve/netcdf/lib/libnetcdff.a(fort-attio.o): In function `nf_get_att_int2_':
fort-attio.c:(.text+0x5ed): undefined reference to `nc_get_att_short'
/work/sbarve/netcdf/lib/libnetcdff.a(fort-attio.o): In function `nf_put_att_int_':
fort-attio.c:(.text+0x70f): undefined reference to `nc_put_att_int'
/work/sbarve/netcdf/lib/libnetcdff.a(fort-attio.o): In function `nf_get_att_int_':
fort-attio.c:(.text+0x81d): undefined reference to `nc_get_att_int'
/work/sbarve/netcdf/lib/libnetcdff.a(fort-attio.o): In function `nf_put_att_real_':
fort-attio.c:(.text+0x93f): undefined reference to `nc_put_att_float'
/work/sbarve/netcdf/lib/libnetcdff.a(fort-attio.o): In function `nf_get_att_real_':
fort-attio.c:(.text+0xa4d): undefined reference to `nc_get_att_float'
/work/sbarve/netcdf/lib/libnetcdff.a(fort-attio.o): In function `nf_put_att_double_':
fort-attio.c:(.text+0xb6f): undefined reference to `nc_put_att_double'
/work/sbarve/netcdf/lib/libnetcdff.a(fort-attio.o): In function `nf_get_att_double_':
fort-attio.c:(.text+0xc7d): undefined reference to `nc_get_att_double'
/work/sbarve/netcdf/lib/libnetcdff.a(fort-control.o): In function `nf_create_':
fort-control.c:(.text+0x64): undefined reference to `nc_create'
/work/sbarve/netcdf/lib/libnetcdff.a(fort-control.o): In function `nf__create_':
fort-control.c:(.text+0x1a0): undefined reference to `nc__create'
/work/sbarve/netcdf/lib/libnetcdff.a(fort-control.o): In function `nf_open_':
fort-control.c:(.text+0x2b4): undefined reference to `nc_open'
/work/sbarve/netcdf/lib/libnetcdff.a(fort-control.o): In function `nf__open_':
fort-control.c:(.text+0x3d8): undefined reference to `nc__open'
/work/sbarve/netcdf/lib/libnetcdff.a(fort-control.o): In function `nf_set_fill_':
fort-control.c:(.text+0x491): undefined reference to `nc_set_fill'
/work/sbarve/netcdf/lib/libnetcdff.a(fort-control.o): In function `nf_redef_':
fort-control.c:(.text+0x4a4): undefined reference to `nc_redef'
/work/sbarve/netcdf/lib/libnetcdff.a(fort-control.o): In function `nf_enddef_':
fort-control.c:(.text+0x4b4): undefined reference to `nc_enddef'
/work/sbarve/netcdf/lib/libnetcdff.a(fort-control.o): In function `nf__enddef_':
fort-control.c:(.text+0x4d0): undefined reference to `nc__enddef'
/work/sbarve/netcdf/lib/libnetcdff.a(fort-control.o): In function `nf_sync_':
fort-control.c:(.text+0x4e4): undefined reference to `nc_sync'
/work/sbarve/netcdf/lib/libnetcdff.a(fort-control.o): In function `nf_close_':
fort-control.c:(.text+0x4f4): undefined reference to `nc_close'
/work/sbarve/netcdf/lib/libnetcdff.a(fort-control.o): In function `nf_delete_':
fort-control.c:(.text+0x55a): undefined reference to `nc_delete'
/work/sbarve/netcdf/lib/libnetcdff.a(fort-control.o): In function `nf__create_mp_':
fort-control.c:(.text+0x68a): undefined reference to `nc__create_mp'
/work/sbarve/netcdf/lib/libnetcdff.a(fort-control.o): In function `nf__open_mp_':
fort-control.c:(.text+0x7d0): undefined reference to `nc__open_mp'
/work/sbarve/netcdf/lib/libnetcdff.a(fort-control.o): In function `nf_delete_mp_':
fort-control.c:(.text+0x8e3): undefined reference to `nc_delete_mp'
/work/sbarve/netcdf/lib/libnetcdff.a(fort-control.o): In function `nf_set_base_pe_':
fort-control.c:(.text+0x986): undefined reference to `nc_set_base_pe'
/work/sbarve/netcdf/lib/libnetcdff.a(fort-control.o): In function `nf_inq_base_pe_':
fort-control.c:(.text+0x99f): undefined reference to `nc_inq_base_pe'
/work/sbarve/netcdf/lib/libnetcdff.a(fort-control.o): In function `nf_abort_':
fort-control.c:(.text+0x9b4): undefined reference to `nc_abort'
/work/sbarve/netcdf/lib/libnetcdff.a(fort-control.o): In function `nf_set_default_format_':
fort-control.c:(.text+0x9cf): undefined reference to `nc_set_default_format'
/work/sbarve/netcdf/lib/libnetcdff.a(fort-dim.o): In function `nf_def_dim_':
fort-dim.c:(.text+0x78): undefined reference to `nc_def_dim'
/work/sbarve/netcdf/lib/libnetcdff.a(fort-dim.o): In function `nf_inq_dimid_':
fort-dim.c:(.text+0x19b): undefined reference to `nc_inq_dimid'
/work/sbarve/netcdf/lib/libnetcdff.a(fort-dim.o): In function `nf_inq_dim_':
fort-dim.c:(.text+0x2e5): undefined reference to `nc_inq_dim'
/work/sbarve/netcdf/lib/libnetcdff.a(fort-dim.o): In function `nf_inq_dimname_':
fort-dim.c:(.text+0x4bb): undefined reference to `nc_inq_dimname'
/work/sbarve/netcdf/lib/libnetcdff.a(fort-dim.o): In function `nf_inq_dimlen_':
fort-dim.c:(.text+0x614): undefined reference to `nc_inq_dimlen'
/work/sbarve/netcdf/lib/libnetcdff.a(fort-dim.o): In function `nf_rename_dim_':
fort-dim.c:(.text+0x695): undefined reference to `nc_rename_dim'
/work/sbarve/netcdf/lib/libnetcdff.a(fort-genatt.o): In function `nf_inq_att_':
fort-genatt.c:(.text+0x87): undefined reference to `nc_inq_att'
/work/sbarve/netcdf/lib/libnetcdff.a(fort-genatt.o): In function `nf_inq_attid_':
fort-genatt.c:(.text+0x19e): undefined reference to `nc_inq_attid'
/work/sbarve/netcdf/lib/libnetcdff.a(fort-genatt.o): In function `nf_inq_atttype_':
fort-genatt.c:(.text+0x2ae): undefined reference to `nc_inq_atttype'
/work/sbarve/netcdf/lib/libnetcdff.a(fort-genatt.o): In function `nf_inq_attlen_':
fort-genatt.c:(.text+0x3be): undefined reference to `nc_inq_attlen'
/work/sbarve/netcdf/lib/libnetcdff.a(fort-genatt.o): In function `nf_inq_attname_':
fort-genatt.c:(.text+0x4f7): undefined reference to `nc_inq_attname'
/work/sbarve/netcdf/lib/libnetcdff.a(fort-genatt.o): In function `nf_copy_att_':
fort-genatt.c:(.text+0x6c8): undefined reference to `nc_copy_att'
/work/sbarve/netcdf/lib/libnetcdff.a(fort-genatt.o): In function `nf_rename_att_':
fort-genatt.c:(.text+0x842): undefined reference to `nc_rename_att'
/work/sbarve/netcdf/lib/libnetcdff.a(fort-genatt.o): In function `nf_del_att_':
fort-genatt.c:(.text+0x9d5): undefined reference to `nc_del_att'
/work/sbarve/netcdf/lib/libnetcdff.a(fort-geninq.o): In function `nf_inq_':
fort-geninq.c:(.text+0x34): undefined reference to `nc_inq'
/work/sbarve/netcdf/lib/libnetcdff.a(fort-geninq.o): In function `nf_inq_ndims_':
fort-geninq.c:(.text+0x8f): undefined reference to `nc_inq_ndims'
/work/sbarve/netcdf/lib/libnetcdff.a(fort-geninq.o): In function `nf_inq_nvars_':
fort-geninq.c:(.text+0xaf): undefined reference to `nc_inq_nvars'
/work/sbarve/netcdf/lib/libnetcdff.a(fort-geninq.o): In function `nf_inq_natts_':
fort-geninq.c:(.text+0xcf): undefined reference to `nc_inq_natts'
/work/sbarve/netcdf/lib/libnetcdff.a(fort-geninq.o): In function `nf_inq_unlimdim_':
fort-geninq.c:(.text+0xf7): undefined reference to `nc_inq_unlimdim'
/work/sbarve/netcdf/lib/libnetcdff.a(fort-geninq.o): In function `nf_inq_format_':
fort-geninq.c:(.text+0x12f): undefined reference to `nc_inq_format'
/work/sbarve/netcdf/lib/libnetcdff.a(fort-genvar.o): In function `nf_def_var_':
fort-genvar.c:(.text+0xa0): undefined reference to `nc_def_var'
/work/sbarve/netcdf/lib/libnetcdff.a(fort-genvar.o): In function `nf_inq_var_':
fort-genvar.c:(.text+0x217): undefined reference to `nc_inq_var'
/work/sbarve/netcdf/lib/libnetcdff.a(fort-genvar.o): In function `nf_inq_varid_':
fort-genvar.c:(.text+0x424): undefined reference to `nc_inq_varid'
/work/sbarve/netcdf/lib/libnetcdff.a(fort-genvar.o): In function `nf_inq_varname_':
fort-genvar.c:(.text+0x55b): undefined reference to `nc_inq_varname'
/work/sbarve/netcdf/lib/libnetcdff.a(fort-genvar.o): In function `nf_inq_vartype_':
fort-genvar.c:(.text+0x6b4): undefined reference to `nc_inq_vartype'
/work/sbarve/netcdf/lib/libnetcdff.a(fort-genvar.o): In function `nf_inq_varndims_':
fort-genvar.c:(.text+0x6e4): undefined reference to `nc_inq_varndims'
/work/sbarve/netcdf/lib/libnetcdff.a(fort-genvar.o): In function `nf_inq_vardimid_':
fort-genvar.c:(.text+0x724): undefined reference to `nc_inq_vardimid'
/work/sbarve/netcdf/lib/libnetcdff.a(fort-genvar.o): In function `nf_inq_varnatts_':
fort-genvar.c:(.text+0x764): undefined reference to `nc_inq_varnatts'
/work/sbarve/netcdf/lib/libnetcdff.a(fort-genvar.o): In function `nf_rename_var_':
fort-genvar.c:(.text+0x7e5): undefined reference to `nc_rename_var'
/work/sbarve/netcdf/lib/libnetcdff.a(fort-genvar.o): In function `nf_copy_var_':
fort-genvar.c:(.text+0x88a): undefined reference to `nc_copy_var'
/work/sbarve/netcdf/lib/libnetcdff.a(fort-lib.o): In function `c2f_dimids':
fort-lib.c:(.text+0x10): undefined reference to `nc_inq_varndims'
/work/sbarve/netcdf/lib/libnetcdff.a(fort-lib.o): In function `c2f_chunksizes':
fort-lib.c:(.text+0x130): undefined reference to `nc_inq_varndims'
/work/sbarve/netcdf/lib/libnetcdff.a(fort-lib.o): In function `f2c_chunksizes':
fort-lib.c:(.text+0x1d0): undefined reference to `nc_inq_varndims'
/work/sbarve/netcdf/lib/libnetcdff.a(fort-lib.o): In function `f2c_coords':
fort-lib.c:(.text+0x270): undefined reference to `nc_inq_varndims'
/work/sbarve/netcdf/lib/libnetcdff.a(fort-lib.o): In function `f2c_counts':
fort-lib.c:(.text+0x320): undefined reference to `nc_inq_varndims'
/work/sbarve/netcdf/lib/libnetcdff.a(fort-lib.o):fort-lib.c:(.text+0x3d0): more undefined references to `nc_inq_varndims' follow
/work/sbarve/netcdf/lib/libnetcdff.a(fort-lib.o): In function `nc_inq_varids_f':
fort-lib.c:(.text+0x47c): undefined reference to `nc_inq_varids'
fort-lib.c:(.text+0x4b0): undefined reference to `nc_inq_varids'
/work/sbarve/netcdf/lib/libnetcdff.a(fort-lib.o): In function `nc_inq_dimids_f':
fort-lib.c:(.text+0x5f6): undefined reference to `nc_inq_dimids'
fort-lib.c:(.text+0x631): undefined reference to `nc_inq_dimids'
/work/sbarve/netcdf/lib/libnetcdff.a(fort-lib.o): In function `nc_insert_array_compound_f':
fort-lib.c:(.text+0x81f): undefined reference to `nc_insert_array_compound'
/work/sbarve/netcdf/lib/libnetcdff.a(fort-lib.o): In function `nc_inq_compound_field_f':
fort-lib.c:(.text+0x8ac): undefined reference to `nc_inq_compound_field'
fort-lib.c:(.text+0x8e0): undefined reference to `nc_inq_compound_field'
/work/sbarve/netcdf/lib/libnetcdff.a(fort-misc.o): In function `nf_inq_libvers_':
fort-misc.c:(.text+0xa): undefined reference to `nc_inq_libvers'
/work/sbarve/netcdf/lib/libnetcdff.a(fort-misc.o): In function `nf_strerror_':
fort-misc.c:(.text+0x16e): undefined reference to `nc_strerror'
/work/sbarve/netcdf/lib/libnetcdff.a(fort-vario.o): In function `nf_put_var_text_':
fort-vario.c:(.text+0x8): undefined reference to `nc_put_var_text'
/work/sbarve/netcdf/lib/libnetcdff.a(fort-vario.o): In function `nf_get_var_text_':
fort-vario.c:(.text+0x18): undefined reference to `nc_get_var_text'
/work/sbarve/netcdf/lib/libnetcdff.a(fort-vario.o): In function `nf_put_var_int1_':
fort-vario.c:(.text+0x28): undefined reference to `nc_put_var_schar'
/work/sbarve/netcdf/lib/libnetcdff.a(fort-vario.o): In function `nf_get_var_int1_':
fort-vario.c:(.text+0x38): undefined reference to `nc_get_var_schar'
/work/sbarve/netcdf/lib/libnetcdff.a(fort-vario.o): In function `nf_put_var_int2_':
fort-vario.c:(.text+0x48): undefined reference to `nc_put_var_short'
/work/sbarve/netcdf/lib/libnetcdff.a(fort-vario.o): In function `nf_get_var_int2_':
fort-vario.c:(.text+0x58): undefined reference to `nc_get_var_short'
/work/sbarve/netcdf/lib/libnetcdff.a(fort-vario.o): In function `nf_put_var_int_':
fort-vario.c:(.text+0x68): undefined reference to `nc_put_var_int'
/work/sbarve/netcdf/lib/libnetcdff.a(fort-vario.o): In function `nf_get_var_int_':
fort-vario.c:(.text+0x78): undefined reference to `nc_get_var_int'
/work/sbarve/netcdf/lib/libnetcdff.a(fort-vario.o): In function `nf_put_var_real_':
fort-vario.c:(.text+0x88): undefined reference to `nc_put_var_float'
/work/sbarve/netcdf/lib/libnetcdff.a(fort-vario.o): In function `nf_get_var_real_':
fort-vario.c:(.text+0x98): undefined reference to `nc_get_var_float'
/work/sbarve/netcdf/lib/libnetcdff.a(fort-vario.o): In function `nf_put_var_double_':
fort-vario.c:(.text+0xa8): undefined reference to `nc_put_var_double'
/work/sbarve/netcdf/lib/libnetcdff.a(fort-vario.o): In function `nf_get_var_double_':
fort-vario.c:(.text+0xb8): undefined reference to `nc_get_var_double'
/work/sbarve/netcdf/lib/libnetcdff.a(fort-vario.o): In function `nf_put_var_':
fort-vario.c:(.text+0xc8): undefined reference to `nc_put_var'
/work/sbarve/netcdf/lib/libnetcdff.a(fort-vario.o): In function `nf_get_var_':
fort-vario.c:(.text+0xd8): undefined reference to `nc_get_var'
/work/sbarve/netcdf/lib/libnetcdff.a(fort-varaio.o): In function `nf_put_vara_text_':
fort-varaio.c:(.text+0x5c): undefined reference to `nc_put_vara_text'
/work/sbarve/netcdf/lib/libnetcdff.a(fort-varaio.o): In function `nf_get_vara_text_':
fort-varaio.c:(.text+0xcc): undefined reference to `nc_get_vara_text'
/work/sbarve/netcdf/lib/libnetcdff.a(fort-varaio.o): In function `nf_put_vara_int1_':
fort-varaio.c:(.text+0x13c): undefined reference to `nc_put_vara_schar'
/work/sbarve/netcdf/lib/libnetcdff.a(fort-varaio.o): In function `nf_get_vara_int1_':
fort-varaio.c:(.text+0x1ac): undefined reference to `nc_get_vara_schar'
/work/sbarve/netcdf/lib/libnetcdff.a(fort-varaio.o): In function `nf_put_vara_int2_':
fort-varaio.c:(.text+0x21c): undefined reference to `nc_put_vara_short'
/work/sbarve/netcdf/lib/libnetcdff.a(fort-varaio.o): In function `nf_get_vara_int2_':
fort-varaio.c:(.text+0x28c): undefined reference to `nc_get_vara_short'
/work/sbarve/netcdf/lib/libnetcdff.a(fort-varaio.o): In function `nf_put_vara_int2_':
fort-varaio.c:(.text+0x21c): undefined reference to `nc_put_vara_short'
/work/sbarve/netcdf/lib/libnetcdff.a(fort-varaio.o): In function `nf_get_vara_int2_':
fort-varaio.c:(.text+0x28c): undefined reference to `nc_get_vara_short'
/work/sbarve/netcdf/lib/libnetcdff.a(fort-varaio.o): In function `nf_put_vara_int_':
fort-varaio.c:(.text+0x2fc): undefined reference to `nc_put_vara_int'
/work/sbarve/netcdf/lib/libnetcdff.a(fort-varaio.o): In function `nf_get_vara_int_':
fort-varaio.c:(.text+0x36c): undefined reference to `nc_get_vara_int'
/work/sbarve/netcdf/lib/libnetcdff.a(fort-varaio.o): In function `nf_put_vara_real_':
fort-varaio.c:(.text+0x3dc): undefined reference to `nc_put_vara_float'
/work/sbarve/netcdf/lib/libnetcdff.a(fort-varaio.o): In function `nf_get_vara_real_':
fort-varaio.c:(.text+0x44c): undefined reference to `nc_get_vara_float'
/work/sbarve/netcdf/lib/libnetcdff.a(fort-varaio.o): In function `nf_put_vara_double_':
fort-varaio.c:(.text+0x4bc): undefined reference to `nc_put_vara_double'
/work/sbarve/netcdf/lib/libnetcdff.a(fort-varaio.o): In function `nf_get_vara_double_':
fort-varaio.c:(.text+0x52c): undefined reference to `nc_get_vara_double'
/work/sbarve/netcdf/lib/libnetcdff.a(fort-varaio.o): In function `nf_put_vara_':
fort-varaio.c:(.text+0x59c): undefined reference to `nc_put_vara'
/work/sbarve/netcdf/lib/libnetcdff.a(fort-varaio.o): In function `nf_get_vara_':
fort-varaio.c:(.text+0x60c): undefined reference to `nc_get_vara'
make[2]: [diffwrf] Error 1 (ignored)

---------------------------------------------------


What are we doing wrong here?

Thanks


Andrew Penny
Research Associate - Meteorology Department Naval Postgraduate School Monterey, CA 93943
Phone: (831) 656-3101






More information about the Wrf-users mailing list