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

[netCDF #JCT-779716]: Error during fortran make check



Hi Mike,

> Full Name: Mike Chen
> Organization: Dept. of Atomspheric Science, Nat'l Taiwan University
> Package Version: C: 4.3.2, Fortran: 4.4.1
> Operating System: CentOS 7.0
> Description of problem: Hi,
> I've managed to install the following packages:
> Intel Composer XE 2015
> OpenMPI 1.8.3 w/ icc, icpp, ifort
> HDF5 1.8.13 w/ SZIP 2.1 and MPI-IO, static only, in /cluster/intel-15 (make 
> check ok)
> NetCDF 4.3.2 w/ netcdf4, static only, in /cluster/intel-15 (make check ok)
> config: --prefix=/cluster/intel-15 CC=mpicc --enable-shared=no 
> CPPFLAGS=-I/cluster/intel-15/include LDFLAGS=-L/cluster/intel-15/lib 
> LIBS="-lhdf5_hl -lhdf5 -lsz"
> 
> But while building NetCDF Fortran 4.4.1, it failed on make check with:
> 
> libtool: link: mpif90 -I../fortran -I../fortran -g -o nf_test 
> f03lib_f_interfaces.o test_get.o test_put.o nf_error.o nf_test.o test_read.o 
> test_write.o util.o f03lib.o  -L/cluster/intel-15/lib 
> ../fortran/.libs/libnetcdff.a /cluster/intel-15/lib/libnetcdf.a -lcurl 
> /cluster/intel-15/lib/libhdf5_hl.a /cluster/intel-15/lib/libhdf5.a -lz -ldl 
> /cluster/intel-15/lib/libsz.a -lm
> mpif90 -DHAVE_CONFIG_H -I. -I.. -I../libsrc   -I/cluster/intel-15/include 
> -I../fortran   -I../fortran -g -c -o ftst_vars.o ftst_vars.F
> ftst_vars.F(56): error #6404: This name does not have a type, and must have 
> an explicit type.   [NF_SET_CHUNK_CACHE]
> retval = nf_set_chunk_cache(CACHE_SIZE, CACHE_NELEMS,
> ---------------^
> The make step produces no error, though.
> The config is:
> --prefix=/cluster/intel-15 CC=mpicc FC=mpif90 FF77=mpif77 --enable-shared=no 
> CPPFLAGS=-I/cluster/intel-15/include LDFLAGS=-L/cluster/intel-15/lib 
> LIBS="-lnetcdf -lhdf5_hl -lhdf5 -lsz" CFLAGS=-DpgiFortran

I'm pretty sure it's irrelevant to this problem, but "FF77=mpif77" above 
should instead be "F77=mpif77".

> I've checked with some earlier posts, but they states that check of static 
> NetCDF Fortran w/ SZIP should have been fixed after version 4.2.
> Am I missing something or there are bugs need to be fixed?

I can't see why this has anything to do with szip or static versus
shared libraries.  The error message says that there's no declaration
for the type of value returned by the netCDF Fortran-77 function
nf_set_chunk_cache(), but the type is actually declared in the F77
include file netcdf.inc:

  !     For dealing with file level chunk cache.
        integer nf_set_chunk_cache
        external nf_set_chunk_cache

which should be visible to the program in ftst_vars.F, because it has
the statement

        include 'netcdf.inc'

in the program from which nf_set_chunk_cache() is called.

Check to make sure you see the declaration for nf_set_chunk_cache in
the file fortran/netcdf.inc, a file that is created when "make all" is
run, (or "make check", which depends on the target "all" being made
first).  If the netcdf.inc file is there but it doesn't contain the
needed declaration, I don't know what the problem is.

A possible explanation is that you have an old netCDF-3 version of
netcdf.inc installed in an include directory that's searched by the
compiler before it finds ../fortran/netcdf.inc. For example, if there
was an old netcdf.inc file in /cluster/intel-15/include/, where the
netCDF-C v4.3.2 library is installed, it might be missing the
necessary declaration. If that's the case, delete or rename that old
include file and try again.

--Russ

Russ Rew                                         UCAR Unidata Program
address@hidden                      http://www.unidata.ucar.edu



Ticket Details
===================
Ticket ID: JCT-779716
Department: Support netCDF
Priority: Normal
Status: Closed