Commit graph

26 commits

Author SHA1 Message Date
alnsn
1d8367eef9 Update hdf5 to 1.8.17.
New Features
============

    Configuration
    -------------
    - Cmakehdf5: Added Ability to Run Multiple Make Commands

      Added option --njobs to specify up to how many jobs to launch during
      build (cmake) and testing (ctest).

      (AKC - 2015/12/13, HDFFV-9612)

    - Cmakehdf5: Added Szip Support and Verbose Option

      Added --with-szlib to support the Szip library; and
      --enable/disable-verbose to display all CMake process output.

      (AKC - 2015/11/16, HDFFV-8932 and DAILYTEST-195)

    - CMake minimum is now 3.1.0. (ADB - 2015/11/14)

    - Large File System (LFS) Support has Changed in the Autotools

      We assume that fseeko and ftello exist.

      The *64 I/O functions and types are no longer explicitly used.
      We now rely on a mapping provided by _FILE_OFFSET_BITS (or its
      equivalent).

      _LARGEFILE(64)_SOURCE is no longer exposed via AM_CPPFLAGS.

      (DER - 2016/03/29, HDFFV-9626 and HDFFV-9541)



    Library
    -------
    - New API Calls for Searching for External Dataset Storage

      API calls that determine the search path for dataset external
      storage were added. H5Pset/get_efile_prefix() API calls were added
      to the library. These functions give control over the search path
      for dataset external storage that has been configured with
      H5Pset_external().

      Additionally, the HDF5_EXTFILE_PREFIX environment variable can be
      used to control the search path.

      (DER - 2016/04/20, HDFFV-8740)


    High-Level APIs
    ---------------

    C Packet Table API
    ------------------
    - Replacement of a Public Function with H5PTcreate

      The existing function H5PTcreate_fl limits applications so they
      can use the deflate compression only. The public function
      H5PTcreate has been added to replace H5PTcreate_fl. H5PTcreate
      takes a property list identifier to provide flexibility on
      creation properties.  This also removes the following warning:
      "deprecated conversion from string constant to "char*"
      [-Wwrite-strings]".

      (BMR - 2016/04/25, HDFFV-9708, HDFFV-8615)

    - New Public Functions: H5PTget_dataset and H5PTget_type

      Two accessor functions have been added. H5PTget_dataset returns
      the identifier of the dataset associated with the packet table,
      and H5PTget_type returns the identifier of the datatype used by
      the packet table.

      (BMR - 2016/04/25, HDFFV-8623 patch 3)

    - Regarding #ifdef VLPT_REMOVED

      The #ifdef VLPT_REMOVED blocks have been removed from the packet
      table (PT) library source except for the following functions:
        + H5PTis_varlen() has been made available again
        + H5PTfree_vlen_readbuff() is now H5PTfree_vlen_buff()

      (BMR - 2016/04/25, HDFFV-442)

    C++ Packet Table API
    --------------------
    - New Constructor in FL_PacketTable

      An overloaded constructor has been added to FL_PacketTable and
      takes a property list identifier to provide flexibility on
      creation properties such as compression.

      FL_PacketTable(hid_t fileID, const char* name, hid_t dtypeID,
                       hsize_t chunkSize = 0, hid_t plistID = H5P_DEFAULT)

      (BMR - 2016/04/25, HDFFV-8623 patch 5)

    - New Member Functions in PacketTable

      Two accessor wrappers were added to class PacketTable.

      PacketTable::GetDataset() returns the identifier of the dataset
      associated with the packet table, and PacketTable::GetDatatype()
      returns the identifier of the datatype that the packet table uses.

      (BMR - 2016/04/25, HDFFV-8623 patch 4)

    - New Member Functions with "char*" as an Argument

      Overloaded functions were added to provide the "const char*"
      argument; the existing version will be deprecated in future
      releases. This also removes the following warning:
      "deprecated conversion from string constant to "char*"
      [-Wwrite-strings]".

      (BMR - 2016/04/25, HDFFV-8623 patch 1, HDFFV-8615)

    - Regarding #ifdef VLPT_REMOVED

      The #ifdef VLPT_REMOVED blocks have been removed from the packet
      table library source code except for the following functions:
        + VL_PacketTable::IsVariableLength() was moved to PacketTable
        + VL_PacketTable::FreeReadBuff() is now PacketTable::FreeBuff()

      (BMR - 2016/04/25, HDFFV-442)


    C++ API
    -------
    - New Member Function in DSetCreatPropList

      DSetCreatPropList::setNbit() was added to setup N-bit compression for
      a dataset.

      (BMR - 2016/04/25, HDFFV-8623 patch 7)

    - New Overloaded "const" Member Functions in ArrayType

      The two following functions were added:
        ArrayType::getArrayNDims() const
        ArrayType::getArrayDims() const
      to provide const version, and the non-const version was marked
      deprecated. In-memory array information, ArrayType::rank and
      ArrayType::dimensions, were removed. This is an implementation
      detail and should not affect applications.

      (BMR, 2016/04/25, HDFFV-9725)

     - New member function added

       The assignment operator ArrayType::operator= is added because ArrayType
       has pointer data members.

       (BMR, 2016/03/07, HDFFV-9562)


Support for New Platforms, Languages, and Compilers
===================================================
    - Mac OS X El Capitan 10.11.4 with compilers Apple clang/clang++
      version 7.3.0 from Xcode 7.3, gfortran GNU Fortran (GCC) 5.2.0
      and Intel icc/icpc/ifort version 16.0.2



Bug Fixes since HDF5-1.8.16
===========================

    Configuration
    -------------
    - Updated Linux Language Level Flags to Match the Autotools. Removed
      Linux-specific Flags from OS X.

      An addition to the flags simply being out of sync with the Autotools,
      the Linux flags were used on OS X builds which led to symbols not being
      found. Although this was non-fatal and compilation continued (implicit
      definitions were used by the compiler and the symbols resolved at link
      time), a large number of warnings were raised.

      Linux changes:

      * CHANGED:    _POSIX_C_SOURCE (from 199605 to 200112L)
      * ADDED:      _GNU_SOURCE
      * REMOVED:    _BSD_SOURCE
      * REMOVED:    _DEFAULT_SOURCE

      (DER - 2015/12/08, HDFFV-9627)

    - The --enable-clear-file-buffers configure Option was Non-functional
      so the Feature was Always Enabled (its default value).

      Regardless of the configure flag, the setting was always enabled when
      the Autotools were used to configure HDF5. This was due to the "no"
      option being processed after the "*" option in configure.ac so "*"
      matched first. CMake was unaffected.

      The option now works correctly.

      NOTE that builders are always advised to leave this option enabled.
      When disabled, buffers that are written to disk may contain the
      memory's previous contents, which may include secure information.
      The performance overhead of the feature (a single memset call per
      allocation) is minimal.

      (DER - 2016/02/03, HDFFV-9676)

    - Added a patch to remove '"'s from arguments for MPI compilers that
      were causing errors compiling H5lib_settings.c with SGI MPT.

      (LRK - 2016/04/20, HDFFV-9439)

    Library
    -------
    - Fixed shared file pointer problem which caused a crash when running a
      program provided by a user.

      (VC - 2016/04/01, HDFFV-9469)

    - Fixed some format string warnings that prevent compiling with
      -Werror=format-security on gcc.

      These only appeared in error messages and would not cause problems
      under normal operation.

      (DER - 2016/01/13, HDFFV-9640)

    - Fixed a library segmentation fault when accessing a corrupted
      file provided by a user.

      (MSC - 2016/02/19, HDFFV-9670)


    Tools
    -----
    - h5dump: Sub-setting Fixed for Dimensions Greater than Two

      When a dataset has more than two dimensions, sub-setting would
      incorrectly calculate the data that needed to be displayed.
      Added in block and stride calculations that account for dimensions
      greater than two. NOTE: lines that have line breaks inserted
      because of display length calculations may have index info that
      is incorrect until the next dimension break.

      (ADB - 2016/03/07, HDFFV-9698)

    - h5dump: Issue with Argument Segmentation Fault

      When an argument with an optional value was at the end of the command
      line with a value, h5dump would crash. Reworked check for remaining
      arguments.

      (ADB - 2016/03/07, HDFFV-9570, HDFFV-9684)

    - h5dump: Issue with Default Fill Value

      Added all default cases of fill value to the display of fill value.

      (ADB -, 2016/03/07, HDFFV-9241)

    - h5dump: Clarified Help

      Clarified usage of -O F option in h5dump utility help.

      (ADB - 2016/03/07, HDFFV-9066)

    - h5dump: Issue with Double Free Fault

      Added a check for filename not null before calling free().

      (ADB - 2016/01/27, HDFFV-9639)

    - VS2015 Release Changed how Timezone was Handled

      Created a function, HDget_timezone, in H5system.c. Replaced
      timezone variable usage with function call.

      (ADB - 2015/11/02, HDFFV-9550)


    C++ API
    -------
    - Removal of Obsolete Methods

      The overloaded methods which had parameters that should be const
      but were not have been removed.

      (BMR - 2016/01/13, HDFFV-9789)



    High-Level APIs:
    ---------------
    - Fixed Memory Leak in Packet Table API

      Applied user's patch to fix memory leak in the creation of a
      packet table.

      (BMR - 2016/04/25, HDFFV-9700)


Known Problems
==============
* On windows platforms in debug configurations, the VFD flush1 tests will fail
  with the split and multi VFD drivers. These tests will display a modal debug
  dialog which must be answered or wait for the test timeout to expire.
  (ADB - 2014/06/23 - HDFFV-8851)

* CLANG compiler with the options -fcatch-undefined-behavior and -ftrapv
  catches some undefined behavior in the alignment algorithm of the macro DETECT_I
  in H5detect.c (Issue 8147).  Since the algorithm is trying to detect the alignment
  of integers, ideally the flag -fcatch-undefined-behavior shouldn't to be used for
  H5detect.c. In the future, we can separate flags for H5detect.c from the rest of
  the library. (SLU - 2013/10/16)

* Make provided by Solaris fails in "make check". Solaris users should use
  gmake to build and install the HDF5 software. (AKC - 2013/10/08 - HDFFV-8534)

* The C++ and FORTRAN bindings are not currently working on FreeBSD with the
  native release 8.2 compilers (4.2.1), but are working with gcc 4.6 from the
  ports (and probably gcc releases after that).
  (QAK - 2012/10/19)

* The following h5dump test case fails in BG/P machines (and potentially other
  machines that use a command script to launch executables):

   h5dump --no-compact-subset -d "AHFINDERDIRECT::ah_centroid_t[0] it=0 tl=0"
     tno-subset.h5

  This is due to the embedded spaces in the dataset name being interpreted
  by the command script launcher as meta-characters, thus passing three
  arguments to h5dump's -d flag. The command passes if run by hand, just
  not via the test script.
  (AKC - 2012/05/03)

* The STDIO VFD does not work on some architectures, possibly due to 32/64
  bit or large file issues.  The basic STDIO VFD test is known to fail on
  64-bit SunOS 5.10 on SPARC when built with -m64 and 32-bit OS X/Darwin
  10.7.0.  The STDIO VFD test has been disabled while we investigate and
  a fix should appear in a future release.
  (DER - 2011/10/14 - HDFFV-8235)

* h5diff can report inconsistent results when comparing datasets of enum type
  that contain invalid values.  This is due to how enum types are handled in
  the library and will be addressed in a future release.
  (DER - 2011/10/14 - HDFFV-7527)

* The links test can fail under the stdio VFD due to some issues with external
  links.  This will be investigated and fixed in a future release.
  (DER - 2011/10/14 - HDFFV-7768)

* After the shared library support was fixed for some bugs, it was discovered
  that "make prefix=XXX install" no longer works for shared libraries. It
  still works correctly for static libraries. Therefore, if you want to
  install the HDF5 shared libraries in a location such as /usr/local/hdf5,
  you need to specify the location via the --prefix option during configure
  time. E.g, ./configure --prefix=/usr/local/hdf5 ...
  (AKC - 2011/05/07 - HDFFV-7583)

* The parallel test, t_shapesame, in testpar/, may run for a long time and may
  be terminated by the alarm signal.  If that happens, one can increase the
  alarm seconds (default is 1200 seconds = 20 minutes) by setting the
  environment variable, $HDF5_ALARM_SECONDS, to a larger value such as 3600
  (60 minutes).  Note that the t_shapesame test may fail in some systems
  (see the "While working on the 1.8.6 release..." problem below).  If
  it does, it will waste more time if $HDF5_ALARM_SECONDS is set
  to a larger value.
  (AKC - 2011/05/07)

* Shared Fortran libraries are not quite working on AIX. While they are
  generated when --enable-shared is specified, the fortran and hl/fortran
  tests fail. the issue. HL and C++ shared libraries should now be
  working as intended, however.
  (MAM - 2011/04/20)

* While working on the 1.8.6 release of HDF5, a bug was discovered that can
  occur when reading from a dataset in parallel shortly after it has been
  written to collectively. The issue was exposed by a new test in the parallel
  HDF5 test suite, but had existed before that. We believe the problem lies with
  certain MPI implementations and/or file systems.

  We have provided a pure MPI test program, as well as a standalone HDF5
  program, that can be used to determine if this is an issue on your system.
  They should be run across multiple nodes with a varying number of processes.
  These programs can be found at:
  http://www.hdfgroup.org/ftp/HDF5/examples/known_problems/
  (NAF - 2011/01/19)

* All the VFL drivers aren't backward compatible.  In H5FDpublic.h, the
  structure H5FD_class_t changed in 1.8.  There is new parameter added to
  get_eoa and set_eoa callback functions.  A new callback function
  get_type_map was added in.  The public function H5FDrealloc was taken
  out in 1.8.  The problem only happens when users define their own driver
  for 1.6 and try to plug in 1.8 library.  Because there's only one user
  complaining about it, we (Elena, Quincey, and I) decided to leave it as
  it is (see bug report #1279).  Quincey will make a plan for 1.10.
  (SLU - 2010/02/02)

* The --enable-static-exec configure flag will only statically link libraries
  if the static version of that library is present. If only the shared version
  of a library exists (i.e., most system libraries on Solaris, AIX, and Mac,
  for example, only have shared versions), the flag should still result in a
  successful compilation, but note that the installed executables will not be
  fully static. Thus, the only guarantee on these systems is that the
  executable is statically linked with just the HDF5 library.
  (MAM - 2009/11/04)

* A dataset created or rewritten with a v1.6.3 library or after cannot be read
  with the v1.6.2 library or before when the Fletcher32 EDC filter is enabled.
  There was a bug in the calculation of the Fletcher32 checksum in the
  library before v1.6.3; the checksum value was not consistent between big-
  endian and little-endian systems.  This bug was fixed in Release 1.6.3.
  However, after fixing the bug, the checksum value was no longer the same as
  before on little-endian system.  Library releases after 1.6.4 can still read
  datasets created or rewritten with an HDF5 library of v1.6.2 or before.
  (SLU - 2005/06/30)
2016-10-09 18:44:35 +00:00
adam
a5b762cd76 Changes 1.8.16:
* Improvements made to the CMake build system.
* Added Memory Allocation Functions that Use the Library's Allocator
* Added Functions to Control the Value of H5PL_no_plugin_g without
      Using an Environment Variable
* MPI_Finalize and HDF5 Library Shutdown
* New Wrappers for C Functions H5P[s/g]et_libver_bounds
* more...
2015-11-26 11:25:10 +00:00
wen
c1e15c8113 Update to 1.8.14
Upstream changes:

Release 1.8.14 of November 2014 (current release) versus Release 1.8.13
In the main library C Interface
No new C functions have been added.

The behavior of the following C function has been changed:
    The function H5Pset_core_write_tracking has been modified to enforce the limitation that the value of the page_size parameter cannot equal 0 (zero):

        H5Pset_core_write_tracking

The following performance optimization has been implemented in the Parallel HDF5 library:
    The algoritm for writing chunk fill values for new datasets has been optimized to write out all chunk fill values collectively in a single MPI-IO call. This was previously done independently by rank 0 (zero) one block at a time. This optimization should produce a significant performance improvement when creating chunked datasets in parallel, most notably when chunk dimensions are relatively small. This optimization will be evident in use of the following function:

        H5Dcreate

In the high-level library C Interface
High-level HDF5 interfaces now ensure that strings are null-terminated and will not overflow a buffer.
    In several high-level functions, the type from the file was previously re-used as the memory type and no check is made to ensure that a string was actually null-terminated.

    All high-level functions now check for NULL pointers; verify that a received a string is null-terminated; and verify that the string will not overflow the buffer. The minimum length of the buffers is now used in strncmp to avoid overflow.

In the main library C++ Interface
No new C++ methods have been added.

The following changes have been made in the C++ interface:
    Changed defaults

        Default value of class member id:
        The data member id in several classes that represent HDF5 objects are now initialized to H5I_INVALID_ID.
        Default value of a PropList member id:
        The data member id in class PropList is now initialized to H5P_DEFAULT.
        In HDF5 Release 1.8.13 and earlier, the above were initialized to 0 (zero).

    Changed file access flags

        The flag H5F_ACC_CREAT has been removed from the C++ interface.

In the main library Fortran Interface
No new Fortran subroutines have been added.

Changed Fortran INTEGER parameter types:
    Types of the following Fortran parameter constants have been changed from INTEGER to INTEGER(HID_T):

        H5FD_CORE            H5FD_MULTI
        H5FD_FAMILY          H5FD_SEC2
        H5FD_LOG             H5FD_STDIO
        H5FD_MPIO

    Other internal int types have been changed to hid_t, but this change is expected to be transparent to the user

Release 1.8.13 of May 2014 versus Release 1.8.12
In the C Interface (main library)

The following new C functions have been added:
    To free memory allocated by HDF5 function calls:

        H5free_memory
        This function should be used to free memory that has been allocated by HDF5 API calls such as H5Tget_member_name and H5Pget_class_name.

        The primary value for this call is on Windows systems, where it is common for application code and the HDF5 Library to be using different C run-time libraries (CRT). Using this new call ensures that the same CRT handles both the allocation and free.

        This function can also be useful in any case where the library uses a different memory manager than the application, such as when a debug memory manager is in use or when the HDF5 Library is wrapped for use in a managed language like Python or Java.

    New configuration property for the CORE driver:

        H5Pset_core_write_tracking
        H5Pget_core_write_tracking
        With this property, the CORE driver, H5Pset_fapl_core, can be configured to track dirty regions in the file and write out only the changed regions on flush or close operations. Additionally, a page aggregation size can be set that will aggregate small writes into larger writes. For example, setting a 1 mebibyte (1 MiB) page aggregation size will logically partition the the in-memory file into 1 MiB pages that will be written out in their entirety if even a single byte is dirtied.

The following C functions have been modified:

    H5Rget_name
    If the name parameter is passed as NULL, then the size parameter is ignored and the function returns the size of the buffer required to read the name (not including the NULL terminator).
    H5Zfilter_avail
    This function has been updated to correctly identify dynamically loaded filters. If a filter is not found among registered filters, the function now checks for dynamically loaded filters.

In the C++ Interface
The following new features have been added:
    Wrappers to the class H5Object to get an object’s name:

        ssize_t getObjName(char *obj_name, size_t buf_size = 0)
        ssize_t getObjName(H5std_string& obj_name, size_t len = 0)
        H5std_string getObjName()

    Wrappers to the class H5CommonFG to get a child object’s type from a group or file:

        H5O_type_t childObjType(const H5std_string& objname)
        H5O_type_t childObjType(const char* objname)
        H5O_type_t childObjType(hsize_t index,
            H5_index_t index_type=H5_INDEX_NAME,
            H5_iter_order_t order=H5_ITER_INC, const char* objname=".")

    Wrappers to the class DSetMemXferPropList for setting or getting a transform property list:

        DSetMemXferPropList(const char* expression);
        void setDataTransform(const char* expression)
        void setDataTransform(const H5std_string& expression)
        ssize_t getDataTransform(char* exp, size_t buf_size=0)
        H5std_string getDataTransform()

    Wrapper to CompType for setting the size of a compound datatype:

        void setSize(size_t size)

    Overloaded functions to provide prototypes that declare constant arguments const:

        DataSet::fillMemBuf
        DataSet::getVlenBufSize
        DataSpace::extentCopy
        DataType::commit
        FileAccPropList::setSplit
        H5File::getVFDHandle

    Additional overload to the class H5Location to get a comment as a char*:

        ssize_t getComment(const char* name, size_t buf_size, char* comment)

    Additional overloads to the class Attribute to get an attribute’s name for convenience:

        ssize_t getName(char* attr_name, size_t buf_size=0)
        ssize_t getName(H5std_string& attr_name, size_t buf_size=0)

In the Fortran Interface
The following new Fortran subroutines have been added:
    Fortran2003 subroutines:
    h5pset_file_image_f
    h5pget_file_image_f
    h5fget_file_image_f (Added in Release 1.8.11, but not documented at that time.)

The following Fortran subroutine has been changed:

    h5pset_chunk_cache_f
    The values of the constants H5D_CHUNK_CACHE_NSLOTS_DFLT_F and H5D_CHUNK_CACHE_NBYTES_DFLT_F have been changed to INTEGER(KIND=size_t).

Other New Features

Parallel I/O support:
    Parallel I/O support has been enhanced to allow collective I/O on point selections.

Thread safety (Windows only)
    The thread-safe HDF5 library no longer leaks thread-local storage resources on Windows with Win32 threads. This cleanup can only be performed when the library is built as a shared library, so a thread-safe HDF5 static library with Win32 threads is no longer supported.

    This change affects only Windows environments.

    Also see “Build and Configuration” below.

Command-line Tools with Changed Behavior

h5repack
    h5repack has been updated to correctly handle dynamically loaded filters.

Build and Configuration

Thread safety
    When configuring a thread-safe HDF5 Library with --enable-threadsafe, it is no longer necessary to specify --with-pthreads if the Pthreads library is in a standard location.

Removed Functions and Wrappers

The MPI-POSIX driver has been removed. The following C functions and the corresponding Fortran subroutines and C++ wrappers therefore are no longer included in the HDF5 distribution:

        H5Pset_fapl_mpiposix
        H5Pget_fapl_mpiposix

Applications performing parallel I/O should use the MPI-IO driver, H5Pset_fapl_mpio.
2015-04-10 02:49:56 +00:00
jperkin
56c31276e5 Avoid reference to WRAPPER_BINDIR in final binaries. 2014-09-24 10:40:57 +00:00
adam
1bcf58e4aa Changes 1.8.10:
* The following new C function has been added:
	H5Pget_mpio_no_collective_cause
* The following new Fortran subroutine has been added:
	h5pget_mpio_actual_io_mode_f
* The syntax of the following high-level C function has changed:
	H5TBAget_fill
This function’s return type has been changed to h5tri_t. A return value of 1 indicates that a fill value is present, 0 indicates that no fill value is present, and a negative value indicates an error. (The former return type was herr_t.)
Note that H5TBAget_fill and a companion function H5TBAget_title, both in the HDF5 Table (H5TB) high-level API, are undocumented. These functions will be added to the HDF5 Reference Manual shortly after HDF5 Release 1.8.10.

Changed Command-line Tool
* h5import has been updated to accept an input file created by h5dump.
2012-12-09 00:07:38 +00:00
asau
3aa19cf9d3 Update to HDF5 1.8.9
This doesn't pass self-tests, but it isn't regression,
previous package didn't pass them as well.
(While here, make both packages share the same distinfo.)


Changes in HDF5 1.8.9

HDF5 1.8.9 is a minor release, but contains several important
new features and bug fixes. Changes in this release include the
following:

  * Committed datatypes can now be merged when copying objects,
    using the new flag H5O_COPY_MERGE_COMMITTED_DTYPE_FLAG.
    Several new API routines have been included in support of
    this feature.

  * A file in memory can now be accessed in the same way as a
    file on disk. New APIs were added to support this feature.

  * Many changes to the tools have been made, including the following:

      + The h5repack performance has been improved dramatically
        for large chunked datasets.

      + The -S (or --summary) option was added to h5stat to
        display a summary of the file space usage for a file.

      + A wildcard can now be used with h5dump to specify multiple files.

  * H5LTpath_valid was added to determine if a path is correct
    and a link resolves to a valid object.

  * The Fortran counterpart to H5Ocopy, h5ocopy_f, was added.

This release contains many other changes and bug fixes not listed here.
Please be sure to read the Release Notes for a comprehensive
list of new features and bug fixes.



Changes in HDF5 1.8.8

HDF5 1.8.8 is a minor release, but contains a few important new
features and bug fixes. Changes in this release include the
following:

  * Changes to the Fortran interface:
      + Fortran wrappers for the Dimension Scales APIs were added.
        For the new subroutine signatures, see:

           http://www.hdfgroup.org/HDF5/doc/HL/RM_H5DS.html

      + The Fortran interface now uses the Fortran 2003 standard,
        enabling a wider set of Fortran and HDF5 datatypes to be
        supported, including:

          o Any kind of INTEGER or REAL
          o Fortran derived types
          o Fortran and HDF5 enumeration
          o HDF5 variable-length datatypes
          o HDF5 compound datatypes of any complexity

        It also contains new subroutines corresponding to those
        C APIs which have callback functions as parameters.
	For a general overview and information on how to enable
        these new Fortran features, please see the following paper:

           http://www.hdfgroup.org/HDF5/doc/fortran/NewFeatures_F2003.pdf

        HDF5 examples that use Fortran 2003 (with the suffix "F03") can be found here:

           http://www.hdfgroup.org/ftp/HDF5/examples/examples-by-api/api18-fortran.html

        The --enable-fortran2003 configure flag was added to
        enable Fortran 2003 support in the HDF5 Fortran library.
        This flag should be used along with the --enable-fortran
        flag and takes affect only when a Fortran compiler is
        Fortran 2003 compliant.

  * H5Tcreate now supports a string type (fixed-length and variable-length).

  * New APIs, H5Pget_mpio_actual_chunk_opt_mode and H5Pget_mpio_actual_io_mode,
    were added for querying whether/how a collective I/O operation completed.

  * Numerous changes were made to the tools (h5diff, h5repack, h5jam, h5dump).
2012-10-27 08:54:48 +00:00
alnsn
daf8f0d702 Update devel/hdf5 from 1.6.10nb1 to 1.8.7.
A list of changes is available at

http://www.hdfgroup.org/HDF5/doc/ADGuide/Changes.html

A list of new features of 1.8.x release is available at

http://www.hdfgroup.uiuc.edu/HDF5/doc_1.8pre/WhatsNew180.html

This update removes "cxx" option from the package. New devel/hdf5-c++
should be used instead.
2011-10-07 10:38:50 +00:00
asau
e262eacbbc Don't reverse CPPFLAGS.
Submitted by Taylor Campbell in PR 42757
2010-04-24 21:27:36 +00:00
drochner
4665508704 update to 1.6.10
(yes I know there is the 1.8 branch, but I don't want to experiment
right now)
changes: many fixes, some C++ API improvements
pkgsrc change: DESTDIR support
2009-11-15 15:50:50 +00:00
adam
ed5c3b409a Changes 1.6.7:
* Bug fixes
* Improvements
2008-09-11 10:27:52 +00:00
dmcmahill
16e8406b40 Restore a needed patch that was lost during the last update.
Builds on solaris again.
2007-09-25 01:22:15 +00:00
drochner
9344acf1ad update to 1.6.6
changes:
-minor feature additions to the command line tools
-C++ API: Added support for Szip
-bugfixes

pkgsrc changes:
-fixes for the cxx option (should be a separate pkg)
-fixes for the threadsafe option -- replaced a pthread_equal() by a
 simple "==" to make it usable with non-threaded apps
 (not 100% portable, but should be fine for the platforms in question)
 The shared libraries should not be linked against libpthread, but
 that would require serious changes to the autoconf/make machinery
 so I've left it alone for now.
 If that is fixed, "threadsafe" could be made default.
-Don't try to strip scripts on install.
2007-09-18 18:58:08 +00:00
dmcmahill
e26e2c0e5b Repair compilation under solaris. Also added back the configure.in patch
instead of only keeping a configure patch.
2006-10-02 16:20:04 +00:00
drochner
18f2bc3a2d -fix MASTER_SITES and distinfo cksum
-make NetBSD ("netbsdelf") a recognized configuration, copied from
 "freebsd"; this pulls in definitions for gcc, in particular it
 disables some optimization
-work around a memory corruption problem in H5FDstream which appearently
 is caused by use of free()d memory
The latter 2 changes make the library survive its selftests, and help
the "pytables" pkg as well.

bump PKGREVISION, raise BUILDLINK_RECOMMENDED
2006-02-10 19:56:13 +00:00
recht
debc1eed9b Addd optional support for thread safety and C++ with the options:
cxx threads
2006-01-04 06:05:44 +00:00
adam
f4d731f205 Changes 1.6.5:
* New features:
	* Added yodconfig
	* Added HSYS_ERROR, H5F_OBJ_LOCAL flag
	* Added mpich2 as a testing "platform"
* Bug fixes
2005-11-29 10:03:39 +00:00
dmcmahill
a7a51cf575 one more try at expanding the portability of the 'tr' usage to keep this
happy on systems such as solaris which have suboptimal tr's.  Now this works
with /usr/bin/tr.
2005-08-30 01:31:21 +00:00
dmcmahill
c1301ca5a3 change
tr '[a-z],' [A-Z] '
to
  tr [a-z], [A-Z]\
to help the tr on solaris.
2005-08-17 02:45:48 +00:00
dmcmahill
424b7271dd - add tr to the tools list
- check for -lsocket so that solaris can find socket() and friends.
2005-08-16 22:02:10 +00:00
adam
67147114d1 Changes 1.6.3:
New Features
 Configuration:
  - Added some initial support for making purify (or similar memory
   checking products) happier by initializing buffers to zero and
   disabling the internal free list code.  To take advantage of this,
   define 'H5_USING_PURIFY' in your CFLAGS when building the library.
  - WINDOWS building,testing and installing improvements
    - On Windows, FORTRAN,C++ and C projects are merged into one zip file,
   users can choose an option to build either FORTRAN or C++ or both
   with basic C library.For detailed information,
   please read INSTALL_Windows.txt.
    - On Windows, szip compression library with or without encoder can be easily
   turned off or on when building HDF5.  For detailed information,
   please read INSTALL_Windows.txt, especially section V.
    - On Windows, an optional procedure for building,testing and installing
   HDF5 from command line is provided. This procedure is supposed to be
   convenient for experienced users, please read
   INSTALL_windows_From_Command_Line.txt for details.
    - On Windows, an alternative short instruction document for building,
   testing and installing HDF5 is provided. This instruction is supposed to
   be convenient for general users, please read
   INSTALL_Windows_Short.txt for details.
    - On Windows, h5repack,h5diff,h5ls and h5import tool tests have been added.

 Library:
  - Modified the way how HDF5 calculates 'pixels_per_scanline' parameter for
    SZIP compression. Now there is no restriction on the size and shape of the
    chunk except that the total number of elements in the chunk cannot be
    bigger than 'pixels_per_block' parameter provided by the user.
  - HDF5 can now link to SZIP with or without szip's encoder.
    The new API function H5Zget_filter_info can be used to check
    szip's status.  Attempting to assign szip to a dataset property
    list or attempting to write with szip will generate an error if
    szip's encoder is disabled.  JL/NF - 2004/6/30
  - SZIP always uses K13 compression.  This flag no longer needs to
    be set when calling H5Pset_szip.  If the flag for CHIP
    compression is set, it will be ignored (since the two are mutually
    exclusive).  JL/NF - 2004/6/30
  - A new API function H5Fget_name was added.  It returns the name
    of the file by object(file, group, data set, named data type,
    attribute) ID.  SLU - 2004/06/29
  - A new API function H5Fget_filesize was added.  It returns the
    actual file size of the opened file.  SLU - 2004/06/24
	- Added option that if $HDF5_DISABLE_VERSION_CHECK is set to 2,
	  will suppress all library version mismatch warning messages.

Tools:
- h5repack was added to the tools suite. h5repack regenerates an HDF5 file
  from another HDF5 file, optionally applying HDF5 filters (compression)
  and/or chunking to the copied file. The filters options are read from
  the command line. See /doc/html/Tools.html for more details.
  PVN - 2004/9/13
  - h5dump includes new features:
   1) Printing of dataset filters, storage layout and fill value information.
   2) Print a list of the file contents.
   3) Escape non printing characters.
   4) Print the content of the boot block.
   5) Print array indices with the data (the default).
2005-02-25 09:10:18 +00:00
jtb
3e8fe03112 Update to 1.6.0.
Summary: This release has the following new features that are not
         available in 1.4.* releases

 1. Generic properties to give application more control on I/O pipeline
 2. Time allocation and fill value properties
 3. New  filters: external compression filter szip
                  internal shuffling and checksum filters
 4. Compact storage layout for datasets
 5. Redesigned I/O pipeline for better performance.

 For more information see
 http://hdf.ncsa.uiuc.edu/HDF5/doc_resource/SZIP/index.html
 http://hdf.ncsa.uiuc.edu/HDF5/doc/ADGuide.html
 http://hdf.ncsa.uiuc.edu/HDF5/doc/ADGuide/Changes.html
2003-08-04 17:26:59 +00:00
drochner
3e93bd357e update to 1.4.4
relevnt changes:
-Numerous performance changes were made to the HDF5 sequential and
 parallel libraries
-Several corruption problems were fixed.
2002-10-28 16:32:01 +00:00
jtb
133865a291 Update to version 1.4.3. Changes include:
* Changed internal error handling macros to reduce code size of library by
      about 10%.
* API changes.
* Performance improvements
* ``h5cc'' script which helps compilation of HDF5 programs
* Bug fixes.
2002-05-03 20:51:33 +00:00
jtb
cc78e8a8f9 Fix the ${MASTER_SITES} for the new distfile. Fixes i386 bulk build
problem.  Also, patch configure script to not add "-ansi -pedantic" to
CFLAGS.  It seems pointless to use the "-ansi" warning when so many
warnings about ANSI C not supporting "long long", etc., appear.
2001-03-04 18:05:23 +00:00
jtb
9e413c1652 Updated hdf5 to 1.4.0. For further details of changes see
${PREFIX}/share/doc/hdf5/RELEASE.txt.

New Features
============
   * The Virtual File Layer, VFL, was added to replace the old file
     drivers. It also provides an API for user defined file drivers.
   * New features added to snapshots. Use 'snapshot help' to see a
     complete list of features.
   * Improved configure to detect if MPIO routines are available when
     parallel mode is requested.
   * Added Thread-Safe support. Phase I implemented. See:

        http://hdf.ncsa.uiuc.edu/HDF5/papers/mthdf/MTHDFpaper.htm

     for more details.
   * Added data sieve buffering to raw data I/O path. This is enabled
     for all VFL drivers except the mpio & core drivers. Setting the
     sieve buffer size is controlled with the new API function,
     H5Pset_sieve_buf_size(), and retrieved with H5Pget_sieve_buf_size().
   * Added new Virtual File Driver, Stream VFD, to send/receive entire
     HDF5 files via socket connections.
   * As parts of VFL, HDF-GASS and HDF-SRB are also added to this
     release. To find out details, please read INSTALL_VFL file.
   * Increased maximum number of dimensions for a dataset (H5S_MAX_RANK)
     from 31 to 32 to align with HDF4 & netCDF.
   * Added 'query' function to VFL drivers.  Also added 'type' parameter to
     VFL 'read' & 'write' calls, so they are aware of the type of data
     being accessed in the file.  Updated the VFL document also.
   * A new h4toh5 utility, to convert HDF4 files to analogous HDF5 files.
   * Added a new array datatype to the datatypes which can be created.
     Removed "array fields" from compound datatypes (use an array datatype
     instead).
   * Parallel HDF5 works correctly with mpich-1.2.1 on Solaris, SGI, Linux.
   * You can now install the HDF5 documentation using the
     ``make install-doc'' command. The documentation is installed in the
     $(prefix)/doc directory where $(prefix) is the prefix specified by
     the (optional) ``--prefix'' flag during configuration.
   * HDF5 can operate correctly in the OpenMP environment in a limited way.
     Check doc/html/TechNotes/openmp-hdf5.html for details.
2001-02-25 00:05:39 +00:00
jtb
14893359e7 The `h5debug' program makes no allowance for the case where (argc < 2). Just
print a one line usage statement and exit in this case.
2001-01-19 20:46:49 +00:00