Unidata / netcdf-fortran

Official GitHub repository for netCDF-Fortran libraries, which depend on the netCDF C library. Install the netCDF C library first.
Other
244 stars 98 forks source link

classic netcdf-c build fails due to missing quantization constants #445

Open edwardhartnett opened 2 months ago

edwardhartnett commented 2 months ago

Another quick netcdf question. I am getting this build error in netcdf-fortan when linking with minimal build of netcdf-c.

module_netcdf_nf_data.F90:167:54:

167 | Integer, Parameter :: NF_NOQUANTIZE = NC_NOQUANTIZE | 1 Error: Symbol 'nc_noquantize' at (1) has no IMPLICIT type; did you mean 'nf_noquantize'? module_netcdf_nf_data.F90:168:67:

168 | Integer, Parameter :: NF_QUANTIZE_BITGROOM = NC_QUANTIZE_BITGROOM | 1 Error: Symbol 'nc_quantize_bitgroom' at (1) has no IMPLICIT type; did you mean 'nf_quantize_bitgroom'? make[1]: *** [Makefile:766: module_netcdf_nf_data.lo] Error 1

I compiled netcdf-c without hdf5, dap, or any filter, basically just old netcdf classic support.

This is my build script:

!/bin/bash

set -eux

install_prefix=$(pwd)/install

( rm -f v4.9.2.tar.gz wget https://github.com/Unidata/netcdf-c/archive/v4.9.2.tar.gz rm -rf netcdf-c-4.9.2 tar xf v4.9.2.tar.gz cd netcdf-c-4.9.2 ./configure \ --prefix="${install_prefix}"/netcdf \ --libdir="${install_prefix}"/netcdf/lib \ --enable-cdf5 \ --enable-static \ --disable-byterange \ --disable-dap \ --disable-doxygen \ --disable-hdf5 \ --disable-large-file-tests \ --disable-libxml2 \ --disable-logging \ --disable-shared make -j 8 make install )

( rm -f v4.6.1.tar.gz wget https://github.com/Unidata/netcdf-fortran/archive/v4.6.1.tar.gz rm -rf netcdf-fortran-4.6.1 tar xf v4.6.1.tar.gz cd netcdf-fortran-4.6.1 export CPPFLAGS="-I${install_prefix}/netcdf/include" export LDFLAGS="-L${install_prefix}/netcdf/lib" export LIBS="-lnetcdf" ./configure \ --prefix="${install_prefix}"/netcdf \ --libdir="${install_prefix}"/netcdf/lib \ --enable-static \ --disable-shared \ --disable-doxygen \ --disable-zstandard_plugin make make install )