HDF5 version 1.8.9 released on 2012-05-09
================================================================================

INTRODUCTION
============

This document describes the differences between HDF5-1.8.8 and 
HDF5 1.8.9. It also contains information on the platforms tested and 
known problems in HDF5-1.8.9. 

For more details, see the files HISTORY-1_0-1_8_0_rc3.txt 
and HISTORY-1_8.txt in the release_docs/ directory of the HDF5 source.

Links to the HDF5 1.8.9 source code, documentation, and additional materials
can be found on the HDF5 web page at:

     http://www.hdfgroup.org/products/hdf5/

The HDF5 1.8.9 release can be obtained from:

     http://www.hdfgroup.org/HDF5/release/obtain5.html

User documentation for 1.8.9 can be accessed directly at this location: 

     http://www.hdfgroup.org/HDF5/doc/

New features in the HDF5-1.8.x release series, including brief general 
descriptions of some new and modified APIs, are described in the "What's New 
in 1.8.0?" document:

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

All new and modified APIs are listed in detail in the "HDF5 Software Changes 
from Release to Release" document, in the section "Release 1.8.9 (current 
release) versus Release 1.8.8":

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

If you have any questions or comments, please send them to the HDF Help Desk:

     help@hdfgroup.org


CONTENTS
========

- New Features
- Support for New Platforms, Languages, and Compilers
- Bug Fixes since HDF5-1.8.8
- Platforms Tested
- Supported Configuration Features Summary
- Known Problems


New Features
============

    Configuration
    -------------
    - None
    
    Library
    -------
    - Added new feature to merge committed datatypes when copying objects,
      using new H5O_COPY_MERGE_COMMITTED_DTYPE_FLAG, modified by new API
      routines: H5Padd_merge_committed_dtype_path(),
      H5Pfree_merge_committed_dtype_paths(), H5Pset_mcdt_search_cb() and
      H5Pget_mcdt_search_cb().  (QAK - 2012/03/30)
    - Added new feature which allows working with files in memory in the 
      same ways files are worked with on disk. New API routines include 
      H5Pset_file_image, H5Pget_file_image, H5Pset_file_image_callbacks, 
      H5Pget_file_image_callbacks, H5Fget_file_image, and 
      H5LTopen_file_image. (QAK - 2012/04/17)
 
    Parallel Library
    ----------------
    - Corrected memory allocation error in MPI datatype construction code.
      (QAK - 2012/04/23)
    - Add two new routines to set/get the atomicity parameter in the
      MPI library to perform atomic operations. Some file systems (for
      example PVFS2) do not support atomic updates, so those routines
      would not be supported. (MSC - 2012/03/27 - HDFFV-7961)
 
    Tools
    -----
    - h5repack: Added ability to set the metadata block size of the output
      file, with the '-M'/'--metadata_block_size' command line parameter.
      (QAK - 2012/03/30)
    - h5stat: Added ability to display a summary of the file space usage for a
      file, with the '-S'/'--summary' command line parameter.  (QAK - 2012/03/28)
    - h5dump: Added capability for "-a" option to show attributes containing "/" 
      by using an escape character. For example, for a dataset "/dset" 
      containing attribute "speed(m/h)", use "h5dump -a "/dset/speed(\/h)" 
      to show the content of the attribute. (PC - 2012/03/12 - HDFFV-7523)
    - h5dump: Added ability to apply command options across multiple files using a
      wildcard in the filename. Unix example; "h5dump -H -d Dataset1 tarr*.h5".
      Cross platform example; "h5dump -H -d Dataset1 tarray1.h5 tarray2.h5 tarray3.h5".
      (ADB - 2012/03/12 - HDFFV-7876).
    - h5dump: Added new option --no-compact-subset. This option will not
      interpret the '[' character as starting the compact form of 
      subsetting. This is useful when the "h5dump error: unable to 
      open dataset "datset_name"" message is output because a dataset
      name contains a '[' character. (ADB - 2012/03/05 - HDFFV-7689).
    - h5repack: Improved performance for big chunked datasets (size > 128MB)
      when used with the layout (-l) or compression (-f) options. 
      Before this change, repacking datasets with chunks with a large first 
      dimension would take extremely long. For example, repacking a dataset 
      with chunk dimensions of 1024x5x1 might take many hours to process 
      while changing a dataset with chunk dimensions set to 1x5x1024 
      might take under an hour. After this change, processing the dataset 
      with chunk dimensions of 1024x5x1 takes about 15 minutes, and processing 
      a dataset with chunk dimensions of 1x5x1024 takes about 14 minutes.
      (JKM - 2012/03/01 - HDFFV-7862) 

    High-Level APIs
    ---------------
    - New API: H5LTpath_valid (Fortran: h5ltpath_valid_f) checks
      if a path is correct, determines if a link resolves to a valid
      object, and checks that the link does not dangle. (MSB - 2012/03/15)

    Fortran API
    -----------

    - Added for the C API the Fortran wrapper:
       h5ocopy_f (MSB - 2012/03/22)

    C++ API
    -------
    - None


Support for New Platforms, Languages, and Compilers
===================================================
    - None

Bug Fixes since HDF5-1.8.8
==========================

    Configuration
    -------------
    - Fixed Makefile issue in which "-Wl," was not properly specified
      prior to -rpath when building parallel Fortran libraries with
      an Intel compiler. (MAM - 2012/03/26) 
    - Makefiles generated by other packages using h5cc as the compiler
      no longer error when 'make' is invoked more than once in order
      to 'rebuild' after changes to source. (MAM - 2012/03/26)
    - Added code to display the version information of XL Fortran and C++
      in the summary of configure. (AKC - 2012/02/28 - HDFFV-7793)
    - Updated all CMakeLists.txt files to indicate the minimum CMake version is
      the current standard of 2.8.6 (ADB - 2011/12/05 - HDFFV-7854)

    Library
    -------
    - Windows and STDIO correctness changes have been propagated from the SEC2
      and old Windows drivers to the STDIO VFD.  (DER - 2012/03/30 - HDFFV-7917)
    - Fixed an error that would occur when copying an object with attribute
      creation order tracked and indexed. (NAF - 2012/03/28 - HDFFV-7762)
    - Fixed a bug in H5Ocopy(): When copying an opened object, call the
      object's flush class action to ensure that cached data is flushed so
      that H5Ocopy will get the correct data.  (VC - 2012/03/27 - HDFFV-7853)
    - The istore test will now skip the sparse 50x50x50 test when the VFD does
      not support sparse files on that platform.  The most important platforms
      on which this will be skipped are Windows (NTFS sparse files are not
      supported) and Mac OS-X (HFS sparse files are not supported).  This
      fixes CTest timeout issues on Windows.  (DER - 2012/03/27 - HDFFV-7769)
    - Windows and POSIX correctness changes have been propagated from the SEC2
      VFD to the Core VFD.  This mainly affects file operations on the
      driver's backing store and fixes a problem on Windows where large files
      could not be read. (DER - 2012/03/27 - HDFFV-7916 - HDFFV-7603)
    - When an application tries to write or read many small data chunks and
      runs out of memory, the library had a segmentation fault.  The fix is to
      return the error stack with proper information.
      (SLU - 2012/03/23 - HDFFV-7785)
    - H5Pset_data_transform had a segmentation fault in some cases like x*-100.  
      It works correctly now and handles other cases like 100-x or 2/x.
      (SLU - 2012/03/15 - HDFFV-7922)
    - Fixed rare corruption bugs that could occur when using the new object
      header format. (NAF - 2012/03/15 - HDFFV-7879)
    - Fixed an error that occurred when creating a contiguous dataset with a 
      zero-sized dataspace and space allocation time set to 'early'. 
      (QAK - 2012/03/12)
    - Changed Windows thread creation to use _beginthread() instead of
      CreateThread().  Threads created by the latter can be killed in
      low-memory situations. (DER - 2012/02/10 - HDFFV-7780)
    - Creating a dataset in a read-only file caused a segmentation fault when 
      the file is closed.  It's fixed. The attempt to create a dataset will 
      fail with an error indicating the file is read-only.
      (SLU - 2012/01/25 - HDFFV-7756) 
    - Fixed a segmentation fault that could occur when shrinking a dataset 
      with chunks larger than 1 MB. (NAF - 2011/11/30 - HDFFV-7833)
    - Fixed a bug that could cause H5Oget_info to return the wrong address
      after copying a committed (named) datatype. (NAF - 2011/11/14)
    - The library allowed the conversion of strings between ASCII and UTF8
      We have corrected it to report an error under this situation.
      (SLU - 2011/11/8 - HDFFV-7582)
    - Fixed a segmentation fault when the library tried to shrink the size 
      of a compound datatype through H5Tset_size immediately after the 
      datatype was created. (SLU - 2011/11/4 - HDFFV-7618)

    Parallel Library
    ----------------
    - None

    Tools
    -----
    - h5unjam: Fixed a segmentation fault that occurred when h5unjam was used 
      with the -V (show version) option. (JKM - 2012/04/19 - HDFFV-8001)
    - h5repack: Fixed a failure that occurred when repacking the chunk size 
      of a specified chunked dataset with unlimited max dims. 
      (JKM - 2012/04/11 - HDFFV-7993) 
    - h5diff: Fixed a failure when comparing groups. Before the fix, if an 
      object in a group was compared with an object in another group where 
      both had the same name but the object type was different, then h5diff
      would fail. After the fix, h5diff detects such cases as non-comparable
      and displays appropriate error messages. 
      (JKM - 2012/03/28 - HDFFV-7644)
    - h5diff: If unique objects exist only in one file and if h5diff is set to 
      exclude the unique objects with the --exclude-path option, then h5diff 
      might miss excluding some objects. This was fixed to correctly exclude 
      objects. (JKM - 2012/03/20 - HDFFV-7837)
    - h5diff: When two symbolic dangling links are compared with the 
      --follow-symlinks option, the result should be the same. This worked when 
      comparing two files, but didn't work when comparing two objects.
      h5diff now works when comparing two objects.
      (JKM - 2012/03/09 - HDFFV-7835)
    - h5dump: Added the tools library error stack to properly catch error
      information generated within the library. (ADB - 2012/03/12 - HDFFV-7958)
    - h5dump: Changed the process where an open link used to fail. Now dangling 
      links no longer throw error messages. (ADB - 2012/03/12 - HDFFV-7839)
    - h5dump: Refactored code to remove duplicated functions. Split XML 
      functions from DDL functions. Corrected indentation and formatting
      errors. Also fixed subsetting counting overflow (HDFFV-5874). Verified
      all tools call tools_init() in main. The USER_BLOCK data now correctly
      displays within the SUPER_BLOCK info. NOTE: WHITESPACE IN THE OUTPUT
      HAS CHANGED. (ADB - 2012/02/17 - HDFFV-7560)
    - h5diff: Fixed to prevent from displaying error stack message when 
      comparing two dangling symbolic links with the follow-symlinks option.
      (JKM - 2012/01/13 - HDFFV-7836)
    - h5repack: Fixed a memory leak that occurred with the handling of 
      variable length strings in attributes.
      (JKM - 2012/01/10 - HDFFV-7840)
    - h5ls: Fixed a segmentation fault that occurred when accessing region 
      reference data in an attribute. (JKM - 2012/01/06 - HDFFV-7838)

    F90 API
    -------
    - None

    C++ API
    ------
    - None

    High-Level APIs:
    ------
    - None

    Fortran High-Level APIs:
    ------
    - h5ltget_attribute_string_f: The h5ltget_attribute_string_f used to return 
      the C NULL character in the returned character buffer. The returned 
      charactor buffer now does not return the C NULL character; the buffer 
      is blank-padded if needed. (MSB - 2012/03/23)


Platforms Tested
================
The following platforms and compilers have been tested for this release.

    AIX 5.3                       xlc 10.1.0.5
    (NASA G-ADA)                  xlC 10.1.0.5
                                  xlf90 12.1.0.6

    FreeBSD 8.2-STABLE i386       gcc 4.2.1 [FreeBSD] 20070719
    (loyalty)                     g++ 4.2.1 [FreeBSD] 20070719
                                  gcc 4.6.1 20110422
                                  g++ 4.6.1 20110422
                                  gfortran 4.6.1 20110422

    FreeBSD 8.2-STABLE amd64      gcc 4.2.1 [FreeBSD] 20070719
    (freedom)                     g++ 4.2.1 [FreeBSD] 20070719
                                  gcc 4.6.1 20110422
                                  g++ 4.6.1 20110422
                                  gfortran 4.6.1 20110422

    Linux 2.6.18-194.3.1.el5PAE   GNU C (gcc), Fortran (gfortran), C++ (g++)
    #1 SMP i686 i686 i386         compilers for 32-bit applications;
    (jam)                             Version 4.1.2 20080704 (Red Hat 4.1.2-52)
                                      Version 4.5.2
                                  PGI C, Fortran, C++ Compilers for 32-bit
                                  applications;
                                      Version 11.8-0
                                      Version 11.9-0
                                  Intel(R) C, C++, Fortran Compiler for 32-bit
                                  applications;
                                      Version 12.0
                                      Version 12.1
                                  MPICH mpich2-1.3.1 compiled with
                                      gcc 4.1.2 and gfortran 4.1.2

    Linux 2.6.18-308.1.1.el5      GNU C (gcc), Fortran (gfortran), C++ (g++)
    #1 SMP x86_64 GNU/Linux       compilers for 32-bit applications;
    (koala)                           Version 4.1.2 20080704 (Red Hat 4.1.2-52)
                                      Version 4.5.2
                                  PGI C, Fortran, C++ for 64-bit target on 
                                  x86-64;
                                      Version 11.9-0 (64-bit)
                                      Version 11.8-0 (32-bit)
                                  Intel(R) C, C++, Fortran Compilers for 
                                  applications running on Intel(R) 64; 
                                      Version 12.0
                                      Version 12.1
                                  MPICH mpich2-1.3.1 compiled with
                                      gcc 4.1.2 and gfortran 4.1.2

    Linux 2.6.32-220.7.1.el6.ppc64 gcc (GCC) 4.4.6 20110731 (Red Hat 4.4.6-3) 
    #1 SMP ppc64 GNU/Linux        g++ (GCC) 4.4.6 20110731 
    (ostrich)                     GNU Fortran (GCC) 4.4.6 20110731 (Red Hat 4.4.6-3)

    Linux 2.6.18-108chaos         Intel C, C++, Fortran Compilers Version 11.1
    #1 SMP x86_64 GNU/Linux
    (LLNL Aztec)

    IBM Blue Gene/P               XL C for Blue Gene/P, bgxlc V9.0
    (LLNL uDawn)                  XL C++ for Blue Gene/P, bgxlC V9.0
                                  XL Fortran for Blue Gene/P, bgxlf0 V11.1

    SunOS 5.10 32- and 64-bit     Sun C 5.9 Sun OS_sparc Patch 124867-16
    (linew)                       Sun Fortran 95 8.3 Sun OS_sparc Patch 127000-13
                                  Sun C++ 5.9 Sun OS_sparc Patch 124863-26
                                  Sun C 5.11 SunOS_sparc
                                  Sun Fortran 95 8.5 SunOS_sparc
                                  Sun C++ 5.11 SunOS_sparc

    SGI Altix UV                  Intel(R) C, Fortran Compilers
    SGI ProPack 7 Linux               Version 11.1 20100806
    2.6.32.24-0.2.1.2230.2.PTF-   SGI MPT 2.02
    default #1 SMP                
    (NCSA ember)

    Dell NVIDIA Cluster           Intel(R) C, Fortran Compilers
    Red Hat Enterprise Linux 6        Version 12.0.4 20110427
    2.6.32-131.4.1.el6.x86_64     mvapich2 1.7rc1-intel-12.0.4
    (NCSA forge)

    Windows XP                    Visual Studio 2008 w/ Intel Fortran 10.1 (project files)
                                  Visual Studio 2008 w/ Intel Fortran 11.1 (cmake)
                                  Visual Studio 2010 w/ Intel Fortran 12 (cmake)

    Windows XP x64                Visual Studio 2008 w/ Intel Fortran 10.1 (project files)
                                  Visual Studio 2008 w/ Intel Fortran 11.1 (cmake)
                                  Visual Studio 2010 w/ Intel Fortran 12 (cmake)

    Windows 7                     Visual Studio 2008 w/ Intel Fortran 11.1 (cmake)
                                  Visual Studio 2010 w/ Intel Fortran 12 (cmake)
                                  Cygwin(1.7.9 native gcc(4.5.3) compiler and gfortran)

    Windows 7 x64                 Visual Studio 2008 w/ Intel Fortran 11.1 (cmake)
                                  Visual Studio 2010 w/ Intel Fortran 12 (cmake)
                                  Cygwin(1.7.9 native gcc(4.5.3) compiler and gfortran)

    Mac OS X Snow Leopard 10.6.8  i686-apple-darwin10-gcc-4.2.1 (GCC) 4.2.1 (gcc)
    Darwin Kernel Version 10.8.0  i686-apple-darwin10-g++-4.2.1 (GCC) 4.2.1 (g++)
    Intel 64-bit                      (Apple Inc. build 5666) (dot 3)
    (fred)                        GNU Fortan (GCC) 4.6.1 (gfortran)
                                  Intel C (icc), Fortran (ifort), C++ (icpc)
                                      12.1.0.038 Build 20110811

    Mac OS X Snow Leopard 10.6.8  i686-apple-darwin10-gcc-4.2.1 (GCC) 4.2.1 (gcc)
    Darwin Kernel Version 10.8.0  i686-apple-darwin10-g++-4.2.1 (GCC) 4.2.1 (g++)
    Intel 32-bit                      (Apple Inc. build 5666) (dot 3)
    (tejeda)                      GNU Fortran (GCC) 4.6.1 (gfortran)
                                  Intel C (icc), Fortran (ifort), C++ (icpc)
                                      12.1.0.038 Build 20110811

    Mac OS X Lion 10.7.3          GCC 4.2.1 gcc
    32- and 64-bit                GNU Fortran (GCC) 4.6.1 gfortran
    (duck)                        GCC 4.2.1. g++

    Debian6.0.3 2.6.32-5-686 #1 SMP i686 GNU/Linux
                                  gcc (Debian 4.4.5-8) 4.4.5
                                  GNU Fortran (Debian 4.4.5-8) 4.4.5

    Debian6.0.3 2.6.32-5-amd64 #1 SMP x86_64 GNU/Linux
                                  gcc (Debian 4.4.5-8) 4.4.5
                                  GNU Fortran (Debian 4.4.5-8) 4.4.5

    Fedora16 3.2.9-2.fc16.i6866 #1 SMP i686 i686 i386 GNU/Linux
                                  gcc (GCC) 4.6.2 20111027 (Red Hat 4.6.2-1)
                                  GNU Fortran (GCC) 4.6.2 20111027 (Red Hat 4.6.2-1)

    Fedora16 3.2.9-2.fc16.x86_64 #1 SMP x86_64 x86_64 x86_64 GNU/Linux
                                  gcc (GCC) 4.6.2 20111027 (Red Hat 4.6.2-1)
                                  GNU Fortran (GCC) 4.6.2 20111027 (Red Hat 4.6.2-1)

    SUSE 12.1 3.1.9-1.4-desktop #1 SMP PREEMPT i686 i686 i386 GNU/Linux
                                  gcc (SUSE Linux) 4.6.2
                                  GNU Fortran (SUSE Linux) 4.6.2

    SUSE 12.1 3.1.9-1.4-desktop #1 SMP PREEMPT x86_64 x86_64 x86_64 GNU/Linux
                                  gcc (SUSE Linux) 4.6.2
                                  GNU Fortran (SUSE Linux) 4.6.2 

    Ubuntu 11.10 3.0.0-16-generic #29-Ubuntu SMP i686 GNU/Linux
                                  gcc (Ubuntu/Linaro 4.6.1-9ubuntu3) 4.6.1
                                  GNU Fortran (Ubuntu/Linaro 4.6.4-9ubuntu3) 4.6.1

    Ubuntu 11.10 3.0.0-16-generic #29-Ubuntu SMP x86_64 GNU/Linux
                                  gcc (Ubuntu/Linaro 4.6.1-9ubuntu3) 4.6.1
                                  GNU Fortran (Ubuntu/Linaro 4.6.1-9ubuntu3) 4.6.1

    Cray Linux Environment (CLE)  PrgEnv-pgi 2.2.74
    hopper.nersc.gov              pgcc 11.9-0 64-bit target on x86-64 Linux -tp k8e
                                  pgf90 11.9-0 64-bit target on x86-64 Linux -tp k8e
                                  pgCC 11.9-0 64-bit target on x86-64 Linux -tp k8e
    

Tested Configuration Features Summary
=====================================

    In the tables below
          y   = tested 
          n   = not tested in this release
          C   = Cluster
          W   = Workstation
          x   = not working in this release
          dna = does not apply
          ( ) = footnote appears below second table
          <blank> = testing incomplete on this feature or platform 

Platform                                 C        F90    F90      C++   zlib  SZIP
                                         parallel        parallel
Solaris2.10 32-bit                         n        y      n        y     y     y
Solaris2.10 64-bit                         n        y      n        y     y     y
Windows XP                                 n        y(4)   n        y     y     y
Windows XP x64                             n        y(4)   n        y     y     y
Windows Vista                              n        y(4)   n        y     y     y
Windows Vista x64                          n        y(4)   n        y     y     y
Mac OS X Snow Leopard 10.6.8 32-bit        n        y      n        y     y     n 
Mac OS X Snow Leopard 10.6.8 64-bit        n        y      n        y     y     y
Mac OS X Lion 10.7.3 32-bit                n        y      n        y     y     n
Mac OS X Lion 10.7.3 64-bit                n        y      n        y     y     y
AIX 5.3 32- and 64-bit                     y        y      y        y     y     y
FreeBSD 8.2-STABLE 32&64 bit               n        x      n        x     y     y
CentOS 5.5 Linux 2.6.18-194 i686 GNU (1)W  y        y(2)   y        y     y     y
CentOS 5.5 Linux 2.6.18-194 i686 Intel  W  n        y      n        y     y     y
CentOS 5.5 Linux 2.6.18-194 i686 PGI    W  n        y      n        y     y     y
CentOS 5.5 Linux 2.6.18 x86_64 GNU (1)  W  y        y(3)   y        y     y     y
CentOS 5.5 Linux 2.6.18 x86_64 Intel    W  n        y      n        y     y     y
CentOS 5.5 Linux 2.6.18 x86_64 PGI      W  n        y      n        y     y     y
Linux 2.6.32-220.7.1.el6.ppc64             n        y      n        y     y     y
SGI ProPack 7 Linux 2.6.32.24              y        y      y        y     y     y
Red Hat Enterprise Linux 6                 y        y      y        y     y     y
CLE hopper.nersc.gov                       y        y(3)   y        y     y     n


Platform                                 Shared  Shared    Shared    Thread-  
                                         C libs  F90 libs  C++ libs  safe     
Solaris2.10 32-bit                         y       y         y         y        
Solaris2.10 64-bit                         n       n         n         n        
Windows XP                                 y       y(4)      y         n        
Windows XP x64                             y       y(4)      y         n        
Windows Vista                              y       y(4)      y         y
Windows Vista x64                          y       y(4)      y         y
Mac OS X Snow Leopard 10.6.8 32-bit        y       n         y         n        
Mac OS X Snow Leopard 10.6.8 64-bit        y       n         y         n        
Mac OS X Lion 10.7.3 32-bit                y       n         y         y        
Mac OS X Lion 10.7.3 64-bit                y       n         y         y        
AIX 5.3 32- and 64-bit                     n       n         n         y        
FreeBSD 8.2-STABLE 32&64 bit               y       x         x         y        
CentOS 5.5 Linux 2.6.18-194 i686 GNU (1)W  y       y(2)      y         y        
CentOS 5.5 Linux 2.6.18-194 i686 Intel  W  y       y         y         n        
CentOS 5.5 Linux 2.6.18-194 i686 PGI    W  y       y         y         n        
CentOS 5.5 Linux 2.6.18 x86_64 GNU (1)  W  y       y         y         y        
CentOS 5.5 Linux 2.6.18 x86_64 Intel    W  y       y         y         n        
CentOS 5.5 Linux 2.6.18 x86_64 PGI      W  y       y         y         n        
Linux 2.6.32-220.7.1.el6.ppc64             y       y         y         n 
SGI ProPack 7 Linux 2.6.32.24              y       y         y         n 
Red Hat Enterprise Linux 6                 y       y         y         n
CLE hopper.nersc.gov                       n       n         n         n

           (1) Fortran compiled with gfortran.
           (2) With PGI and Absoft compilers.
           (3) With PGI compiler for Fortran.
           (4) Using Visual Studio 2008 w/ Intel Fortran 10.1 (Cygwin shared libraries are not supported)
           (5) C and C++ shared libraries will not be built when Fortran is enabled.
    Compiler versions for each platform are listed in the preceding
    "Platforms Tested" table.


Known Problems
==============
* The h5repacktst test fails on AIX 32-bit because the test uses more
  memory than the default amount. The failure message typically looks like:

    "time: 0551-010 The process was stopped abnormally. Try again."

  This is an issue with the test only and does not represent a problem with
  the library. To allow the test to pass, request more memory when testing
  via appropriate command such as:

    $ env LDR_CNRTL=MAXDATA=0x20000000@DSA make check

  (AKC - 2012/05/09 - HDFFV-8016)

* The file_image test will fail in the "initial file image and callbacks in
  the core VFD" sub-test if the source directory is read-only as the test
  fails to create its test files in the build directory. This will be
  resolved in a future release.
  (AKC - 2012/05/05 - HDFFV-8009)
  
* The dt_arith test reports several errors involving "long double" on
  Mac OS X 10.7 Lion when any level of optimization is enabled. The test does
  not fail in debug mode. This will be addressed in a future release.
  (SLU - 2012/05/08)

* 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 ph5diff (parallel h5diff) tool can intermittently hang in parallel mode
  when comparing two HDF5 files that contain objects with the same names but
  with different object types.
  (JKM - 2012/04/27)

* On hopper, the build failed when RUNSERIAL and RUNPARALLEL are set
  to aprun -np X, because the H5lib_settings.c file was not generated
  properly. Not setting those environment variables works, because
  configure was able to automatically detect that it's a Cray system
  and used the proper launch commands when necessary. 
  (MSC - 2012/04/18)

* The data conversion test dt_arith.c fails in "long double" to integer
  conversion on Ubuntu 11.10 (3.0.0.13 kernal) with GCC 4.6.1 if the library
  is built with optimization -O3 or -O2.  The older GCC (4.5) or newer kernal
  (3.2.2 on Fedora) doesn't have the problem.  Users should lower the 
  optimization level (-O1 or -O0) by defining CFLAGS in the command line of 
  "configure" like:

      CFLAGS=-O1 ./configure

  This will overwrite the library's default optimization level.
  (SLU - 2012/02/07 - HDFFV-7829)

* 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)

* 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)

* The C++ and FORTRAN bindings are not currently working on FreeBSD.
  (QAK - 2011/04/26)

* 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. We are looking into the issue. HL and C++ shared libraries
  should now be working as intended, however.
  (MAM - 2011/04/20)

* The --with-mpe configure option does not work with Mpich2.
  (AKC - 2011/03/10)

* 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)

* The library's test dt_arith.c showed a compiler's rounding problem on
  Cygwin when converting from unsigned long long to long double.  The 
  library's own conversion works fine.  We defined a macro for Cygwin to
  skip this test until we can solve the problem.
  (SLU - 2010/05/05 - HDFFV-1264)

* 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)

* MinGW has a missing libstdc++.dll.a library file and will not successfully link
  C++ applications/tests. Do not use the enable-cxx configure option. Read all of
  the INSTALL_MINGW.txt file for all restrictions.
  (ADB - 2009/11/11)

* 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)
  
* The PathScale MPI implementation, accessing a Panasas file system, would
  cause H5Fcreate() with H5F_ACC_EXCL to fail even when the file does not
  exist. This is due to the MPI_File_open() call failing if the mode has
  the MPI_MODE_EXCL bit set.
  (AKC - 2009/08/11 - HDFFV-988)
 
* Parallel tests failed with 16 processes with data inconsistency at testphdf5
  / dataset_readAll. Parallel tests also failed with 32 and 64 processes with
  collective abort of all ranks at t_posix_compliant / allwrite_allread_blocks
  with MPI IO.
  (CMC - 2009/04/28)

* For Red Storm, a Cray XT3 system, the tools/h5ls/testh5ls.sh and
  tools/h5copy/testh5copy.sh will fail some of its sub-tests. These sub-tests
  are expected to fail and should exit with a non-zero code but the yod
  command does not propagate the exit code of the executables. Yod always
  returns 0 if it can launch the executable.  The test suite shell expects
  a non-zero for this particular test, therefore it concludes the test has
  failed when it receives 0 from yod.  Skip all the "failing" test for now
  by changing them as following.

  ======== Original tools/h5ls/testh5ls.sh =========
  TOOLTEST tgroup-1.ls 1 -w80 -r -g tgroup.h5
  ======== Change to ===============================
  echo SKIP TOOLTEST tgroup-1.ls 1 -w80 -r -g tgroup.h5
  ==================================================

  ======== Original tools/h5copy/testh5copy.sh =========
  TOOLTEST_FAIL -i $TESTFILE -o $FILEOUT -v -s grp_dsets  -d grp_rename
  TOOLTEST_FAIL -i $TESTFILE -o $FILEOUT -v -s grp_dsets  -d /grp_rename/grp_dsets
  TOOLTEST_FAIL -i $TESTFILE -o $FILEOUT -vp -s /grp_dsets -d /E/F/grp_dsets
  TOOLTEST_FAIL -i $TESTFILE -o $FILEOUT -vp -s /grp_nested -d /G/H/grp_nested
  H5LSTEST $FILEOUT
  ======== Change to ===============================
  echo SKIP TOOLTEST_FAIL -i $TESTFILE -o $FILEOUT -v -s grp_dsets  -d grp_rename
  echo SKIP TOOLTEST_FAIL -i $TESTFILE -o $FILEOUT -v -s grp_dsets  -d /grp_rename/grp_dsets
  echo SKIP TOOLTEST_FAIL -i $TESTFILE -o $FILEOUT -vp -s /grp_dsets -d /E/F/grp_dsets
  echo SKIP TOOLTEST_FAIL -i $TESTFILE -o $FILEOUT -vp -s /grp_nested -d /G/H/grp_nested
  echo SKIP H5LSTEST $FILEOUT
  ==================================================
  (AKC - 2008/11/10)
  
* For Red Storm, a Cray XT3 system, the yod command sometimes gives the
  message,  "yod allocation delayed for node recovery".  This interferes with
  test suites that do not expect to see this message.  See the section of "Red
  Storm" in file INSTALL_parallel for a way to deal with this problem.
  (AKC - 2008/05/28)

* On an Intel 64 Linux cluster (RH 4, Linux 2.6.9) with Intel 10.0 compilers, 
  use -mp -O1 compilation flags to build the libraries. A higher level of 
  optimization causes failures in several HDF5 library tests. 

* On mpich 1.2.5 and 1.2.6, if more than two processes contribute no IO and 
  the application asks to do collective IO, we have found that when using 4 
  processors, a simple collective write will sometimes be hung. This can be 
  verified with t_mpi test under testpar.

* 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)

* On IBM AIX systems, parallel HDF5 mode will fail some tests with error
  messages like "INFO: 0031-XXX ...".  This is from the command `poe'.
  Set the environment variable MP_INFOLEVEL to 0 to minimize the messages
  and run the tests again.

  The tests may fail with messages like "The socket name is already in use",  
  but HDF5 does not use sockets.  This failure is due to problems with the 
  poe command trying to set up the debug socket.  To resolve this problem, 
  check to see whether there are many old /tmp/s.pedb.* files staying around.  
  These are sockets used by the poe command and left behind due to failed 
  commands.  First, ask your system administrator to clean them out.  
  Lastly, request IBM to provide a means to run poe without the debug socket.
  (AKC - 2004/12/08)
