[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[netCDF #NTO-571747]: netcdf on CentOS



> Hi, I reconfigure with:
> 
> CPPFLAGS="-DgFortran -I/opt/zlib/include -I/opt/hdf5/include
> -I/opt/szip/include"
> LDFLAGS="-L/opt/zlib/lib -L/opt/hdf5/lib -L/opt/szip/lib"
> 
> configure script apparently ended ok, but there is an error in make check.
> I send you the files out.configure and out.check

You have encountered an error in the test program, nf_test/f90tst_vars2.f90, 
which only occurs when including the szip library.  You can fix this by
replacing that file with this one from netCDF-Fortran version 4.2:

  
https://sub.unidata.ucar.edu/netcdf-fortran/tags/netcdf-fortran-4.2/nf_test/f90tst_vars2.f90

and rebuilding.

Alternatively, you could build without the ability to read szip-compressed 
files.

--Russ

> Thanks,
> 
> -- Fernando
> 
> address@hidden> wrote:
> 
> > Fernando,
> >
> > Those errors all indicate that the Fortran functions are
> > not correctly calling the C functions.  For released versions
> > of the netCDF Fortran library, you sometimes have to specify
> > the right C compiler flag when building the C library, so it
> > will use the conventions expected by the Fortran compiler in C
> > functions to be called by Fortran.  The configure script can
> > often determine this correctly, but not always.  When it doesn't,
> > you have to help by indicating the Fortran compiler that will be
> > used when you are building the C library.
> >
> > It looks like you are using gfortran, so try reconfiguring and
> > rebuilding the library, defining the environment variable
> >
> >   CPPFLAGS=-DgFortran
> >
> > before running the configure script.
> >
> > If that doesn't work, please send us the config.out file resulting
> > from running the configure script, as well as the complete output
> > from "make check".
> >
> > --Russ
> >
> > > Hi, I ran "make check" and appear the following errors:
> > >
> > > First: all previous test are OK
> > > Then:
> > > ...
> > > test_get.o: In function `test_nf_get_att_double_':
> > > /opt/netcdf/nf_test/test_get.F:5511: undefined reference to `nf_open_'
> > > /opt/netcdf/nf_test/test_get.F:5521: undefined reference to
> > > `nf_get_att_double_'
> > > /opt/netcdf/nf_test/test_get.F:5526: undefined reference to
> > > `nf_get_att_double_'
> > > /opt/netcdf/nf_test/test_get.F:5529: undefined reference to
> > > `nf_get_att_double_'
> > > /opt/netcdf/nf_test/test_get.F:5547: undefined reference to
> > > `nf_get_att_double_'
> > > /opt/netcdf/nf_test/test_get.F:5594: undefined reference to `nf_close_'
> > > ...
> > >
> > > ../fortran/.libs/libnetcdff.so: undefined reference to
> > `nf_def_var_endian_'
> > > ../fortran/.libs/libnetcdff.so: undefined reference to
> > > `nf_inq_compound_fieldname_'
> > > ../fortran/.libs/libnetcdff.so: undefined reference to `nf_inq_typeid_'
> > > ../fortran/.libs/libnetcdff.so: undefined reference to
> > > `nf_def_var_chunking_'
> > > ../fortran/.libs/libnetcdff.so: undefined reference to
> > > `nf_inq_compound_fieldindex_'
> > > ../fortran/.libs/libnetcdff.so: undefined reference to
> > `nf_inq_var_deflate_'
> > > ../fortran/.libs/libnetcdff.so: undefined reference to `nf__create_'
> > >
> > > ...
> > >
> > > ../fortran/.libs/libnetcdff.so: undefined reference to
> > `nf_get_var1_int64_'
> > > collect2: ld returned 1 exit status
> > > make[2]: *** [nf_test] Error 1
> > > make[2]: Leaving directory `/opt/netcdf/nf_test'
> > > make[1]: *** [check-am] Error 2
> > > make[1]: Leaving directory `/opt/netcdf/nf_test'
> > > make: *** [check-recursive] Error 1
> > >
> > > Thank for your help
> > >
> > > --Fernando
> > >
> > >
> > > address@hidden> wrote:
> > >
> > > > > Hi, sorry for my delay response...
> > > > > I need to install netcdf for ARW-WRF model
> > > > >
> > > > > When I try to compile the wrf model, There are some errorrs:
> > > > >
> > > > > ...
> > > > > x=`echo "gfortran -w -ffree-form -ffree-line-length-none
> > > > > -fconvert=big-endian -frecord-marker=4 " | awk '{print $1}'` ;
> > export x
> > > > ; \
> > > > > if [ $x = "gfortran" ] ; then \
> > > > > echo removing external declaration of iargc for gfortran ; \
> > > > > /lib/cpp -C -P -C -P -traditional -I/usr/local/netcdf/include
> > > > > -I../ioapi_share diffwrf.F90 | sed '/integer *, *external.*iargc/d' >
> > > > > diffwrf.f ;\
> > > > > else \
> > > > > /lib/cpp -C -P -C -P -traditional -I/usr/local/netcdf/include
> > > > > -I../ioapi_share diffwrf.F90 > diffwrf.f ; \
> > > > > fi
> > > > > removing external declaration of iargc for gfortran
> > > > > gfortran -w -ffree-form -ffree-line-length-none -fconvert=big-endian
> > > > > -frecord-marker=4  -c  -I/usr/local/netcdf/include -I../ioapi_share
> > > > > diffwrf.f
> > > > > diffwrf io_netcdf is being built now.
> > > > > wrf_io.o: In function `ext_ncd_get_var_info_':
> > > > > wrf_io.f:(.text+0x1fe7): undefined reference to `nf_inq_varid_'
> > > > > wrf_io.f:(.text+0x227d): undefined reference to `nf_inq_vartype_'
> > > > > wrf_io.f:(.text+0x2720): undefined reference to `nf_get_att_int_'
> > > > > wrf_io.f:(.text+0x307f): undefined reference to `nf_get_att_text_'
> > > > > wrf_io.f:(.text+0x3361): undefined reference to `nf_inq_vardimid_'
> > > > > wrf_io.f:(.text+0x33c8): undefined reference to `nf_inq_dimlen_'
> > > > > wrf_io.f:(.text+0x341d): undefined reference to `nf_inq_dimlen_'
> > > > > wrf_io.f:(.text+0x3481): undefined reference to `nf_inq_dimlen_'
> > > > > ...
> > > > >
> > > > > /usr/local/netcdf/lib/libnetcdff.so: undefined reference to
> > > > > `nf_get_varm_double_'
> > > > > /usr/local/netcdf/lib/libnetcdff.so: undefined reference to
> > > > > `nf_def_var_endian_'
> > > > > /usr/local/netcdf/lib/libnetcdff.so: undefined reference to
> > > > > `nf_inq_compound_fieldname_'
> > > > > /usr/local/netcdf/lib/libnetcdff.so: undefined reference to
> > > > `nf_inq_typeid_'
> > > > > /usr/local/netcdf/lib/libnetcdff.so: undefined reference to
> > > > > `nf_put_varm_int1_'
> > > > > /usr/local/netcdf/lib/libnetcdff.so: undefined reference to
> > > > > `nf_def_var_chunking_
> > > > >
> > > > > ....
> > > > >
> > > > > Then I run command "find / -name libnetcdff.so"
> > > > > /usr/local/netcdf/lib/libnetcdff.so
> > > > >
> > > > >
> > > > > Any suggestions?
> > > >
> > > > You may want to ask the address@hidden mailing list, because the
> > > > errors
> > > > above have to do with how WRF links its programs to an installed netCDF
> > > > library.
> > > > If "make check" worked OK for the Fortran tests, then the library was
> > built
> > > > correctly.
> > > >
> > > > --Russ
> > > >
> > > > Russ Rew                                         UCAR Unidata Program
> > > > address@hidden                      http://www.unidata.ucar.edu
> > > >
> > > >
> > > >
> > > > Ticket Details
> > > > ===================
> > > > Ticket ID: NTO-571747
> > > > Department: Support netCDF
> > > > Priority: Normal
> > > > Status: Closed
> > > >
> > >
> > >
> > Russ Rew                                         UCAR Unidata Program
> > address@hidden                      http://www.unidata.ucar.edu
> >
> >
> >
> > Ticket Details
> > ===================
> > Ticket ID: NTO-571747
> > Department: Support netCDF
> > Priority: Normal
> > Status: Closed
> >
> 
> 
Russ Rew                                         UCAR Unidata Program
address@hidden                      http://www.unidata.ucar.edu



Ticket Details
===================
Ticket ID: NTO-571747
Department: Support netCDF
Priority: Normal
Status: Closed