Dear All,
This mail could be interesting for Windows users. I have compiled
necdf-4.1.2 static library; DLL compilation needs only DEF file: list of
exported functions, I have no time for this.
New version compilation is necessary to move from 4.0.1: previous
release (4.1.1) had a nasty bug.
Unfortunately new release is rather raw, even compilation needs some
changes in the source!
Here are my actions:
1) Take config.h from Linux compilation and change the following lines
(only modified are listed):
#define HAVE_ALLOCA 0
#define HAVE_ALLOCA_H 0
#define HAVE_DECL_ISFINITE 0
#define HAVE_DECL_SIGNBIT 0
#define HAVE_DLFCN_H 0
#define HAVE_FSYNC 0
#define HAVE_GETOPT_H 0
#define HAVE_GETRLIMIT 0
#define HAVE_GETTIMEOFDAY 0
#define HAVE_LIBZ 0
#define HAVE_LOCALE_H 0
#define HAVE_MEMORY_H 0
#define HAVE_PTRDIFF_T 0
// #define HAVE_RPC_TYPES_H /**/
// #define HAVE_RPC_XDR_H /**/
#define HAVE_SNPRINTF 0
// #define HAVE_SSIZE_T 1
// #define HAVE_STDBOOL_H 1
#define HAVE_STRCASECMP 0
#define HAVE_STRINGS_H 0
#define HAVE_STRTOLL 0
#define HAVE_STRUCT_STAT_ST_BLKSIZE 0
// #define HAVE_ST_BLKSIZE 1
// #define HAVE_UNISTD_H 1
#define SIZEOF_OFF_T 4
#undef USE_DAP
#define USE_FSYNC 0
#undef USE_HDF4
#undef USE_PARALLEL
#undef USE_PARALLEL_MPIO
#undef USE_PARALLEL_POSIX
#undef USE_PNETCDF
#undef USE_SZIP // if not using SZIP
#undef WORDS_BIGENDIAN
#undef f2cFortran
#undef gFortran
#undef pgiFortran
Note: some defs must be commented out: setting to 0 doesn't work!
Actually many defs are not used at all.
I have to add one new def:
#define uint unsigned
Put config.h into include directory and add two files (usually they are
included in some other package on PC): inttypes.h and stdint.h.
2) Rename two files (object file name must be unique in VC):
libsrc/dim.c => dim3.c
libsrc/var.c => var3.c
3) Make project and add all C files from the following directories:
libdispath
liblib
libsrc
libsrc4
Insert these directories and inlude into "Additional Include
Directories".
4) Add HDF5 include path and libraries.
5) Comment line 57 in libsrc/lookup3.c:
// #include <sys/param.h> /* attempt to define endianness */
6) Correct two mistakes (C++ stuff in C file).
File libdispatch/nc_url.c, line 329:
NClist* values = (NClist*)nclistget(params,i+1);
values must be declared at the start of block.
File libsrc4/nc4file.c: swap lines 2880 and 2881.
**************
Press F7 or whatever to compile. That's all!!!
Regards,
Sergei
-----Original Message-----
From: netcdfgroup-bounces@xxxxxxxxxxxxxxxx
[mailto:netcdfgroup-bounces@xxxxxxxxxxxxxxxx] On Behalf Of Ed Hartnett
Sent: 30 March 2011 03:07
To: netcdfgroup@xxxxxxxxxxxxxxxx
Subject: [netcdfgroup] netcdf-4.1.2 released...
Howdy all!
The Unidata NetCDF group is pleased to announce the 4.1.2 release of the
netCDF C/Fortran libraries. This release contains bug fixes and internal
refactoring.
(Users of parallel I/O with netCDF-4 please note: starting with the
4.1.2 release the parallel I/O functions are prototyped in netcdf_par.h,
not netcdf.h. You must include netcdf_par.h BEFORE netcdf.h to use
parallel I/O with netCDF-4.)
This release contains the following:
* Rewrite netCDF-4 attribute put code for a large speedup when
writing lots of attributes.
* Fix nc-config --libs when static dependent libraries are not
installed in the same directory as netCDF libraries (thanks to
Jeff Whitaker).
* Build shared libraries by default, requiring separate Fortran
library. Static libraries now built only with --disable-shared.
* Refactor of HDF5 file metadata scan for large speedup in opening
files, especially large files.
* Complete rewrite of the handling of character datalist
constants. The heuristics are documented in ncgen.1.
* Eliminate use of NC_MAX_DIMS and NC_MAX_VARS in ncdump and nccopy,
allocating memory as needed and reducing their memory footprint.
* Add documentation for new nc_inq_path() function.
* Use hashing to speedup lookups by name for files with lots of
dimensions and variables (thanks to Greg Sjaardema).
* Add options to nccopy to support uniform compression of variables
in output, shuffling, and fixing unlimited dimensions. Add option
to support specifying chunking in output in terms of dimension
names.
* Modified opendap constraint parser to be more compatible with a
java version of the parser.
* Modified ncgen to utilize iterators internally; should be no user
visible effect.
* An internal refactoring of the C library allows for easier
maintainance and extension of the netCDF library. This
restructuring of the library code is invisible to the
end-user. Two new directories have been added to the netCDF build:
libdispatch, which decides whether to call a netcdf classic,
netcdf-4, or opendap version of each function in the API, and
liblib, where, depending on the configure choices, the final
netCDF library is assembled from convenience libraries created in
other directories.
* Fix for make bug which caused documentation to be unnecessarily
rebuilt after make clean.
* Fix for bug in accessing a multidimensional variable with more
than 4 billion values on a 32-bit platform.
* Fix for memory performance problems in parallel I/O. The automatic
use of HDF5 buffers in parallel programs with netCDF-4 resulted in
large memory use.
* Fix netCDF-4 bug caused when doing enddef/redef and then defining
coordinate variable out of order.
* Refactoring of netCDF-4 internals to reduce memory use and end
dependence on size of NC_MAX_DIMS and NC_MAX_NAME.
* Fix "ncdump -c" bug identifying coordinate variables in groups.
* Fix bug in libsrc/posixio.c when providing sizehint larger than
default, which then doesn't get used (thanks to Harald Anlauf).
* The netCDF C/Fortran/C++ source code has been moved to Unidata's
subversion server. Interested users can now examine the netCDF
code in its full glory and gory internals at
http://svn.unidata.ucar.edu/netcdf.
* Documentation improvements, especially relating to creating
netCDF-4 compatible files with HDF5 only.
The 4.1.2 release source code is available from the following URL.
ftp://ftp.unidata.ucar.edu/pub/netcdf/netcdf-4.1.2.tar.gz or
ftp://ftp.unidata.ucar.edu/pub/netcdf/netcdf-4.1.2.tar.Z
Build it according to these instructions:
http://www.unidata.ucar.edu/software/netcdf/docs/netcdf-install.html#Qui
ck-Instructions
Report problems to the support email address:
support-netcdf@xxxxxxxxxxxxxxxx
Thanks!
Ed
--
Ed Hartnett -- ed@xxxxxxxxxxxxxxxx