Re: [netcdfgroup] netcdf-4.1.2 released... Visual C compilation

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



  • 2011 messages navigation, sorted by:
    1. Thread
    2. Subject
    3. Author
    4. Date
    5. ↑ Table Of Contents
  • Search the netcdfgroup archives: