NOTICE: This version of the NSF Unidata web site (archive.unidata.ucar.edu) is no longer being updated.
Current content can be found at unidata.ucar.edu.
To learn about what's going on, see About the Archive Site.
Hi,since netcdf-4.1.2, the netcdf.h file declares all netcdf4 functions, like nc_def_var_deflate and NC_NETCDF4, even if the library was compiled without hdf5 support, and does not have these functions.
I have code like #ifdef NC_NETCDF4 nc_def_var_deflate(...) #endifwhich worked perfectly with netcdf3 and netcdf4 until 4.1.1. Since netcdf 4.1.2, this code compiles still, but when the netcdf-library was not compiled with hdf5 support, the code won't link with the library.
This means, that netcdf since 4.1.2 has a single API, but has different ABIs depending on netcdf-configure flags. I would suggest adding the 'Extra netcdf4 stuff.' function calls to the netcdf3 code, even if they are empty, e.g.
int nc_def_var_deflate(int ncid, int varid, int shuffle, int deflate, int deflate_level) { return NC_NOERR; } Best regards, Heiko
netcdfgroup
archives: