Removed stray (but harmless) debugging info. Updated windows-binaries documentation to allow both latest stable release as well as latest release candidate.

This commit is contained in:
Ward Fisher 2013-08-29 15:48:03 -06:00
parent c132d94608
commit 55eed7ffa1
4 changed files with 66 additions and 47 deletions

View File

@ -6,7 +6,6 @@
## ENABLE_TESTING() ## ENABLE_TESTING()
## INCLUDE(CTest) ## INCLUDE(CTest)
set(CTEST_TEST_TIMEOUT "1")
set(DART_TESTING_TIMEOUT "3600") set(DART_TESTING_TIMEOUT "3600")
set(CTEST_PROJECT_NAME "netcdf-c") set(CTEST_PROJECT_NAME "netcdf-c")

View File

@ -130,8 +130,7 @@ or
* **What if I want to link against multiple libraries in a non-standard location?** * **What if I want to link against multiple libraries in a non-standard location?**
You can specify the path to search when looking for dependencies and header files using the CMAKE_PREFIX_PATH variable: You can specify the path to search when looking for dependencies and header files using the CMAKE_PREFIX_PATH variable:
> cmake [Source Directory] -DCMAKE_PREFIX_PATH=c:\shared\libs\ > cmake [Source Directory] -DCMAKE_PREFIX_PATH=c:\shared\libs\
or or
> cmake [Source Directory] -DCMAKE_PREFIX_PATH=/usr/custom_library_locations/ > cmake [Source Directory] -DCMAKE_PREFIX_PATH=/usr/custom_library_locations/

View File

@ -14,12 +14,25 @@ Users who prefer to build the netCDF-C libraries from source in a Windows enviro
These libraries can be used with Visual Studio 2010 projects. The downloads are installer packages which contain the netCDF-C libraries and utilities (ncgen, ncgen3, ncdump and nccopy), as well as the associated dependencies. These libraries can be used with Visual Studio 2010 projects. The downloads are installer packages which contain the netCDF-C libraries and utilities (ncgen, ncgen3, ncdump and nccopy), as well as the associated dependencies.
## Latest Stable Release (netCDF-C 4.3.0)
Configuration | 32-bit | 64-bit | Configuration | 32-bit | 64-bit |
:-------------------|:-------- |:-------| :-------------------|:-------- |:-------|
netCDF 3 | [netCDF4.3.1-rc2-NC3-32.exe][1] | [netCDF4.3.1-rc2-NC3-64.exe][5] netCDF 3 | [netCDF4.3.0-NC3-32.exe][r1] | [netCDF4.3.0-NC3-64.exe][r5]
netCDF3+DAP | [netCDF4.3.1-rc2-NC3-DAP-32.exe][2] | [netCDF4.3.1-rc2-NC3-DAP-64.exe][6] netCDF3+DAP | [netCDF4.3.0-NC3-DAP-32.exe][r2] | [netCDF4.3.0-NC3-DAP-64.exe][r6]
netCDF4 | [netCDF4.3.1-rc2-NC4-32.exe][3] | [netCDF4.3.1-rc2-NC4-64.exe][7] netCDF4 | [netCDF4.3.0-NC4-32.exe][r3] | [netCDF4.3.0-NC4-64.exe][r7]
netCDF4+DAP | [netCDF4.3.1-rc2-NC4-DAP-32.exe][4] | [netCDF4.3.1-rc2-NC4-DAP-64.exe][8] netCDF4+DAP | [netCDF4.3.0-NC4-DAP-32.exe][r4] | [netCDF4.3.0-NC4-DAP-64.exe][r8]
## Latest Release Candidate (netCDF-C 4.3.1-rc2)
Configuration | 32-bit | 64-bit |
:-------------------|:-------- |:-------|
netCDF 3 | [netCDF4.3.1-rc2-NC3-32.exe][rc1] | [netCDF4.3.1-rc2-NC3-64.exe][rc5]
netCDF3+DAP | [netCDF4.3.1-rc2-NC3-DAP-32.exe][rc2] | [netCDF4.3.1-rc2-NC3-DAP-64.exe][rc6]
netCDF4 | [netCDF4.3.1-rc2-NC4-32.exe][rc3] | [netCDF4.3.1-rc2-NC4-64.exe][rc7]
netCDF4+DAP | [netCDF4.3.1-rc2-NC4-DAP-32.exe][rc4] | [netCDF4.3.1-rc2-NC4-DAP-64.exe][rc8]
# Using the netCDF-C Libraries with Visual Studio # Using the netCDF-C Libraries with Visual Studio
In order to use the netcdf libraries, you must ensure that the .dll files (along with any dependencies from deps/shared/bin) are on the system path. In order to compile a program using these libraries, you must first link your program against the appropriate 'import' (.lib) libraries. In order to use the netcdf libraries, you must ensure that the .dll files (along with any dependencies from deps/shared/bin) are on the system path. In order to compile a program using these libraries, you must first link your program against the appropriate 'import' (.lib) libraries.
@ -36,16 +49,24 @@ When installed, the netCDF libraries are placed in the specified locations, alon
*The following points should be considered when using the netCDF-C libraries on Windows.* *The following points should be considered when using the netCDF-C libraries on Windows.*
1. Currently, 64-bit offset large file support is only available when using the 64-bit libraries. [NCF-219] 1. When building the netCDF-C libraries with netCDF4 support, using the 'debug' libraries may cause extraneous warnings. These warnings are related to cross-dll memory management, and appear to be harmless. You can safely ignore them by using the 'release' libraries. [NCF-220]
2. When building the netCDF-C libraries with netCDF4 support, using the 'debug' libraries may cause extraneous warnings. These warnings are related to cross-dll memory management, and appear to be harmless. You can safely ignore them by using the 'release' libraries. [NCF-220]
Both of these issues are being actively worked on. The may be tracked in the Unidata JIRA system at <http://bugtracking.unidata.ucar.edu/>, using the provided JIRA identifiers.
[1]: http://www.unidata.ucar.edu/netcdf/win_netcdf/netCDF4.3.1-rc2-NC3-32.exe [r1]: http://www.unidata.ucar.edu/netcdf/win_netcdf/netCDF4.3.0-NC3-32.exe
[2]: http://www.unidata.ucar.edu/netcdf/win_netcdf/netCDF4.3.1-rc2-NC3-DAP-32.exe [r2]: http://www.unidata.ucar.edu/netcdf/win_netcdf/netCDF4.3.0-NC3-DAP-32.exe
[3]: http://www.unidata.ucar.edu/netcdf/win_netcdf/netCDF4.3.1-rc2-NC4-32.exe [r3]: http://www.unidata.ucar.edu/netcdf/win_netcdf/netCDF4.3.0-NC4-32.exe
[4]: http://www.unidata.ucar.edu/netcdf/win_netcdf/netCDF4.3.1-rc2-NC4-DAP-32.exe [r4]: http://www.unidata.ucar.edu/netcdf/win_netcdf/netCDF4.3.0-NC4-DAP-32.exe
[5]: http://www.unidata.ucar.edu/netcdf/win_netcdf/netCDF4.3.1-rc2-NC3-64.exe [r5]: http://www.unidata.ucar.edu/netcdf/win_netcdf/netCDF4.3.0-NC3-64.exe
[6]: http://www.unidata.ucar.edu/netcdf/win_netcdf/netCDF4.3.1-rc2-NC3-DAP-64.exe [r6]: http://www.unidata.ucar.edu/netcdf/win_netcdf/netCDF4.3.0-NC3-DAP-64.exe
[7]: http://www.unidata.ucar.edu/netcdf/win_netcdf/netCDF4.3.1-rc2-NC4-64.exe [r7]: http://www.unidata.ucar.edu/netcdf/win_netcdf/netCDF4.3.0-NC4-64.exe
[8]: http://www.unidata.ucar.edu/netcdf/win_netcdf/netCDF4.3.1-rc2-NC4-DAP-64.exe [r8]: http://www.unidata.ucar.edu/netcdf/win_netcdf/netCDF4.3.0-NC4-DAP-64.exe
[rc1]: http://www.unidata.ucar.edu/netcdf/win_netcdf/netCDF4.3.1-rc2-NC3-32.exe
[rc2]: http://www.unidata.ucar.edu/netcdf/win_netcdf/netCDF4.3.1-rc2-NC3-DAP-32.exe
[rc3]: http://www.unidata.ucar.edu/netcdf/win_netcdf/netCDF4.3.1-rc2-NC4-32.exe
[rc4]: http://www.unidata.ucar.edu/netcdf/win_netcdf/netCDF4.3.1-rc2-NC4-DAP-32.exe
[rc5]: http://www.unidata.ucar.edu/netcdf/win_netcdf/netCDF4.3.1-rc2-NC3-64.exe
[rc6]: http://www.unidata.ucar.edu/netcdf/win_netcdf/netCDF4.3.1-rc2-NC3-DAP-64.exe
[rc7]: http://www.unidata.ucar.edu/netcdf/win_netcdf/netCDF4.3.1-rc2-NC4-64.exe
[rc8]: http://www.unidata.ucar.edu/netcdf/win_netcdf/netCDF4.3.1-rc2-NC4-DAP-64.exe

View File

@ -64,7 +64,7 @@ main(int argc, char **argv)
} }
/* Create a netCDF 64-bit offset format file. Write a value. */ /* Create a netCDF 64-bit offset format file. Write a value. */
sprintf(file_name, "%s/%s", TEMP_LARGE, FILE_NAME); fflush(0); sprintf(file_name, "%s/%s", TEMP_LARGE, FILE_NAME);
printf("*** Creating %s for 64-bit offset large file test...", file_name); printf("*** Creating %s for 64-bit offset large file test...", file_name);
if ((res = nc_create(file_name, cflag|NC_64BIT_OFFSET, &ncid))) if ((res = nc_create(file_name, cflag|NC_64BIT_OFFSET, &ncid)))
ERR; ERR;
@ -97,7 +97,7 @@ main(int argc, char **argv)
ERR; ERR;
if ((res = nc_close(ncid))) if ((res = nc_close(ncid)))
ERR; ERR;
printf("ok\n"); fflush(0); printf("ok\n");
/* How about a meteorological data file about the weather /* How about a meteorological data file about the weather
experience by various generals of revolutionary armies? experience by various generals of revolutionary armies?
@ -118,7 +118,7 @@ main(int argc, char **argv)
classic format). Then some variations to check record var classic format). Then some variations to check record var
boundaries. boundaries.
*/ */
printf("*** Now a 64-bit offset, large file, fixed var test..."); fflush(0); printf("*** Now a 64-bit offset, large file, fixed var test...");
if ((res = nc_create(file_name, cflag|NC_64BIT_OFFSET, &ncid))) if ((res = nc_create(file_name, cflag|NC_64BIT_OFFSET, &ncid)))
ERR; ERR;
if ((res = nc_set_fill(ncid, NC_NOFILL, NULL))) if ((res = nc_set_fill(ncid, NC_NOFILL, NULL)))
@ -145,7 +145,7 @@ main(int argc, char **argv)
ERR; ERR;
if ((res = nc_enddef(ncid))) if ((res = nc_enddef(ncid)))
ERR; ERR;
printf("ok\n"); fflush(0); printf("ok\n");
/* Write a value or two just for fun. */ /* Write a value or two just for fun. */
/*index[0] = QTR_CLASSIC_MAX - 296; /*index[0] = QTR_CLASSIC_MAX - 296;
@ -155,7 +155,7 @@ main(int argc, char **argv)
ERR; ERR;
if (int_val_in != int_val_out) if (int_val_in != int_val_out)
BAIL2;*/ BAIL2;*/
printf("*** Now writing some values..."); fflush(0); printf("*** Now writing some values...");
index[0] = QTR_CLASSIC_MAX - 295; index[0] = QTR_CLASSIC_MAX - 295;
if ((res = nc_put_var1_int(ncid, napoleanid, index, &int_val_out))) if ((res = nc_put_var1_int(ncid, napoleanid, index, &int_val_out)))
ERR; ERR;
@ -182,12 +182,12 @@ main(int argc, char **argv)
if ((res = nc_close(ncid))) if ((res = nc_close(ncid)))
ERR; ERR;
printf("ok\n"); fflush(0); printf("ok\n");
/* This time it should fail, because we're trying to cram this into /* This time it should fail, because we're trying to cram this into
a classic format file. nc_enddef will detect our violations and a classic format file. nc_enddef will detect our violations and
give an error. We've*/ give an error. We've*/
printf("*** Now a classic file which will fail..."); fflush(0); printf("*** Now a classic file which will fail...");
if ((res = nc_create(file_name, cflag, &ncid))) if ((res = nc_create(file_name, cflag, &ncid)))
ERR; ERR;
if ((res = nc_set_fill(ncid, NC_NOFILL, NULL))) if ((res = nc_set_fill(ncid, NC_NOFILL, NULL)))
@ -216,10 +216,10 @@ main(int argc, char **argv)
ERR; ERR;
if ((res = nc_close(ncid)) != NC_EVARSIZE) if ((res = nc_close(ncid)) != NC_EVARSIZE)
ERR; ERR;
printf("ok\n"); fflush(0); printf("ok\n");
/* This will create some max sized 64-bit offset format fixed vars. */ /* This will create some max sized 64-bit offset format fixed vars. */
printf("*** Now a 64-bit offset, simple fixed var create test..."); fflush(0); printf("*** Now a 64-bit offset, simple fixed var create test...");
if ((res = nc_create(file_name, cflag|NC_64BIT_OFFSET, &ncid))) if ((res = nc_create(file_name, cflag|NC_64BIT_OFFSET, &ncid)))
ERR; ERR;
if ((res = nc_set_fill(ncid, NC_NOFILL, NULL))) if ((res = nc_set_fill(ncid, NC_NOFILL, NULL)))
@ -240,11 +240,11 @@ main(int argc, char **argv)
ERR; ERR;
if ((res = nc_close(ncid))) if ((res = nc_close(ncid)))
ERR; ERR;
printf("ok\n"); fflush(0); printf("ok\n");
/* This will exceed the 64-bit offset format limits for one of the /* This will exceed the 64-bit offset format limits for one of the
fixed vars. */ fixed vars. */
printf("*** Now a 64-bit offset, over-sized file that will fail..."); fflush(0); printf("*** Now a 64-bit offset, over-sized file that will fail...");
if ((res = nc_create(file_name, cflag|NC_64BIT_OFFSET, &ncid))) if ((res = nc_create(file_name, cflag|NC_64BIT_OFFSET, &ncid)))
ERR; ERR;
if ((res = nc_set_fill(ncid, NC_NOFILL, NULL))) if ((res = nc_set_fill(ncid, NC_NOFILL, NULL)))
@ -262,12 +262,12 @@ main(int argc, char **argv)
ERR; ERR;
if ((res = nc_close(ncid)) != NC_EVARSIZE) if ((res = nc_close(ncid)) != NC_EVARSIZE)
ERR; ERR;
printf("ok\n"); fflush(0); printf("ok\n");
/* Now let's see about record vars. First create a 64-bit offset /* Now let's see about record vars. First create a 64-bit offset
file with three rec variables, each with the same numbers as file with three rec variables, each with the same numbers as
defined above for the fixed var tests. This should all work. */ defined above for the fixed var tests. This should all work. */
printf("*** Now a 64-bit offset, record var file..."); fflush(0); printf("*** Now a 64-bit offset, record var file...");
if ((res = nc_create(file_name, cflag|NC_64BIT_OFFSET, &ncid))) if ((res = nc_create(file_name, cflag|NC_64BIT_OFFSET, &ncid)))
ERR; ERR;
if ((res = nc_set_fill(ncid, NC_NOFILL, NULL))) if ((res = nc_set_fill(ncid, NC_NOFILL, NULL)))
@ -299,11 +299,11 @@ main(int argc, char **argv)
ERR; ERR;
if ((res = nc_close(ncid))) if ((res = nc_close(ncid)))
ERR; ERR;
printf("ok\n"); fflush(0); printf("ok\n");
/* Now try this record file in classic format. It should fail and /* Now try this record file in classic format. It should fail and
the enddef. Too many bytes in the first record.*/ the enddef. Too many bytes in the first record.*/
printf("*** Now a classic file that's too big and will fail..."); fflush(0); printf("*** Now a classic file that's too big and will fail...");
if ((res = nc_create(file_name, cflag, &ncid))) if ((res = nc_create(file_name, cflag, &ncid)))
ERR; ERR;
if ((res = nc_set_fill(ncid, NC_NOFILL, NULL))) if ((res = nc_set_fill(ncid, NC_NOFILL, NULL)))
@ -335,13 +335,13 @@ main(int argc, char **argv)
ERR; ERR;
if ((res = nc_close(ncid)) != NC_EVARSIZE) if ((res = nc_close(ncid)) != NC_EVARSIZE)
ERR; ERR;
printf("ok\n"); fflush(0); printf("ok\n");
/* Now try this record file in classic format. It just barely /* Now try this record file in classic format. It just barely
passes at the enddef. Almost, but not quite, too many bytes in passes at the enddef. Almost, but not quite, too many bytes in
the first record. Since I'm adding a fixed variable (Collins), the first record. Since I'm adding a fixed variable (Collins),
I don't get the last record size exemption. */ I don't get the last record size exemption. */
printf("*** Now a classic file with recs and one fixed will fail..."); fflush(0); printf("*** Now a classic file with recs and one fixed will fail...");
if ((res = nc_create(file_name, cflag, &ncid))) if ((res = nc_create(file_name, cflag, &ncid)))
ERR; ERR;
if ((res = nc_set_fill(ncid, NC_NOFILL, NULL))) if ((res = nc_set_fill(ncid, NC_NOFILL, NULL)))
@ -364,7 +364,7 @@ main(int argc, char **argv)
ERR; ERR;
if ((res = nc_close(ncid))) if ((res = nc_close(ncid)))
ERR; ERR;
printf("ok\n"); fflush(0); printf("ok\n");
/* Try a classic file with several records, and the last record var /* Try a classic file with several records, and the last record var
with a record size greater than our magic number of 2 GiB - 4 with a record size greater than our magic number of 2 GiB - 4
@ -374,7 +374,7 @@ main(int argc, char **argv)
8, or about 16 GB per record. Zowie! (Mind you, Cromwell 8, or about 16 GB per record. Zowie! (Mind you, Cromwell
certainly had a great deal of revolutionary fervor.) certainly had a great deal of revolutionary fervor.)
*/ */
printf("*** Now a classic file with one large rec var..."); fflush(0); printf("*** Now a classic file with one large rec var...");
if ((res = nc_create(file_name, cflag, &ncid))) if ((res = nc_create(file_name, cflag, &ncid)))
ERR; ERR;
if ((res = nc_set_fill(ncid, NC_NOFILL, NULL))) if ((res = nc_set_fill(ncid, NC_NOFILL, NULL)))
@ -400,11 +400,11 @@ main(int argc, char **argv)
ERR; ERR;
if ((res = nc_close(ncid))) if ((res = nc_close(ncid)))
ERR; ERR;
printf("ok\n"); fflush(0); printf("ok\n");
/* This is a classic format file with an extra-large last record /* This is a classic format file with an extra-large last record
var. */ var. */
printf("*** Now a classic file with extra-large last record var...") ;fflush(0); printf("*** Now a classic file with extra-large last record var...") ;
if ((res = nc_create(file_name, cflag, &ncid))) if ((res = nc_create(file_name, cflag, &ncid)))
ERR; ERR;
if ((res = nc_set_fill(ncid, NC_NOFILL, NULL))) if ((res = nc_set_fill(ncid, NC_NOFILL, NULL)))
@ -443,13 +443,13 @@ main(int argc, char **argv)
ERR; ERR;
if ((res = nc_close(ncid))) if ((res = nc_close(ncid)))
ERR; ERR;
printf("ok\n"); fflush(0); printf("ok\n");
/* This is a classic format file with an extra-large second to last /* This is a classic format file with an extra-large second to last
record var. But this time it won't work, because the size record var. But this time it won't work, because the size
exemption only applies to the last record var. Note that one exemption only applies to the last record var. Note that one
dimension is small (5000). */ dimension is small (5000). */
printf("*** Now a classic file xtra-large 2nd to last var that will fail..."); fflush(0); printf("*** Now a classic file xtra-large 2nd to last var that will fail...");
if ((res = nc_create(file_name, cflag, &ncid))) if ((res = nc_create(file_name, cflag, &ncid)))
ERR; ERR;
if ((res = nc_set_fill(ncid, NC_NOFILL, NULL))) if ((res = nc_set_fill(ncid, NC_NOFILL, NULL)))
@ -480,13 +480,13 @@ main(int argc, char **argv)
ERR; ERR;
if ((res = nc_close(ncid)) != NC_EVARSIZE) if ((res = nc_close(ncid)) != NC_EVARSIZE)
ERR; ERR;
printf("ok\n"); fflush(0); printf("ok\n");
/* Now try an extra large second to last ver with 64-bit /* Now try an extra large second to last ver with 64-bit
offset. This won't work either, because the cromwell var is so offset. This won't work either, because the cromwell var is so
large. It exceeds the 4GiB - 4 byte per record limit for record large. It exceeds the 4GiB - 4 byte per record limit for record
vars. */ vars. */
printf("*** Now a 64-bit offset file with too-large rec var that will fail..."); fflush(0); printf("*** Now a 64-bit offset file with too-large rec var that will fail...");
if ((res = nc_create(file_name, cflag|NC_64BIT_OFFSET, &ncid))) if ((res = nc_create(file_name, cflag|NC_64BIT_OFFSET, &ncid)))
ERR; ERR;
if ((res = nc_set_fill(ncid, NC_NOFILL, NULL))) if ((res = nc_set_fill(ncid, NC_NOFILL, NULL)))
@ -517,10 +517,10 @@ main(int argc, char **argv)
ERR; ERR;
if ((res = nc_close(ncid)) != NC_EVARSIZE) if ((res = nc_close(ncid)) != NC_EVARSIZE)
ERR; ERR;
printf("ok\n"); fflush(0); printf("ok\n");
/* A 64-bit offset record file that just fits... */ /* A 64-bit offset record file that just fits... */
printf("*** Now a 64 bit-offset file that just fits..."); fflush(0); printf("*** Now a 64 bit-offset file that just fits...");
if ((res = nc_create(file_name, cflag|NC_64BIT_OFFSET, &ncid))) if ((res = nc_create(file_name, cflag|NC_64BIT_OFFSET, &ncid)))
ERR; ERR;
if ((res = nc_set_fill(ncid, NC_NOFILL, NULL))) if ((res = nc_set_fill(ncid, NC_NOFILL, NULL)))
@ -559,11 +559,11 @@ main(int argc, char **argv)
ERR; ERR;
if ((res = nc_close(ncid))) if ((res = nc_close(ncid)))
ERR; ERR;
printf("ok\n"); fflush(0); printf("ok\n");
} /* end of cmode run */ } /* end of cmode run */
/* Wow! Everything worked! */ /* Wow! Everything worked! */
printf("*** Tests successful!\n"); fflush(0); printf("*** Tests successful!\n");
/* Delete the huge data file we created. */ /* Delete the huge data file we created. */
(void) remove(file_name); (void) remove(file_name);