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.
Hello, I just built 32 and 64 bit Windows binaries from the netcdf 4.1 sources at <ftp://ftp.unidata.ucar.edu/pub/netcdf/netcdf-4.1.tar.gz> using Visual Studio 2008 and HDF5 1.8.4. Some changes to the project and source files were necessary: * win32/NET/ncgen/ncgen.vcproj is corrupt. RelativePath strings are missing quotation marks at the end. * win32/NET/config.h is outdated (e.g version numbers) and is missing defines for DEFAULT_CHUNK_SIZE, DEFAULT_CHUNKS_IN_CACHE, MAX_DEFAULT_CACHE_SIZE, and the 64 bit platform. * strcasecmp and some other variables are unknown to Windows. The Win32 target builds fine and passes nc_test, nctest, and quick_large_test. The resulting netcdf.dll is missing DAP functionality. The win64 build also succeeds and passes nc_test and quick_large_test. Nctest crashes and/or reports thousands of errors: 5>Testing V2 API with 3 different netCDF formats. 5>Switching to netCDF classic format. 5>*** Testing nccreate ... ok *** 5>*** Testing ncopen ... ok *** 5>*** Testing ncredef ... ok *** 5>*** Testing ncendef ... ok *** 5>*** Testing ncclose ... ok *** 5>*** Testing ncinquire ... ok *** 5>*** Testing ncsync ... *** test_ncsync: ncvarget succeeded but data values wrong 5>ok *** 5>*** Testing ncabort ... ok *** 5>*** Testing ncdimdef ... ok *** 5>*** Testing ncdimid ... ok *** 5>*** Testing ncdiminq ... ok *** 5>*** Testing ncdimrename ... ok *** 5>*** Testing ncvardef ... *** test_ncvardef: ncvarget1 failure for byte 5>*** test_ncvardef: ncvarget1 failure for char 5>*** test_ncvardef: ncvarget1 failure for short 5>*** test_ncvardef: ncvarget1 failure for long 5>FAILED! *** 5>*** Testing ncvarid ... ok *** 5>*** Testing ncvarinq ... ok *** 5>*** Testing ncvarput1 ... *** test_varputget1: ncvarput1 failed for point 0, variable ce 5>*** test_ncvarput1: ncredef failed 5>*** Testing ncvarget1 ... *** test_varputget1: ncvarput1 failed for point 0, variable ce 5>*** test_ncvarget1: ncredef failed 5>*** Testing ncvarput ... *** test_varputget: bad values returned from ncvarget ... and so on Any hints how to get DAP functionality enabled and a working 64-bit nctest are appreciated. Best, Christoph Gohlke Laboratory for Fluorescence Dynamics University of California, Irvine http://www.lfd.uci.edu/
--- nc_test/tests.h Mon Jan 19 14:26:36 1970 +++ nc_test/tests.h Mon Jan 19 14:26:36 1970 @@ -438,39 +438,39 @@ * N.B. there is potential for these declarations to get * out of sync with those in ../libsrc/nc.h and the definitions. */ -extern int +EXTERNL int nctypelen(nc_type datatype); -extern int +EXTERNL int nc_put_var1(int ncid, int varid, const size_t *index, const void *value); -extern int +EXTERNL int nc_get_var1(int ncid, int varid, const size_t *index, void *value); -extern int +EXTERNL int nc_put_vara(int ncid, int varid, const size_t *start, const size_t *count, const void *value); -extern int +EXTERNL int nc_get_vara(int ncid, int varid, const size_t *start, const size_t *count, void *value); -extern int +EXTERNL int nc_put_vars(int ncid, int varid, const size_t *start, const size_t *count, const ptrdiff_t *stride, const void * value); -extern int +EXTERNL int nc_get_vars(int ncid, int varid, const size_t *start, const size_t *count, const ptrdiff_t *stride, void * value); -extern int +EXTERNL int nc_put_varm(int ncid, int varid, const size_t *start, const size_t *count, const ptrdiff_t *stride, const ptrdiff_t * map, const void *value); -extern int +EXTERNL int nc_get_varm(int ncid, int varid, const size_t *start, const size_t *count, const ptrdiff_t *stride, const ptrdiff_t * map, void *value); --- win32/NET/config.h Mon Jan 19 14:26:36 1970 +++ win32/NET/config.h Mon Jan 19 14:26:36 1970 @@ -7,6 +7,10 @@ /* Should the subprocess compression for Server3 be includes? */ /* #undef COMPRESSION_FOR_SERVER3 */ +#define DEFAULT_CHUNK_SIZE 4194304 +#define DEFAULT_CHUNKS_IN_CACHE 10 +#define MAX_DEFAULT_CACHE_SIZE 67108864 + /* default chunk cache nelems. */ #define CHUNK_CACHE_NELEMS 1000 @@ -47,6 +51,7 @@ /* set this only when building a DLL under MinGW */ /* #undef DLL_NETCDF */ +#define DLL_NETCDF 1 /* uint16 */ /* #undef DUINT16 */ @@ -344,19 +349,19 @@ #define PACKAGE "netcdf" /* Define to the address where bug reports for this package should be sent. */ -#define PACKAGE_BUGREPORT "support@xxxxxxxxxxxxxxxx" +#define PACKAGE_BUGREPORT "support-netcdf@xxxxxxxxxxxxxxxx" /* Define to the full name of this package. */ #define PACKAGE_NAME "netCDF" /* Define to the full name and version of this package. */ -#define PACKAGE_STRING "netCDF 4.0" +#define PACKAGE_STRING "netCDF 4.1" /* Define to the one symbol short name of this package. */ #define PACKAGE_TARNAME "netcdf" /* Define to the version of this package. */ -#define PACKAGE_VERSION "4.0.1-beta3" +#define PACKAGE_VERSION "4.1.0" /* Define as the return type of signal handlers (`int' or `void'). */ /* #undef RETSIGTYPE */ @@ -389,7 +394,15 @@ #define SIZEOF_SHORT 2 /* The size of `size_t', as computed by sizeof. */ -#define SIZEOF_SIZE_T 4 +#ifdef _WIN64 +typedef unsigned __int64 size_t; +typedef __int64 ssize_t; +#define SIZEOF_SIZE_T 8 +#else +typedef unsigned int size_t; +typedef int ssize_t; +#define SIZEOF_SIZE_T 4 +#endif /* The size of `uint16_t', as computed by sizeof. */ /* #undef SIZEOF_UINT16_T */ @@ -442,7 +455,7 @@ #define USE_ZLIB 1 /* Version number of package */ -#define VERSION "4.0.1" +#define VERSION "4.1.0" /* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most significant byte first (like Motorola and SPARC, unlike Intel and VAX). */ --- libsrc/v2i.c Mon Jan 19 14:26:36 1970 +++ libsrc/v2i.c Mon Jan 19 14:26:36 1970 @@ -32,6 +32,7 @@ */ # include "onstack.h" +#include "nc.h" static size_t nvdims(int ncid, int varid) --- ncgen/main.c Mon Jan 19 14:26:36 1970 +++ ncgen/main.c Mon Jan 19 14:26:36 1970 @@ -13,6 +13,8 @@ extern void parse_init(void); extern int yyparse(void); +#define strcasecmp _stricmp + /* Default is netcdf-3 mode 1 */ #define DFALTCMODE 0 @@ -108,6 +110,10 @@ int c; FILE *fp; int languages = 0; + + extern int optind; + extern int opterr; + extern char *optarg; #ifdef __hpux setlocale(LC_CTYPE,""); --- ncgen/ncgentab.c Mon Jan 19 14:26:36 1970 +++ ncgen/ncgentab.c Mon Jan 19 14:26:36 1970 @@ -58,7 +58,7 @@ /* Using locations. */ #define YYLSP_NEEDED 0 - +#define strcasecmp _stricmp /* Tokens. */ #ifndef YYTOKENTYPE --- win32/NET/ncgen/ncgen.vcproj Fri Sep 25 11:20:58 2009 +++ win32/NET/ncgen/ncgen.vcproj Thu Feb 04 17:08:58 2010 @@ -189,209 +359,209 @@ UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}" > <File - RelativePath="..\..\..\ncgen\bytebuffer.c + RelativePath="..\..\..\ncgen\bytebuffer.c" > </File> <File - RelativePath="..\..\..\ncgen\cdata.c + RelativePath="..\..\..\ncgen\cdata.c" > </File> <File - RelativePath="..\..\..\ncgen\cdfdata.c + RelativePath="..\..\..\ncgen\cdfdata.c" > </File> <File - RelativePath="..\..\..\ncgen\cmldata.c + RelativePath="..\..\..\ncgen\cmldata.c" > </File> <File - RelativePath="..\..\..\ncgen\ConvertUTF.c + RelativePath="..\..\..\ncgen\ConvertUTF.c" > </File> <File - RelativePath="..\..\..\ncgen\cvt.c + RelativePath="..\..\..\ncgen\cvt.c" > </File> <File - RelativePath="..\..\..\ncgen\data.c + RelativePath="..\..\..\ncgen\data.c" > </File> <File - RelativePath="..\..\..\ncgen\debug.c + RelativePath="..\..\..\ncgen\debug.c" > </File> <File - RelativePath="..\..\..\ncgen\dump.c + RelativePath="..\..\..\ncgen\dump.c" > </File> <File - RelativePath="..\..\..\ncgen\escapes.c + RelativePath="..\..\..\ncgen\escapes.c" > </File> <File - RelativePath="..\..\..\ncgen\f77data.c + RelativePath="..\..\..\ncgen\f77data.c" > </File> <File - RelativePath="..\..\..\ncgen\genc.c + RelativePath="..\..\..\ncgen\genc.c" > </File> <File - RelativePath="..\..\..\ncgen\gencdf.c + RelativePath="..\..\..\ncgen\gencdf.c" > </File> <File - RelativePath="..\..\..\ncgen\genchar.c + RelativePath="..\..\..\ncgen\genchar.c" > </File> <File - RelativePath="..\..\..\ncgen\gencml.c + RelativePath="..\..\..\ncgen\gencml.c" > </File> <File - RelativePath="..\..\..\ncgen\generr.c + RelativePath="..\..\..\ncgen\generr.c" > </File> <File - RelativePath="..\..\..\ncgen\genf77.c + RelativePath="..\..\..\ncgen\genf77.c" > </File> <File - RelativePath="..\..\..\ncgen\genjjni.c + RelativePath="..\..\..\ncgen\genjjni.c" > </File> <File - RelativePath="..\..\..\ncgen\genjstd.c + RelativePath="..\..\..\ncgen\genjstd.c" > </File> <File - RelativePath="..\..\..\ncgen\genlib.c + RelativePath="..\..\..\ncgen\genlib.c" > </File> <File - RelativePath="..\..\..\ncgen\getfill.c + RelativePath="..\..\..\ncgen\getfill.c" > </File> <File - RelativePath="..\..\..\ncgen\jdatajni.c + RelativePath="..\getopt.c" > </File> <File - RelativePath="..\..\..\ncgen\jdatastd.c + RelativePath="..\..\..\ncgen\jdatajni.c" > </File> <File - RelativePath="..\..\..\ncgen\list.c + RelativePath="..\..\..\ncgen\jdatastd.c" > </File> <File - RelativePath="..\..\..\ncgen\main.c + RelativePath="..\..\..\ncgen\list.c" > </File> <File - RelativePath="..\..\..\ncgen\ncgentab.c + RelativePath="..\..\..\ncgen\main.c" > </File> <File - RelativePath="..\..\..\ncgen\ncgenyy.c + RelativePath="..\..\..\ncgen\ncgentab.c" > </File> <File - RelativePath="..\..\..\ncgen\odom.c + RelativePath="..\..\..\ncgen\odom.c" > </File> <File - RelativePath="..\..\..\ncgen\offsets.c + RelativePath="..\..\..\ncgen\offsets.c" > </File> <File - RelativePath="..\..\..\ncgen\semantics.c + RelativePath="..\..\..\ncgen\semantics.c" > </File> <File - RelativePath="..\..\..\ncgen\util.c + RelativePath="..\..\..\libsrc\string.c" > </File> - </Filter> - <Filter - Name="Header Files" - Filter="h;hpp;hxx;hm;inl;inc;xsd" - UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}" - > <File - RelativePath="..\..\..\ncgen\bytebuffer.h + RelativePath="..\..\..\libsrc\utf8proc.c" > </File> <File - RelativePath="..\..\..\ncgen\ConvertUTF.h + RelativePath="..\..\..\ncgen\util.c" > </File> + </Filter> + <Filter + Name="Header Files" + Filter="h;hpp;hxx;hm;inl;inc;xsd" + UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}" + > <File - RelativePath="..\..\..\ncgen\data.h + RelativePath="..\..\..\ncgen\bytebuffer.h" > </File> <File - RelativePath="..\..\..\ncgen\debug.h + RelativePath="..\..\..\ncgen\ConvertUTF.h" > </File> <File - RelativePath="..\..\..\ncgen\dump.h + RelativePath="..\..\..\ncgen\data.h" > </File> <File - RelativePath="..\..\..\ncgen\generr.h + RelativePath="..\..\..\ncgen\debug.h" > </File> <File - RelativePath="..\..\..\ncgen\genlib.h + RelativePath="..\..\..\ncgen\dump.h" > </File> <File - RelativePath="..\..\..\ncgen\includes.h + RelativePath="..\..\..\ncgen\generr.h" > </File> <File - RelativePath="..\..\..\ncgen\list.h + RelativePath="..\..\..\ncgen\genlib.h" > </File> <File - RelativePath="..\..\..\ncgen\ncgen.h + RelativePath="..\..\..\ncgen\includes.h" > </File> <File - RelativePath="..\..\..\ncgen\ncgen.l + RelativePath="..\..\..\ncgen\list.h" > </File> <File - RelativePath="..\..\..\ncgen\ncgentab.h + RelativePath="..\..\..\ncgen\ncgen.h" > </File> <File - RelativePath="..\..\..\ncgen\ncgen.y + RelativePath="..\..\..\ncgen\ncgentab.h" > </File> <File - RelativePath="..\..\..\ncgen\odom.h + RelativePath="..\..\..\ncgen\odom.h" > </File> <File - RelativePath="..\..\..\ncgen\offsets.h + RelativePath="..\..\..\ncgen\offsets.h" > </File> <File - RelativePath="..\..\..\ncgen\run_nc4_tests.sh + RelativePath="..\..\..\ncgen\run_nc4_tests.sh" > </File> <File - RelativePath="..\..\..\ncgen\run_tests2.sh + RelativePath="..\..\..\ncgen\run_tests.sh" > </File> <File - RelativePath="..\..\..\ncgen\run_tests.sh + RelativePath="..\..\..\ncgen\run_tests2.sh" > </File> <File - RelativePath="..\..\..\ncgen\util.h + RelativePath="..\..\..\ncgen\util.h" > </File> </Filter>
netcdfgroup
archives: