diff options
Diffstat (limited to 'release_docs')
-rw-r--r-- | release_docs/COPYING | 2 | ||||
-rw-r--r-- | release_docs/HISTORY-1_0-1_8_0_rc3.txt | 3324 | ||||
-rw-r--r-- | release_docs/HISTORY-1_8.txt | 4966 | ||||
-rw-r--r-- | release_docs/INSTALL | 21 | ||||
-rw-r--r-- | release_docs/INSTALL_CMake.txt | 664 | ||||
-rw-r--r-- | release_docs/INSTALL_Cygwin.txt | 164 | ||||
-rw-r--r-- | release_docs/INSTALL_Warnings.txt | 474 | ||||
-rw-r--r-- | release_docs/INSTALL_parallel | 35 | ||||
-rw-r--r-- | release_docs/README_HDF5_CMake | 24 | ||||
-rw-r--r-- | release_docs/README_HPC | 206 | ||||
-rw-r--r-- | release_docs/RELEASE.txt | 997 | ||||
-rw-r--r-- | release_docs/USING_CMake_Examples.txt | 29 | ||||
-rw-r--r-- | release_docs/USING_HDF5_CMake.txt | 230 | ||||
-rw-r--r-- | release_docs/USING_HDF5_VS.txt | 62 |
14 files changed, 6269 insertions, 4929 deletions
diff --git a/release_docs/COPYING b/release_docs/COPYING index 6497ace..97969da 100644 --- a/release_docs/COPYING +++ b/release_docs/COPYING @@ -7,7 +7,7 @@ The full HDF5 copyright notice, including terms governing use, modification, and redistribution, is contained in the COPYING file which can be found at the root of the source code distribution tree - or in https://support.hdfgroup.org/ftp/HDF5/releases. If you do + or in https://www.hdfgroup.org/licenses. If you do not have access to either file, you may request a copy from help@hdfgroup.org. diff --git a/release_docs/HISTORY-1_0-1_8_0_rc3.txt b/release_docs/HISTORY-1_0-1_8_0_rc3.txt index f42bb00..f23a2c5 100644 --- a/release_docs/HISTORY-1_0-1_8_0_rc3.txt +++ b/release_docs/HISTORY-1_0-1_8_0_rc3.txt @@ -1,6 +1,8 @@ HDF5 HISTORY ============ -This file contains history of the HDF5 libraries releases +This file contains history of the HDF5 libraries releases starting with +HDF5-1.0.0 and ending with HDF5-1.8.0-rc3 (the state of the code before +the HDF5 1.8.0 release). CONTENTS @@ -25,7 +27,7 @@ CONTENTS 4. Changes from Release 1.0.0 to Release 1.0.1 3. Changes from the Beta 1.0.0 Release to Release 1.0.0 2. Changes from the Second Alpha 1.0.0 Release to the Beta 1.0.0 Release -1. Changes from the First Alpha 1.0.0 Release to the +1. Changes from the First Alpha 1.0.0 Release to the Second Alpha 1.0.0 Release [Search on the string '%%%%' for per-release section breaks.] @@ -33,15 +35,15 @@ CONTENTS %%%%1.8.0-rc3%%%% Changes from 1.6.0 to 1.8.0-rc3 -HDF5 version 1.8.0-rc3 +HDF5 version 1.8.0-rc3 ================================================================================ INTRODUCTION This document describes the differences between HDF5-1.6.* and -Hdf5 1.8.0 release candidate "HDF5-1.8.0-rc3", and contains information -on the platforms tested and known problems in HDF5-1.8.0-rc3. +Hdf5 1.8.0 release candidate "HDF5-1.8.0-rc3", and contains information +on the platforms tested and known problems in HDF5-1.8.0-rc3. For more details check the HISTORY.txt file in the HDF5 source. @@ -49,7 +51,7 @@ Links to HDF5 1.8.0-rc3 source code, documentation, and additional materials can be found on THG's development server (www.hdfgroup.uiuc.edu) at the following location: http://www.hdfgroup.uiuc.edu/HDF5/release/beta/obtain518.html -User documentation for the beta can be accessed directly at this location: +User documentation for the beta can be accessed directly at this location: http://www.hdfgroup.uiuc.edu/HDF5/doc_1.8pre/doc/ New features of the upcoming 1.8.0 release are described in @@ -64,7 +66,7 @@ and will be listed in the "HDF5 Software Changes" document: For more information, see the HDF5 home page: - + http://www.hdfgroup.org/HDF5/ If you have any questions or comments, please send them to the HDF Help Desk: @@ -87,120 +89,120 @@ New Features Configuration: -------------- - Removed stream-vfd from the HDF5 library. - AKC 2007/11/19. - - Updated versions of autotools. HDF5 now uses automake 1.10.0, - autoconf 2.61, and libtool 1.5.22. MAM - 2007/7/25. + - Updated versions of autotools. HDF5 now uses automake 1.10.0, + autoconf 2.61, and libtool 1.5.22. MAM - 2007/7/25. - Changed default fortran compiler to g95 when gcc is used. - AKC - 2007/2/17. + 2007/2/17. - 'make check-vfd' can now be run from the top level directory. Not all - tests that 'make check' invokes work with certain Virtual File Drivers, - so those tests have been skipped. - MAM 2006/7/17 + tests that 'make check' invokes work with certain Virtual File Drivers, + so those tests have been skipped. - MAM 2006/7/17 - Added the variable HDF5TestExpress to control how long tests run. - Setting it to a value between 0 and 3 controls how thoroughly the - library is tested, with 0 being an "exhaustive run" and 3 being a - very quick "smoke test." 1 (a "full run") is the default. - -JML 2006/6/21 + Setting it to a value between 0 and 3 controls how thoroughly the + library is tested, with 0 being an "exhaustive run" and 3 being a + very quick "smoke test." 1 (a "full run") is the default. + -JML 2006/6/21 - If both shared and static libraries are installed, now both will be - tested during 'make install'. -MAM 2006/06/21 + tested during 'make install'. -MAM 2006/06/21 - Added support to explicity enable stream_vfd or shared libraries - when using parallel via the '--enable-stream_vfd' and - '--enable-shared' options, respectively. If not explicity defined, - These settings default to enabled when parallel is not used, - and disabled when parallel is used. -MAM 2006/06/17 + when using parallel via the '--enable-stream_vfd' and + '--enable-shared' options, respectively. If not explicity defined, + These settings default to enabled when parallel is not used, + and disabled when parallel is used. -MAM 2006/06/17 - Remove the flexible parallel code and the --enable-fphdf5 - configure option, it was never up to production standards - anyway. -QAK 2006/4/20 + configure option, it was never up to production standards + anyway. -QAK 2006/4/20 - Added a macro hdf5_mpi_special_collective_io_works to filter out - some mpi-io packages that don't support collective IO for no IO - contributions in some processes. -KY 2006/2/16 - - Added -shlib option to link against installed shared libraries to - h5c++ and h5fc. -JML 2005/11/1 - - Added --enable-build-all option to configure, which only developers - should need to use. -JML 2005/10/24 - - Configure uses the 'TR' variable to let the user override the path - to the 'tr' utility. -JML 2005/10/17 - - Configure can recognize -lmpich as a form of MPI library. -AKC- - 2005/9/28. + some mpi-io packages that don't support collective IO for no IO + contributions in some processes. -KY 2006/2/16 + - Added -shlib option to link against installed shared libraries to + h5c++ and h5fc. -JML 2005/11/1 + - Added --enable-build-all option to configure, which only developers + should need to use. -JML 2005/10/24 + - Configure uses the 'TR' variable to let the user override the path + to the 'tr' utility. -JML 2005/10/17 + - Configure can recognize -lmpich as a form of MPI library. -AKC- + 2005/9/28. - MD5 checksumming has been added to snapshot releases. Release - tarballs will be accompanied by .md5 checksum files, which can - be verified using the md5sum utility. -JML 2005/9/6 + tarballs will be accompanied by .md5 checksum files, which can + be verified using the md5sum utility. -JML 2005/9/6 - Some configure flags are incompatible (e.g., the C++ APIs cannot - be built using the parallel version of HDF5). configure will now - output errors when some common incompatible features are used - together. -JML 2005/9/6 + be built using the parallel version of HDF5). configure will now + output errors when some common incompatible features are used + together. -JML 2005/9/6 - A new API function, H5Tis_hard(), was added to the library. It - checks if a conversion function is a compiler (hard) conversion. - SLU - 2005/9/6 - - t_mpi will run the test_mpio_derived_dtype by default unless it is - known not working (indicated by macro H5_MPI_COMPLEX_DERIVED_DATATYPE_WORKS - not defined.) -AKC- 2005/8/23. - - Test execution has changed in a number of ways: - When make is invoked in parallel (using -j), sequential tests - are now executed as parallel make targets. This should make them - finish more quickly on machines with multiple processors. - Since test output is garbled when they are executed by parallel make, - tests now dump their output to foo.log files and foo.logsh files - (for test scripts). These logs are printed to the screen only - when a test fails or when all tests in the current directory have - completed successfully. - When tests pass, they will create a foo.chkexe file. - This prevents the test from executing again until the test or - main library changes. - All files generated by tests (*.chkexe, *.log, and any *.h5 files - created) can be removed by invoking 'make check-clean'. - Sequential and parallel library tests can now be invoked separately. - 'make check-s' will execute only sequential tests, and 'make check-p' - will execute only parallel tests. 'make check' will still execute - all tests. - -JML 2005/08/03 + checks if a conversion function is a compiler (hard) conversion. + SLU - 2005/9/6 + - t_mpi will run the test_mpio_derived_dtype by default unless it is + known not working (indicated by macro H5_MPI_COMPLEX_DERIVED_DATATYPE_WORKS + not defined.) -AKC- 2005/8/23. + - Test execution has changed in a number of ways: + When make is invoked in parallel (using -j), sequential tests + are now executed as parallel make targets. This should make them + finish more quickly on machines with multiple processors. + Since test output is garbled when they are executed by parallel make, + tests now dump their output to foo.log files and foo.logsh files + (for test scripts). These logs are printed to the screen only + when a test fails or when all tests in the current directory have + completed successfully. + When tests pass, they will create a foo.chkexe file. + This prevents the test from executing again until the test or + main library changes. + All files generated by tests (*.chkexe, *.log, and any *.h5 files + created) can be removed by invoking 'make check-clean'. + Sequential and parallel library tests can now be invoked separately. + 'make check-s' will execute only sequential tests, and 'make check-p' + will execute only parallel tests. 'make check' will still execute + all tests. + JML - 2005/08/03 - On windows, all.zip is deprecated. users should read INSTALL_Windows.txt to know the details. Reasons to deprecate all.zip: - 1. Avoid confliction for windows programmers + 1. Avoid confliction for windows programmers 2. Decrease size of CVS tree by adding all.zip - 3. Avoid using winzip as the intermediate step + 3. Avoid using winzip as the intermediate step --KY 2005/04/22 - - When HDF5 is created as a shared library, it now uses libtool's - shared library versioning scheme. -JML 2005/04/18 - - HDF5 now uses automake 1.9.5 to generate Makefiles.in. - This has a number of effects on users: - The Fortran compiler should be set using the environment - variable $FC, not $F9X. F9X still works, but is depreciated. - The output of make may be different. This should be only a - cosmetic effect. - make depened (or make dep) is no longer recognized, since automake - handles dependency tracking. - Some new configure options exist. --enable-dependency-tracking - and --disable-dependency-tracking are used to control automake's - dependency tracking. Dependencies are on by default *on most - platforms and compilers*. If --enable-dependency-tracking is - used, they will be enabled on any platform. However, this can - slow down builds or even cause build errors in some cases. - Likewise, --disable-dependency-tracking can speed up builds and - avoid some build errors. - Some make targets have alternate names. make check-install and - make installcheck do the same thing, for instance. - pmake on IRIX can be invoked from the root directory, but the - -V flag must be used to invoke it in any subdirectory or it - will give an error about undefined variables. - JML 2005/01 - 2005/03 - - Hardware conversion between long double and integers is also added. - SLU 2005/02/10 - - Started to support software conversion between long double and - integers. Hardware conversion will come very soon. SLU - 2005/1/6 - - Intel v8.0 compiler would infinite loop when compiling some test - code with -O3 option. Changed enable-production default compiler - option to -O2. AKC - 2004/12/06 - - Long double is assumed to be a supported C data type. It is a - stanadard C89 type. AKC - 2004/10/22 - - The IA64 will use ecc as the C++ compiler by default. + - When HDF5 is created as a shared library, it now uses libtool's + shared library versioning scheme. -JML 2005/04/18 + - HDF5 now uses automake 1.9.5 to generate Makefiles.in. + This has a number of effects on users: + The Fortran compiler should be set using the environment + variable $FC, not $F9X. F9X still works, but is depreciated. + The output of make may be different. This should be only a + cosmetic effect. + make depened (or make dep) is no longer recognized, since automake + handles dependency tracking. + Some new configure options exist. --enable-dependency-tracking + and --disable-dependency-tracking are used to control automake's + dependency tracking. Dependencies are on by default *on most + platforms and compilers*. If --enable-dependency-tracking is + used, they will be enabled on any platform. However, this can + slow down builds or even cause build errors in some cases. + Likewise, --disable-dependency-tracking can speed up builds and + avoid some build errors. + Some make targets have alternate names. make check-install and + make installcheck do the same thing, for instance. + pmake on IRIX can be invoked from the root directory, but the + -V flag must be used to invoke it in any subdirectory or it + will give an error about undefined variables. + JML 2005/01 - 2005/03 + - Hardware conversion between long double and integers is also added. + SLU 2005/02/10 + - Started to support software conversion between long double and + integers. Hardware conversion will come very soon. SLU - 2005/1/6 + - Intel v8.0 compiler would infinite loop when compiling some test + code with -O3 option. Changed enable-production default compiler + option to -O2. AKC - 2004/12/06 + - Long double is assumed to be a supported C data type. It is a + stanadard C89 type. AKC - 2004/10/22 + - The IA64 will use ecc as the C++ compiler by default. - Added some initial support for making valgrind/Purify (or similar memory checking products) happier by initializing buffers to zero and disabling the internal free list code. To take advantage of this, use the "--enable-using-memchecker" configure option when building the library. QAK - 2004/07/23 - Fixed the long compile time of H5detect.c when v7.x Intel Compiler - is used with optimization NOT off. AKC - 2004/05/20 - - Fixed configure setting of C++ for OSF1 platform. AKC - 2004/01/06 + is used with optimization NOT off. AKC - 2004/05/20 + - Fixed configure setting of C++ for OSF1 platform. AKC - 2004/01/06 - Prefix default is changed from /usr/local to `pwd`/hdf5. AKC - 2003/07/09 @@ -212,8 +214,8 @@ New Features be used as the "location ID". If a file ID is used, the attribute operation will occur on the root group of the file. - QAK - 2007/02/09 - - Enabled the CORE driver to read an existing file depending on - the setting of the backing_store for H5Pset_fapl_core and file + - Enabled the CORE driver to read an existing file depending on + the setting of the backing_store for H5Pset_fapl_core and file open flags. - SLU - 2006/11/30 - Added new H5Gget_info_by_idx() routine to query the information about a group according to the order within an index. @@ -271,7 +273,7 @@ New Features - Added H5Fget_intent to get the "intent" of a file (whether it was opened with read-write access or read-only. -JML 2006/8/23 - - Added Link Access Property Lists. They currently contain two + - Added Link Access Property Lists. They currently contain two properties, nlinks (H5Pget/set_nlinks) and elink_prefix (H5Pget/set_elink_prefix). nlinks controls how many soft and user-defined traversals are allowed before HDF5 assumes it has @@ -279,47 +281,47 @@ New Features The elink_prefix is a filesystem path that is prefixed to the names of any external link files opened using this LAPL. -JML 2006/8/23 - - Add H5L link APIs. Old APIs (H5Glink, H5Gmove, etc.) are still - supported but deprecated. - New APIs are: - H5Llink - create a link to an object given its ID - H5Lmove - just like H5Gmove2 - H5Lcopy - copy a link without copying the underlying object - H5Lcreate_hard - like H5Glink2 for hard links - H5Lcreate_soft - like H5Glink2 for soft links - H5Ldelete - just like H5Gunlink - H5Lget_val - just like H5Gget_linkval - H5Lget_info - gets link-specific info (like H5Gget_objinfo) - - In addition, H5Gcreate_anon, H5Tcommit_anon, and H5Dcreate_anon - no longer create links to objects; objects must be manually linked - using H5Llink or they will be deleted when the ID is closed. - - Link Creation Property Lists can be used to pass character - encoding (ASCII or UTF-8) for link names and to set the Intermediate - Group Creation Flag: - H5Pset_char_encoding, H5Pget_char_encoding - H5Pset_copy_object, H5Pget_copy_object - -JML 2006/7/5 - - Added managements of collective IO supports for chunking storage - inside parallel HDF5 - 1) Implemented One IO with collective mode for all chunks in the - application by building one MPI derived datatype accross all - chunks. - 2) Implemented the decision-making support to do collective IO inside - MPI-IO per chunk. - 3) Added the decision-making support to do one IO accross all chunks - or to do multiple IOs with each IO per chunk. - 4) Added the support to handle the case some processes won't do any IOs in - collectively. - 5) Some MPI-IO package(mpich 1.2.6 or lower, e.g.) cannot handle - collective IO correctly for the case when some processes have no - contributions to IOs, a special macro is added to change - collective IO mode to independent IO mode inside HDF5 library. - - Currently we find that MPICH at Linux and vender MPI-IO package at NCSA - Altix cannot handle this case. - + - Add H5L link APIs. Old APIs (H5Glink, H5Gmove, etc.) are still + supported but deprecated. + New APIs are: + H5Llink - create a link to an object given its ID + H5Lmove - just like H5Gmove2 + H5Lcopy - copy a link without copying the underlying object + H5Lcreate_hard - like H5Glink2 for hard links + H5Lcreate_soft - like H5Glink2 for soft links + H5Ldelete - just like H5Gunlink + H5Lget_val - just like H5Gget_linkval + H5Lget_info - gets link-specific info (like H5Gget_objinfo) + + In addition, H5Gcreate_anon, H5Tcommit_anon, and H5Dcreate_anon + no longer create links to objects; objects must be manually linked + using H5Llink or they will be deleted when the ID is closed. + + Link Creation Property Lists can be used to pass character + encoding (ASCII or UTF-8) for link names and to set the Intermediate + Group Creation Flag: + H5Pset_char_encoding, H5Pget_char_encoding + H5Pset_copy_object, H5Pget_copy_object + -JML 2006/7/5 + - Added managements of collective IO supports for chunking storage + inside parallel HDF5 + 1) Implemented One IO with collective mode for all chunks in the + application by building one MPI derived datatype accross all + chunks. + 2) Implemented the decision-making support to do collective IO inside + MPI-IO per chunk. + 3) Added the decision-making support to do one IO accross all chunks + or to do multiple IOs with each IO per chunk. + 4) Added the support to handle the case some processes won't do any IOs in + collectively. + 5) Some MPI-IO package(mpich 1.2.6 or lower, e.g.) cannot handle + collective IO correctly for the case when some processes have no + contributions to IOs, a special macro is added to change + collective IO mode to independent IO mode inside HDF5 library. + + Currently we find that MPICH at Linux and vender MPI-IO package at NCSA + Altix cannot handle this case. + "hdf5_mpi_special_collective_io_works=${hdf5_mpi_special_collective_io_works='no'}" has been added at the end of file <ia64-linux-gnui> and <linux-gnulibc1>. @@ -327,30 +329,30 @@ New Features If MPI-IO packages at your Linux and Altix support this case, please comment out the last line and report to us at help@hdfgroup.org. We can tune in our configuration to - support this. - + support this. + KY - 2006/02/16 - - Added character encoding to attribute creation property lists. + - Added character encoding to attribute creation property lists. JML - 2006/01/02 - - Added H5Gcopy() routine to copy objects between while keeping - data in compressed form. QAK - 2005/11/06 - - Added H5Sextent_equal() routine. QAK - 2005/11/06 - - Added HSYS_ERROR which retrieves the system error message and pushes - it to the error stack. This gives more information of the failed - system call. AKC - 2005/08/04 - - Added H5F_OBJ_LOCAL flag to H5Fget_obj_count() & H5Fget_obj_ids(), to - allow querying for objects in file that were opened with a particular - file ID, instead of all objects opened in file with any file ID. - QAK - 2005/06/01 - - Added H5T_CSET_UTF8 character set to mark datatypes that use the - UTF-8 Unicode character encoding. Added tests to ensure that - library handles UTF-8 object names, attributes, etc. -JL 2005/05/13 - - HDF5 supports collective MPI-IO for irregular selection with HDF5 - dataset. Irregular selection is when users use H5Sselect_hyperslab - more than once for the same dataset. - Currently, not all MPI-IO packages support complicated MPI derived + - Added H5Gcopy() routine to copy objects between while keeping + data in compressed form. QAK - 2005/11/06 + - Added H5Sextent_equal() routine. QAK - 2005/11/06 + - Added HSYS_ERROR which retrieves the system error message and pushes + it to the error stack. This gives more information of the failed + system call. AKC - 2005/08/04 + - Added H5F_OBJ_LOCAL flag to H5Fget_obj_count() & H5Fget_obj_ids(), to + allow querying for objects in file that were opened with a particular + file ID, instead of all objects opened in file with any file ID. + QAK - 2005/06/01 + - Added H5T_CSET_UTF8 character set to mark datatypes that use the + UTF-8 Unicode character encoding. Added tests to ensure that + library handles UTF-8 object names, attributes, etc. -JL 2005/05/13 + - HDF5 supports collective MPI-IO for irregular selection with HDF5 + dataset. Irregular selection is when users use H5Sselect_hyperslab + more than once for the same dataset. + Currently, not all MPI-IO packages support complicated MPI derived datatype used in the implementation of irregular - selection INSIDE HDF5. + selection INSIDE HDF5. 1) DEC 5.x is not supporting complicated derived datatype. 2) For AIX 5.1, if your poe version number is 3.2.0.19 or lower, @@ -360,57 +362,57 @@ New Features and UNCOMMENT this line before the configure. check poe version with the following command: lpp -l all | grep ppe.poe - 3) For Linux cluster, + 3) For Linux cluster, if mpich version is 1.2.5 or lower, collective irregular selection IO is not supported, internally independent IO is used. 4) For IRIX 6.5, if C compiler version is 7.3 or lower, collective irregular selection IO is not supported, internally independent IO is used. 5) For platforms which internally used mpich, if the - mpich version is 1.2.5 or lower, please find the + mpich version is 1.2.5 or lower, please find the corresponding config file and add hdf5_mpi_complex_derived_datatype_works='no' at the end of the configuration file. For example, at NCSA - SGI Altix, the internal mpich library is 1.2.5. So + SGI Altix, the internal mpich library is 1.2.5. So hdf5_mpi_complex_derived_datatype_works='no' should be added at the end of the config file ia64-linux-gnu. KY - 2005/09/12 - We also found not all MPI-IO packages support collective IO with one + We also found not all MPI-IO packages support collective IO with one or more processes to have no contributions to IO. - For mpich version 1.2.6 or lower and all IRIX machine, + For mpich version 1.2.6 or lower and all IRIX machine, if the library checks that there are no IO contributions for some processes, collective IO request is replaced with independent inside HDF5. KY - 2006/05/04 - - - HDF5 N-bit filter - HDF5 support N-bit filter from this version, - The N-Bit filter is used effectively for compressing data of N-Bit - datatype as well as compound and array datatype with N-Bit fields. - KY - 2005/04/15 + + - HDF5 N-bit filter + HDF5 support N-bit filter from this version, + The N-Bit filter is used effectively for compressing data of N-Bit + datatype as well as compound and array datatype with N-Bit fields. + KY - 2005/04/15 - HDF5 scaleoffset filter - HDF5 supports scaleoffset filter for users to do data - compression through HDF5 library. - Scale-Offset compression performs a scale and/or offset operation - on each data value and truncates the resulting value to a minimum - number of bits and then stores the data. - Scaleoffset filter supports floating-point and integer datatype. - Please check the HDF5 reference manual for this. - KY - 2005/06/06 + HDF5 supports scaleoffset filter for users to do data + compression through HDF5 library. + Scale-Offset compression performs a scale and/or offset operation + on each data value and truncates the resulting value to a minimum + number of bits and then stores the data. + Scaleoffset filter supports floating-point and integer datatype. + Please check the HDF5 reference manual for this. + KY - 2005/06/06 - Retired SRB vfd (--with-srb). Functions H5Pset_fapl_srb and - H5Pget_fapl_srb were removed. EIP - 2005/04/07 - - Retired GASS vfd (--with-gass). Functions H5Pset_fapl_gass and - H5Pget_fapl_gass are removed too. AKC - 2005/3/3 + H5Pget_fapl_srb were removed. EIP - 2005/04/07 + - Retired GASS vfd (--with-gass). Functions H5Pset_fapl_gass and + H5Pget_fapl_gass are removed too. AKC - 2005/3/3 - Pablo was removed from the source code EIP - 2005/01/21 - Modified registration of SZIP to dynamically detect the presence or absence of the encoder. Changed configure and Makefiles, and tests to dynamically detect encoder. BEM - 2004/11/02 - - Added function H5Pget_data_transform, together with the previously - added H5Pset_data_transform, to support the data transform - feature. AKC - 2004/10/26 - - Compound datatype has been enhanced with a new feature of size + - Added function H5Pget_data_transform, together with the previously + added H5Pset_data_transform, to support the data transform + feature. AKC - 2004/10/26 + - Compound datatype has been enhanced with a new feature of size adjustment. The size can be increased and decreased(without - cutting the last member) as long as it doesn't go down to zero. + cutting the last member) as long as it doesn't go down to zero. No API change is involved. SLU - 2004/10/1 - Put back 6 old error API functions to be backward compatible with version 1.6. They are H5Epush, H5Eprint, H5Ewalk, H5Eclear, @@ -419,14 +421,14 @@ New Features H5Eclear_stack, H5Eset_auto_stack, H5Eget_auto_stack. SLU - 2004/9/2 - 4 new API functions, H5Tencode, H5Tdecode, H5Sencode, H5Sdecode were - added to the library. Given object ID, these functions encode and - decode HDF5 objects(data type and space) information into and from + added to the library. Given object ID, these functions encode and + decode HDF5 objects(data type and space) information into and from binary buffer. SLU - 2004/07/21 - - Modified the way how HDF5 calculates 'pixels_per_scanline' parameter for + - 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. - EIP - 2004/07/21 + chunk except that the total number of elements in the chunk cannot be + bigger than 'pixels_per_block' parameter provided by the user. + EIP - 2004/07/21 - Added support for SZIP without encoder. Added H5Zget_filter_info and changed H5Pget_filter and H5Pget_filter_by_id to support this change. JL/NF - 2004/06/30 @@ -440,20 +442,20 @@ New Features - Added support for user defined identifier types. NF/JL - 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 - - New Feature of Data transformation is added. AKC - 2004/05/03. - - New exception handler for datatype conversion is put in to + - New Feature of Data transformation is added. AKC - 2004/05/03. + - New exception handler for datatype conversion is put in to replace the old overflow callback function. This exception handler is set through H5Pset_type_conv_cb function. SLU - 2004/4/27 - Added option that if $HDF5_DISABLE_VERSION_CHECK is set to 2, - will suppress all library version mismatch warning messages. - AKC - 2004/4/14 - - A new type of dataspace, null dataspace(dataspace without any + will suppress all library version mismatch warning messages. + AKC - 2004/4/14 + - A new type of dataspace, null dataspace(dataspace without any element) was added. SLU - 2004/3/24 - Data type conversion(software) from integer to float was added. - SLU - 2004/3/13 + SLU - 2004/3/13 - Data type conversion(software) from float to integer was added. - Conversion from integer to float will be added later. + Conversion from integer to float will be added later. SLU -2004/2/4 - Added new H5Premove_filter routine to remove I/O pipeline filters from dataset creation property lists. PVN - 2004/01/26 @@ -467,7 +469,7 @@ New Features object's object header. QAK 2003/10/06 - Added new H5Fget_freespace() routine to query the free space in a given file. QAK 2003/10/06 - - Added backward compatability with v1.6 for new Error API. SLU - + - Added backward compatability with v1.6 for new Error API. SLU - 2003/09/24 - Changed 'objno' field in H5G_stat_t structure from 'unsigned long[2]' to 'haddr_t'. QAK - 2003/08/08 @@ -482,13 +484,13 @@ New Features Parallel Library: ----------------- - - Added mpich2 as a testing "platform" informally. AKC - 2005/9/28. - - A dataset created in serial mode with H5D_ALLOC_TIME_INCR allocation - setting was not extendible, either explicitly by H5Dextend or - implicitly by writing to unallocated chunks. Library now allocates - more space when needed or directed if the file is opened by parallel - mode, independent of what the dataset allocation mode is. - CC/AKC - 2005/08/29. + - Added mpich2 as a testing "platform" informally. AKC - 2005/9/28. + - A dataset created in serial mode with H5D_ALLOC_TIME_INCR allocation + setting was not extendible, either explicitly by H5Dextend or + implicitly by writing to unallocated chunks. Library now allocates + more space when needed or directed if the file is opened by parallel + mode, independent of what the dataset allocation mode is. + CC/AKC - 2005/08/29. - Allow compressed, chunked datasets to be read in parallel. QAK - 2004/10/04 - Add options of using atomicity and file-sync to test_mpio_1wMr. @@ -501,20 +503,20 @@ New Features ---------------- - added support for shared Fortran libraries. -JML 2005/09/20 - added missing h5tget_member_class_f function - EIP 2005/04/06 - - added new functions h5fget_name_f and h5fget_filesize_f + EIP 2005/04/06 + - added new functions h5fget_name_f and h5fget_filesize_f EIP 2004/07/08 - h5dwrite/read_f and h5awrite/read_f functions only accept dims parameter - of the type INTEGER(HSIZE_T). + of the type INTEGER(HSIZE_T). - added support for native integers of 8 bytes (i.e. when special - compiler flag is specified to set native fortran integers to 8 bytes, - for example, -i8 flag for PGI and Absoft Fortran compilers, - -qintsize=8 flag for IBM xlf compiler). + compiler flag is specified to set native fortran integers to 8 bytes, + for example, -i8 flag for PGI and Absoft Fortran compilers, + -qintsize=8 flag for IBM xlf compiler). EIP 2005/06/20 - added support for "big" REAL and DOUBLE PRECISION types - (usually the size is specified by compilers flags like - -r8, -r16, etc.) - Known problem: multi file test fails when REAL is 16 bytes. + (usually the size is specified by compilers flags like + -r8, -r16, etc.) + Known problem: multi file test fails when REAL is 16 bytes. EIP 2005/09/8 C++ Library: @@ -537,41 +539,41 @@ New Features Tools: ------ - h5repack and h5diff changed command line parameter syntax to be - similar to h5dump, adding also long switch names. PVN - 2008/1/16 - - h5repack now supports adding multiple filters to all objects. - PVN - 2008/1/16 - - h5dump lists groups and attributes in requested orders (by name and - creation order, both ascending and descending). PVN - 2007/10/5 + similar to h5dump, adding also long switch names. PVN - 2008/1/16 + - h5repack now supports adding multiple filters to all objects. + PVN - 2008/1/16 + - h5dump lists groups and attributes in requested orders (by name and + creation order, both ascending and descending). PVN - 2007/10/5 - h5import imports string (text) data. PVN - 2007/10/5 - h52gif and gif2h5: Both these tools were revised to include the High - Level Image API support, and tests were added to /hl/tools/gif2h5. - PVN - 2007/04/13 + Level Image API support, and tests were added to /hl/tools/gif2h5. + PVN - 2007/04/13 - h5dump: added support for double long type H5T_NATIVE_LDOUBLE. PVN - 2007/03/13 + 2007/03/13 - h5dump: added support for binary output, see usage. PVN 2007/03/13 - h5repack: added support for the new nbit and scaleoffset filters. - PVN - 2007/05/07 + PVN - 2007/05/07 - h5repack: now uses the API function H5Ocopy (of the tool h5copy) to - recreate objects if there is not a user input for changes. PVN - - 2007/05/07 + recreate objects if there is not a user input for changes. PVN - + 2007/05/07 - h5repack: added support for reading and repacking by hyperslabs for - large files. PVN - 2007/03/01 + large files. PVN - 2007/03/01 - h5repack: a new option allows the copy using the file type (default) - instead of the previous conversion to native type. PVN - 2007/03/01 + instead of the previous conversion to native type. PVN - 2007/03/01 - h5repack: output the percentage of compression used. PVN - 2007/03/01 - h5diff: added support for -p option for unsigned long_long data. PVN - - 2007/02/26 + 2007/02/26 - h5diff: added support for comparing dataset regions. PVN - 2007/02/20 - h5diff: added support for reading and comparing by hyperslabs for large files. - PVN - 2007/02/20 + PVN - 2007/02/20 - h5diff: printing of dataset dimensions along with dataset name. PVN -2007/02/19 - h5dump now uses the new API function H5Rget_name to display the name - of the dataset referenced instead of its ID. PVN - 2007/02/19 + of the dataset referenced instead of its ID. PVN - 2007/02/19 - Added new tool, h5mkgrp. QAK - 2007/02/14 - Added new tool, h5copy. PVN - 2006/7/15 - - Removed obsolete pdb2hdf5 tool from tools/misc -JML 2005/10/24 - - Added build_h5perf_alone.sh that builds h5perf by standalone mode. - AKC - 2005/09/18. + - Removed obsolete pdb2hdf5 tool from tools/misc -JML 2005/10/24 + - Added build_h5perf_alone.sh that builds h5perf by standalone mode. + AKC - 2005/09/18. - Sped up h5dump on files with large numbers of objects. QAK - 2005/08/25 - Added a standalone mode for building h5perf. AKC - 2005/08/12 @@ -582,8 +584,8 @@ New Features available for h5dump and h5ls. RPM & QAK - 2004/02/01 - Added option --vfd= to h5ls to allow a VFL driver to be selected by a user. RPM & QAK - 2004/02/01 - - Added option -showconfig to compiler tools (h5cc,h5fc,h5c++). - AKC - 2004/01/08 + - Added option -showconfig to compiler tools (h5cc,h5fc,h5c++). + AKC - 2004/01/08 - Install the "h5cc" and "h5fc" tools as "h5pcc" and "h5pfc" respectively if library is built in parallel mode. WCW - 2003/11/04 @@ -599,25 +601,25 @@ New Features ------ - Fortran interfaces for the Image, Table and Lite APIs. PVN - 2007/5/1 - New HDF5 Dimension Scale API (H5DS) allows dimension scales to be - created in an HDF5 file and associated with specific datasets. PVN - 2007/5/1 + created in an HDF5 file and associated with specific datasets. PVN - 2007/5/1 - There are two new functions in the Lite library, H5LTtext_to_dtype and H5LTdtype_to_text. H5LTtext_to_dtype creates a HDF5 data type given a text description; H5LTdtype_to_text converts a data type - to text description. Only DDL definition is supported as text + to text description. Only DDL definition is supported as text desciption now. SLU - 2006/05/17 - Added Packet Table API for creating tables with less overhead than H5TB API. Added C++ wrapper for Packet Tables. See documentation. JML - 2004/03/28 - - Documentation - ------------- - - The documentation for this release is largely complete, but - trails the source code. A few of the newer functions are + + Documentation + ------------- + - The documentation for this release is largely complete, but + trails the source code. A few of the newer functions are not yet documented. FMB - 2007/04/18 - The user documents for this release can be accessed directly at this location: http://www.hdfgroup.uiuc.edu/HDF5/doc_1.8pre/doc/ - The most recent document versions (updated daily) in the + The most recent document versions (updated daily) in the 1.8 development branch can be accessed at this location: http://www.hdfgroup.uiuc.edu/HDF5/doc_dev_snapshot/H5_dev/ FMB - 2007/04/18 @@ -626,19 +628,19 @@ New Features Support for new platforms, languages and compilers. ======================================= - Added support for Free-BSD on amd64 with GNU C and Fortran compilers - 4.2.1 + 4.2.1 EIP - 2007/06/25 - Added support for sequential and parallel libraries for Intel 64 Linux - cluster (abe.ncsa.uiuc.edu). Among three MPICH packages available on - this machine, only Open MPI works. The VMI has seg fault in hyperslab.c - and bittests.c tests. The MVAPICH2 complained about mpd not running - the parallel test. (see Known Problems section for more info) + cluster (abe.ncsa.uiuc.edu). Among three MPICH packages available on + this machine, only Open MPI works. The VMI has seg fault in hyperslab.c + and bittests.c tests. The MVAPICH2 complained about mpd not running + the parallel test. (see Known Problems section for more info) EIP - 2007/06/25 - Added support for HPUX11.23 for both 32 and 64-bit; HDF5 C++ - Added support for 64-bit Windows with Visual Studio .NET and 2005. SJW - 2007/06/25 - Added suport for HPUX11.23 for both 32 and 64-bit; HDF5 C++ - shared library is not supported with +DD64 flag. + shared library is not supported with +DD64 flag. EIP - 2006/06/22 - Added support for VAX floating numbers for Alpha Open VMS 7.3.2 EIP - 2006/05/05 @@ -744,9 +746,9 @@ Bug Fixes since HDF5-1.6.0 release - Fixed bug where unmounted files could cause the library to go into an infinite loop when shutting down. QAK - 2005/06/30 - The library didn't save the information of family driver in file. - The original file member size was lost after file was closed (see - bug #213). This has been fixed by saving driver name and member - file size in the superblock. SLU - 2005/6/24 + The original file member size was lost after file was closed (see + bug #213). This has been fixed by saving driver name and member + file size in the superblock. SLU - 2005/6/24 - Fixed bug with hyperslab selections that use selection offsets and operate on chunked datasets going into infinite loop or dumping core. QAK - 2005/06/17 @@ -760,22 +762,22 @@ Bug Fixes since HDF5-1.6.0 release particular file ID being closed, instead of operating on all open file IDs for a given file. QAK - 2005/06/01 - For family driver, the library didn't save member size in file. - When file is reopened, the size of 1st member file determine the - member size. Now member size is saved in file and is used to - define member file size. Wrong file access property of member size - will result in a failure. Using any other driver except family - will cause library to return error. So is multi driver. SLU - - 2005/05/24 + When file is reopened, the size of 1st member file determine the + member size. Now member size is saved in file and is used to + define member file size. Wrong file access property of member size + will result in a failure. Using any other driver except family + will cause library to return error. So is multi driver. SLU - + 2005/05/24 - Fixed error in opening object in group that was opened in mounted - file which has been unmounted. QAK - 2005/03/17 + file which has been unmounted. QAK - 2005/03/17 - Fixed a racing condition in MPIPOSIX virtual file drive close - function. Now all processes must completed the close before any - of them is returned. This prevents some "faster" processes start - accessing the file for another purpose (e.g., open with truncate) - while other "slower" processes have not closed the same file with - the previous purpose. AKC - 2005/03/01 - - H5Tget_member_value calls for enum datatype didn't return correct - value if H5Tenum_valueof was called first. It's fixed. SLU - + function. Now all processes must completed the close before any + of them is returned. This prevents some "faster" processes start + accessing the file for another purpose (e.g., open with truncate) + while other "slower" processes have not closed the same file with + the previous purpose. AKC - 2005/03/01 + - H5Tget_member_value calls for enum datatype didn't return correct + value if H5Tenum_valueof was called first. It's fixed. SLU - 2005/02/08 - For variable-length string, H5Tget_class returned H5T_STRING as its class. But H5Tdetect_class and H5Tget_member_class considered it @@ -783,24 +785,24 @@ Bug Fixes since HDF5-1.6.0 release as H5T_STRING. SLU - 2005/02/08 - The byte order of 1-byte integer types was fixed as little endian even on a big-endian machine. This has been corrected. SLU - - 2005/02/07 + 2005/02/07 - Fix segmentation fault when calling H5Fflush with an attribute that hasn't had a value written to it open. QAK - 2004/10/18 - - Back up supporting bitfield and time types in H5Tget_native_type. - Leave it to future support. The function simply returns error - message of "not support" for bitfield and time types. + - Back up supporting bitfield and time types in H5Tget_native_type. + Leave it to future support. The function simply returns error + message of "not support" for bitfield and time types. SLU - 2004/10/5 - Fixed address check in Core VFL driver to avoid spurious address/size overflows for odd valued addresses and/or sizes. QAK - 2004/09/27 - - Fixed parallel bug in which some processes attempted collective - I/O while others did independent I/O. Bug appeared when some - processes used point selections, and others didn't. JRM - 2004/9/15 + - Fixed parallel bug in which some processes attempted collective + I/O while others did independent I/O. Bug appeared when some + processes used point selections, and others didn't. JRM - 2004/9/15 - Corrected error where dataset region references were written in an incorrect way on Cray machines. PVN & QAK - 2004/09/13 - - The H5Tget_native_type now determines the native type for integers - based on the precision. This is to avoid cases of wrongly converting - an int to a short in machines that have a short of 8 bytes but with - 32bit precision (e.g Cray SV1). PVN - 2004/09/07 + - The H5Tget_native_type now determines the native type for integers + based on the precision. This is to avoid cases of wrongly converting + an int to a short in machines that have a short of 8 bytes but with + 32bit precision (e.g Cray SV1). PVN - 2004/09/07 - Changed H5Dread() to not overwrite data in an application's buffer with garbage when accessing a chunked dataset with an undefined fill value and an unwritten chunk is uncountered. QAK - 2004/08/25 @@ -842,18 +844,18 @@ Bug Fixes since HDF5-1.6.0 release variable-length string as field. SLU - 2004/06/10 - Fixed potential file corruption bug when a block of metadata could overlap the end of the internal metadata accumulator buffer and - the buffer would be extended correctly, but would incorrectly + the buffer would be extended correctly, but would incorrectly change it's starting address. QAK - 2004/06/09 - Opaque datatype with no tag failed for some operations. Fixed. - SLU - 2004/6/3 + SLU - 2004/6/3 - Fixed potential file corruption bug where dimensions that were too large (a value greater than could be represented in 32-bits) could cause the incorrect amount of space to be allocated in a file for the raw data for the dataset. QAK - 2004/06/01 - - Fixed dtypes "sw long double -> double" failure in QSC class + - Fixed dtypes "sw long double -> double" failure in QSC class machines. AKC - 2004/4/16 - Fixed problem with fletcher32 filter when converting data of different - endianess. PVN - 2004/03/10 + endianess. PVN - 2004/03/10 - Fixed problem with H5Tget_native_type() not handling opaque fields correctly. QAK - 2004/01/31 - Fixed several errors in B-tree deletion code which could cause a @@ -901,7 +903,7 @@ Bug Fixes since HDF5-1.6.0 release but were interspersed with dimensions that could not be flattened were not correctly handled, causing core dumps. QAK - 2003/10/25 - Fixed incorrect datatype of the third parameter to the Fortran90 - h5pset(get)_cache_f subroutine (INTEGER to INTEGER(SIZE_T)) + h5pset(get)_cache_f subroutine (INTEGER to INTEGER(SIZE_T)) EIP - 2003/10/13 - Fixed problems with accessing variable-length data datatypes on Crays. QAK - 2003/10/10 @@ -968,8 +970,8 @@ Bug Fixes since HDF5-1.6.0 release Configuration ------------- - - Configure can now use any tr command. No more need for - defining variable TR nor is it supported. -AKC 2006/05/19 + - Configure can now use any tr command. No more need for + defining variable TR nor is it supported. -AKC 2006/05/19 - Parallel I/O with the MPI-I/O driver will no longer work if the filesystem is not POSIX compliant. The "HDF5_MPI_1_METAWRITE" environment variable has been removed. QAK - 2004/01/30 @@ -989,27 +991,27 @@ Bug Fixes since HDF5-1.6.0 release Tools ----- - Fixed h5dump regarding the display of blocks in hyperslab - selections. PVN 2008/01/16 + selections. PVN 2008/01/16 - Fixed h5diff regarding the display of NaN (Not a Number) - values. PVN 2008/01/16 - - Fixed h5dump regarding the parsing of binary output parameters. - PVN 2008/01/16 - - Fixed memory problems in h52gif and gif2h5. PVN 2008/01/16 - - Fixed h5repack dealing with NULL references. PVN 2008/01/16 + values. PVN 2008/01/16 + - Fixed h5dump regarding the parsing of binary output parameters. + PVN 2008/01/16 + - Fixed memory problems in h52gif and gif2h5. PVN 2008/01/16 + - Fixed h5repack dealing with NULL references. PVN 2008/01/16 - Fixed h5dump & h5ls to display attributes in "name" order, rather - than the order they are encountered in the object header. - QAK - 2007/10/04 + than the order they are encountered in the object header. + QAK - 2007/10/04 - Fixed h5dump regarding the display of named datatypes - attributes. PVN 2007/03/13 + attributes. PVN 2007/03/13 - Fixed h5dump regarding the display of group comments. PVN - 2007/03/13 - - Fixed h5dump regarding the display of hardlinks pointing - to the root group. PVN 2007/03/13 + 2007/03/13 + - Fixed h5dump regarding the display of hardlinks pointing + to the root group. PVN 2007/03/13 - Fixed h5diff percentage option -p. PVN 2007/03/05 - Fixed h5dump that caused array indices greater than 2 ^32-1 - not to be printed correctly - PVN 2007/2/19 + not to be printed correctly - PVN 2007/2/19 - Fixed h5dump to print attributes data in ASCII if -r option is used. - AKC - 2004/11/18 + AKC - 2004/11/18 - Fixed space utilization reported in h5ls to correct error in formula used. QAK - 2004/10/22 - Fixed h5redeploy which sometimes complain too many argument for the @@ -1021,14 +1023,14 @@ Bug Fixes since HDF5-1.6.0 release H5Tget_native_type() internally. QAK - 2003/08/25 - Documentation - ------------- + Documentation + ------------- F90 APIs -------- - h5pget_driver_f was returning information that could not be - interpreted by fortran application program; fixed. EIP - 2005/04/10 + interpreted by fortran application program; fixed. EIP - 2005/04/10 Platforms Tested @@ -1039,7 +1041,7 @@ Platforms marked with * were not tested for hdf5-1.8.0-rc* release * AIX 5.2 (32/64 bit) xlc 8.0.0.11 xlC 8.0 - xlf 10.01.0000.0 + xlf 10.01.0000.0 mpcc_r 6.0.0.8 mpxlf_r 8.1.1.7 * AIX 5.3 (32/64 bit) xlc 7.0.0.8 @@ -1063,9 +1065,9 @@ Platforms marked with * were not tested for hdf5-1.8.0-rc* release HP F90 v2.9.2 HP aC++/ANSI C B3910B A.06.00 IRIX64 6.5 (64 & n32) MIPSpro cc 7.4.4m - F90 MIPSpro 7.4.4m + F90 MIPSpro 7.4.4m C++ MIPSpro cc 7.4.4m - + * Linux 2.6.9 (RHEL4) Intel 10.0 compilers (abe.ncsa.uiuc.edu) Linux 2.4.21-47 gcc 3.2.3 20030502 @@ -1075,10 +1077,10 @@ Platforms marked with * were not tested for hdf5-1.8.0-rc* release Intel 9.1 (icc, ifort, icpc) Linux 2.6.16.27 x86_64 AMD gcc 4.1.0 (SuSE Linux), g++ 4.1.0, g95 (GCC 4.0.3) (smirom) PGI 6.2-5 (pgcc, pgf90, pgCC) - Intel 9.1 (icc, iort, icpc) - Linux 2.6.5-7.252.1-rtgfx #1 + Intel 9.1 (icc, iort, icpc) + Linux 2.6.5-7.252.1-rtgfx #1 SMP ia64 Intel(R) C++ Version 9.0 - (cobalt) Intel(R) Fortran Itanium(R) Version 9.0 + (cobalt) Intel(R) Fortran Itanium(R) Version 9.0 SGI MPI SunOS 5.8 32,46 Sun WorkShop 6 update 2 C 5.3 (Solaris 2.8) Sun WorkShop 6 update 2 Fortran 95 6.2 @@ -1086,29 +1088,29 @@ Platforms marked with * were not tested for hdf5-1.8.0-rc* release * SunOS 5.10 i86pc Sun C 5.7 Sun Fortran 95 8.1 Sun C++ 5.7 - SunOS 5.10 cc: Sun C 5.8 - (linew) f90: Sun Fortran 95 8.2 - CC: Sun C++ 5.8 + SunOS 5.10 cc: Sun C 5.8 + (linew) f90: Sun Fortran 95 8.2 + CC: Sun C++ 5.8 Xeon Linux 2.4.21-32.0.1.ELsmp-perfctr-lustre - (tungsten) gcc 3.2.2 20030222 + (tungsten) gcc 3.2.2 20030222 Intel(R) C++ Version 9.0 Intel(R) Fortran Compiler Version 9.0 IA-64 Linux 2.4.21.SuSE_292.til1 ia64 (NCSA tg-login) gcc 3.2.2 Intel(R) C++ Version 8.1 Intel(R) Fortran Compiler Version 8.1 - mpich-gm-1.2.5..10-intel-r2 - Windows XP - Visual Studio .NET + mpich-gm-1.2.5..10-intel-r2 + Windows XP + Visual Studio .NET Visual Studio 2005 w/ Intel Fortran 9.1 Cygwin(native gcc compiler and g95) - MinGW(native gcc compiler and g95) - Windows XP x64 - Visual Studio 2005 w/ Intel Fortran 9.1 - Windows Vista - Visual Studio 2005 + MinGW(native gcc compiler and g95) + Windows XP x64 + Visual Studio 2005 w/ Intel Fortran 9.1 + Windows Vista + Visual Studio 2005 - MAC OS 10.4 (Intel) gcc i686-apple-darwin8-gcc-4.0.1 (GCC) 4.0.1 + MAC OS 10.4 (Intel) gcc i686-apple-darwin8-gcc-4.0.1 (GCC) 4.0.1 G95 (GCC 4.0.3 (g95 0.91!) Nov 21 2006) * Alpha Open VMS 7.3 @@ -1123,7 +1125,7 @@ Supported Configuration Features Summary x = not working in this release dna = does not apply ( ) = footnote appears below second table - <blank> = testing incomplete on this feature or platform + <blank> = testing incomplete on this feature or platform Platform C F90 F90 C++ zlib SZIP parallel parallel @@ -1147,57 +1149,57 @@ RedHat EL3 W PGI (3) n y n y y n SuSe x86_64 gcc (3,12) y(1a) y(11) n y y y SuSe x86_64 Int (3,12) n y(13) n y y n SuSe x86_64 PGI (3,12) n y(8) n y y y -Linux 2.4 Xeon C +Linux 2.4 Xeon C Lustre Intel (3,6) n y n y y n -Linux 2.6 SuSE ia64 C +Linux 2.6 SuSE ia64 C Intel (3,7) y y y y y n -Linux 2.6 SGI Altix +Linux 2.6 SGI Altix ia64 Intel (3) y y y y y y Alpha OpenVMS 7.3.2 n y n y n n -Platform Shared Shared Shared static- Thread- - C libs F90 libs C++ libs exec safe -Solaris2.8 64-bit y y y x y -Solaris2.8 32-bit y y y x y -Solaris2.10 64-bit y x y -Solaris2.10 32-bit y x y -IRIX64_6.5 64-bit y y n y y -IRIX64_6.5 32-bit y dna y y y -HPUX11.00 y n y x n -HPUX11.23-32bit y n n y n -HPUX11.23-64bit y dna n y n -Cray XT3 (16) n n n n n -AIX-5.2 & 5.3 32-bit n n n y n -AIX-5.2 & 5.3 64-bit n n n y n -Windows XP y y(15) y y y -Windows XP x64 y y(15) y y y -Windows Vista y n n y y -Mac OS X 10.3 y y n +Platform Shared Shared Shared static- Thread- + C libs F90 libs C++ libs exec safe +Solaris2.8 64-bit y y y x y +Solaris2.8 32-bit y y y x y +Solaris2.10 64-bit y x y +Solaris2.10 32-bit y x y +IRIX64_6.5 64-bit y y n y y +IRIX64_6.5 32-bit y dna y y y +HPUX11.00 y n y x n +HPUX11.23-32bit y n n y n +HPUX11.23-64bit y dna n y n +Cray XT3 (16) n n n n n +AIX-5.2 & 5.3 32-bit n n n y n +AIX-5.2 & 5.3 64-bit n n n y n +Windows XP y y(15) y y y +Windows XP x64 y y(15) y y y +Windows Vista y n n y y +Mac OS X 10.3 y y n Mac OS X 10.4 PowerPC -FreeBSD 4.11 y n y y y -RedHat EL3 W (3) y y(10) y y y -RedHat EL3 W Intel (3) y y y y n -RedHat EL3 W PGI (3) y y y y n -SuSe x86_64 W GNU (3,12) y y y y y -SuSe x86_64 W Int (3,12) y y y y(14) n -SuSe x86_64 W PGI (3,12) y y y y(14) n -Linux 2.4 Xeon C - Lustre Intel (6) y y y y n -Linux 2.4 SuSE - ia64 C Intel (7) y y y y n -Linux 2.4 SGI Altix - ia64 Intel y y n -Alpha OpenVMS 7.3.2 n n n y n +FreeBSD 4.11 y n y y y +RedHat EL3 W (3) y y(10) y y y +RedHat EL3 W Intel (3) y y y y n +RedHat EL3 W PGI (3) y y y y n +SuSe x86_64 W GNU (3,12) y y y y y +SuSe x86_64 W Int (3,12) y y y y(14) n +SuSe x86_64 W PGI (3,12) y y y y(14) n +Linux 2.4 Xeon C + Lustre Intel (6) y y y y n +Linux 2.4 SuSE + ia64 C Intel (7) y y y y n +Linux 2.4 SGI Altix + ia64 Intel y y n +Alpha OpenVMS 7.3.2 n n n y n Notes: (1) Using mpich 1.2.6. (1a) Using mpich2 1.0.6. (2) Using mpt and mpich 1.2.6. - (3) Linux 2.6 with GNU, Intel, and PGI compilers, as indicated. + (3) Linux 2.6 with GNU, Intel, and PGI compilers, as indicated. W or C indicates workstation or cluster, respectively. - (6) Linux 2.4.21-32.0.1. Xeon cluster with ELsmp_perfctr_lustre + (6) Linux 2.4.21-32.0.1. Xeon cluster with ELsmp_perfctr_lustre and Intel compilers (7) Linux 2.4.21, SuSE_292.till. Ia64 cluster with Intel compilers (8) pgf90 @@ -1207,7 +1209,7 @@ Alpha OpenVMS 7.3.2 n n n y n (12) AMD Opteron x86_64 (13) ifort (14) Yes with C and Fortran, but not with C++ - (15) Using Visual Studio 2005 or Cygwin + (15) Using Visual Studio 2005 or Cygwin (16) Not tested for this release. Compiler versions for each platform are listed in the preceding "Platforms Tested" table. @@ -1216,14 +1218,14 @@ Alpha OpenVMS 7.3.2 n n n y n Known Problems ============== -* We discovered two problems when running collective IO parallel HDF5 tests - with chunking storage on ChaMPIon MPI compiler on tungsten, a linux +* We discovered two problems when running collective IO parallel HDF5 tests + with chunking storage on ChaMPIon MPI compiler on tungsten, a linux cluster at NCSA. - Under some complex selection cases, + Under some complex selection cases, 1) MPI_Get_element returns the wrong value. 2) MPI_Type_struct also generates wrong derived data type and corrupt data may be generated. - This only happens when turning on collective IO with chunking storage + This only happens when turning on collective IO with chunking storage with some complex selections. We haven't found these problems on other MPI-IO compilers. If you encounter these problems, you may use Independent IO instead. @@ -1239,22 +1241,22 @@ Known Problems * For SNL, spirit/liberty/thunderbird: The serial tests pass but parallel tests failed with MPI-IO file locking message. AKC - 2007/6/25. * On Intel 64 Linux cluster (RH 4, Linux 2.6.9) with Intel 10.0 compilers use - -mp -O1 compilation flags to build the libraries. Higher level of optimization - causes failures in several HDF5 library tests. + -mp -O1 compilation flags to build the libraries. Higher level of optimization + causes failures in several HDF5 library tests. * For HPUX 11.23 many tools tests failed for 64-bit version when linked to the shared libraries (tested for 1.8.0-beta2) * For SNL, Red Storm: only paralle HDF5 is supported. The serial tests pass and the parallel tests also pass with lots of non-fatal error messages. * For LLNL, uP: both serial and parallel pass. Zeus: serial passes but parallel fails with a known proglem in MPI. ubgl: serial passes but - parallel fails. -* on SUN 5.10 C++ test fails in the "Testing Shared Datatypes with Attributes" test + parallel fails. +* on SUN 5.10 C++ test fails in the "Testing Shared Datatypes with Attributes" test * configuring with --enable-debug=all produces compiler errors on most platforms. Users who want to run HDF5 in debug mode should use --enable-debug rather than --enable-debug=all to enable debugging information on most modules. * On Mac OS 10.4, test/dt_arith.c has some errors in conversion from long - double to (unsigned) long long and from (unsigned)long long to long double. + double to (unsigned) long long and from (unsigned)long long to long double. * On Altix SGI with Intel 9.0 testmeta.c would not compile with -O3 optimization flag. * On VAX, Scaleoffset filter isn't supported. The filter cannot be applied to @@ -1268,23 +1270,23 @@ Known Problems that when using 4 processors, a simple collective write will be hung sometimes. This can be verified with t_mpi test under testpar. * On IRIX6.5, when C compiler version >7.4, the complicate MPI derived data type - code will work. However, the user should be aware to enlarge MPI_TYPE_MAX environment + code will work. However, the user should be aware to enlarge MPI_TYPE_MAX environment variable to some certian value in order to use collective irregular selection code. - For example, the current parallel HDF5 test needs to enlarge MPI_TYPE_MAX to + For example, the current parallel HDF5 test needs to enlarge MPI_TYPE_MAX to 200,000 to make the test pass. -* The dataset created or rewritten with the v1.6.3 library or after can't - be read with the v1.6.2 library or before when Fletcher32 EDC(filter) is - enabled. There was a bug in the calculating code of the Fletcher32 - checksum in the library before v1.6.3. The checksum value wasn't 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 is no - longer the same as before on little-endian system. The library release +* The dataset created or rewritten with the v1.6.3 library or after can't + be read with the v1.6.2 library or before when Fletcher32 EDC(filter) is + enabled. There was a bug in the calculating code of the Fletcher32 + checksum in the library before v1.6.3. The checksum value wasn't 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 is no + longer the same as before on little-endian system. The library release after 1.6.4 can still read the dataset created or rewritten with the library of v1.6.2 or before. SLU - 2005/6/30 * For the version 6(6.02 and 6.04) of Portland Group compiler on AMD Opteron processor, there's a bug in the compiler for optimization(-O2). The library - failed in several tests but all related to multi driver. The problem has - been reported to the vendor. + failed in several tests but all related to multi driver. The problem has + been reported to the vendor. * 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 @@ -1298,7 +1300,7 @@ Known Problems to provide a mean to run poe without the debug socket. * The C++ library's tests fails when compiling with PGI C++ compiler. The - workaround until the problem is correctly handled is to use the + workaround until the problem is correctly handled is to use the flag "--instantiate=local" prior to the configure and build steps, as: setenv CXX "pgCC --instantiate=local" for pgCC 5.02 and higher @@ -1316,7 +1318,7 @@ Known Problems The --enable-static-exec configure flag also fails to correctly compile on IBM SP2 platform for the serial mode. The parallel mode works fine with this option. - + It is suggested that you don't use this option on these platforms during configuration. @@ -1325,7 +1327,7 @@ Known Problems able to handle the `long long' datatype with the warning: warning: ANSI C does not support `long long' - + This warning is innocuous and can be safely ignored. @@ -1345,7 +1347,7 @@ Known Problems the different precision in the values displayed and h5ls appears to be dumping floating-point numbers correctly. -* Before building HDF5 F90 Library from source on Crays +* Before building HDF5 F90 Library from source on Crays replace H5Aff.f90, H5Dff.f90 and H5Pff.f90 files in the fortran/src subdirectory in the top level directory with the Cray-specific files from this site: @@ -1360,7 +1362,7 @@ Known Problems * On some platforms that use Intel and Absoft compilers to build HDF5 fortran library, compilation may fail for fortranlib_test.f90, fflush1.f90 and fflush2.f90 - complaining about exit subroutine. Comment out the line + complaining about exit subroutine. Comment out the line IF (total_error .ne. 0) CALL exit (total_error) * On IA32 and IA64 systems, if you use a compiler other than GCC (such as @@ -1384,28 +1386,28 @@ Known Problems INSTALL file sections 5.7 and 5.8 * On at least one system, (SDSC DataStar), the scheduler (in this case - LoadLeveler) sends job status updates to standard error when you run + LoadLeveler) sends job status updates to standard error when you run any executable that was compiled with the parallel compilers. - This causes problems when running "make check" on parallel builds, as + This causes problems when running "make check" on parallel builds, as many of the tool tests function by saving the output from test runs, - and comparing it to an exemplar. + and comparing it to an exemplar. The best solution is to reconfigure the target system so it no longer inserts the extra text. However, this may not be practical. - In such cases, one solution is to "setenv HDF5_Make_Ignore yes" prior to - the configure and build. This will cause "make check" to continue after + In such cases, one solution is to "setenv HDF5_Make_Ignore yes" prior to + the configure and build. This will cause "make check" to continue after detecting errors in the tool tests. However, in the case of SDSC DataStar, it also leaves you with some 150 "failed" tests to examine by hand. A second solution is to write a script to run serial tests and filter out the text added by the scheduler. A sample script used on SDSC - DataStar is given below, but you will probably have to customize it - for your installation. + DataStar is given below, but you will probably have to customize it + for your installation. - Observe that the basic idea is to insert the script as the first item - on the command line which executes the the test. The script then + Observe that the basic idea is to insert the script as the first item + on the command line which executes the the test. The script then executes the test and filters out the offending text before passing it on. @@ -1418,20 +1420,20 @@ Known Problems ($* > $STDOUT_FILE) >& $STDERR_FILE - set RETURN_VALUE=$status + set RETURN_VALUE=$status cat $STDOUT_FILE tail +3 $STDERR_FILE - exit $RETURN_VALUE + exit $RETURN_VALUE You get the HDF make files and test scipts to execute your filter script - by setting the environment variable "RUNSERIAL" to the full path of the - script prior to running configure for parallel builds. Remember to + by setting the environment variable "RUNSERIAL" to the full path of the + script prior to running configure for parallel builds. Remember to "unsetenv RUNSERIAL" before running configure for a serial build. - Note that the RUNSERIAL environment variable exists so that we can + Note that the RUNSERIAL environment variable exists so that we can can prefix serial runs as necessary on the target system. On DataStar, no prefix is necessary. However on an MPICH system, the prefix might have to be set to something like "/usr/local/mpi/bin/mpirun -np 1" to @@ -1451,16 +1453,16 @@ HDF5 version 1.6.7 released on Thu Jan 31 21:09:10 CST 2008 INTRODUCTION ============ -This document describes the differences between HDF5-1.6.6 and HDF5-1.6.7 +This document describes the differences between HDF5-1.6.6 and HDF5-1.6.7 It contains information on the platforms tested and known problems in HDF5-1.6.7. For more details, check the HISTORY.txt file in the HDF5 source. HDF5 documentation can be found in the distributed release source code -in the subdirectory doc/html/ or on the THG (The HDF Group) FTP server: +in the subdirectory doc/html/ or on the THG (The HDF Group) FTP server: ftp://ftp.hdfgroup.org/HDF5/docs/ -Documentation for the current release in the HDF5 Release 1.6.x series is +Documentation for the current release in the HDF5 Release 1.6.x series is also on the HDF web site: http://hdfgroup.org/HDF5/doc1.6/ @@ -1490,7 +1492,7 @@ New Features ============ Configuration: ------------------------- - '--enable-stream-vfd' and '--disable-stream-vfd' are no longer valid + '--enable-stream-vfd' and '--disable-stream-vfd' are no longer valid configure options because the stream I/O driver has ben removed from the distribution. @@ -1500,12 +1502,12 @@ New Features -------- The stream I/O driver is not included with the HDF5 Library in this release. The source code files hdf5/src/H5FDstream.c and - hdf5/src/H5FDstream.h and the driver ENUM value H5FD_STREAM have been + hdf5/src/H5FDstream.h and the driver ENUM value H5FD_STREAM have been removed. Parallel Library: ----------------- - None + None Tools: ------ @@ -1531,9 +1533,9 @@ Bug Fixes since HDF5-1.6.6 Release Library ------- - - H5Iget_name could not be used with an object identifier returned - by H5Rdereference; the function would not be able to determine - a valid object name. It has been fixed. SLU - 2008/1/30 + - H5Iget_name could not be used with an object identifier returned + by H5Rdereference; the function would not be able to determine + a valid object name. It has been fixed. SLU - 2008/1/30 - Changed library's behavior for reading files that might have corrupted object header information from a previous (buggy) version of the library. By default, the library now rebuilds the @@ -1555,15 +1557,15 @@ Bug Fixes since HDF5-1.6.6 Release Performance ------------- None - + Tools ----- None - Documentation - ------------- + Documentation + ------------- None @@ -1571,7 +1573,7 @@ Bug Fixes since HDF5-1.6.6 Release ------- None - + C++ API ------- None @@ -1579,13 +1581,13 @@ Bug Fixes since HDF5-1.6.6 Release Documentation ============= - HDF5 documentation can be found in the distributed release source - code in the subdirectory doc/html/ (start with index.html) or on the - THG (The HDF Group) FTP server: + HDF5 documentation can be found in the distributed release source + code in the subdirectory doc/html/ (start with index.html) or on the + THG (The HDF Group) FTP server: ftp://ftp.hdfgroup.org/HDF5/docs/ - Online documentation for the current release in the HDF5 Release 1.6.x + Online documentation for the current release in the HDF5 Release 1.6.x series can be found on the THG web site: http://hdfgroup.org/HDF5/doc1.6/ @@ -1594,9 +1596,9 @@ Documentation in the document "HDF5 Software Changes from Release to Release": http://hdfgroup.org/HDF5/doc1.6/ADGuide/Changes.html - - Since the stream I/O driver is not included in this release, the - functions H5Pset_fapl_stream and H5Pget_fapl_stream and the stream + + Since the stream I/O driver is not included in this release, the + functions H5Pset_fapl_stream and H5Pget_fapl_stream and the stream ENUM value H5FD_STREAM have been removed from the documentation. @@ -1620,20 +1622,20 @@ Platforms Tested Linux 2.6.9-42.0.10.ELsmp #1 gcc (GCC) 3.4.6 SMP i686 i386 G95 (GCC 4.0.3 (g95 0.91!) April 18 2007) - (kagiso) PGI C, Fortran, C++ 7.0-7 32-bit - Intel(R) C Compiler for 32-bit - applications, Version 9.1 - Intel(R) C++ Compiler for 32-bit + (kagiso) PGI C, Fortran, C++ 7.0-7 32-bit + Intel(R) C Compiler for 32-bit + applications, Version 9.1 + Intel(R) C++ Compiler for 32-bit + applications, Version 9.1 + Intel(R) Fortran Compiler for 32-bit applications, Version 9.1 - Intel(R) Fortran Compiler for 32-bit - applications, Version 9.1 Absoft 32-bit Fortran 95 10.0.4 - MPICH mpich2-1.0.6p1 compiled with - gcc 4.2.1 and G95 (GCC 4.0.3 (g95 0.91!) + MPICH mpich2-1.0.6p1 compiled with + gcc 4.2.1 and G95 (GCC 4.0.3 (g95 0.91!) Linux 2.6.16.46-0.12-debug #1 Intel(R) C++ Version 10.0.025 SMP ia64 GNU/Linux Intel(R) Fortran Itanium(R) Version 10.0.025 - (ucar hir1) + (ucar hir1) Linux 2.6.16.46-0.14-smp #1 Intel(R) C++ for Intel(R) EM64T Ver. 9.1.037 SMP x86_64 GNU/Linux Intel(R) Fortran Intel(R) EM64T Ver. 9.1.031 @@ -1652,7 +1654,7 @@ Platforms Tested SunOS 5.10 32- and 64-bit Sun WorkShop 6 update 2 C 5.8 (linew) Sun WorkShop 6 update 2 Fortran 95 8.2 Sun WorkShop 6 update 2 C++ 5.8 - Patch 121019-06 + Patch 121019-06 Xeon Linux 2.4.21-32.0.1.ELsmp-perfctr-lustre (tungsten) Intel(R) C++ Version 9.0 @@ -1722,34 +1724,34 @@ SuSE Linux 2.4 ia64 C y y y y y y SuSe Linux 2.6.5 SGI Altix ia64 n y n y y y -Platform Shared static- Thread- - libraries(4) exec safe -Solaris2.8 32- and 64-bit y n y -Solaris2.10 32- and 64-bit y n y -IRIX64_6.5 32-bit y n y -IRIX64_6.5 64-bit y n y -WinXP Visual Studio 6.0 y n n -WinXP CYGWIN y n n -WinXP 2005 y n n -WinXP .Net y n n -WinVista 2005 y n n -Mac OS X 10.4.10 y n n -AIX-5.2 & 5.3 32- and 64-bit n n n -FreeBSD 6.2 32- and 64-bit y n n -RedHat Linux 2.4.21 W y n n -SuSE Linux 2.6.9-42 i686 GNU (1) W y n y -SuSE Linux 2.6.9-42 i686 Intel W y n n -SuSE Linux 2.6.9-42 i686 PGI W n n n -SuSE Linux 2.6.16 x86_64 GNU (1) W y n y -SuSE Linux 2.6.16 x86_64 Intel W y n n -SuSE Linux 2.6.16 x86_64 PGI W n n n -RHEL 4 Linux 2.6.9 Xeon Lustre C y n n -RedHat Linux 2.4 Xeon Lustre C y n n -SuSE Linux 2.4 ia64 C y n n -SuSe Linux 2.6.5 SGI Altix ia64 n n n - -Compiler versions for each platform are listed in the "Platforms Tested" -table found elsewhere in this file (RELEASE.txt). Unless otherwise noted, +Platform Shared static- Thread- + libraries(4) exec safe +Solaris2.8 32- and 64-bit y n y +Solaris2.10 32- and 64-bit y n y +IRIX64_6.5 32-bit y n y +IRIX64_6.5 64-bit y n y +WinXP Visual Studio 6.0 y n n +WinXP CYGWIN y n n +WinXP 2005 y n n +WinXP .Net y n n +WinVista 2005 y n n +Mac OS X 10.4.10 y n n +AIX-5.2 & 5.3 32- and 64-bit n n n +FreeBSD 6.2 32- and 64-bit y n n +RedHat Linux 2.4.21 W y n n +SuSE Linux 2.6.9-42 i686 GNU (1) W y n y +SuSE Linux 2.6.9-42 i686 Intel W y n n +SuSE Linux 2.6.9-42 i686 PGI W n n n +SuSE Linux 2.6.16 x86_64 GNU (1) W y n y +SuSE Linux 2.6.16 x86_64 Intel W y n n +SuSE Linux 2.6.16 x86_64 PGI W n n n +RHEL 4 Linux 2.6.9 Xeon Lustre C y n n +RedHat Linux 2.4 Xeon Lustre C y n n +SuSE Linux 2.4 ia64 C y n n +SuSe Linux 2.6.5 SGI Altix ia64 n n n + +Compiler versions for each platform are listed in the "Platforms Tested" +table found elsewhere in this file (RELEASE.txt). Unless otherwise noted, compilers used are the system compilers. Footnotes: @@ -1761,13 +1763,13 @@ Known Problems * We discovered two problems when running collective IO parallel HDF5 tests with chunking storage with the ChaMPIon MPI compiler on tungsten, a Linux cluster at NCSA. - Under some complex selection cases, + Under some complex selection cases, 1) MPI_Get_element returns the wrong value. - 2) MPI_Type_struct also generates the wrong derived datatype and corrupt + 2) MPI_Type_struct also generates the wrong derived datatype and corrupt data may be generated. This only happens when turning on collective IO with chunking storage - with some complex selections. We haven't found these problems on other - MPI-IO compilers. If you encounter these problems, you may use Independent + with some complex selections. We haven't found these problems on other + MPI-IO compilers. If you encounter these problems, you may use Independent IO instead. To avoid this problem, change the following line in your code: @@ -1775,7 +1777,7 @@ Known Problems to H5Pset_dxpl_mpio(xfer_plist, H5FD_MPIO_INDEPENDENT); - + KY - 2007/08/24 * QSC (an HP alpha-based OSF1 cluster) does not create h5pfc correctly. It @@ -1788,7 +1790,7 @@ Known Problems "523648:lt-h5repacktst: rld: Fatal Error: Cannot Successfully map soname 'libh5test.so.1' under any of the filenames .......(bunch of directories) " - And the testing will fail. + And the testing will fail. We believe this is a libtool problem. One way to get rid of this is to add the paths of libh5test.so.1 and libh5.so.1 to the shared library path. @@ -1802,15 +1804,15 @@ Known Problems setenv LD_LIBRARY64_PATH ......(existing paths):[full path of HDF5 directory/test/.libs]:[full path of HDF5 directory/src/.libs] - NOTE: This problem ONLY affects the testing of the HDF5 library when you - build from source. It won't affect any applications that would like to link - with the HDF5 shared library since the shared library path needs to be set + NOTE: This problem ONLY affects the testing of the HDF5 library when you + build from source. It won't affect any applications that would like to link + with the HDF5 shared library since the shared library path needs to be set anyway. KY - 2007/8/2 * QSC (an HP alpha-based OSF1 cluster) failed the testpar/testphdf5 sub-test - "calloc". All other tests passed. This indicates that a dataset using - chunked storage created by serial HDF5 may not work properly with parallel - HDF5. The calloc test can be skipped by running "prun ... testphdf5 -x + "calloc". All other tests passed. This indicates that a dataset using + chunked storage created by serial HDF5 may not work properly with parallel + HDF5. The calloc test can be skipped by running "prun ... testphdf5 -x calloc". AKC - 2007/7/12. * The Intel C Compiler for the Linux x86_64 platform (EM64T-based, v8.1) has @@ -1819,30 +1821,30 @@ Known Problems PROD_CFLAGS from -O3 to -O0. Then run configure. AKC - 2005/11/10. * When testing parallel HDF5 with the C compiler version MIPSpro 7.4.3 on IRIX - 6.5, set the environment variable MPI_TYPE_MAX to be a bigger number, for - example 120000, in order to pass the complicated collective IO tests inside - the parallel HDF5 library. This is not a problem inside the parallel HDF5 + 6.5, set the environment variable MPI_TYPE_MAX to be a bigger number, for + example 120000, in order to pass the complicated collective IO tests inside + the parallel HDF5 library. This is not a problem inside the parallel HDF5 library. You can always set a bigger number on your system. KY - 2005/10/6 -* A contiguous or chunked dataset created by a sequential version of HDF5 - might not be able to be modified with a parallel version of the library. - Use the H5Pset_alloc_time function with H5D_ALLOC_TIME_EARLY to set up the +* A contiguous or chunked dataset created by a sequential version of HDF5 + might not be able to be modified with a parallel version of the library. + Use the H5Pset_alloc_time function with H5D_ALLOC_TIME_EARLY to set up the dataset creation property list to avoid the problem. EIP - 2005/09/09 -* A dataset created or rewritten with the v1.6.3 library or after can't - be read with the v1.6.2 library or before when Fletcher32 EDC (a filter) is - enabled. There was a bug in the calculating code of the Fletcher32 - checksum in the library before v1.6.3. The checksum value wasn't 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 is no - longer the same as before on little-endian system. HDF5 library releases - after 1.6.4 can still read datasets created or rewritten with an HDF5 +* A dataset created or rewritten with the v1.6.3 library or after can't + be read with the v1.6.2 library or before when Fletcher32 EDC (a filter) is + enabled. There was a bug in the calculating code of the Fletcher32 + checksum in the library before v1.6.3. The checksum value wasn't 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 is no + longer the same as before on little-endian system. HDF5 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/7/8 * For version 6 (6.02 and 6.04) of the Portland Group compiler on AMD Opteron processor, there's a bug in the compiler for optimization(-O2). The library - failed in several tests, all related to the multi driver. The problem has - been reported to the vendor. + failed in several tests, all related to the multi driver. The problem has + been reported to the vendor. * test/big fails sometimes with the message "Possible overlap with another region." The test selects regions randomly, and this error occurs when @@ -1850,7 +1852,7 @@ Known Problems HDF5. Since the error is triggered by a random situation, it will usually disappear if the test is re-run. -* Newer SGI MIPSpro compilers (version 7.4.x) support C99 features but +* Newer SGI MIPSpro compilers (version 7.4.x) support C99 features but have a "guard" statement in stdint.h that will #error and skip the rest of the header file if the C99 option is not used explicitly. Hardsetting $CC to c99 will resolve the problem. AKC - 2004/12/13 @@ -1861,11 +1863,11 @@ Known Problems and run the tests again. The tests may also fail with messages like "The socket name is already - in use". HDF5 does not use sockets. This is due to problems of the - poe command trying to set up the debug socket. Check 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. Ask your system - administrator to clean them out. Lastly, request IBM to provide a means + in use". HDF5 does not use sockets. This is due to problems of the + poe command trying to set up the debug socket. Check 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. Ask your system + administrator to clean them out. Lastly, request IBM to provide a means to run poe without the debug socket. * The h5dump tests may fail to match the expected output on some platforms @@ -1883,7 +1885,7 @@ Known Problems The --enable-static-exec configure flag also fails to correctly compile on the HPUX 11.00. - + It is suggested that you don't use this option on these platforms during configuration. @@ -1897,9 +1899,9 @@ Known Problems long long (absolute values less than 1**-308) to double. This triggers the test/dtypes to report failure in the following test: Testing random sw long double -> double conversions - If -ieee is used, the converted doubles spread over the range 0.0 to - 10**-308. If -ieee is not used, the converted double values are mostly - 0.0, but occasionally appear as 10**-308. This has been reported to the + If -ieee is used, the converted doubles spread over the range 0.0 to + 10**-308. If -ieee is not used, the converted double values are mostly + 0.0, but occasionally appear as 10**-308. This has been reported to the system staff. All other tests have passed. @@ -1973,8 +1975,8 @@ HDF5-1.6.6 It contains information on the platforms tested and known problems in HDF5-1.6.6. For more details, check the HISTORY.txt file in the HDF5 source. -HDF5 documentation can be found in the distributed release source -code in the subdirectory doc/html/ or on the THG (The HDF Group) +HDF5 documentation can be found in the distributed release source +code in the subdirectory doc/html/ or on the THG (The HDF Group) ftp server (ftp.hdfgroup.org) in the directory: /HDF5/docs/ @@ -2018,28 +2020,28 @@ New Features Parallel Library: ----------------- - None - + Tools: ------ - h52gif and gif2h5: Both these tools were revised to include High Level Image API support. Tests were added to /hl/tools/gif2h5. PVN - 2007/04/13 - - h5dump: Added support for double long type H5T_NATIVE_LDOUBLE. + - h5dump: Added support for double long type H5T_NATIVE_LDOUBLE. PVN - 2007/03/13 - h5dump: Added support for binary output; see usage. PVN 2007/03/13 - h5repack: Added support for reading and writing by hyperslabs for large files. PVN - 2007/03/01 - h5repack: A new option allows the copy to use the source file type - (default) instead of the previous conversion to native type. + (default) instead of the previous conversion to native type. PVN - 2007/03/01 - - h5repack: Added output of the percentage of compression achieved. + - h5repack: Added output of the percentage of compression achieved. PVN - 2007/03/01 - h5diff: Added support for comparing dataset regions. PVN - 2007/02/20 - - h5diff: Added support for reading and comparing by hyperslabs for + - h5diff: Added support for reading and comparing by hyperslabs for large files. PVN - 2007/02/20 - h5diff: Added printing of dataset dimensions along with dataset - name. + name. PVN - 2007/02/19 F90 API: @@ -2055,7 +2057,7 @@ Support for New Platforms, Languages and Compilers ================================================== - Added support for MAC Intel (Darwin 8.8.2) (gcc 4.0.1 and g95 0.91) EIP - 2007/02/13 - - Added support for GNU C compiler version 4.2.1 for FreeBSD 6.2 + - Added support for GNU C compiler version 4.2.1 for FreeBSD 6.2 (32- and 64-bit) @@ -2066,10 +2068,10 @@ Bug Fixes since HDF5-1.6.5 Release ------- - Fixed several bugs with writing fill values for datasets that have a variable-length datatype or component datatype. QAK - -2007/06/19 + 2007/06/19 - STDIO driver didn't support files bigger than 2GB because the OFFSET - parameter of fseek is of type LONG INT, not big enough for big - files. Use fseeko instead for big files if it's available on the + parameter of fseek is of type LONG INT, not big enough for big + files. Use fseeko instead for big files if it's available on the system. SLU - 2007/4/5 - Relaxed restrictions on attribute operations to allow a file ID to be used as the "location ID". If a file ID is used, the attribute @@ -2081,7 +2083,7 @@ Bug Fixes since HDF5-1.6.5 Release - Fixed potential file corruption bug which could overwrite a portion of an object's header when an attribute was renamed. If the new name for the attribute was longer than the old name, it was -possible + possible that the attribute would grow enough to overwrite another message in the object's header. QAK - 2007/01/02 - Fixed file corruption bug which could write an incorrect number of @@ -2106,11 +2108,11 @@ possible resembles the following, the object has been affected by this bug: #007: ../../hdf5_v1.6/src/H5C.c line 3887 in H5C_load_entry(): -unable to load entry + unable to load entry major(08): Meta data cache layer minor(40): Unable to load metadata into cache #008: ../../hdf5_v1.6/src/H5Ocache.c line 332 in H5O_load(): -corrupt object header - too few messages + corrupt object header - too few messages major(12): Object header layer minor(40): Unable to load metadata into cache @@ -2127,12 +2129,12 @@ corrupt object header - too few messages Configuration ------------- - - Changed to default to --disable-shared if parallel is enabled. + - Changed to default to --disable-shared if parallel is enabled. AKC - 2007/5/12 - Corrected a coding error in configure when it tries to locate the - needed MPI and MPI-IO library for the fortran interface. + needed MPI and MPI-IO library for the fortran interface. AKC - 007/5/9. - - Changed default fortran compiler to g95 when gcc is used. + - Changed default fortran compiler to g95 when gcc is used. AKC - 007/2/17. - Configure can now use any tr command. No more need for defining the variable TR, nor is it supported. AKC - 2006/05/20 @@ -2140,28 +2142,28 @@ corrupt object header - too few messages Performance ------------- - None - + Tools ----- - Fixed a bug in h5dump regarding the display of named datatypes attributes. PVN - 2007/03/13 - - Fixed a bug in h5dump regarding the display of group comments. + - Fixed a bug in h5dump regarding the display of group comments. PVN - 2007/03/13 - - Fixed a bug in h5dump regarding the display of hardlinks pointing + - Fixed a bug in h5dump regarding the display of hardlinks pointing to the root group. PVN - 2007/03/13 - Fixed a bug in the h5diff percentage option -p. PVN - 2007/03/05 - Fixed a bug in h5dump that caused array indices greater than 2^32-1 not to be printed correctly. PVN - 2007/2/19 - Documentation - ------------- - - Corrected errors and extended the descriptions in Reference Manual - entries for several functions. + Documentation + ------------- + - Corrected errors and extended the descriptions in Reference Manual + entries for several functions. F90 API ------- - None - + C++ API ------- - Changed @@ -2173,8 +2175,7 @@ corrupt object header - too few messages - Wrappers of H5Rcreate had incorrect prototypes. Added these overloaded functions: IdComponent::reference(void* ref, const char* name, -DataSpace& - dataspace, H5R_type_t ref_type = H5R_DATASET_REGION) + DataSpace& dataspace, H5R_type_t ref_type = H5R_DATASET_REGION) IdComponent::void reference(void* ref, const char* name) IdComponent::reference(void* ref, const H5std_string& name) and will remove these incorrect member functions: @@ -2191,13 +2192,13 @@ DataSpace& Documentation ============= - HDF5 documentation can be found in the distributed release source - code in the subdirectory doc/html/ (start with index.html) or on the + HDF5 documentation can be found in the distributed release source + code in the subdirectory doc/html/ (start with index.html) or on the THG (The HDF Group) ftp server (ftp.hdfgroup.org) in the directory: /HDF5/docs/ - Online documentation for the current release can be found on the THG + Online documentation for the current release can be found on the THG web site: http://hdfgroup.org/HDF5/doc/ @@ -2233,17 +2234,17 @@ Platforms Tested Linux 2.6.9-42.0.10.ELsmp #1 gcc (GCC) 3.4.6 SMP i686 i386 G95 (GCC 4.0.3 (g95 0.91!) Nov 21 2006) - (kagiso) PGI C, Fortran, C++ 6.2-5 32-bit - icc (ICC) 9.1 - Intel(R) C++ Compiler for 32-bit + (kagiso) PGI C, Fortran, C++ 6.2-5 32-bit + icc (ICC) 9.1 + Intel(R) C++ Compiler for 32-bit + applications, Version 9.1 + Intel(R) Fortran Compiler for 32-bit applications, Version 9.1 - Intel(R) Fortran Compiler for 32-bit - applications, Version 9.1 Absoft 32-bit Fortran 95 10.0.4 - MPICH mpich2-1.0.4p1 compiled with - gcc 3.4.6 and G95 (GCC 4.0.3 (g95 0.91!) + MPICH mpich2-1.0.4p1 compiled with + gcc 3.4.6 and G95 (GCC 4.0.3 (g95 0.91!) - Linux 2.6.16.46-0.12-debug #1 + Linux 2.6.16.46-0.12-debug #1 SMP ia64 GNU/Linux Intel(R) C++ Version 10.0.025 (ucar hir1) Intel(R) Fortran Itanium(R) Version 10.0.025 @@ -2253,14 +2254,14 @@ Platforms Tested for 64-bit target on x86-64 tested for both 32- and 64-bit binaries - Linux 2.6.5-7.283-rtgfx Altix + Linux 2.6.5-7.283-rtgfx Altix SMP ia64 Intel(R) C++ Version 9.0 (cobalt) Intel(R) Fortran Itanium(R) Version 9.0 SGI MPI - OSF1 V5.1 (QSC) Compaq C V6.5-011 + OSF1 V5.1 (QSC) Compaq C V6.5-011 (See "Known Problems.") HP Fortran V5.5A-3548 - Compaq C++ V6.5-036 + Compaq C++ V6.5-036 MPIX200_64_r13.4 SunOS 5.8 32- and 64-bit Sun WorkShop 6 update 2 C 5.3 @@ -2270,7 +2271,7 @@ Platforms Tested SunOS 5.10 32- and 64-bit Sun WorkShop 6 update 2 C 5.8 (linew) Sun WorkShop 6 update 2 Fortran 95 8.2 Sun WorkShop 6 update 2 C++ 5.8 - Patch 121019-06 + Patch 121019-06 Xeon Linux 2.4.21-32.0.1.ELsmp-perfctr-lustre (tungsten) Intel(R) C++ Version 9.0 @@ -2369,13 +2370,13 @@ SuSe Linux 2.6.16 SGI Altix ia64 n n n y SuSe Linux 2.6.5 SGI Altix ia64 n n n y OSF1 v5.1 n n n y -Compiler versions for each platform are listed in the "Platforms Tested" -table found elsewhere in this file (RELEASE.txt). Unless otherwise noted, +Compiler versions for each platform are listed in the "Platforms Tested" +table found elsewhere in this file (RELEASE.txt). Unless otherwise noted, compilers used are the system compilers. Footnotes: (1) Fortran compiled with g95. -(2) In most cases, shared libraries are provided only for the C library, +(2) In most cases, shared libraries are provided only for the C library, except on Windows where they are provided for C, C++, and Fortran. (3) C++ works only with static libraries. @@ -2392,7 +2393,7 @@ Known Problems "523648:lt-h5repacktst: rld: Fatal Error: Cannot Successfully map soname 'libh5test.so.1' under any of the filenames .......(bunch of directories) " - And the testing will fail. + And the testing will fail. We believe this is a libtool problem. One way to get rid of this is to add the paths of libh5test.so.1 and libh5.so.1 to the shared library path. @@ -2405,15 +2406,15 @@ Known Problems setenv LD_LIBRARY64_PATH ......(existing pathes):[full path of HDF5 directory/test/.libs]:[full path of HDF5 directory/src/.libs] - NOTE: This problem ONLY affects the testing of the HDF5 library when you - build from source. It won't affect any applications that would like to link - with the HDF5 shared library since the shared library path needs to be set + NOTE: This problem ONLY affects the testing of the HDF5 library when you + build from source. It won't affect any applications that would like to link + with the HDF5 shared library since the shared library path needs to be set anyway. KY - 2007/8/2 * QSC (an HP alpha-based OSF1 cluster) failed the testpar/testphdf5 sub-test - "calloc". All other tests passed. This indicates that a dataset using - chunked storage created by serial HDF5 may not work properly with parallel - HDF5. The calloc test can be skipped by running "prun ... testphdf5 -x + "calloc". All other tests passed. This indicates that a dataset using + chunked storage created by serial HDF5 may not work properly with parallel + HDF5. The calloc test can be skipped by running "prun ... testphdf5 -x calloc". AKC - 2007/7/12. * The Intel C Compiler for the Linux x86_64 platform (EM64T-based, v8.1) has @@ -2422,30 +2423,30 @@ Known Problems PROD_CFLAGS from -O3 to -O0. Then run configure. AKC - 2005/11/10. * When testing parallel HDF5 with the C compiler version MIPSpro 7.4.3 on IRIX - 6.5, set the environment variable MPI_TYPE_MAX to be a bigger number, for - example 120000, in order to pass the complicated collective IO tests inside - the parallel HDF5 library. This is not a problem inside the parallel HDF5 + 6.5, set the environment variable MPI_TYPE_MAX to be a bigger number, for + example 120000, in order to pass the complicated collective IO tests inside + the parallel HDF5 library. This is not a problem inside the parallel HDF5 library. You can always set a bigger number on your system. KY - 2005/10/6 -* A contiguous or chunked dataset created by a sequential version of HDF5 - might not be able to be modified with a parallel version of the library. - Use the H5Pset_alloc_time function with H5D_ALLOC_TIME_EARLY to set up the +* A contiguous or chunked dataset created by a sequential version of HDF5 + might not be able to be modified with a parallel version of the library. + Use the H5Pset_alloc_time function with H5D_ALLOC_TIME_EARLY to set up the dataset creation property list to avoid the problem. EIP - 2005/09/09 -* The dataset created or rewritten with the v1.6.3 library or after can't - be read with the v1.6.2 library or before when Fletcher32 EDC (a filter) is - enabled. There was a bug in the calculating code of the Fletcher32 - checksum in the library before v1.6.3. The checksum value wasn't 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 is no - longer the same as before on little-endian system. The library release +* The dataset created or rewritten with the v1.6.3 library or after can't + be read with the v1.6.2 library or before when Fletcher32 EDC (a filter) is + enabled. There was a bug in the calculating code of the Fletcher32 + checksum in the library before v1.6.3. The checksum value wasn't 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 is no + longer the same as before on little-endian system. The library release after 1.6.4 can still read the dataset created or rewritten with the library of v1.6.2 or before. SLU - 2005/7/8 * For version 6 (6.02 and 6.04) of the Portland Group compiler on AMD Opteron processor, there's a bug in the compiler for optimization(-O2). The library - failed in several tests, all related to the multi driver. The problem has - been reported to the vendor. + failed in several tests, all related to the multi driver. The problem has + been reported to the vendor. * test/big fails sometimes with the message "Possible overlap with another region." The test selects regions randomly, and this error occurs when @@ -2453,7 +2454,7 @@ Known Problems HDF5. Since the error is triggered by a random situation, it will usually disappear if the test is re-run. -* Newer SGI MIPSpro compilers (version 7.4.x) support C99 features but +* Newer SGI MIPSpro compilers (version 7.4.x) support C99 features but have a "guard" statement in stdint.h that will #error and skip the rest of the header file if the C99 option is not used explicitly. Hardsetting $CC to c99 will resolve the problem. AKC - 2004/12/13 @@ -2466,7 +2467,7 @@ Known Problems The tests may also fail with messages like "The socket name is already in use". HDF5 does not use sockets (except for stream-VFD). This is due to problems of the poe command trying to set up the debug socket. - Check whether there are many old /tmp/s.pedb.* files staying around. These + Check 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. Ask your system administrator to clean them out. Lastly, request IBM to provide a means to run poe without the debug socket. @@ -2492,7 +2493,7 @@ Known Problems The --enable-static-exec configure flag also fails to correctly compile on the HPUX 11.00. - + It is suggested that you don't use this option on these platforms during configuration. @@ -2508,9 +2509,9 @@ Known Problems long long (absolute values less than 1**-308) to double. This triggers the test/dtypes to report failure in the following test: Testing random sw long double -> double conversions - If -ieee is used, the converted doubles spread over the range 0.0 to - 10**-308. If -ieee is not used, the converted double values are mostly - 0.0, but occasionally appear as 10**-308. This has been reported to the + If -ieee is used, the converted doubles spread over the range 0.0 to + 10**-308. If -ieee is not used, the converted double values are mostly + 0.0, but occasionally appear as 10**-308. This has been reported to the system staff. All other tests have passed. @@ -2619,62 +2620,62 @@ New Features ============ Configuration: ------------------------- - - Added yodconfigure, a configure tool, that patches up the configure - file to allow configure to launch executable via the proper - launching command like "yod -sz 1". AKC - 2005/11/10 - - Configure now recognizes the TR variable as the location of the - tr utility. JML 2005/10/20 + - Added yodconfigure, a configure tool, that patches up the configure + file to allow configure to launch executable via the proper + launching command like "yod -sz 1". AKC - 2005/11/10 + - Configure now recognizes the TR variable as the location of the + tr utility. JML 2005/10/20 Source code distribution: ------------------------- - - Added g95 as a testing "platform" informally. AKC - 2005/10/04. + - Added g95 as a testing "platform" informally. AKC - 2005/10/04. - Added MD5 checksumming to snapshot releases. Releases will now - produce an .md5 file as well as a .tar archive. md5sum can be - used to verify the arvhice with the .md5 checksum. -JL 2005/09/06 + produce an .md5 file as well as a .tar archive. md5sum can be + used to verify the arvhice with the .md5 checksum. -JL 2005/09/06 Library: -------- - Added HSYS_ERROR which retrieves the system error message and pushes - it to the error stack. This provides more information regarding the - failed system call. AKC - 2005/08/04 + it to the error stack. This provides more information regarding the + failed system call. AKC - 2005/08/04 - Added H5F_OBJ_LOCAL flag to H5Fget_obj_count() & H5Fget_obj_ids(), to - allow querying for objects in a file that was opened with a particular - file ID, instead of all objects opened in the file with any file ID. - QAK - 2005/06/01 + allow querying for objects in a file that was opened with a particular + file ID, instead of all objects opened in the file with any file ID. + QAK - 2005/06/01 Parallel Library: ----------------- - - Added mpich2 as a testing "platform" informally. AKC - 2005/10/04. - - HDF5 supports collective MPI-IO for irregular selection with HDF5 - dataset. Irregular selection is when users use API H5Sselect_hyperslab - more than once for the same dataset. - Currently, not all MPI-IO packages support the complicated - MPI derived datatypes used in the implementation of irregular - selections INSIDE HDF5. - 1) DEC 5.x wdoes not support complicated derived datatypes. - 2) For AIX 5.1: - If your poe version number is 3.2.0.20 or lower, - please edit powerpc-ibm-aix5.x in the directory hdf5/config/. - Find the line with - << hdf5_mpi_complex_derived_datatype_works >> - and UNCOMMENT this line before the configure. - check poe version with the following command: - lpp -l all | grep ppe.poe - 3) For Linux cluster,: - If mpich version is 1.2.5 or lower, collective irregular selection - IO is not supported; internally independent IO is used. - 4) For IRIX 6.5: - if C compiler version is 7.3 or lower, collective irregular - selection IO is not supported; internally independent IO is used. - 5) For platforms which internally used mpich: - If the mpich version is 1.2.5 or lower, please find the - corresponding config (in hdf5/config) file and add - hdf5_mpi_complex_derived_datatype_works='no' - at the end of the configuration file. For example, on the - NCSA SGI Altix, the internal mpich library is 1.2.5. So - hdf5_mpi_complex_derived_datatype_works='no' - should be added at the end of the config file ia64-linux-gnu. - KY - 2005/09/12 + - Added mpich2 as a testing "platform" informally. AKC - 2005/10/04. + - HDF5 supports collective MPI-IO for irregular selection with HDF5 + dataset. Irregular selection is when users use API H5Sselect_hyperslab + more than once for the same dataset. + Currently, not all MPI-IO packages support the complicated + MPI derived datatypes used in the implementation of irregular + selections INSIDE HDF5. + 1) DEC 5.x wdoes not support complicated derived datatypes. + 2) For AIX 5.1: + If your poe version number is 3.2.0.20 or lower, + please edit powerpc-ibm-aix5.x in the directory hdf5/config/. + Find the line with + << hdf5_mpi_complex_derived_datatype_works >> + and UNCOMMENT this line before the configure. + check poe version with the following command: + lpp -l all | grep ppe.poe + 3) For Linux cluster,: + If mpich version is 1.2.5 or lower, collective irregular selection + IO is not supported; internally independent IO is used. + 4) For IRIX 6.5: + if C compiler version is 7.3 or lower, collective irregular + selection IO is not supported; internally independent IO is used. + 5) For platforms which internally used mpich: + If the mpich version is 1.2.5 or lower, please find the + corresponding config (in hdf5/config) file and add + hdf5_mpi_complex_derived_datatype_works='no' + at the end of the configuration file. For example, on the + NCSA SGI Altix, the internal mpich library is 1.2.5. So + hdf5_mpi_complex_derived_datatype_works='no' + should be added at the end of the config file ia64-linux-gnu. + KY - 2005/09/12 Tools: ------ @@ -2689,26 +2690,26 @@ New Features C++ API: -------- - Added missing member functions: - H5::CompType::getMemberArrayType - H5::CompType::getMemberVarLenType - H5::AbstractDs::getArrayType - H5::AbstractDs::getVarLenType - H5::CommonFG::openArrayType - H5::CommonFG::openVarLenType - H5::PropList::copyProp -- this will replace the current - H5::PropList::copyProp in later releases due - to incorrect prototype. - BMR - 2005/07/27 + H5::CompType::getMemberArrayType + H5::CompType::getMemberVarLenType + H5::AbstractDs::getArrayType + H5::AbstractDs::getVarLenType + H5::CommonFG::openArrayType + H5::CommonFG::openVarLenType + H5::PropList::copyProp -- this will replace the current + H5::PropList::copyProp in later releases due + to incorrect prototype. + BMR - 2005/07/27 Support for New Platforms, Languages and Compilers ================================================== - - Added support for RedStorm platform (serial only.) AKC 2005/11/10 - - Added support for BG/L platform (serial only.) LA 2005/11/10 - - Added support for HPUX 11.23 (IA64); only C and C++ are supported - with the +DD64 flag + - Added support for RedStorm platform (serial only.) AKC 2005/11/10 + - Added support for BG/L platform (serial only.) LA 2005/11/10 + - Added support for HPUX 11.23 (IA64); only C and C++ are supported + with the +DD64 flag EIP 2005/10/05 - + Configuration ------------- @@ -2720,8 +2721,8 @@ Bug Fixes since HDF5-1.6.4 Release Library ------- - - Fixed collective IO in chunking-storage. HDF5 may have called the - wrong routine when the shape of the dataspace in the file and in + - Fixed collective IO in chunking-storage. HDF5 may have called the + wrong routine when the shape of the dataspace in the file and in the bufferred chunk were different. This bug was fixed to make sure the correct routine is called. KY - 2005/10/19 - Fixed core dump when closing root groups opened through two different @@ -2767,57 +2768,57 @@ Bug Fixes since HDF5-1.6.4 Release Configuration ------------- - - Configure can recognize -lmpich as a form of MPI library. -AKC- - 2005/9/28. - - Changed default C++ compiler for the IA64 platform from icc to - icpc which is the preferred compiler for Intel Compiler version - 8. AKC - 2005/09/02 + - Configure can recognize -lmpich as a form of MPI library. -AKC- + 2005/9/28. + - Changed default C++ compiler for the IA64 platform from icc to + icpc which is the preferred compiler for Intel Compiler version + 8. AKC - 2005/09/02 Performance ------------- - - Optimized I/O for enumerated datatypes that are a superset of a + - Optimized I/O for enumerated datatypes that are a superset of a source enumerated datatype. QAK - 2005/03/19 - + Tools ----- - Documentation - ------------- + Documentation + ------------- F90 API ------- - h5pget_driver_f was returning information that could not be interpreted by a Fortran application program; fixed. EIP - 2005/04/10 - + C++ API ------- - - Several member functions' prototype changed due to the - "int -> unsigned" change in the main library. They are: - H5::CompType::getMemberDataType(unsigned member_num) - H5::CompType::getMemberCompType(unsigned member_num) - H5::CompType::getMemberEnumType(unsigned member_num) - H5::CompType::getMemberIntType(unsigned member_num) - H5::CompType::getMemberFloatType(unsigned member_num) - H5::CompType::getMemberStrType(unsigned member_num) - BMR - 2005/07/27 + - Several member functions' prototype changed due to the + "int -> unsigned" change in the main library. They are: + H5::CompType::getMemberDataType(unsigned member_num) + H5::CompType::getMemberCompType(unsigned member_num) + H5::CompType::getMemberEnumType(unsigned member_num) + H5::CompType::getMemberIntType(unsigned member_num) + H5::CompType::getMemberFloatType(unsigned member_num) + H5::CompType::getMemberStrType(unsigned member_num) + BMR - 2005/07/27 + - Platforms Tested ================ AIX 5.1 (32 and 64-bit) xlc 6.0.0.6 xlf 8.1.1.3 - xlC 6.0.0.6 - mpcc_r 6.0.0.6 + xlC 6.0.0.6 + mpcc_r 6.0.0.6 mpxlf_r 8.1.1.3 - xlc 5.0.2.5 - xlf 7.1.1.2 - xlC 5.0.2.5 - mpcc_r 5.0.2.5 - mpxlf_r 7.1.1.2 + xlc 5.0.2.5 + xlf 7.1.1.2 + xlC 5.0.2.5 + mpcc_r 5.0.2.5 + mpxlf_r 7.1.1.2 AIX 5.2 (32/64 bit) xlc 6.0.0.8 xlC 6.0.0.9 xlf 8.1.1.7 @@ -2837,7 +2838,7 @@ Platforms Tested FreeBSD 4.11 gcc 2.95.4 g++ 2.95.4 gcc 3.2.3, 3.3.6, 3.4.4, 4.0.0 - HP-UX B.11.00 HP C HP92453-01 A.11.01.20 + HP-UX B.11.00 HP C HP92453-01 A.11.01.20 HP F90 v2.4 HP ANSI C++ B3910B A.03.13 HP-UX B.11.23 HP aC++/ANSI C B3910B A.06.00 @@ -2849,30 +2850,30 @@ Platforms Tested IRIX64 6.5 (64 & n32) MIPSpro cc 7.3.1.3m F90 MIPSpro 7.3.1.3m (64 only) C++ MIPSpro cc 7.3.1.3m - mpt 1.6 + mpt 1.6 Linux 2.4.20-28.7 gcc 2.96 (eirene, verbena) gcc 3.3.2 - PGI compilers (pgcc, pgf90, pgCC) + PGI compilers (pgcc, pgf90, pgCC) version 5.2-1 Absoft Fortran compiler v9.0 - Intel(R) C++ 32-bit Version 8.1 - Intel(R) Fortran 32-bit Version 8.1 + Intel(R) C++ 32-bit Version 8.1 + Intel(R) Fortran 32-bit Version 8.1 MPIch 1.2.6 Linux 2.4.21-268-smp x86_64 gcc 3.3.1 (SuSE Linux, AMD) - (mir) PGI 5.2-1 C and F90 (with k3-32) - Intel(R) C++ 32-bit Version 8.1 - Intel(R) Fortran 32-bit Version 8.1 - Linux 2.4.21-sgi306rp21 Altix + (mir) PGI 5.2-1 C and F90 (with k3-32) + Intel(R) C++ 32-bit Version 8.1 + Intel(R) Fortran 32-bit Version 8.1 + Linux 2.4.21-sgi306rp21 Altix SMP ia64 Intel(R) C++ Version 8.1 (cobalt) Intel(R) Fortran Itanium(R) Version 8.1 SGI MPI - OSF1 V5.1 (QSC) Compaq C V6.5-011 + OSF1 V5.1 (QSC) Compaq C V6.5-011 HP Fortran V5.5A-3548 - Compaq C++ V6.5-036 - MPIX200_64_r13.4 - OSF1 V5.1 (PSC) Compaq C V6.5-303 + Compaq C++ V6.5-036 + MPIX200_64_r13.4 + OSF1 V5.1 (PSC) Compaq C V6.5-303 HP Fortran V5.5A-3548 - Compaq C++ V6.5-040 + Compaq C++ V6.5-040 SunOS 5.8 32,46 Sun WorkShop 6 update 2 C 5.3 (Solaris 2.8) Sun WorkShop 6 update 2 Fortran 90 Sun WorkShop 6 update 2 C++ 5.3 @@ -2882,21 +2883,21 @@ Platforms Tested SunOS 5.10 Sun WorkShop 6 update 2 C 5.3 Sun WorkShop 6 update 2 Fortran 95 6.2 Sun WorkShop 6 update 2 C++ 5.3 - Patch 111685-13 + Patch 111685-13 Xeon Linux 2.4.21-32.0.1.ELsmp-perfctr-lustre - (tungsten) Intel(R) C++ Version 9.0 + (tungsten) Intel(R) C++ Version 9.0 Intel(R) Fortran Compiler Version 9.0 IA-64 Linux 2.4.21.SuSE_292.til1 ia64 (NCSA tg-login) Intel(R) C++ Version 8.0 Intel(R) Fortran Compiler Version 8.0 - mpich-gm-1.2.5..10-intel-r2 + mpich-gm-1.2.5..10-intel-r2 Windows XP MSVC++.NET MSVC++ 6.0 Intel 8.1 C++ MAC OS X Darwin 7.5 - gcc and g++ Apple Computer, Inc. GCC + gcc and g++ Apple Computer, Inc. GCC version 1175, based on gcc version 3.3.2 - IBM XL Fortran version 8.1 + IBM XL Fortran version 8.1 Absoft Fortran compiler v8.2 @@ -2910,8 +2911,8 @@ Key: y = tested and supported ( ) = footnote appears below second table Platform C F90 F90 C++ zlib SZIP - parallel parallel -IBM BG/L (16) n n n n y y + parallel parallel +IBM BG/L (16) n n n n y y Solaris2.8 64-bit y y y(1) y y y Solaris2.8 32-bit y y y(1) y y y Solaris2.9 64-bit y(1) y y(1) y y y @@ -2934,7 +2935,7 @@ FreeBSD 4.11 n n n y y y RedHat 7.3 W (3) y(1) y(11) n y y y RedHat 7.3 W Intel (3) n y n y y y RedHat 7.3 W PGI (3) n y n y y y -RedStorm (16) n y n y y n +RedStorm (16) n y n y y n SuSe x86_64 gcc (3,13) n y(12) n y y y SuSe x86_64 icc (3,13) n y(14) n y y y Linux 2.4 Xeon C Lustre Intel (3,6) n y n y y y @@ -2942,9 +2943,9 @@ Linux 2.4 SuSE ia64 C Intel (3,7) y y y y y y Linux 2.4 SGI Altix ia64 Intel (3) y y y y y y -Platform Shared static- Thread- STREAM- - libraries(4) exec safe VFD -IBM BG/L n y n n +Platform Shared static- Thread- STREAM- + libraries(4) exec safe VFD +IBM BG/L n y n n Solaris2.8 64-bit y x y y Solaris2.8 32-bit y x y y Solaris2.9 64-bit y x y y @@ -2966,7 +2967,7 @@ FreeBSD 4.11 y y y y RedHat 7.3 W (3) y y y y RedHat 7.3 W Intel (3) n y n y RedHat 7.3 W PGI (3) n y n y -RedStorm n y n y +RedStorm n y n y SuSe x86_64 gcc (3,13) n y n y SuSe x86_64 icc (3,13) y y(15) n y Linux 2.4 Xeon C Lustre Intel (3,6) y y n y @@ -2974,28 +2975,28 @@ Linux 2.4 SuSE ia64 C Intel (3,7) y y n n Linux 2.4 SGI Altix ia64 Intel (3) y y n y -Compiler versions for each platform are listed in the "Platforms Tested" -table found elsewhere in this file (RELEASE.txt). Unless otherwise noted, +Compiler versions for each platform are listed in the "Platforms Tested" +table found elsewhere in this file (RELEASE.txt). Unless otherwise noted, compilers used are the system compilers. Footnotes: (1) Using mpich 1.2.6 (2) Using mpt and mpich 1.2.6. - (3) Linux 2.4 with GNU, Intel, and PGI compilers, as indicated. + (3) Linux 2.4 with GNU, Intel, and PGI compilers, as indicated. W or C indicates workstation or cluster, respectively. - (4) Shared libraries are provided only for the C library, + (4) Shared libraries are provided only for the C library, except on Windows where they are provided for C and C++. (5) Using mpt. - (6) Linux 2.4.21-32.0.1. Xeon cluster with ELsmp-perfctr-lustre + (6) Linux 2.4.21-32.0.1. Xeon cluster with ELsmp-perfctr-lustre and Intel compilers (7) Linux 2.4.21, SuSE_292.til1. Ia64 cluster with Intel compilers (8) Intel 8.1 (9) One test of this release failed with Compaq Visual Fortran 6.6c. No binary fortran release will be provided. Users should build - the library by themselves and use it at their own risk. - We recommend that users use HDF5 1.7 instead + the library by themselves and use it at their own risk. + We recommend that users use HDF5 1.7 instead or use Compaq Visual Fortran 6.0. (10) IBM XLF and Absoft - (11) PGI, Absoft. No shared libraries with Absoft; + (11) PGI, Absoft. No shared libraries with Absoft; use '--disable-shared'. (12) PGI and Intel compilers for both C and Fortran (13) AMD Opteron x86_64 @@ -3012,43 +3013,43 @@ Known Problems configure, edit the file config/intel-flags by changing the setting of PROD_CFLAGS from -O3 to -O0, then run configure. AKC - 2005/11/10. -* Fortran testing and compiling failures on windows XP +* Fortran testing and compiling failures on windows XP 1. Compaq visual fortran 6.6c with VS 6.0 The Fortran tests failed for both release, release dll, debug and debug dll. The failure is a random one. We won't provide fortran libraries. The - same test passed with the 1.7.51 snapshot. You may find the 1.7.51 + same test passed with the 1.7.51 snapshot. You may find the 1.7.51 snapshot under ftp://hdf.ncsa.uiuc.edu/pub/outgoing/hdf5/snapshots/. 2. Intel fortran 8.1 under .Net environment The fortran library cannot even be compiled. Some users have pointed this to intel forum. * When testing parallel HDF5 with the C compiler version MIPSpro 7.4.3 at IRIX - 6.5, set enviroment variable MPI_TYPE_MAX to be a bigger number, for example - 120000, in order to pass the complicated collective IO tests inside parallel - HDF5 library. This is not a problem inside parallel HDF5 library. You can + 6.5, set enviroment variable MPI_TYPE_MAX to be a bigger number, for example + 120000, in order to pass the complicated collective IO tests inside parallel + HDF5 library. This is not a problem inside parallel HDF5 library. You can always set a bigger number in your system. KY - 2005/10/6 * A contiguous or chunked dataset created by a sequential version may - not be modified with a parallel version of the library. - Use the H5Pset_alloc_time function with H5D_ALLOC_TIME_EARLY to set up the + not be modified with a parallel version of the library. + Use the H5Pset_alloc_time function with H5D_ALLOC_TIME_EARLY to set up the dataset creation property list to avoid the problem. EIP - 2005/09/09 -* The dataset created or rewritten with the v1.6.3 library or after can't - be read with the v1.6.2 library or before when Fletcher32 EDC(filter) is - enabled. There was a bug in the calculating code of the Fletcher32 - checksum in the library before v1.6.3. The checksum value wasn't 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 is no - longer the same as before on little-endian system. The library release +* The dataset created or rewritten with the v1.6.3 library or after can't + be read with the v1.6.2 library or before when Fletcher32 EDC(filter) is + enabled. There was a bug in the calculating code of the Fletcher32 + checksum in the library before v1.6.3. The checksum value wasn't 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 is no + longer the same as before on little-endian system. The library release after 1.6.4 can still read the dataset created or rewritten with the library of v1.6.2 or before. SLU - 2005/7/8 * For version 6 (6.02 and 6.04) of the Portland Group compiler on AMD Opteron processor, there's a bug in the compiler for optimization(-O2). The library - failed in several tests but all related to multi driver. The problem has - been reported to the vendor. + failed in several tests but all related to multi driver. The problem has + been reported to the vendor. * test/big fails sometimes with the message "Possible overlap with another region." The test selects regions randomly, and this error occurs when @@ -3073,9 +3074,9 @@ Known Problems Ask your system administrator to clean them out. Lastly, request IBM to provide a means to run poe without the debug socket. -* Two h5dump xml tests(h5dump --xml thlink.h5 and h5dump --xml tmany.h5) - failed on windows xp with .NET for debug and debug dll. Release and - Release dll work fine. +* Two h5dump xml tests(h5dump --xml thlink.h5 and h5dump --xml tmany.h5) + failed on windows xp with .NET for debug and debug dll. Release and + Release dll work fine. * The h5dump tests may fail to match the expected output on some platforms (e.g. parallel jobs, Windows) where the error messages directed to @@ -3098,14 +3099,14 @@ Known Problems The --enable-static-exec configure flag also fails to correctly compile on the HPUX 11.00. - + It is suggested that you don't use this option on these platforms during configuration. * The Stream VFD was not tested yet under Windows. -* Before building HDF5 F90 Library from source on Crays +* Before building HDF5 F90 Library from source on Crays replace H5Aff.f90, H5Dff.f90 and H5Pff.f90 files in the fortran/src subdirectory in the top level directory with the Cray-specific files from the site: @@ -3127,10 +3128,10 @@ Known Problems All other tests have passed. * Fortran release DLL randomly failed with Compaq Visual Fortran 6.6c on - Windows. + Windows. * Fortran DLL built with Intel 8.1 in .NET environment crushed the compiler, - Building Fortran static library with Intel 8.1 in .NET environment + Building Fortran static library with Intel 8.1 in .NET environment requires manually setting the project file. Please contact to hdfhelp@ncsa.uiuc.edu if you need to build Fortran static library with Intel 8.1 with .NET environment. @@ -3211,7 +3212,7 @@ The HDF5 documentation can be found on the NCSA ftp server /HDF/HDF5/docs/ For more information look at the HDF5 home page at: - + http://hdf.ncsa.uiuc.edu/HDF5/ If you have any questions or comments, please send them to: @@ -3239,19 +3240,19 @@ New Features For HL documentation, see http://hdf.ncsa.uiuc.edu/HDF5/hdf5_hl/doc/RM_hdf5hl.html. - The HL library, libhdf5_hl.a(so), is built and installed by default. + The HL library, libhdf5_hl.a(so), is built and installed by default. Use --disable-hl configure flag to disable the HL library. Library: -------- - - We recommend you to use SZIP v2.0 with this release. + - We recommend you to use SZIP v2.0 with this release. For more information see - http://hdf.ncsa.uiuc.edu/doc_resource/SZIP/ - - The compound datatype has been enhanced with a new feature of size + http://hdf.ncsa.uiuc.edu/doc_resource/SZIP/ + - The compound datatype has been enhanced with a new feature of size adjustment. The size can be increased and decreased (without - cutting the last member). No API change is involved. SLU - + cutting the last member). No API change is involved. SLU - 2004/10/1 - - Removed PABLO support. 2005/01/20 EIP + - Removed PABLO support. 2005/01/20 EIP Parallel Library: ----------------- @@ -3260,7 +3261,7 @@ New Features Tools: ------ - - New tool, h5jam. See HDF5 Reference Manual. 2004/10/08 + - New tool, h5jam. See HDF5 Reference Manual. 2004/10/08 F90 API: -------- @@ -3268,9 +3269,9 @@ New Features C++ API: -------- - - Started using C library's reference counting in place of the class - RefCounter, which existed before the C mechanism was available. - As a result, RefCounter has been removed. 2005/03/12 BMR + - Started using C library's reference counting in place of the class + RefCounter, which existed before the C mechanism was available. + As a result, RefCounter has been removed. 2005/03/12 BMR Support for new platforms, languages and compilers. @@ -3278,7 +3279,7 @@ Support for new platforms, languages and compilers. Configuration ------------- - - Upgraded from GNU autoconf 2.53 to autoconf 2.59. JML - 2005/01/31 + - Upgraded from GNU autoconf 2.53 to autoconf 2.59. JML - 2005/01/31 Bug Fixes since HDF5-1.6.3 release @@ -3287,57 +3288,57 @@ Bug Fixes since HDF5-1.6.3 release Library ------- - Fixed a racing condition in MPIPOSIX virtual file drive close - function. Now all processes must completed the close before any - of them is returned. This prevents some "faster" processes start - accessing the file for another purpose (e.g., open with truncate) - while other "slower" processes have not closed the same file with - the previous purpose. AKC - 2005/03/01 - - H5Tget_member_value calls for enum datatype didn't return correct - value if H5Tenum_valueof was called first. It's fixed. SLU - - 2005/02/08 + function. Now all processes must completed the close before any + of them is returned. This prevents some "faster" processes start + accessing the file for another purpose (e.g., open with truncate) + while other "slower" processes have not closed the same file with + the previous purpose. AKC - 2005/03/01 + - H5Tget_member_value calls for enum datatype didn't return correct + value if H5Tenum_valueof was called first. It's fixed. SLU - + 2005/02/08 - For variable-length string, H5Tget_class returned H5T_STRING as its - class. But H5Tdetect_class and H5Tget_member_class considered it - as H5T_VLEN. This is fixed to let all these 3 functions treat it - as H5T_STRING. SLU - 2005/02/08 + class. But H5Tdetect_class and H5Tget_member_class considered it + as H5T_VLEN. This is fixed to let all these 3 functions treat it + as H5T_STRING. SLU - 2005/02/08 - The byte order of all 1-byte integer types was fixed as - little-endian even on a big-endian machine. It's corrected. - SLU - 2005/02/07 + little-endian even on a big-endian machine. It's corrected. + SLU - 2005/02/07 - Fixed segmentation fault when calling H5Fflush with an attribute that - hasn't had a value written to it open. QAK - 2004/10/18 + hasn't had a value written to it open. QAK - 2004/10/18 - Backed out support for bitfield and time types in H5Tget_native_type. - Leave it to future support. The function simply returns error - message of "not support" for bitfield and time types. SLU - 2004/10/5 + Leave it to future support. The function simply returns error + message of "not support" for bitfield and time types. SLU - 2004/10/5 - Fixed address check in Core VFL driver to avoid spurious address/size - overflows for odd valued addresses and/or sizes. QAK - 2004/09/27 + overflows for odd valued addresses and/or sizes. QAK - 2004/09/27 - Fixed problem where chunked datasets were not able to be deleted - from a file under certain circumstances. QAK - 2004/09/27/ + from a file under certain circumstances. QAK - 2004/09/27/ Configuration ------------- - - IRIX64 MIPSpro compiler of 7.4.x supports C99 features. Default - to use the 'c99' compiler if available. AKC - 2004/12/13 - - Intel v8.0 compiler would infinite loop when compiling some test - code with -O3 option. Changed enable-production default compiler - option to -O2. AKC - 2004/12/06 - - Long double is assumed to be a supported C data type. It is a - standard C89 type. AKC - 2004/10/22 + - IRIX64 MIPSpro compiler of 7.4.x supports C99 features. Default + to use the 'c99' compiler if available. AKC - 2004/12/13 + - Intel v8.0 compiler would infinite loop when compiling some test + code with -O3 option. Changed enable-production default compiler + option to -O2. AKC - 2004/12/06 + - Long double is assumed to be a supported C data type. It is a + standard C89 type. AKC - 2004/10/22 Performance ------------- - Many changes were made to the library to improve performance, - especially for the variable-length datatypes and metadata cache. - + Many changes were made to the library to improve performance, + especially for the variable-length datatypes and metadata cache. + Tools ----- - h5fc and h5c++ work correctly when -c compiler flag - is used. EIP - 2005/03/14 - - Fixed h5dump to print attributes data in ASCII if -r option is used. - AKC - 2004/11/18 - - Fixed space utilization reported in h5ls to correct error - in formula used. QAK - 2004/10/22 + is used. EIP - 2005/03/14 + - Fixed h5dump to print attributes data in ASCII if -r option is used. + AKC - 2004/11/18 + - Fixed space utilization reported in h5ls to correct error + in formula used. QAK - 2004/10/22 - Documentation - ------------- + Documentation + ------------- F90 API ------- @@ -3354,7 +3355,7 @@ Documentation HDF5 Library documentation -------------------------- - No substantive changes to the structure or types of content in the + No substantive changes to the structure or types of content in the HDF5 Library documentation. Windows installation documentation @@ -3363,24 +3364,24 @@ Documentation either http://www.zlib.net/zlib122-dll.zip or ftp://hdf.ncsa.uiuc.edu/lib-external/zlib/bin/windows - 2. Only DLLs of external libraries (zlib and szip) are linked with the - HDF5 Library. We will no longer provide binary to link static library + 2. Only DLLs of external libraries (zlib and szip) are linked with the + HDF5 Library. We will no longer provide binary to link static library with HDF5. For details, please check INSTALL_Windows in this directory. - + Platforms Tested ================ AIX 5.1 (32 and 64-bit) xlc 6.0.0.6 xlf 8.1.1.3 - xlC 6.0.0.6 - mpcc_r 6.0.0.6 + xlC 6.0.0.6 + mpcc_r 6.0.0.6 mpxlf_r 8.1.1.3 - xlc 5.0.2.5 - xlf 7.1.1.2 - xlC 5.0.2.5 - mpcc_r 5.0.2.5 - mpxlf_r 7.1.1.2 + xlc 5.0.2.5 + xlf 7.1.1.2 + xlC 5.0.2.5 + mpcc_r 5.0.2.5 + mpxlf_r 7.1.1.2 AIX 5.2 (32/64 bit) xlc 6.0.0.8 xlC 6.0.0.9 xlf 8.1.1.7 @@ -3398,7 +3399,7 @@ Platforms Tested FreeBSD 4.9 gcc 2.95.4 g++ 2.95.4 gcc 3.2.3, 3.3.6, 3.4.4, 4.0.0 - HP-UX B.11.00 HP C HP92453-01 A.11.01.20 + HP-UX B.11.00 HP C HP92453-01 A.11.01.20 HP F90 v2.4 HP ANSI C++ B3910B A.03.13 MPIch 1.2.4 @@ -3408,32 +3409,32 @@ Platforms Tested IRIX64 6.5 (64 & n32) MIPSpro cc 7.3.1.3m F90 MIPSpro 7.3.1.3m (64 only) C++ MIPSpro cc 7.3.1.3m - mpt 1.6 + mpt 1.6 Linux 2.4.20-28.7 gcc 2.96 (eirene, verbena) gcc 3.3.2 - PGI compilers (pgcc, pgf90, pgCC) + PGI compilers (pgcc, pgf90, pgCC) version 5.2-1 Absoft Fortran compiler v9.0 - Intel(R) C++ 32-bit Version 8.1 - Intel(R) Fortran 32-bit Version 8.1 + Intel(R) C++ 32-bit Version 8.1 + Intel(R) Fortran 32-bit Version 8.1 MPIch 1.2.6 Linux 2.4.21-268-smp x86_64 gcc 3.3.1 (SuSE Linux, AMD) - (mir) PGI 5.2-1 C and F90 (with k3-32) - Intel(R) C++ 32-bit Version 8.1 - Intel(R) Fortran 32-bit Version 8.1 - Linux 2.4.21-sgi303r2 Altix + (mir) PGI 5.2-1 C and F90 (with k3-32) + Intel(R) C++ 32-bit Version 8.1 + Intel(R) Fortran 32-bit Version 8.1 + Linux 2.4.21-sgi303r2 Altix SMP ia64 Intel(R) C++ Version 8.1 (cobalt) Intel(R) Fortran Itanium(R) Version 8.1 SGI MPI - OSF1 V5.1 (QSC) Compaq C V6.5-011 + OSF1 V5.1 (QSC) Compaq C V6.5-011 HP Fortran V5.5A-3548 - Compaq C++ V6.5-036 - MPIX200_64_r13.4 - OSF1 V5.1 (PSC) Compaq C V6.5-303 + Compaq C++ V6.5-036 + MPIX200_64_r13.4 + OSF1 V5.1 (PSC) Compaq C V6.5-303 HP Fortran V5.5A-3548 - Compaq C++ V6.5-040 - MPIX200_64_r13.4 - FORTRAN 90 2.0 Patch 107356-04 + Compaq C++ V6.5-040 + MPIX200_64_r13.4 + FORTRAN 90 2.0 Patch 107356-04 SunOS 5.8 32,46 Sun WorkShop 6 update 2 C 5.3 (Solaris 2.8) Sun WorkShop 6 update 2 Fortran 90 Sun WorkShop 6 update 2 C++ 5.3 @@ -3443,20 +3444,20 @@ Platforms Tested TFLOPS r1.0.4 v4.5.2 i386 pgcc Rel 3.1-4i with mpich-1.2.4 with local modifications Xeon Linux 2.4.20-31.9smp_perfctr_lustre - (tungsten) Intel(R) C++ Version 8.0 + (tungsten) Intel(R) C++ Version 8.0 Intel(R) Fortran Compiler Version 8.0 IA-64 Linux 2.4.21.SuSE_128.bef1 ia64 (NCSA tg-login) Intel(R) C++ Version 8.0 Intel(R) Fortran Compiler Version 8.0 - mpich-gm-1.2.5..intel + mpich-gm-1.2.5..intel Windows XP MSVC++.NET MSVC++ 6.0 Compaq Visual Fortran 6.6C Intel 8.1 C++ MAC OS X Darwin 7.5 - gcc and g++ Apple Computer, Inc. GCC + gcc and g++ Apple Computer, Inc. GCC version 1175, based on gcc version 3.3.2 - IBM XL Fortran version 8.1 + IBM XL Fortran version 8.1 Absoft Fortran compiler v8.2 @@ -3470,7 +3471,7 @@ Key: y = tested and supported ( ) = footnote appears below second table Platform C F90 F90 C++ zlib SZIP - parallel parallel + parallel parallel Solaris2.8 64-bit y y y(1) y y y Solaris2.8 32-bit y y y(1) y y y Solaris2.9 64-bit y(1) y y(1) y y y @@ -3498,8 +3499,8 @@ Linux 2.4 SuSE ia64 C Intel (3,7) y y y y y y Linux 2.4 SGI Altix ia64 Intel (3) y y y y y y -Platform Shared static- Thread- STREAM- - libraries(4) exec safe VFD +Platform Shared static- Thread- STREAM- + libraries(4) exec safe VFD Solaris2.8 64-bit y x y y Solaris2.8 32-bit y x y y Solaris2.9 64-bit y x y y @@ -3527,24 +3528,24 @@ Linux 2.4 SuSE ia64 C Intel (3,7) y y n n Linux 2.4 SGI Altix ia64 Intel (3) y y n y -Compiler versions for each platform are listed in the "Platforms Tested" -table found elsewhere in this file (RELEASE.txt). Unless otherwise noted, +Compiler versions for each platform are listed in the "Platforms Tested" +table found elsewhere in this file (RELEASE.txt). Unless otherwise noted, compilers used are the system compilers. Footnotes: (1) Using mpich 1.2.6 (2) Using mpt and mpich 1.2.6. - (3) Linux 2.4 with GNU, Intel, and PGI compilers, as indicated. + (3) Linux 2.4 with GNU, Intel, and PGI compilers, as indicated. W or C indicates workstation or cluster, respectively. - (4) Shared libraries are provided only for the C library, + (4) Shared libraries are provided only for the C library, except on Windows where they are provided for C and C++. (5) Using mpt. - (6) Linux 2.4.20-31.9. Xeon cluster with smp_perfctr_lustre + (6) Linux 2.4.20-31.9. Xeon cluster with smp_perfctr_lustre and Intel compilers (7) Linux 2.4.21, SuSE_128.befl. Ia64 cluster with Intel compilers (8) Intel 8.1 (9) Compaq Visual Fortran 6.6C (10) IBM XLF and Absoft - (11) PGI, Absoft. No shared libraries with Absoft; + (11) PGI, Absoft. No shared libraries with Absoft; use '--disable-shared'. (12) PGI and Intel compilers for both C and Fortran (13) AMD Opteron x86_64 @@ -3581,12 +3582,12 @@ Known Problems Ask your system administrator to clean them out. Lastly, request IBM to provide a mean to run poe without the debug socket. -* Fortran subroutine h5pget_driver_f doesn't return a correct driver +* Fortran subroutine h5pget_driver_f doesn't return a correct driver information. -* There are two h5dump xml tests(h5dump --xml thlink.h5 and - h5dump --xml tmany.h5) failed on windows xp with .NET for debug and - debug dll. Release and Release dll work fine. +* There are two h5dump xml tests(h5dump --xml thlink.h5 and + h5dump --xml tmany.h5) failed on windows xp with .NET for debug and + debug dll. Release and Release dll work fine. * The h5dump tests may fail to match the expected output on some platforms (e.g. parallel jobs, Windows) where the error messages directed to @@ -3606,7 +3607,7 @@ Known Problems The --enable-static-exec configure flag also fails to correctly compile on IBM SP2 platform for the serial mode. The parallel mode works fine with this option. - + It is suggested that you don't use this option on these platforms during configuration. @@ -3625,15 +3626,15 @@ Known Problems the different precision in the values displayed. h5ls appears to be dumping floating-point numbers correctly. -* Before building HDF5 F90 Library from source on Crays +* Before building HDF5 F90 Library from source on Crays replace H5Aff.f90, H5Dff.f90 and H5Pff.f90 files in the fortran/src subdirectory in the top level directory with the Cray-specific files from the site: ftp://ftp.ncsa.uiuc.edu/HDF/HDF5/current/src/patches/ -* On some platforms that use Intel and Absoft compilers to build HDF5 fortran - library, compilation may fail for fortranlib_test.f90, fflush1.f90 and - fflush2.f90 complaining about exit subroutine. Comment out the line +* On some platforms that use Intel and Absoft compilers to build HDF5 fortran + library, compilation may fail for fortranlib_test.f90, fflush1.f90 and + fflush2.f90 complaining about exit subroutine. Comment out the line IF (total_error .ne. 0) CALL exit (total_error) * Use --disable-shared configure flag if building with Absoft Fortran @@ -3658,10 +3659,10 @@ Known Problems setenv CXX "pgCC -tlocal" for others * Fortran release DLL randomly failed with compaq visual fortran 6.6c on - windows. + windows. * Fortran DLL built with Intel 8.1 in .NET environment crushed the compiler, - To build Fortran Static library with Intel 8.1 in .NET environment + To build Fortran Static library with Intel 8.1 in .NET environment needs manually setting the project file, please contact to hdfhelp@ncsa.uiuc.edu if you need to build fortran static library with Intel 8.1 with .NET environment. @@ -3743,7 +3744,7 @@ The HDF5 documentation can be found on the NCSA ftp server /HDF/HDF5/docs/ For more information look at the HDF5 home page at: - + http://hdf.ncsa.uiuc.edu/HDF5/ If you have any questions or comments, please send them to: @@ -3774,74 +3775,74 @@ New Features - 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 + - 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. - + 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 + 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 + 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. - KY - 2004/9/16 - + KY - 2004/9/16 + 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. - EIP - 2004/07/21 + 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. + EIP - 2004/07/21 - 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 + 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 + 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 + 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. - AKC - 2004/4/14 + 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. + AKC - 2004/4/14 Parallel Library: ----------------- 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 + - 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). - These options are all switch controlled. See /doc/html/Tools.html for more details. - PVN - 2004/9/13 - + 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). + These options are all switch controlled. See /doc/html/Tools.html for more details. + PVN - 2004/9/13 + F90 API: -------- @@ -3851,18 +3852,18 @@ New Features h5premove_filter_f h5zget_filter_info_f EIP 2004/9/21 - + - added new h5fget_name_f and h5fget_filesize_f subroutines EIP 2004/07/08 C++ API: -------- - - Added wrappers for array and variable length datatypes APIs - - Added wrappers for newly added APIs from H5T, H5F, and H5I - - Added many wrappers that were missing from the H5P API - - Added the ability to reference HDF5 objects to these classes: - DataSet, DataType, Group, and H5File (wrappers for H5R APIs) - BMR 2004/08/04 + - Added wrappers for array and variable length datatypes APIs + - Added wrappers for newly added APIs from H5T, H5F, and H5I + - Added many wrappers that were missing from the H5P API + - Added the ability to reference HDF5 objects to these classes: + DataSet, DataType, Group, and H5File (wrappers for H5R APIs) + BMR 2004/08/04 Support for new platforms, languages and compilers. @@ -3870,14 +3871,14 @@ Support for new platforms, languages and compilers. - Added PGI Fortran support for Linux64 (x86_64) systems EIP - 2004/08/19 - Absoft compiler f95 v9.0 is supported on Linux 2.4 32bit - EIP - 2004/07/29 + EIP - 2004/07/29 - HDF5 Fortran APIs are supported on Mac OSX with IBM XL Fortran - compiler version 8.1. This is a default compiler. + compiler version 8.1. This is a default compiler. - HDF5 Fortran APIs are supported on MAC OSX with Absoft F95 compiler - version 8.2; set F9X environment variable to f95, for example - setenv F9X f95 - Use --disable-shared --enable-static configure flags when Absoft - compiler is used. + version 8.2; set F9X environment variable to f95, for example + setenv F9X f95 + Use --disable-shared --enable-static configure flags when Absoft + compiler is used. EIP - 2004/07/27 Bug Fixes since HDF5-1.6.2 release @@ -3885,72 +3886,72 @@ Bug Fixes since HDF5-1.6.2 release Library ------- - - Fixed parallel bug in which some processes attempted collective - I/O while others did independent I/O. Bug appeared when some - processes used point selections, and others didn't. JRM - 2004/9/15 + - Fixed parallel bug in which some processes attempted collective + I/O while others did independent I/O. Bug appeared when some + processes used point selections, and others didn't. JRM - 2004/9/15 - Corrected error where dataset region references were written in an - incorrect way on Cray machines. PVN & QAK - 2004/09/13 + incorrect way on Cray machines. PVN & QAK - 2004/09/13 - The H5Tget_native_type now determines the native type for integers - based on the precision. This is to avoid cases of wrongly converting - an int to a short in machines that have a short of 8 bytes but with - 32bit precision (e.g Cray SV1). PVN - 2004/09/07 + based on the precision. This is to avoid cases of wrongly converting + an int to a short in machines that have a short of 8 bytes but with + 32bit precision (e.g Cray SV1). PVN - 2004/09/07 - Changed H5Dread() to not overwrite data in an application's buffer - with garbage when accessing a chunked dataset with an undefined fill - value and an unwritten chunk is uncountered. QAK - 2004/08/25 + with garbage when accessing a chunked dataset with an undefined fill + value and an unwritten chunk is uncountered. QAK - 2004/08/25 - Fixed error which could cause a core dump when a type conversion - routine was registered after a compound datatype had been - converted and then an equivalent compound datatype was converted - again. QAK - 2004/08/07 + routine was registered after a compound datatype had been + converted and then an equivalent compound datatype was converted + again. QAK - 2004/08/07 - Fixed memory overwrite when encoding "multi" file driver information - for file's superblock. QAK - 2004/08/05 + for file's superblock. QAK - 2004/08/05 - Fixed obscure bug where a filter which failed during chunk allocation - could allow library to write uncompressed data to disk but think - the data was compressed. QAK - 2004/07/29 + could allow library to write uncompressed data to disk but think + the data was compressed. QAK - 2004/07/29 - Fixed bug where I/O to an extendible chunked dataset with zero-sized - dimensions would cause library to fail an assertion. - QAK - 2004/07/27 + dimensions would cause library to fail an assertion. + QAK - 2004/07/27 - Fixed bug where chunked datasets which have filters defined, - allocation time set to "late" and whose chunks don't align with - the dataspace bounds could have incorrect data stored when - overwriting the entire dataset on the first write. QAK - 2004/07/27 + allocation time set to "late" and whose chunks don't align with + the dataspace bounds could have incorrect data stored when + overwriting the entire dataset on the first write. QAK - 2004/07/27 - Added check to ensure that dataspaces have extents set. JML-2004/07/26 - Fixed bug on some Solaris systems where HDF5 would try to use - gettimeofday() when that function didn't work properly. - JML - 2004/07/23 + gettimeofday() when that function didn't work properly. + JML - 2004/07/23 - Fixed bug in H5Sset_extent_simple where setting maximum size to - non-zero, then to zero would cause an error. JML - 2004/07/20 + non-zero, then to zero would cause an error. JML - 2004/07/20 - Allow NULL pointer for buffer parameter to H5Dread & H5Dwrite - when not writing data ("none" selection or hyperslab or point - selection with no elements defined). QAK - 2004/07/20 + when not writing data ("none" selection or hyperslab or point + selection with no elements defined). QAK - 2004/07/20 - Calling H5Gcreate() on "/" or "." throws an error instead of - failing quietly. JML - 2004/07/19 + failing quietly. JML - 2004/07/19 - Fixed bug where setting file address size to be very small could - trigger an assert if the file grew to more than 64 KB. Now throws - an error and data can be recovered. JL/NF - 2004/07/14 + trigger an assert if the file grew to more than 64 KB. Now throws + an error and data can be recovered. JL/NF - 2004/07/14 - Fixed bug where "resurrecting" a dataset was failing. - QAK - 2004/07/14 + QAK - 2004/07/14 - Fixed bug where incorrect data could be read from a chunked dataset - after it was extended. QAK - 2004/07/12 + after it was extended. QAK - 2004/07/12 - After compound datatype with variable-length string in the fields - is committed to file, the size is messed up when it's read back. - Fixed. SLU - 2004/06/11 + is committed to file, the size is messed up when it's read back. + Fixed. SLU - 2004/06/11 - Fixed potential file corruption bug when a block of metadata could - overlap the end of the internal metadata accumulator buffer and - the buffer would be extended correctly, but would incorrectly - change it's starting address. QAK - 2004/06/09 + overlap the end of the internal metadata accumulator buffer and + the buffer would be extended correctly, but would incorrectly + change it's starting address. QAK - 2004/06/09 - Opaque datatype with no tag failed for some operations. Fixed. - SLU - 2004/6/3 + SLU - 2004/6/3 - Fixed potential file corruption bug where dimensions that were - too large (a value greater than could be represented in 32-bits) - could cause the incorrect amount of space to be allocated in a - file for the raw data for the dataset. QAK - 2004/06/01 - - Fixed dtypes "sw long double -> double" failure in QSC class - machines. AKC - 2004/4/16 + too large (a value greater than could be represented in 32-bits) + could cause the incorrect amount of space to be allocated in a + file for the raw data for the dataset. QAK - 2004/06/01 + - Fixed dtypes "sw long double -> double" failure in QSC class + machines. AKC - 2004/4/16 Configuration ------------- - Fixed the long compile time of H5detect.c when v7.x Intel Compiler - is used with optimization NOT off. AKC - 2004/05/20 + is used with optimization NOT off. AKC - 2004/05/20 Performance ------------- @@ -3958,83 +3959,82 @@ Bug Fixes since HDF5-1.6.2 release Tools ----- - On SGI h5dump displayed only part of the data due to the bug - in the system printf; fixed. - EIP - 2004/09/21 - Documentation - ------------- - - Several descriptive errors have been fixed throughout the - documentation, particularly in the reference manual (RM). - A selection particularly worthy of note would be these: + in the system printf; fixed. + EIP - 2004/09/21 + Documentation + ------------- + - Several descriptive errors have been fixed throughout the + documentation, particularly in the reference manual (RM). + A selection particularly worthy of note would be these: - The H5Pset_szip description in the RM has been expanded and - corrected to facilitate use of SZIP compression. + corrected to facilitate use of SZIP compression. - A note has been added to the H5Dcreate description that an - unexplained failure is likely to be due to a property list error - that is detected only at the time of dataset creation. - - - FMB - 2004/09/21 + unexplained failure is likely to be due to a property list error + that is detected only at the time of dataset creation. + FMB - 2004/09/21 F90 API ------- - - Fortran functions h5dwrite/read_f and h5awrite/read_f do not - accept dims parameter of INTEGER type anymore. Code was removed. + - Fortran functions h5dwrite/read_f and h5awrite/read_f do not + accept dims parameter of INTEGER type anymore. Code was removed. 2004/04/15 + C++ API ------- - - H5::Exception's and its subclasses' constructors that were - overloaded to take char pointers are removed and constructors - that passed in reference of 'string' are changed to pass - by value. In addition, the default value of the data member - H5::Exception::detailMessage is changed from 0/NULL to - DEFAULT_MSG ("No detailed information provided".) - - Prototype for DSetCreatPropList::setLayout is changed: 1st parameter - is removed because it was there only by mistake. - BMR 2004/08/04 + - H5::Exception's and its subclasses' constructors that were + overloaded to take char pointers are removed and constructors + that passed in reference of 'string' are changed to pass + by value. In addition, the default value of the data member + H5::Exception::detailMessage is changed from 0/NULL to + DEFAULT_MSG ("No detailed information provided".) + - Prototype for DSetCreatPropList::setLayout is changed: 1st parameter + is removed because it was there only by mistake. + BMR 2004/08/04 Documentation ============= HDF5 Library documentation -------------------------- - HDF5 C++ API Reference Manual - This document has been added to the HDF5 document set. - The predecessor document, "HDF5 C++ Interfaces," has been removed. + This document has been added to the HDF5 document set. + The predecessor document, "HDF5 C++ Interfaces," has been removed. - HDF5 C++ API Design Specification - A first draft of this document has been added to the HDF5 document - set. The draft has been posted on the HDF5 website and a link - has been added to the HDF5 documents index (index.html at the top - level of the document set). + A first draft of this document has been added to the HDF5 document + set. The draft has been posted on the HDF5 website and a link + has been added to the HDF5 documents index (index.html at the top + level of the document set). - Parallel HDF5 - In prior releases, the HDF5 document set included two parallel - HDF5 documents. Those documents have been deleted and the - HDF5 documents index (index.html) now links to a "Parallel HDF5" - page on the HDF5 website (http://hdf.ncsa.uiuc.edu/HDF5/PHDF5/). + In prior releases, the HDF5 document set included two parallel + HDF5 documents. Those documents have been deleted and the + HDF5 documents index (index.html) now links to a "Parallel HDF5" + page on the HDF5 website (http://hdf.ncsa.uiuc.edu/HDF5/PHDF5/). - HDF5 High Level APIs - Links to the HDF5 High Level APIs and to the HDF5 High Level - Reference Manual have been added to the HDF5 documents index - (index.html). + Links to the HDF5 High Level APIs and to the HDF5 High Level + Reference Manual have been added to the HDF5 documents index + (index.html). - HDF5 Reference Manual - Tools: h5repack -- A description of the new h5repack tool has been + Tools: h5repack -- A description of the new h5repack tool has been added to the Tools page. - Tools: h5dump -- Several new options have been added to h5dump. - New functions -- All new functions have been added to the RM. - API changes -- Relevant function descriptions have been updated in - instances where programming interfaces have changed. - FMB - 2004/09/21 + Tools: h5dump -- Several new options have been added to h5dump. + New functions -- All new functions have been added to the RM. + API changes -- Relevant function descriptions have been updated in + instances where programming interfaces have changed. + FMB - 2004/09/21 Windows installation documentation ---------------------------------- - - INSTALL_Windows.txt has been enhanced to include instructions building - HDF5 with FORTRAN and C++. + - INSTALL_Windows.txt has been enhanced to include instructions building + HDF5 with FORTRAN and C++. - Two optional installation documents have been added. They are - INSTALL_Windows_Short.txt and INSTALL_Windows_From_Command_Line.txt. - INSTALL_Windows_Short.txt is supposed to help general users who - only want to build,test and install HDF5 in a quick way. - INSTALL_Windows_From_Command_Line.txt is supposed to help users who - would like to compile,test and install HDF5 in command line environment. + INSTALL_Windows_Short.txt and INSTALL_Windows_From_Command_Line.txt. + INSTALL_Windows_Short.txt is supposed to help general users who + only want to build,test and install HDF5 in a quick way. + INSTALL_Windows_From_Command_Line.txt is supposed to help users who + would like to compile,test and install HDF5 in command line environment. - INSTALL_Windows_withcpp.txt and INSTALL_Windows_withF90.txt became - obsolete. Files are deleted from the release_docs directory. - KY 2004/09/16, EIP 2004/9/21 - + obsolete. Files are deleted from the release_docs directory. + KY 2004/09/16, EIP 2004/9/21 + Platforms Tested @@ -4042,14 +4042,14 @@ Platforms Tested AIX 5.1 (32 and 64-bit) xlc 6.0.0.6 xlf 8.1.1.3 - xlC 6.0.0.6 - mpcc_r 6.0.0.6 + xlC 6.0.0.6 + mpcc_r 6.0.0.6 mpxlf_r 8.1.1.3 - xlc 5.0.2.5 - xlf 7.1.1.2 - xlC 5.0.2.5 - mpcc_r 5.0.2.5 - mpxlf_r 7.1.1.2 + xlc 5.0.2.5 + xlf 7.1.1.2 + xlC 5.0.2.5 + mpcc_r 5.0.2.5 + mpxlf_r 7.1.1.2 AIX 5.2 xlc 6.0.0.8 xlC 6.0.0.8 xlf 8.1.1.6 @@ -4063,14 +4063,14 @@ Platforms Tested Cray Fortran Version 3.6.0.3.1 FreeBSD 4.9 gcc 2.95.4 g++ 2.95.4 - HP-UX B.11.00 HP C HP92453-01 A.11.01.20 + HP-UX B.11.00 HP C HP92453-01 A.11.01.20 HP F90 v2.4 HP ANSI C++ B3910B A.03.13 MPIch 1.2.4 IRIX64 6.5 (64 & n32) MIPSpro cc 7.3.1.3m F90 MIPSpro 7.3.1.3m (64 only) C++ MIPSpro cc 7.3.1.3m - mpt 1.6 + mpt 1.6 Linux 2.4.18 gcc 2.96, 3.3.2 g++ 3.3.2 Intel(R) C++ Version 7.1 @@ -4083,27 +4083,27 @@ Platforms Tested MPIch 1.2.4 Linux 2.4.21-2.9.5ws #3 gcc 3.2.3 (Red Hat Linux 3.2.3-16) SMP x86_64 g++ 3.2.3 - Linux 2.4.21-4.ELsmp Intel(R) C++ 32-bit Version 8.0 - Intel(R) Fortran 32-bit Version 8.0 - gcc 3.4.0 - MPICH 1..5.2 Inmel 8.0 + Linux 2.4.21-4.ELsmp Intel(R) C++ 32-bit Version 8.0 + Intel(R) Fortran 32-bit Version 8.0 + gcc 3.4.0 + MPICH 1..5.2 Inmel 8.0 Linux 2.4.19-SMP x86_64 gcc (GCC) 3.2.2 (SuSE Linux) g++ 3.2.2 Linux 2.6.4-52smp x86_64 gcc 3.3.3 (SuSE Linux 9.1 AMD64)) - PGI 5.2-1 C and F90 + PGI 5.2-1 C and F90 - Linux 2.4.21-sgi Altix + Linux 2.4.21-sgi Altix SMP ia64 Intel(R) C++ Version 8.0 Intel(R) Fortran Itanium(R) Version 8.0 SGI MPI - OSF1 V5.1 Compaq C V6.5-303 + OSF1 V5.1 Compaq C V6.5-303 HP Fortran V5.5A-3548 - Compaq C++ V6.5-040 - MPI_64bit_R13 + Compaq C++ V6.5-040 + MPI_64bit_R13 SunOS 5.7(32 and 64 bit) WorkShop Compilers 5.0 98/12/15 C 5.0 - (Solaris 2.7) WorkShop Compilers 5.0 98/12/15 C++ 5.0 - WorkShop Compilers 5.0 98/10/25 - FORTRAN 90 2.0 Patch 107356-04 + (Solaris 2.7) WorkShop Compilers 5.0 98/12/15 C++ 5.0 + WorkShop Compilers 5.0 98/10/25 + FORTRAN 90 2.0 Patch 107356-04 SunOS 5.8(32 and 64 bit) Sun WorkShop 6 update 2 C 5.3 (Solaris 2.8) Sun WorkShop 6 update 2 Fortran 90 Sun WorkShop 6 update 2 C++ 5.3 @@ -4114,9 +4114,9 @@ Platforms Tested Intel(R) Fortran Compiler Version 7.0 Xeon Linux 2.4.20-31.9smp_perfctr_lustre - Intel(R) C++ Version 8.0 + Intel(R) C++ Version 8.0 Intel(R) Fortran Compiler Version 8.0 - + IA-64 Linux 2.4.16 ia64 gcc version 3.0.4 Intel(R) C++ Version 7.1 Intel(R) Fortran Compiler Version 7.1 @@ -4124,23 +4124,23 @@ Platforms Tested IA-64 Linux 2.4.21.SuSE_128.bef1 ia64 Intel(R) C++ Version 8.0 Intel(R) Fortran Compiler Version 8.0 - mpich-gm-1.2.5..intel + mpich-gm-1.2.5..intel Windows 2000 (NT5.0) MSVC++ 6.0 MSVC++ .NET DEC Visual Fortran 6.0 Intel C and F90 compilers version 7.1 - Code Warrior 8.0 + Code Warrior 8.0 Windows XP MSVC++.NET MSVC++ 6.0 DEC Visual Fortran 6.0 MAC OS X Darwin 7.5 - gcc and g++ Apple Computer, Inc. GCC + gcc and g++ Apple Computer, Inc. GCC version 1175, based on gcc version 3.3.2 - IBM XL Fortran version 8.1 + IBM XL Fortran version 8.1 Absoft Fortran compiler v8.2 - + Supported Configuration Features Summary @@ -4153,7 +4153,7 @@ Key: y = tested and supported ( ) = footnote appears below second table Platform C F90 F90 C++ zlib SZIP - parallel parallel + parallel parallel Solaris2.7 64-bit y (1) y y (1) y y y Solaris2.7 32-bit y (1) y y (1) y y y Solaris2.8 64-bit y (1) y y (1) y y y @@ -4185,8 +4185,8 @@ Linux 2.4 SuSE ia64 C Intel (3,8) y y y y y y Linux 2.4 SGI Altix ia64 Intel (3) y y y y y y -Platform Shared static- Thread- STREAM- - libraries (4) exec safe VFD +Platform Shared static- Thread- STREAM- + libraries (4) exec safe VFD Solaris2.7 64-bit y x y y Solaris2.7 32-bit y x y y Solaris2.8 64-bit y x y y @@ -4219,19 +4219,19 @@ Linux 2.4 SGI Altix ia64 Intel (3) y y n y -Compiler versions for each platform are listed in the "Platforms Tested" -table found elsewhere in this file (RELEASE.txt). Unless otherwise noted, +Compiler versions for each platform are listed in the "Platforms Tested" +table found elsewhere in this file (RELEASE.txt). Unless otherwise noted, compilers used are the system compilers. Footnotes: (1) Using mpich 1.2.4 (2) Using mpt and mpich 1.2.4 - (3) Linux 2.4 with GNU, Intel, and PGI compilers, as indicated + (3) Linux 2.4 with GNU, Intel, and PGI compilers, as indicated W or C indicates workstation or cluster, respectively - (4) Shared libraries are provided only for the C library, + (4) Shared libraries are provided only for the C library, except on Windows where they are provided for C and C++ (5) Using mpt (6) Intel 7.1 compilers in Visual Studio 6.0 environment - (7) Linux 2.4.20-31.9. Xeon cluster with smp_perfctr_lustre + (7) Linux 2.4.20-31.9. Xeon cluster with smp_perfctr_lustre and Intel compilers (8) Linux 2.4.21, SuSE_128.befl. Ia64 cluster with Intel compilers (9) DEC Visual Fortran 6.0 and Intel 7.1 @@ -4247,14 +4247,14 @@ Known Problems ============== * h5fc and h5c++ compilation scripts have a bug: object files (*.o) cannot be created when source code is compiled using h5fc or h5c++. We will provide - a fix. Please check ftp://ftp.ncsa.uiuc.edu/HDF/HDF5/current/src/patches/ + a fix. Please check ftp://ftp.ncsa.uiuc.edu/HDF/HDF5/current/src/patches/ for the patches. * Fortran subroutine h5pget_driver_f doesn't return a correct driver information. * There are two h5dump xml tests(h5dump --xml thlink.h5 and h5dump --xml tmany.h5) failed on windows xp with .NET for debug and debug dll. Release and Release - dll work fine. + dll work fine. * The h5dump tests may fail to match the expected output on some platforms (e.g. parallel jobs, Windows) where the error messages directed to @@ -4274,7 +4274,7 @@ Known Problems The --enable-static-exec configure flag also fails to correctly compile on IBM SP2 platform for the serial mode. The parallel mode works fine with this option. - + It is suggested that you don't use this option on these platforms during configuration. @@ -4293,7 +4293,7 @@ Known Problems the different precision in the values displayed and h5ls appears to be dumping floating-point numbers correctly. -* Before building HDF5 F90 Library from source on Crays +* Before building HDF5 F90 Library from source on Crays replace H5Aff.f90, H5Dff.f90 and H5Pff.f90 files in the fortran/src subdirectory in the top level directory with the Cray-specific files from the site: @@ -4301,7 +4301,7 @@ Known Problems * On some platforms that use Intel and Absoft compilers to build HDF5 fortran library, compilation may fail for fortranlib_test.f90, fflush1.f90 and fflush2.f90 - complaining about exit subroutine. Comment out the line + complaining about exit subroutine. Comment out the line IF (total_error .ne. 0) CALL exit (total_error) * On IA32 and IA64 systems, if you use a compiler other than GCC (such as @@ -4409,7 +4409,7 @@ The HDF5 documentation can be found on the NCSA ftp server /HDF/HDF5/docs/ For more information look at the HDF5 home page at: - + http://hdf.ncsa.uiuc.edu/HDF5/ If you have any questions or comments, please send them to: @@ -4433,31 +4433,31 @@ New Features Configuration: -------------- - Default of $prefix is changed to $PWD/hdf5 so that multiple - builds using --srcdir is possible in the same machine. - AKC - 2003/12/1 + builds using --srcdir is possible in the same machine. + AKC - 2003/12/1 Library: -------- - Added H5Iget_ref, H5Iinc_ref and H5Idec_ref routines to the C - library and the FORTRAN wrapper. See the reference manual for a - full description of these new routines. QAK - 2003/12/11 + library and the FORTRAN wrapper. See the reference manual for a + full description of these new routines. QAK - 2003/12/11 Parallel Library: ----------------- - - The parallel tests in testpar/ now provides different levels of - verbosity via the '-v' option. The default is less verbose - than before. AKC - 2004/01/23 + - The parallel tests in testpar/ now provides different levels of + verbosity via the '-v' option. The default is less verbose + than before. AKC - 2004/01/23 - Added parallel test, test_mpio_1wMr, which tests if the - underlaying parallel I/O system is conforming to the POSIX - write/read requirement. This version includes options of using - atomicity and file-sync. AKC - 2003/11/27 + underlaying parallel I/O system is conforming to the POSIX + write/read requirement. This version includes options of using + atomicity and file-sync. AKC - 2003/11/27 Tools: ------ - Added option -showconfig to compiler tools (h5cc,h5fc,h5c++). - AKC - 2004/01/08 - - Install the "h5cc" and "h5fc" tools as "h5pcc" and "h5pfc" - respectively if library is built in parallel mode. AKC - 2004/01/07 + AKC - 2004/01/08 + - Install the "h5cc" and "h5fc" tools as "h5pcc" and "h5pfc" + respectively if library is built in parallel mode. AKC - 2004/01/07 - Added metadata benchmark (perform/perf_meta). SLU - 2003/10/03 C++ API: @@ -4467,8 +4467,8 @@ New Features Support for new platforms, languages and compilers. ======================================= - HDF5 Fortran APIs are supported on MAC OSX with IBM XL Fortran compiler - version 8.1 Beta - Use --disbale-shared --enable-static flags with configure when + version 8.1 Beta + Use --disbale-shared --enable-static flags with configure when building HDF5 Fortran Library on MAC OSX. - C and C++ Libraries are available for Linux64 RH8 - C, C++ and Fortran sequential Libraries, and C and Fortran parallel @@ -4545,12 +4545,12 @@ Bug Fixes since HDF5-1.6.1 release Tools ----- - - Fixed h5redeploy which sometimes complain too many argument for the - test command. (The complain did not hinder the h5redploy to proceed - correctly.) AKC - 2003/11/03 + - Fixed h5redeploy which sometimes complain too many argument for the + test command. (The complain did not hinder the h5redploy to proceed + correctly.) AKC - 2003/11/03 - Documentation - ------------- + Documentation + ------------- Documentation @@ -4563,12 +4563,12 @@ Platforms Tested AIX 5.1 (32 and 64-bit) xlc 6.0.0.2 xlf 8.1.0.3 - xlC 6.0.0.4 - xlc 5.0.2.5 - xlf 7.1.1.2 - xlC 5.0.2.5 - mpcc_r 5.0.2.5 - mpxlf_r 7.1.1.2 + xlC 6.0.0.4 + xlc 5.0.2.5 + xlf 7.1.1.2 + xlC 5.0.2.5 + mpcc_r 5.0.2.5 + mpxlf_r 7.1.1.2 poe 3.2.0.10 Cray T3E sn6606 2.0.6.08 Cray Standard C Version 6.6.0.2 Cray Fortran Version 3.6.0.2 @@ -4578,7 +4578,7 @@ Platforms Tested Cray Fortran Version 3.4.0.0 FreeBSD 4.9 gcc 2.95.4 g++ 2.95.4 - HP-UX B.11.00 HP C HP92453-01 A.11.01.20 + HP-UX B.11.00 HP C HP92453-01 A.11.01.20 HP F90 v2.4 HP ANSI C++ B3910B A.03.13 MPIch 1.2.4 @@ -4599,20 +4599,20 @@ Platforms Tested Linux 2.4.19-SMP x86_64 gcc (GCC) 3.2.2 (SuSE Linux) g++ 3.2.2 - Linux 2.4.21-sgi Altix + Linux 2.4.21-sgi Altix SMP ia64 Intel(R) C++ Version 7.1 Intel(R) Fortran Itanium(R) Version 7.1 SGI MPI OSF1 V5.1 Compaq C V6.4-014 - Compaq Fortran V5.5-2602 - Compaq Fortran V5.5-1877 - Compaq C++ V6.5-033 - Compaq C++ V6.5-030 - MPI_64bit_R13 + Compaq Fortran V5.5-2602 + Compaq Fortran V5.5-1877 + Compaq C++ V6.5-033 + Compaq C++ V6.5-030 + MPI_64bit_R13 SunOS 5.7(32 and 64 bit) WorkShop Compilers 5.0 98/12/15 C 5.0 - (Solaris 2.7) WorkShop Compilers 5.0 98/12/15 C++ 5.0 - WorkShop Compilers 5.0 98/10/25 - FORTRAN 90 2.0 Patch 107356-04 + (Solaris 2.7) WorkShop Compilers 5.0 98/12/15 C++ 5.0 + WorkShop Compilers 5.0 98/10/25 + FORTRAN 90 2.0 Patch 107356-04 SunOS 5.8(32 and 64 bit) Sun WorkShop 6 update 2 C 5.3 (Solaris 2.8) Sun WorkShop 6 update 2 Fortran 90 Sun WorkShop 6 update 2 C++ 5.3 @@ -4621,7 +4621,7 @@ Platforms Tested IA-32 Linux 2.4.18 gcc 2.96 Intel(R) C++ Version 7.0 Intel(R) Fortran Compiler Version 7.0 - + IA-64 Linux 2.4.16 ia64 gcc version 3.0.4 Intel(R) C++ Version 7.1 Intel(R) Fortran Compiler Version 7.1 @@ -4629,18 +4629,18 @@ Platforms Tested IA-64 Linux 2.4.21.SuSE_128.bef1 ia64 Intel(R) C++ Version 7.1 Intel(R) Fortran Compiler Version 7.1 - mpich-gm-1.2.5..intel + mpich-gm-1.2.5..intel Windows 2000 (NT5.0) MSVC++ 6.0 DEC Visual Fortran 6.0 Intel C and F90 compilers version 7.1 - Code Warrior 8.0 + Code Warrior 8.0 Windows XP MSVC++.NET MAC OS X Darwin 7.2 - gcc and g++ Apple Computer, Inc. GCC + gcc and g++ Apple Computer, Inc. GCC version 1175, based on gcc version 3.3.2 IBM XL Fortran version 8.1 Beta - + Supported Configuration Features Summary @@ -4684,10 +4684,10 @@ RedHat 7.1 ia64 C Intel (3) y n y n y n y RedHat 8 & SuSe x86_64 y n n n y n y gcc (3) Linux 2.4 SGI Altix ia64 y n y n y y y - Intel (3) + Intel (3) -Platform static- Thread- SZIP GASS STREAM- High- H4/H5 +Platform static- Thread- SZIP GASS STREAM- High- H4/H5 exec safe VFD level tools APIs (6) Solaris2.7 64-bit x y y n y y n @@ -4720,21 +4720,21 @@ RedHat 7.1 ia64 C Intel (3) y n y n y y y RedHat 8 & SuSe x86_64 y n y n y y y gcc (3) Linux 2.4 SGI Altix ia64 y n y n y y y - Intel (3) + Intel (3) -Compiler versions for each platform are listed in the "Platforms Tested" -table found elsewhere in this file (RELEASE.txt). Unless otherwise noted, +Compiler versions for each platform are listed in the "Platforms Tested" +table found elsewhere in this file (RELEASE.txt). Unless otherwise noted, compilers used are the system compilers. Footnotes: (1) Using mpich 1.2.4. (2) Using mpt and mpich 1.2.4. - (3) Linux 2.4 with GNU, Intel, and PGI compilers, as indicated. + (3) Linux 2.4 with GNU, Intel, and PGI compilers, as indicated. W or C indicates workstation or cluster, respectively. - (4) Shared libraries are provided only for the C library, + (4) Shared libraries are provided only for the C library, except on Windows where they are provided for C and C++. (5) Using mpt. - (6) Includes the H4toH5 Library and the h4toh5 and h5toh4 + (6) Includes the H4toH5 Library and the h4toh5 and h5toh4 utilities. @@ -4744,7 +4744,7 @@ Known Problems * There are two h5dump xml tests(h5dump --xml thlink.h5 and h5dump --xml tmany.h5) failed on windows xp with .NET for debug and debug dll. Release and Release - dll work fine. + dll work fine. * The h5dump tests may fail to match the expected output on some platforms (e.g. parallel jobs, Windows) where the error messages directed to @@ -4764,7 +4764,7 @@ Known Problems The --enable-static-exec configure flag also fails to correctly compile on IBM SP2 platform for the serial mode. The parallel mode works fine with this option. - + It is suggested that you don't use this option on these platforms during configuration. @@ -4784,7 +4784,7 @@ Known Problems the different precision in the values displayed and h5ls appears to be dumping floating-point numbers correctly. -* Before building HDF5 F90 Library from source on Crays +* Before building HDF5 F90 Library from source on Crays replace H5Aff.f90, H5Dff.f90 and H5Pff.f90 files in the fortran/src subdirectory in the top level directory with the Cray-specific files from the site: @@ -4792,7 +4792,7 @@ Known Problems * On some platforms that use Intel compilers to build HDF5 fortran library, compilation may fail for fortranlib_test.f90, fflush1.f90 and fflush2.f90 - complaining about exit subroutine. Comment out the line + complaining about exit subroutine. Comment out the line IF (total_error .ne. 0) CALL exit (total_error) * On IA32 and IA64 systems, if you use a compiler other than GCC (such as @@ -4846,7 +4846,7 @@ The HDF5 documentation can be found on the NCSA ftp server /HDF/HDF5/docs/ For more information look at the HDF5 home page at: - + http://hdf.ncsa.uiuc.edu/HDF5/ If you have any questions or comments, please send them to: @@ -4919,7 +4919,7 @@ New Features Support for new platforms, languages and compilers. ======================================= - gcc 3.3.1 is supported on Linux. - + Bug Fixes since HDF5-1.6.0 release ================================== @@ -5001,25 +5001,25 @@ Bug Fixes since HDF5-1.6.0 release Tools ----- - - Fixed a segmentation fault of h5diff when percentage option is used. + - Fixed a segmentation fault of h5diff when percentage option is used. AKC - 2003/08/27 - Switched away from tools using internal "fixtype" function(s) to use H5Tget_native_type() internally. QAK - 2003/08/25 - Documentation - ------------- - - Added two missing Fortran APIs (h5pget_fapl_mpiposix_f and + Documentation + ------------- + - Added two missing Fortran APIs (h5pget_fapl_mpiposix_f and h5pset_fapl_mpiposix_f) to the reference manual. FMB - 2003/10/15 - - Corrected the reference manual descriptions of H5open/h5open_f and - H5close/h5close_f to indicate that these calls are required in + - Corrected the reference manual descriptions of H5open/h5open_f and + H5close/h5close_f to indicate that these calls are required in Fortran90 applications. FMB - 2003/10/15 Documentation ============= - Fortran90 APIs are being integrated into the main body of the + Fortran90 APIs are being integrated into the main body of the HDF5 Reference Manual (RM). This process is complete in all RM sections except H5P. @@ -5033,12 +5033,12 @@ Platforms Tested AIX 5.1 (32 and 64-bit) xlc 6.0.0.2 xlf 8.1.0.3 - xlC 6.0.0.4 - xlc 5.0.2.5 - xlf 7.1.1.2 - xlC 5.0.2.5 - mpcc_r 5.0.2.5 - mpxlf_r 7.1.1.2 + xlC 6.0.0.4 + xlc 5.0.2.5 + xlf 7.1.1.2 + xlC 5.0.2.5 + mpcc_r 5.0.2.5 + mpxlf_r 7.1.1.2 poe 3.2.0.10 Cray T3E sn6606 2.0.6.08 Cray Standard C Version 6.6.0.2 Cray Fortran Version 3.6.0.2 @@ -5048,7 +5048,7 @@ Platforms Tested Cray Fortran Version 3.4.0.3 FreeBSD 4.9 gcc 2.95.4 g++ 2.95.4 - HP-UX B.11.00 HP C HP92453-01 A.11.01.20 + HP-UX B.11.00 HP C HP92453-01 A.11.01.20 HP F90 v2.4 HP ANSI C++ B3910B A.03.13 HP MPI 01.07.00.00 @@ -5065,14 +5065,14 @@ Platforms Tested Linux 2.4.20-8 gcc 3.2.2 OSF1 V5.1 Compaq C V6.4-014 Compaq C V6.3-027 - Compaq Fortran V5.5-2602 - Compaq C++ V6.5-030 - MPI_64bit_R5 + Compaq Fortran V5.5-2602 + Compaq C++ V6.5-030 + MPI_64bit_R5 g++ version 3.0 for C++ SunOS 5.7(32 and 64 bit) WorkShop Compilers 5.0 98/12/15 C 5.0 - (Solaris 2.7) WorkShop Compilers 5.0 98/12/15 C++ 5.0 - WorkShop Compilers 5.0 98/10/25 - FORTRAN 90 2.0 Patch 107356-04 + (Solaris 2.7) WorkShop Compilers 5.0 98/12/15 C++ 5.0 + WorkShop Compilers 5.0 98/10/25 + FORTRAN 90 2.0 Patch 107356-04 SunOS 5.8(32 and 64 bit) Sun WorkShop 6 update 2 C 5.3 (Solaris 2.8) Sun WorkShop 6 update 2 Fortran 90 Sun WorkShop 6 update 2 C++ 5.3 @@ -5081,19 +5081,19 @@ Platforms Tested IA-32 Linux 2.4.9 gcc 2.96 Intel(R) C++ Version 7.0 Intel(R) Fortran Compiler Version 7.0 - + IA-64 Linux 2.4.16 ia64 gcc version 2.96 20000731 Intel(R) C++ Version 7.0 Intel(R) Fortran Compiler Version 7.0 Windows 2000 (NT5.0) MSVC++ 6.0 DEC Visual Fortran 6.0 Intel C and F90 compilers version 7.1 - Code Warrior 8.0 + Code Warrior 8.0 Windows XP MSVC++.NET MAC OS X Darwin 6.8 - gcc and g++ Apple Computer, Inc. GCC + gcc and g++ Apple Computer, Inc. GCC version 1175, based on gcc version 3.1 - + Supported Configuration Features Summary @@ -5112,7 +5112,7 @@ Solaris2.7 64-bit y y (1) y y (1) y y y Solaris2.7 32-bit y y (1) y y (1) y y y Solaris2.8 64-bit y y (1) y y (1) y y y Solaris2.8 32-bit y y y y (1) y y y -IRIX6.5 y y (1) n n n y y +IRIX6.5 y y (1) n n n y y IRIX64_6.5 64-bit y y (2) y y y y y IRIX64_6.5 32-bit y y (2) n n n y y HPUX11.00 y y (1) y y y y y @@ -5139,7 +5139,7 @@ Linux 2.4 IA64 Intel y n y n y n y ASCII Table 2 -- for RELEASE.txt -Platform static- Thread- SZIP GASS STREAM- High-level H4/H5 +Platform static- Thread- SZIP GASS STREAM- High-level H4/H5 exec safe VFD APIs tools (7) Solaris2.7 64-bit x y y n y y n Solaris2.7 32-bit x y y n y y y @@ -5172,12 +5172,12 @@ Linux 2.4 IA64 Intel y n y n y y y Notes: (1) Using mpich 1.2.4. (2) Using mpt and mpich 1.2.4. (3) Linux 2.4 with GNU, Intel, and PGI compilers, respectively. - (4) Shared libraries are provided only for the C library, except + (4) Shared libraries are provided only for the C library, except on Windows where they are provided for C and C++. (5) Using mpt. - (6) Binaries only; source code for this platform is not being + (6) Binaries only; source code for this platform is not being released at this time. - (7) Includes the H4toH5 Library and the h4toh5 and h5toh4 + (7) Includes the H4toH5 Library and the h4toh5 and h5toh4 utilities. Compiler versions for each platform are listed in the preceding "Platforms Tested" table. @@ -5187,10 +5187,10 @@ Linux 2.4 IA64 Intel y n y n y y y Known Problems ============== * Fortran subroutine h5pget_driver_f doesn't return a correct driver information. - The fix willl be available in the 1.6.2 release. + The fix willl be available in the 1.6.2 release. * There are two h5dump xml tests(h5dump --xml thlink.h5 and h5dump --xml tmany.h5) failed on windows xp with .NET for debug and debug dll. Release and Release - dll work fine. + dll work fine. * The h5dump tests may fail to match the expected output on some platforms (e.g. parallel jobs, Windows) where the error messages directed to @@ -5210,7 +5210,7 @@ Known Problems The --enable-static-exec configure flag also fails to correctly compile on IBM SP2 platform for the serial mode. The parallel mode works fine with this option. - + It is suggested that you don't use this option on these platforms during configuration. @@ -5219,7 +5219,7 @@ Known Problems able to handle the `long long' datatype with the warning: warning: ANSI C does not support `long long' - + This warning is innocuous and can be safely ignored. @@ -5239,14 +5239,14 @@ Known Problems the different precision in the values displayed and h5ls appears to be dumping floating-point numbers correctly. -* Before building HDF5 F90 Library from source on Crays +* Before building HDF5 F90 Library from source on Crays replace H5Aff.f90, H5Dff.f90 and H5Pff.f90 files in the fortran/src subdirectory in the top level directory with the Cray-specific files from the site: * On some platforms that use Intel compilers to build HDF5 fortran library, compilation may fail for fortranlib_test.f90, fflush1.f90 and fflush2.f90 - complaining about exit subroutine. Comment out the line + complaining about exit subroutine. Comment out the line IF (total_error .ne. 0) CALL exit (total_error) ftp://hdf.ncsa.uiuc.edu/pub/outgoing/hdf5/hdf5-1.6.0/F90_source_for_Crays @@ -5270,6 +5270,8 @@ Known Problems * Information about building with PGI and Intel compilers is available in INSTALL file sections 5.7 and 5.8 + + %%%%1.6.0%%%% Release Information for hdf5-1.6.0 (03/July/03) 14. Release information for HDF5 version 1.6.0 @@ -5289,7 +5291,7 @@ The HDF5 documentation can be found on the NCSA ftp server /HDF/HDF5/docs/ For more information look at the HDF5 home page at: - + http://hdf.ncsa.uiuc.edu/HDF5/ If you have any questions or comments, please send them to: @@ -5334,8 +5336,8 @@ Library: 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 - + http://hdf.ncsa.uiuc.edu/HDF5/doc/ADGuide/Changes.html + Complete list of changes: * Changed dataset modification time to _not_ be updated when raw data is @@ -5363,16 +5365,16 @@ Library: I/O filters: H5Pmodify_filter, H5Pget_filter_by_id and H5Pall_filters_avail. Also changed H5Zregister to use new method of registering filters with library. QAK - 2003/04/08 - * The first version of szip compression support were implemented. + * The first version of szip compression support were implemented. User should have static szlib library installed. Using function H5Pset_szip to pass the szip parameters to the HDF5 library. More detailed decription of the process will be followed. KY-2003/04/01 - * Added Fletcher32 checksum as a filter in pipeline. It only works in + * Added Fletcher32 checksum as a filter in pipeline. It only works in chunked dataset. SLU - 2003/2/11 * MPICH/MPE instrumentation feature added. Use --with-mpe[=DIR] to configure it. AKC - 2003/1/3 - * New functions H5Gget_num_objs, H5Gget_objname_by_idx and H5Gget_objtype_by_idx + * New functions H5Gget_num_objs, H5Gget_objname_by_idx and H5Gget_objtype_by_idx are added to the library. SLU - 2002/11/25 * H5Dget_offset is added to return the offset of a dataset's data relative to the beginning of the file. SLU - 2002/11/7 @@ -5397,7 +5399,7 @@ Library: H5D_SPACE_ALLOC_LATE for H5Dset_space_time(). This allows chunked datasets to be incrementally allocated as in the 1.4.x branch. QAK - 2002/08/27 - * Compact dataset is added to the library. The data will be stored in + * Compact dataset is added to the library. The data will be stored in the header message of dataset layout. Space allocation time has to be EARLY. No hyperslab is supported for parallel collective write. There is no API changes except activating H5Pset_layout and H5Pget_layout for @@ -5411,9 +5413,9 @@ Library: This can improve parallel I/O performance for chunked datasets. QAK - 2002/05/17 * New functions H5Glink2 and H5Gmove2 were added to allow link and move to - be in different locations in the same file. The old functions H5Glink - and H5Gmove remain valid. SLU - 2002/04/26 - * Fill-value's behaviors for contiguous dataset have been redefined. + be in different locations in the same file. The old functions H5Glink + and H5Gmove remain valid. SLU - 2002/04/26 + * Fill-value's behaviors for contiguous dataset have been redefined. Basicly, dataset won't allocate space until it's necessary. Full details are available at http://hdf.ncsa.uiuc.edu/RFC/Fill_Value, at this moment. SLU - 2002/04/11 @@ -5434,14 +5436,14 @@ Library: in order to correctly handle dataset region references. Moved H5Rget_object_type() to be only compiled into the library when v1.4 compatibility is enabled. - * Added a new file access property, file close degree, to control file + * Added a new file access property, file close degree, to control file close behavior. It has four values, H5F_CLOSE_WEAK, H5F_CLOSE_SEMI, - H5F_CLOSE_STRONG, and H5F_CLOSE_DEFAULT. Two correspont functions - H5Pset_fclose_degree and H5Pget_fclose_degree are also provided. Two + H5F_CLOSE_STRONG, and H5F_CLOSE_DEFAULT. Two correspont functions + H5Pset_fclose_degree and H5Pget_fclose_degree are also provided. Two new functions H5Fget_obj_count and H5Fget_obj_ids are offerted to assist - this new feature. For full details, please refer to the reference - manual under the description of H5Fcreate, H5Fopen, H5Fclose and the - functions mentioned above. + this new feature. For full details, please refer to the reference + manual under the description of H5Fcreate, H5Fopen, H5Fclose and the + functions mentioned above. * Removed H5P(get|set)_hyper_cache API function, since the property is no longer used. * Improved performance of non-contiguous hyperslabs (built up with @@ -5479,19 +5481,19 @@ Tools: QAK - 2003/06/06 * h5diff to compare two HDF5 files was added * h5import to import ascii and binary data to an HDF5 file was added. - Old h5import tool in the tools/misc directory was renamed to - h5createU8 to reflect its purpose. h5createU8 will be deleted in - 1.6.1 release. + Old h5import tool in the tools/misc directory was renamed to + h5createU8 to reflect its purpose. h5createU8 will be deleted in + 1.6.1 release. * Two new scripts h5fc and h5c++ were added to compile F90 and C++ HDF5 applications. Support for new platforms, languages and compilers. ======================================= * Added C++ API support on HPUX11.00. BMR - 2003/03/19 - * Absoft compiler is supported for Fortran HDF5 Library. + * Absoft compiler is supported for Fortran HDF5 Library. When building with Absoft compiler, add -DH5_ABSOFT to C compilation flags to get correct names of C functions - called by Fortran APIs. + called by Fortran APIs. Bug Fixes since HDF5-1.4.0 release @@ -5525,7 +5527,7 @@ Library for floating point data). This adds a new API function: H5Pset_shuffle. KY - 2002/11/13 * Allow scalar dataspaces to be used for parallel I/O. QAK - 2002/11/05 - * New functions H5Gget_comment(modification), H5Aget_storage_size, + * New functions H5Gget_comment(modification), H5Aget_storage_size, H5Arename. SLU - 2002/10/29 * Fixed an assertion of H5S_select_iterate that did not account for scalar type that has no dimension sizes. AKC - 2002/10/15 @@ -5534,10 +5536,10 @@ Library * Fixed data corruption problem which could occur when fill values were written to a contiguously stored dataset in parallel. QAK - 2002/08/27 * Fixed VL memory leak when data is overwritten. The heap objects holding - old data are freed. If the fill value writting time is set to + old data are freed. If the fill value writting time is set to H5D_FILL_TIME_NEVER, the library prohibits user to create VL type dataset. - The library free all the heap objects storing VL type if there is nested - VL type(a VL type contains another VL type). SLU - 2002/07/10 + The library free all the heap objects storing VL type if there is nested + VL type(a VL type contains another VL type). SLU - 2002/07/10 * Tweaked a few API functions to use 'size_t' instead of 'unsigned' or 'hsize_t', which may cause errors in some cases. @@ -5561,17 +5563,17 @@ Performance Tools ----- - * Added a -force option to h5redeploy. AKC - 2003/03/04 + * Added a -force option to h5redeploy. AKC - 2003/03/04 * The VL string bug(data and datatype cannot be shown) in h5dump is fixed. -SLU - 2002/11/18 - * Fixed segfault if h5dump was invoked with some options but no file + * Fixed segfault if h5dump was invoked with some options but no file (e.g., h5dump -H). -AKC, 2002/10/15 * Fixed so that the "-i" flag works correctly with the h5dumper. * Fixed segfault when "-v" flag was used with the h5dumper. -Documentation -------------- +Documentation +------------- @@ -5583,12 +5585,12 @@ Platforms Tested AIX 5.1 (32 and 64-bit) xlc 6.0.0.2 xlf 8.1.0.3 - xlC 6.0.0.4 - xlc 5.0.2.5 - xlf 7.1.1.2 - xlC 5.0.2.5 - mpcc_r 5.0.2.5 - mpxlf_r 7.1.1.2 + xlC 6.0.0.4 + xlc 5.0.2.5 + xlf 7.1.1.2 + xlC 5.0.2.5 + mpcc_r 5.0.2.5 + mpxlf_r 7.1.1.2 poe 3.2.0.10 Cray T3E sn6606 2.0.6.08 Cray Standard C Version 6.6.0.2 Cray Fortran Version 3.6.0.0.2 @@ -5601,7 +5603,7 @@ Platforms Tested mpt 2.1.0.0 FreeBSD 4.7 gcc 2.95.4 g++ 2.95.5 - HP-UX B.11.00 HP C HP92453-01 A.11.01.20 + HP-UX B.11.00 HP C HP92453-01 A.11.01.20 HP F90 v2.4 HP ANSI C++ B3910B A.03.13 MPIch 1.2.4 @@ -5617,14 +5619,14 @@ Platforms Tested MPIch 1.2.4 OSF1 V5.1 Compaq C V6.4-014 Compaq C V6.3-027 - Compaq Fortran V5.5-1877 - Compaq C++ V6.5-014 - MPI_64bit_R5 + Compaq Fortran V5.5-1877 + Compaq C++ V6.5-014 + MPI_64bit_R5 g++ version 3.0 for C++ SunOS 5.7 WorkShop Compilers 5.0 98/12/15 C 5.0 - (Solaris 2.7) WorkShop Compilers 5.0 98/12/15 C++ 5.0 - WorkShop Compilers 5.0 98/10/25 - FORTRAN 90 2.0 Patch 107356-04 + (Solaris 2.7) WorkShop Compilers 5.0 98/12/15 C++ 5.0 + WorkShop Compilers 5.0 98/10/25 + FORTRAN 90 2.0 Patch 107356-04 SunOS 5.8/32 Sun WorkShop 6 update 2 C 5.3 (Solaris 2.8) Sun WorkShop 6 update 2 Fortran 90 Sun WorkShop 6 update 2 C++ 5.3 @@ -5636,19 +5638,19 @@ Platforms Tested IA-32 Linux 2.4.9 gcc 2.96 Intel(R) C++ Version 7.0 Intel(R) Fortran Compiler Version 7.0 - + IA-64 Linux 2.4.16 ia64 gcc version 2.96 20000731 Intel(R) C++ Version 7.0 Intel(R) Fortran Compiler Version 7.0 Windows 2000 (NT5.0) MSVC++ 6.0 DEC Visual Fortran 6.0 Intel C and F90 compilers version 7.1 - Code Warrior 8.0 + Code Warrior 8.0 Windows XP MSVC++.NET MAC OS X Darwin 6.5 - gcc and g++ Apple Computer, Inc. GCC + gcc and g++ Apple Computer, Inc. GCC version 1161, based on gcc version 3.1 - + Supported Configuration Features Summary @@ -5667,7 +5669,7 @@ Solaris2.7 64-bit y y (1) y y (1) y y y Solaris2.7 32-bit y y (1) y y (1) y y y Solaris2.8 64-bit y y (1) y y (1) y y y Solaris2.8 32-bit y y y y (1) y y y -IRIX6.5 y y (1) n n n y y +IRIX6.5 y y (1) n n n y y IRIX64_6.5 64-bit y y (2) y y y y y IRIX64_6.5 32-bit y y (2) n n n y y HPUX11.00 y y (1) y y y y y @@ -5694,7 +5696,7 @@ Linux 2.4 IA64 Intel y n y n y n y ASCII Table 2 -- for RELEASE.txt -Platform static- Thread- SZIP GASS STREAM- High-level H4/H5 +Platform static- Thread- SZIP GASS STREAM- High-level H4/H5 exec safe VFD APIs tools (7) Solaris2.7 64-bit x y y n y y n Solaris2.7 32-bit x y y n y y y @@ -5727,12 +5729,12 @@ Linux 2.4 IA64 Intel y n y n y y y Notes: (1) Using mpich 1.2.4. (2) Using mpt and mpich 1.2.4. (3) Linux 2.4 with GNU, Intel, and PGI compilers, respectively. - (4) Shared libraries are provided only for the C library, except + (4) Shared libraries are provided only for the C library, except on Windows where they are provided for C and C++. (5) Using mpt. - (6) Binaries only; source code for this platform is not being + (6) Binaries only; source code for this platform is not being released at this time. - (7) Includes the H4toH5 Library and the h4toh5 and h5toh4 + (7) Includes the H4toH5 Library and the h4toh5 and h5toh4 utilities. Compiler versions for each platform are listed in the preceding "Platforms Tested" table. @@ -5764,7 +5766,7 @@ Known Problems The --enable-static-exec configure flag also fails to correctly compile on IBM SP2 platform for the serial mode. The parallel mode works fine with this option. - + It is suggested that you don't use this option on these platforms during configuration. @@ -5773,7 +5775,7 @@ Known Problems able to handle the `long long' datatype with the warning: warning: ANSI C does not support `long long' - + This warning is innocuous and can be safely ignored. @@ -5793,14 +5795,14 @@ Known Problems the different precision in the values displayed and h5ls appears to be dumping floating-point numbers correctly. -* Before building HDF5 F90 Library from source on Crays +* Before building HDF5 F90 Library from source on Crays replace H5Aff.f90, H5Dff.f90 and H5Pff.f90 files in the fortran/src subdirectory in the top level directory with the Cray-specific files from the site: * On some platforms that use Intel compilers to build HDF5 fortran library, compilation may fail for fortranlib_test.f90, fflush1.f90 and fflush2.f90 - complaining about exit subroutine. Comment out the line + complaining about exit subroutine. Comment out the line IF (total_error .ne. 0) CALL exit (total_error) ftp://hdf.ncsa.uiuc.edu/pub/outgoing/hdf5/hdf5-1.6.0/F90_source_for_Crays @@ -5836,7 +5838,7 @@ INTRODUCTION This document describes the differences between HDF5-1.4.4 and HDF5-1.4.5, and contains information on the platforms tested and -known problems in HDF5-1.4.5. For additional information check the +known problems in HDF5-1.4.5. For additional information check the HISTORY.txt file in the HDF5 source. The HDF5 documentation can be found on the NCSA ftp server @@ -5845,7 +5847,7 @@ The HDF5 documentation can be found on the NCSA ftp server /HDF/HDF5/docs/ For more information, see the HDF5 home page at: - + http://hdf.ncsa.uiuc.edu/HDF5/ If you have any questions or comments, please send them to: @@ -5878,7 +5880,7 @@ New Features o Library ========= o General - --------- + --------- * Allow scalar dataspaces to be used for parallel I/O. QAK - 2002/11/05 * Added environment variable "HDF5_DISABLE_VERSION_CHECK", which disables the version checking between the header files and the library linked @@ -5891,8 +5893,8 @@ New Features output format; function call and return event times can be logged; total time spent in each function can be logged. The following HDF5_DEBUG environment variable words affect tracing: - trace -- turn on/off basic tracing - ttimes -- turn on tracing and report event times and + trace -- turn on/off basic tracing + ttimes -- turn on tracing and report event times and time spent in each API function. ttop -- turn on tracing but display only top-level API calls. @@ -5901,7 +5903,7 @@ New Features ------ * Several missing fortran APIs have been added to the library: - h5get_libversion_f h5tget_member_index_f h5dget_storage_size_f + h5get_libversion_f h5tget_member_index_f h5dget_storage_size_f h5check_version_f h5tvlen_create_f h5dvlen_get_max_len_f h5garbage_collect_f h5dwrite_vl_f h5dont_atexit_f h5dread_vl_f @@ -5935,11 +5937,11 @@ New Features ========================================= * C++ API now works on the Origin2000 (IRIX6.5.14.) BMR - 2002/11/14 - + o Misc. ========================================= - HDF5 1.4.5 works with Portland Group Compilers (pgcc, pgf90 and pgCC - version 4.0-2) on Linux 2.4 + HDF5 1.4.5 works with Portland Group Compilers (pgcc, pgf90 and pgCC + version 4.0-2) on Linux 2.4 Bug Fixes since HDF5-1.4.4 Release @@ -5953,8 +5955,8 @@ Bug Fixes since HDF5-1.4.4 Release QAK - 2003/01/21 * Added improved error assertion for nil VL strings. It return error stack instead of a simple assertion. SLU - 2002/12/16 - * Fixed h5dump bug(cannot dump data and datatype) for VL string. - SLU - 2002/11/18 + * Fixed h5dump bug(cannot dump data and datatype) for VL string. + SLU - 2002/11/18 * Fixed error condition where "none" selections were not being handled correctly in serial & parallel. QAK - 2002/10/29 * Fixed problem where optimized hyperslab routines were incorrectly @@ -5978,15 +5980,15 @@ Platforms Tested AIX 5.1 (32 and 64-bit) C for AIX Compiler, Version 6 xlf 8.1.0.2 poe 3.2.0.11 - Cray T3E sn6606 2.0.6.08 Cray Standard C Version 6.6.0.1.3 - Cray Fortran Version 3.6.0.0.12 + Cray T3E sn6606 2.0.6.08 Cray Standard C Version 6.6.0.1.3 + Cray Fortran Version 3.6.0.0.12 Cray SV1 10.0.1. 0 Cray Standard C Version 6.6.0.1.3 Cray Fortran Version 3.6.0.0.12 Cray T90IEEE 10.0.1.01u Cray Standard C Version 6.4.0.2.3 Cray Fortran Version 3.4.0.3 FreeBSD 4.7 gcc 2.95.4 g++ 2.95.5 - HP-UX B.11.00 HP C HP92453-01 A.11.01.20 + HP-UX B.11.00 HP C HP92453-01 A.11.01.20 HP F90 v2.4 IRIX 6.5 MIPSpro cc 7.30 IRIX64 6.5 (64 & n32) MIPSpro cc 7.3.1.3m @@ -6001,16 +6003,16 @@ Platforms Tested Compaq Fortran X5.4A-1684 gcc version 3.0 for C++ SunOS 5.7 WorkShop Compilers 5.0 98/12/15 C 5.0 - (Solaris 2.7) WorkShop Compilers 5.0 98/12/15 C++ 5.0 - WorkShop Compilers 5.0 98/10/25 - FORTRAN 90 2.0 Patch 107356-04 + (Solaris 2.7) WorkShop Compilers 5.0 98/12/15 C++ 5.0 + WorkShop Compilers 5.0 98/10/25 + FORTRAN 90 2.0 Patch 107356-04 SunOS 5.8/32 Sun WorkShop 6 update 1 C 5.2 2000/09/11 - (Solaris 2.8) Sun WorkShop 6 update 1 Fortran 95 6.1 + (Solaris 2.8) Sun WorkShop 6 update 1 Fortran 95 6.1 Patch 109503-07 2001/08/11 Sun WorkShop 6 update 1 C++ 5.2 Patch 109508-04 2001/07/11 SunOS 5.8/64 Sun WorkShop 6 update 1 C 5.2 2000/09/11 - (Solaris 2.8) Sun WorkShop 6 update 1 Fortran 95 6.1 + (Solaris 2.8) Sun WorkShop 6 update 1 Fortran 95 6.1 Patch 109503-07 2001/08/11 Sun WorkShop 6 update 1 C++ 5.2 Patch 109508-04 2001/07/11 @@ -6019,7 +6021,7 @@ Platforms Tested IA-32 Linux 2.4.9 gcc 2.96 Intel(R) C++ Version 7.0 Intel(R) Fortran Compiler Version 7.0 - + IA-64 Linux 2.4.16 ia64 gcc version 2.96 20000731 Intel(R) C++ Version 7.0 Intel(R) Fortran Compiler Version 7.0 @@ -6028,9 +6030,9 @@ Platforms Tested Windows XP .NET Windows NT4.0 Code Warrior 6.0 MAC OS X Darwin 6.2 - gcc and g++ Apple Computer, Inc. GCC + gcc and g++ Apple Computer, Inc. GCC version 1161, based on gcc version 3.1 - + Supported Configuration Features Summary @@ -6051,7 +6053,7 @@ Supported Configuration Features Summary Solaris2.7 32-bit y y (1) y y (1) y y y Solaris2.8 64-bit y n y y (1) y y y Solaris2.8 32-bit y n y y (1) y y y - IRIX6.5 y y (1) n n n y y + IRIX6.5 y y (1) n n n y y IRIX64_6.5 64-bit y y (2) y y y y y IRIX64_6.5 32-bit y y (2) n n n y y HPUX11.00 y y (1) y n n y y @@ -6073,7 +6075,7 @@ Supported Configuration Features Summary Linux 2.4 PGI (3) y n y n y n y Linux 2.4 IA32 y n y n n n y Linux 2.4 IA64 y n y n n n y - + Platform static- Thread- SRB GASS STREAM- exec safe VFD @@ -6109,23 +6111,23 @@ Supported Configuration Features Summary (2) Using mpt and mpich 1.2.4. (3) Linux 2.4 with GNU, Intel, and PGI compilers. (4) No HDF4-related tools. - (5) Shared libraries are provided only for the C library, + (5) Shared libraries are provided only for the C library, except on Windows where they are provided for all languages. (6) Debug mode only. - (7) Binaries only; source code for this platform is not being + (7) Binaries only; source code for this platform is not being released at this time. Known Problems ============== - * On Linux 2.4 IA64, Fortran test fails for h5dwrite_vl_f + * On Linux 2.4 IA64, Fortran test fails for h5dwrite_vl_f for integer and real base datatypes. * When fortran library is built with Intel compilers, compilation - for fflush1.f90, fflush2.f90 and fortanlib_test.f90 will fail + for fflush1.f90, fflush2.f90 and fortanlib_test.f90 will fail complaining about EXEC function. Comment the call to EXEC subroutine - in each program, or get a patch for the HDF5 Fortran source code. + in each program, or get a patch for the HDF5 Fortran source code. * Fortran external dataset test fails on Linux 2.4 with pgf90 compiler. @@ -6135,11 +6137,11 @@ Known Problems * Datasets or attributes which have a variable-length string datatype are not printing correctly with h5dump and h5ls. - * When a dataset with the variable-length datatype is overwritten, - the library can develop memory leaks that cause the file to become + * When a dataset with the variable-length datatype is overwritten, + the library can develop memory leaks that cause the file to become unnecessarily large. This is planned to be fixed in the next release. - * On the SV1, the h5ls test fails due to a difference between the + * On the SV1, the h5ls test fails due to a difference between the SV1 printf precision and the printf precision on other platforms. * The h5dump tests may fail to match the expected output on some @@ -6150,17 +6152,17 @@ Known Problems * The --enable-static-exec configure flag fails to compile for HP-UX 11.00 platforms. - * The executables are always dynamic on IRIX64 6.5(64 and n32) and + * The executables are always dynamic on IRIX64 6.5(64 and n32) and IRIX 6.5 even if they are configured with --enable-static-exec. * IRIX 6.5 fails to compile if configured with --enable-static-exec. * The executables are always dynamic on Solaris 2.7 ans 2.8(64 and n32) even if they are configured with --enable-static-exec. - + * The HDF5_MPI_OPT_TYPES optimization code in the parallel HDF5 will cause a hang in some cases when chunked storage is used. This is now set to - be off by default. One may turn it on by setting the environment + be off by default. One may turn it on by setting the environment variable HDF5_MPI_OPT_TYPES to a non-zero value such as 1. * On OSF1 v5.1 and IA32 h5dumpgentst program that generates test files @@ -6171,10 +6173,10 @@ Known Problems * On Cray T3E (sn6606 2.0.6.08 unicosmk CRAY T3E) with Cray Standard C Version 6.6.0.1.3 compiler optimization causes errors in many HDF5 Library tests. Use -g -h zero flags - to build HDF5 Library. + to build HDF5 Library. * On Cray SV1 10.0.1. 0 datatype convertion test fails. Please check HDF FTP site - if patch is available. We will try to provide one in the nearest future. + if patch is available. We will try to provide one in the nearest future. * For configuration, building and testing with Intel and PGI compilers see corresponding section in INSTALL file. @@ -6198,7 +6200,7 @@ The HDF5 documentation can be found on the NCSA ftp server /HDF/HDF5/docs/ For more information, see the HDF5 home page at: - + http://hdf.ncsa.uiuc.edu/HDF5/ If you have any questions or comments, please send them to: @@ -6221,32 +6223,32 @@ New Features ============ o Configuration ================ - * The H4 to H5 tools have been removed from the main source and placed + * The H4 to H5 tools have been removed from the main source and placed in a separate package. You can get these tools from the HDF ftp site - (ftp://hdf.ncsa.uiuc.edu/). The "--with-hdf4" command-line option + (ftp://hdf.ncsa.uiuc.edu/). The "--with-hdf4" command-line option during configure is no longer valid. BW - 2002/06/25 o Library ========= o General - --------- + --------- * Fill-value forward-compatibility with release 1.5 was added. SLU - 2002/04/11 * A new query function H5Tget_member_index has been added for compound - and enumeration data types. This function retrieves a member's index + and enumeration data types. This function retrieves a member's index by name. SLU - 2002/04/05 * Added serial multi-gigabyte file size test. "test/big -h" shows the help page. AKC - 2002/03/29 - + o APIs ------ - * The F90 subroutines h5dwrite_f, h5dread_f, h5awrite_f, and h5aread_f - were overloaded with a "dims" argument of type INTEGER(HSIZE_T) to - specify the size of the array. We recommend using these subroutines + * The F90 subroutines h5dwrite_f, h5dread_f, h5awrite_f, and h5aread_f + were overloaded with a "dims" argument of type INTEGER(HSIZE_T) to + specify the size of the array. We recommend using these subroutines with the new type; module subroutines that accept "dims" as an i - INTEGER array of size 7 will be deprecated in release 1.6. + INTEGER array of size 7 will be deprecated in release 1.6. EIP - 2002/05/06 - + o Performance ------------- * Added internal "small data" aggregation, which can reduce the number of @@ -6303,15 +6305,15 @@ New Features * Intel C++ and F90 compilers Version 6.0 are supported on Linux 2.4. * Intel C++ compilers Version 6.0 are supported on Windows 2000. - + o Misc. ========================================= * zlib has been moved out of the Windows source release. Users should go to - the ZLIB homepage(http://www.zlib.org) to download the corresponding + the ZLIB homepage(http://www.zlib.org) to download the corresponding zlib library. - * The Windows binary release is built with the old version of the zlib - library. We expect users to use zlib 1.1.4 to build with the source - release. + * The Windows binary release is built with the old version of the zlib + library. We expect users to use zlib 1.1.4 to build with the source + release. * In the Windows-specific install document, we specify how to test backward compatibility. However, in this release, we are not testing the backward compatibility of HDF5. @@ -6335,7 +6337,7 @@ Bug Fixes since HDF5-1.4.3 Release library to go into infinite loop. QAK - 2002/06/10 * Fixed bug (#699, fix provided by a user) where a scalar dataspace was written to the file and then subsequently queried with the - H5Sget_simple_extent_type function; type was reported as H5S_SIMPLE + H5Sget_simple_extent_type function; type was reported as H5S_SIMPLE instead of H5S_SCALAR. EIP - 2002/06/04 * Clear symbol table node "dirty" flag when flushing symbol tables to disk, to reduce I/O calls made & improve performance. QAK - 2002/06/03 @@ -6367,32 +6369,32 @@ Bug Fixes since HDF5-1.4.3 Release Performance Improvements ======================== This release of the HDF5 library has been extensively tuned to improve -performance, especially to improve parallel I/O performance. + performance, especially to improve parallel I/O performance. Most of the specific information for particular performance improvements -is mentioned in the "New Features" and "Bug Fixes since HDF5-1.4.3" sections -of this document, but in general, the library should make fewer and larger -I/O requests when accessing a file. Additionally, improvements to the parallel -I/O portions of the library should have reduced the communications and barriers -used in various internal algorithms, improving the performance of the library. + is mentioned in the "New Features" and "Bug Fixes since HDF5-1.4.3" sections + of this document, but in general, the library should make fewer and larger + I/O requests when accessing a file. Additionally, improvements to the parallel + I/O portions of the library should have reduced the communications and barriers + used in various internal algorithms, improving the performance of the library. However, with the extensive changes to some portions of the library that -were required for these improvements, some errors or unanticipated results may -have been introduced also. Please report any problems encountered to our -support team at hdfhelp@ncsa.uiuc.edu. + were required for these improvements, some errors or unanticipated results may + have been introduced also. Please report any problems encountered to our + support team at hdfhelp@ncsa.uiuc.edu. Hopefully these improvements will benefit all HDF5 applications, but if -there are particular I/O patterns that appear to be slower than necessary, -please send e-mail to hdfhelp@ncsa.uiuc.edu with a sample program showing the -problem behavior; we will look into the issue to see if it is possible to -address it. + there are particular I/O patterns that appear to be slower than necessary, + please send e-mail to hdfhelp@ncsa.uiuc.edu with a sample program showing the + problem behavior; we will look into the issue to see if it is possible to + address it. Documentation ============= * Documentation was updated for the hdf5-1.4.4 release. - * A new "HDF5 User's Guide" is under development. See + * A new "HDF5 User's Guide" is under development. See http://hdf.ncsa.uiuc.edu/HDF5/doc_dev_snapshot/H5_NewUG/current/. - * A "Parallel HDF5 Tutorial" is available at + * A "Parallel HDF5 Tutorial" is available at http://hdf.ncsa.uiuc.edu/HDF5/doc/Tutor/. - * The "HDF5 Tutorial" is not distributed with this release. It is + * The "HDF5 Tutorial" is not distributed with this release. It is available at http://hdf.ncsa.uiuc.edu/HDF5/doc/Tutor/. @@ -6406,20 +6408,20 @@ Platforms Tested AIX 4.3 (IBM SP RS6000) C for AIX Compiler, Version 5.0.2.0 xlf 7.1.0.2 poe 3.1.0.12 (includes mpi) - AIX 5.1 xlc 5.0.2.0 + AIX 5.1 xlc 5.0.2.0 xlf 07.01.0000.0002 mpcc_r 5.0.2.0; mpxlf_r 07.01.0000.0002 Cray T3E sn6711 2.0.5.57 Cray Standard C Version 6.5.0.3 Cray Fortran Version 3.5.0.4 - Cray SV1 10.0.1.1 Cray Standard C Version 6.5.0.3 + Cray SV1 10.0.1.1 Cray Standard C Version 6.5.0.3 Cray Fortran Version 3.5.0.4 FreeBSD 4.6 gcc 2.95.4 g++ 2.95.4 HP-UX B.10.20 HP C HP92453-01 A.10.32.30 HP F90 v2.3 - HP-UX B.11.00 HP C HP92453-01 A.11.01.20 + HP-UX B.11.00 HP C HP92453-01 A.11.01.20 HP F90 v2.4 - HP-UX B.11.00 SysV HP C HP92453-01 A.11.01.20 + HP-UX B.11.00 SysV HP C HP92453-01 A.11.01.20 HP F90 v2.4 HP MPI [not a product] (03/24/2000) B6060BA IRIX 6.5 MIPSpro cc 7.30 @@ -6438,16 +6440,16 @@ Platforms Tested Compaq Fortran V5.5-1877-48BBF gcc version 3.0 for C++ SunOS 5.7 WorkShop Compilers 5.0 98/12/15 C 5.0 - (Solaris 2.7) WorkShop Compilers 5.0 98/12/15 C++ 5.0 - WorkShop Compilers 5.0 98/10/25 - FORTRAN 90 2.0 Patch 107356-04 + (Solaris 2.7) WorkShop Compilers 5.0 98/12/15 C++ 5.0 + WorkShop Compilers 5.0 98/10/25 + FORTRAN 90 2.0 Patch 107356-04 SunOS 5.8/32 Sun WorkShop 6 update 1 C 5.2 2000/09/11 - (Solaris 2.8) Sun WorkShop 6 update 1 Fortran 95 6.1 + (Solaris 2.8) Sun WorkShop 6 update 1 Fortran 95 6.1 Patch 109503-07 2001/08/11 Sun WorkShop 6 update 1 C++ 5.2 Patch 109508-04 2001/07/11 SunOS 5.8/64 Sun WorkShop 6 update 1 C 5.2 2000/09/11 - (Solaris 2.8) Sun WorkShop 6 update 1 Fortran 95 6.1 + (Solaris 2.8) Sun WorkShop 6 update 1 Fortran 95 6.1 Patch 109503-07 2001/08/11 Sun WorkShop 6 update 1 C++ 5.2 Patch 109508-04 2001/07/11 @@ -6457,7 +6459,7 @@ Platforms Tested gcc 2.96 Intel(R) C++ Version 6.0 Intel(R) Fortran Compiler Version 6.0 - + IA-64 Linux 2.4.16 ia64 gcc version 2.96 20000731 Intel(R) C++ Version 6.0 Intel(R) Fortran Compiler Version 6.0 @@ -6538,10 +6540,10 @@ Supported Configuration Features Summary Footnotes: (1) Using mpich. (2) Using mpt and mpich. - (3) When configured with static-exec enabled, tests fail in + (3) When configured with static-exec enabled, tests fail in serial mode. (4) No HDF4-related tools. - (5) Shared libraries are provided only for the C library, + (5) Shared libraries are provided only for the C library, except on Windows where they are provided for all languages. (6) Linux 2.4 with Intel compilers. @@ -6552,11 +6554,11 @@ Known Problems * Datasets or attributes which have a variable-length string datatype are not printing correctly with h5dump and h5ls. - * When a dataset with the variable-length datatype is overwritten, - the library can develop memory leaks that cause the file to become + * When a dataset with the variable-length datatype is overwritten, + the library can develop memory leaks that cause the file to become unnecessarily large. This is planned to be fixed in the next release. - * On the SV1, the h5ls test fails due to a difference between the + * On the SV1, the h5ls test fails due to a difference between the SV1 printf precision and the printf precision on other platforms. * The h5dump tests may fail to match the expected output on some @@ -6567,14 +6569,14 @@ Known Problems * The --enable-static-exec configure flag fails to compile for HP-UX 11.00 platforms. - * The executables are always dynamic on IRIX64 6.5(64 and n32) and + * The executables are always dynamic on IRIX64 6.5(64 and n32) and IRIX 6.5 even if they are configured with --enable-static-exec. * IRIX 6.5 fails to compile if configured with --enable-static-exec. - + * The HDF5_MPI_OPT_TYPES optimization code in the parallel HDF5 will cause a hang in some cases when chunked storage is used. This is now set to - be off by default. One may turn it on by setting the environment + be off by default. One may turn it on by setting the environment variable HDF5_MPI_OPT_TYPES to a non-zero value such as 1. * On IA32 and IA64 systems, if you use a compiler other than GCC (such as @@ -6590,7 +6592,7 @@ Known Problems # How to pass a linker flag through the compiler. wl="-Wl," - * To build the Fortran library using Intel compilers, one has to + * To build the Fortran library using Intel compilers, one has to x modify the source code in the fortran/src directory to remove the !DEC and !MS compiler directives. x The build will fail in the fortran/test directory and then in the @@ -6598,7 +6600,7 @@ Known Problems those directories to contain two lines work.pc - ../src/work.pc + ../src/work.pc * To build the Fortran library on IA64 use setenv CC "ecc -DIA64" @@ -6625,7 +6627,7 @@ The HDF5 documentation can be found on the NCSA ftp server /HDF/HDF5/docs/ For more information look at the HDF5 home page at: - + http://hdf.ncsa.uiuc.edu/HDF5/ If you have any questions or comments, please send them to: @@ -6653,7 +6655,7 @@ New Features o Library ========= o General - --------- + --------- * Added a new test to verify the information provided by the configure command. * Changed internal error handling macros to reduce code size of library by @@ -6754,7 +6756,7 @@ Bug Fixes since HDF5-1.4.2 Release Documentation ============= * Documentation was updated for the hdf5-1.4.3 release. - * A new "HDF5 User's Guide" is under development. See + * A new "HDF5 User's Guide" is under development. See http://hdf.ncsa.uiuc.edu/HDF5/doc_dev_snapshot/H5_NewUG/current/. * Parallel Tutorial is available at http://hdf.ncsa.uiuc.edu/HDF5/doc/Tutor/ @@ -6771,15 +6773,15 @@ Platforms Tested poe 3.1.0.12 (includes mpi) Cray T3E sn6711 2.0.5.57 Cray Standard C Version 6.5.0.3 Cray Fortran Version 3.5.0.4 - Cray SV1 10.0.0.8 Cray Standard C Version 6.5.0.3 + Cray SV1 10.0.0.8 Cray Standard C Version 6.5.0.3 Cray Fortran Version 3.5.0.4 FreeBSD 4.5 gcc 2.95.3 g++ 2.95.3 HP-UX B.10.20 HP C HP92453-01 A.10.32.30 HP F90 v2.3 - HP-UX B.11.00 HP C HP92453-01 A.11.01.20 + HP-UX B.11.00 HP C HP92453-01 A.11.01.20 HP F90 v2.4 - HP-UX B.11.00 SysV HP C HP92453-01 A.11.01.20 + HP-UX B.11.00 SysV HP C HP92453-01 A.11.01.20 HP F90 v2.4 HP MPI [not a product] (03/24/2000) B6060BA IRIX 6.5 MIPSpro cc 7.30 @@ -6790,19 +6792,19 @@ Platforms Tested gcc 2.95.2 with mpich 1.2.1 g++ 2.95.2 pgf90 3.2-4 - OSF1 V5.1 Compaq C V6.3-028 + OSF1 V5.1 Compaq C V6.3-028 Compaq Fortran V5.4-1283 SunOS 5.7 WorkShop Compilers 5.0 98/12/15 C 5.0 - (Solaris 2.7) Workshop Compilers 5.0 98/12/15 C++ 5.0 - Workshop Compilers 5.0 98/10/25 - FORTRAN 90 2.0 Patch 107356-04 + (Solaris 2.7) Workshop Compilers 5.0 98/12/15 C++ 5.0 + Workshop Compilers 5.0 98/10/25 + FORTRAN 90 2.0 Patch 107356-04 SunOS 5.8/32 Sun WorkShop 6 update 1 C 5.2 2000/09/11 - (Solaris 2.8) Sun WorkShop 6 update 1 Fortran 95 6.1 + (Solaris 2.8) Sun WorkShop 6 update 1 Fortran 95 6.1 Patch 109503-07 2001/08/11 Sun WorkShop 6 update 1 C++ 5.2 Patch 109508-04 2001/07/11 SunOS 5.8/64 Sun WorkShop 6 update 1 C 5.2 2000/09/11 - (Solaris 2.8) Sun WorkShop 6 update 1 Fortran 95 6.1 + (Solaris 2.8) Sun WorkShop 6 update 1 Fortran 95 6.1 Patch 109503-07 2001/08/11 Sun WorkShop 6 update 1 C++ 5.2 Patch 109508-04 2001/07/11 @@ -6811,9 +6813,9 @@ Platforms Tested IA-32 Linux 2.2.10smpx cc Intel 5.0.1 egcs-2.91.66 IA-64 Linux 2.4.16 ia64 gcc version 2.96 20000731 - Intel(R) C++ Itanium(TM) Compiler + Intel(R) C++ Itanium(TM) Compiler for the Itanium(TM)-based applications, - Version 6.0 Beta, Build 20010905 + Version 6.0 Beta, Build 20010905 Windows 2000 (NT5.0) MSVC++ 6.0 DEC Visual Fortran 6.0 Windows NT4.0 MSVC++ 6.0 @@ -6839,7 +6841,7 @@ Supported Configuration Features Summary Solaris2.7 y y (1) y n y y y y Solaris2.8 64 y n y n y y y y Solaris2.8 32 y n y n y y y y - IA-64 y n n n n n y y + IA-64 y n n n n n y y IRIX6.5 y y (1) n n n y y y IRIX64_6.5 64 y y (2) y y n y y y IRIX64_6.5 32 y y (2) n n n y y y @@ -6861,12 +6863,12 @@ Supported Configuration Features Summary Linux 2.4 y y (1) n n y y y y - Platform 1.2 static- Thread- SRB GASS STREAM- + Platform 1.2 static- Thread- SRB GASS STREAM- compatibility exec safe VFD Solaris2.7 n x y n n y Solaris2.8 64 n y n n n y Solaris2.8 32 n x n n n y - IA-64 n n n n n y + IA-64 n n n n n y IRIX6.5 n x y n n y IRIX64_6.5 64 n x y n y y IRIX64_6.5 32 n x y n y y @@ -6890,11 +6892,11 @@ Supported Configuration Features Summary Footnotes: (1) Using mpich. (2) Using mpt and mpich. - (3) When configured with static-exec enabled, tests fail + (3) When configured with static-exec enabled, tests fail in serial mode. (4) No HDF4-related tools. (5) Shared libraries are provided only for the C library. - (6) Exception of (5): DLL is available for C++ API on Windows + (6) Exception of (5): DLL is available for C++ API on Windows Known Problems @@ -6903,11 +6905,11 @@ Known Problems * Datasets or attributes which have a variable-length string datatype are not printing correctly with h5dump and h5ls. - * When a dataset with the variable-legth datatype is overwritten, - the library can develop memory leaks that cause the file to become + * When a dataset with the variable-legth datatype is overwritten, + the library can develop memory leaks that cause the file to become unnecessarily large. This is planned to be fixed in the next release. - * On the SV1, the h5ls test fails due to a difference between the + * On the SV1, the h5ls test fails due to a difference between the SV1 printf precision and the printf precision on other platforms. @@ -6919,11 +6921,11 @@ Known Problems * The --enable-static-exec configure flag fails to compile for HP-UX 11.00 platforms. - * The executables are always dynamic on IRIX64 6.5(64 and n32) and + * The executables are always dynamic on IRIX64 6.5(64 and n32) and IRIX 6.5 even if they are configured with --enable-static-exec. * IRIX 6.5 fails to compile if configured with --enable-static-exec. - + * The HDF5_MPI_OPT_TYPES optimization code in the parallel HDF5 will cause a hang in some cases when chunked storage is used. This is now set to be off by default. One may turn it on by setting environment variable @@ -6931,12 +6933,12 @@ Known Problems * On IA64 systems one has to use -DIA64 compilation flag to compile h4toh5 and h5toh4 utilites. After configuration step manually modify - Makefile in the tools/h4toh4 and tools/h5toh4 directories to add + Makefile in the tools/h4toh4 and tools/h5toh4 directories to add -DIA64 to the compilation flags. - * On IA32 ansd IA64 systems, if you use a compiler other than GCC + * On IA32 ansd IA64 systems, if you use a compiler other than GCC (such as Intel's ecc compiler), you will need to modify the generated - "libtool" program after configuration is finished. On or around line 102 + "libtool" program after configuration is finished. On or around line 102 of the libtool file, there are lines which look like: # How to pass a linker flag through the compiler. @@ -6950,7 +6952,7 @@ Known Problems %%%%1.4.2%%%% Release Information for hdf5-1.4.2 (31/July/01) -10. Release Information for hdf5-1.4.2 +10. Release Information for hdf5-1.4.2 ================================================================= @@ -6966,7 +6968,7 @@ The HDF5 documentation can be found on the NCSA ftp server /HDF/HDF5/docs/ For more information look at the HDF5 home page at: - + http://hdf.ncsa.uiuc.edu/HDF5/ If you have any questions or comments, please send them to: @@ -6997,33 +6999,33 @@ New Features * Parallel HDF5 now runs on the HP V2500 and HP N4000 machines. * F90 API: - Added aditional parameter "dims" to the h5dread_f/h5dwrite_f and - h5aread_f/h5awrite_f subroutines. This parameter is a 1-D array - of size 7 and contains the sizes of the data buffer dimensions. + h5aread_f/h5awrite_f subroutines. This parameter is a 1-D array + of size 7 and contains the sizes of the data buffer dimensions. This change enables portability between Windows and UNIX platforms. - In previous versions of the F90 APIs, the data buffer parameters of - the above functions were declared as assumed-shape arrays, which - were passed to the C functions by a descriptor. There is no - portable means, however, of passing descriptors from F90 to C, + In previous versions of the F90 APIs, the data buffer parameters of + the above functions were declared as assumed-shape arrays, which + were passed to the C functions by a descriptor. There is no + portable means, however, of passing descriptors from F90 to C, causing portability problems between Windows and UNIX and among UNIX platforms. With this change, the data buffers are assumed- size arrays, which can be portably passed to the C functions. - * F90 static library is available on Windows platforms. + * F90 static library is available on Windows platforms. See INSTALL_Windows_withF90.txt for details. * F90 APIs are available on HPUX 11.00 and 10.20 and IBM SP platforms. - * H5 <-> GIF convertor has been added. This is available under + * H5 <-> GIF convertor has been added. This is available under tools/gifconv. The convertor supports the ability to create animated gifs as well. * Verified correct operation of library on Solaris 2.8 in both 64-bit and 32-bit compilation modes. See INSTALL document for instructions on compiling the distribution with 64-bit support. - * Added support for the Metrowerks Code Warrior compiler for Windows. + * Added support for the Metrowerks Code Warrior compiler for Windows. * For H4->H5 converter utility, added a new option to choose not to convert HDF4 specified attributes(reference number, class) into HDF5 attributes. - * Added support chunking and compression in SDS and image in H4->H5 converter. - Currently HDF5 only supports gzip compression, so by default an HDF4 file - with any other compression method will be converted into an HDF5 file in - gzip compression. - * correct the order or reading HDF4 image array in H4->H5 conversion. + * Added support chunking and compression in SDS and image in H4->H5 converter. + Currently HDF5 only supports gzip compression, so by default an HDF4 file + with any other compression method will be converted into an HDF5 file in + gzip compression. + * correct the order or reading HDF4 image array in H4->H5 conversion. * Added new parallel hdf5 tests in t_mpi. The new test checks if the filesystem or the MPI-IO can really handle greater than 2GB files. If it fails, it prints information message only without failing the @@ -7038,8 +7040,8 @@ New Features * Added new checking in H5check_version() to verify the five HDF5 version information macros (H5_VERS_MAJOR, H5_VERS_MINOR, H5_VERS_RELEASE, H5_VERS_SUBRELEASE and H5_VERS_INFO) are consistent. - - + + Bug Fixes since HDF5-1.4.1 Release ================================== @@ -7048,21 +7050,21 @@ Bug Fixes since HDF5-1.4.1 Release * Fixed problems with Pablo build and linking with non-standard MPI I/O. * Fixed build on Linux systems with --enable-static-exec flag. It now works correctly. - * IMPORTANT: Fixed file metadata corruption bug which could cause + * IMPORTANT: Fixed file metadata corruption bug which could cause metadata data loss in certain situations. * The allocation by alignment (H5Pset_alignment) feature code somehow got dropped in some 1.3.x version. Re-implemented it with "new and improved" algorithm. It keeps track of "wasted" file-fragment in the free-list too. * Removed limitation that the data transfer buffer size needed to be - set for datasets whose dimensions were too large for the 'all' - selection code to handle. Any size dimensioned datasets should be + set for datasets whose dimensions were too large for the 'all' + selection code to handle. Any size dimensioned datasets should be handled correctly now. * Changed behavior of H5Tget_member_type to correctly emulate HDF5 v1.2.x when --enable-hdf5v1_2 configure flag is enabled. - * Added --enable-linux-lfs flag to allow more control over whether to + * Added --enable-linux-lfs flag to allow more control over whether to enable or disable large file support on Linux. - * Fixed various bugs releated to SDS dimensional scale conversions in H4->H5 + * Fixed various bugs releated to SDS dimensional scale conversions in H4->H5 converter. * Fixed a bug to correctly convert HDF4 objects with fill value into HDF5. * Fixed a bug of H5pubconf.h causing repeated definitions if it is included @@ -7080,18 +7082,18 @@ Documentation ============= * The H5T_conv_t and H5T_cdata_t structures are now properly defined - in the H5Tregister entry in the "H5T" section of the "HDF5 Reference - Manual" and described in detail in section 12, "Data Conversions," in + in the H5Tregister entry in the "H5T" section of the "HDF5 Reference + Manual" and described in detail in section 12, "Data Conversions," in the "Datatypes" chapter of the "HDF5 User's Guide." * The new tools h52gif and gif2h5 have been added to the "Tools" section of the Reference Manual. - * A "Freespace Management" section has been added to the "Performance" + * A "Freespace Management" section has been added to the "Performance" chapter of the User's Guide. * Several user-reported bugs have been fixed since Release 1.4.1. * The "HDF5 Image and Palette Specification" (in the "HDF5 Application - Developer's Guide") has been heavily revised. Based on extensive user - feedback and input from visualization software developers, Version 1.2 - of the image specification is substantially different from prior + Developer's Guide") has been heavily revised. Based on extensive user + feedback and input from visualization software developers, Version 1.2 + of the image specification is substantially different from prior versions. @@ -7106,15 +7108,15 @@ Platforms Tested xlf 7.1.0.2 poe 2.4.0.14 (includes mpi) Cray T3E sn6711 2.0.5.49a Cray Standard C Version 6.5.0.1 - Cray SV1 10.0.0.2 Cray Standard C Version 6.5.0.1 + Cray SV1 10.0.0.2 Cray Standard C Version 6.5.0.1 Cray Fortran Version 3.5.0.1 FreeBSD 4.3 gcc 2.95.3 g++ 2.95.3 HP-UX B.10.20 HP C HP92453-01 A.10.32.30 HP F90 v2.3 - HP-UX B.11.00 HP C HP92453-01 A.11.01.20 + HP-UX B.11.00 HP C HP92453-01 A.11.01.20 HP F90 v2.4 - HP-UX B.11.00 SysV HP C HP92453-01 A.11.01.20 + HP-UX B.11.00 SysV HP C HP92453-01 A.11.01.20 HP F90 v2.4 IRIX 6.5 MIPSpro cc 7.30 IRIX64 6.5 (64 & n32) MIPSpro cc 7.3.1.2m @@ -7126,19 +7128,19 @@ Platforms Tested pgf90 3.2-4 OSF1 V4.0 DEC-V5.2-040 on Digital UNIX V4.0 (Rev 564) Digital Fortran 90 V4.1-270 - SunOS 5.6 WorkShop Compilers 5.0 98/12/15 C 5.0 - (Solaris 2.6) WorkShop Compilers 5.0 98/10/25 FORTRAN 90 + SunOS 5.6 WorkShop Compilers 5.0 98/12/15 C 5.0 + (Solaris 2.6) WorkShop Compilers 5.0 98/10/25 FORTRAN 90 2.0 Patch 107356-04 SunOS 5.7 WorkShop Compilers 5.0 98/12/15 C 5.0 - (Solaris 2.7) Workshop Compilers 5.0 98/12/15 C++ 5.0 + (Solaris 2.7) Workshop Compilers 5.0 98/12/15 C++ 5.0 Workshop Compilers 5.0 98/10/25 FORTRAN 90 - 2.0 Patch 107356-04 + 2.0 Patch 107356-04 SunOS 5.8/32 Sun WorkShop 6 update 1 C 5.2 2000/09/11 - (Solaris 2.8) Sun WorkShop 6 update 1 Fortran 95 6.1 + (Solaris 2.8) Sun WorkShop 6 update 1 Fortran 95 6.1 2000/09/11 Sun WorkShop 6 update 1 C++ 5.2 2000/09/11 SunOS 5.8/64 Sun WorkShop 6 update 1 C 5.2 2000/09/11 - (Solaris 2.8) Sun WorkShop 6 update 1 Fortran 95 6.1 + (Solaris 2.8) Sun WorkShop 6 update 1 Fortran 95 6.1 2000/09/11 Sun WorkShop 6 update 1 C++ 5.2 2000/09/11 TFLOPS r1.0.4 v4.0.7 i386 pgcc Rel 3.1-4i with mpich-1.2.1 with @@ -7189,7 +7191,7 @@ Supported Configuration Features Summary Linux 2.4 y y (1) n n y y y y - Platform 1.2 static- Thread- SRB GASS STREAM- + Platform 1.2 static- Thread- SRB GASS STREAM- compatibility exec safe VFD Solaris2.6 y x n n n y Solaris2.7 y x y n n y @@ -7218,7 +7220,7 @@ Supported Configuration Features Summary Footnotes: (1) Using mpich. (2) Using mpt and mpich. - (3) When configured with static-exec enabled, tests fail + (3) When configured with static-exec enabled, tests fail in serial mode. (4) No HDF4-related tools. (5) Shared libraries are provided only for the C library. @@ -7227,11 +7229,11 @@ Supported Configuration Features Summary Known Problems ============== - * When a dataset with the variable-legth datatype is overwritten, - the library can develop memory leaks that cause the file to become + * When a dataset with the variable-legth datatype is overwritten, + the library can develop memory leaks that cause the file to become unnecessarily large. This is planned to be fixed in the next release. - * On the SV1, the h5ls test fails due to a difference between the + * On the SV1, the h5ls test fails due to a difference between the SV1 printf precision and the printf precision on other platforms. * The h5dump tests may fail to match the expected output in some @@ -7242,13 +7244,13 @@ Known Problems * The --enable-static-exec configure flag fails to compile for HP-UX 11.00 platforms. - * The executables are always dynamic on IRIX64 6.5(64 and n32) and + * The executables are always dynamic on IRIX64 6.5(64 and n32) and IRIX 6.5 even if they are configured with --enable-static-exec. * IRIX 6.5 fails to compile if configured with --enable-static-exec. - + * For 24-bit image conversion from H4->H5, the current conversion is - not consistent with HDF5 image specification. + not consistent with HDF5 image specification. * In some cases, and SDS with an UNLIMITED dimension that has not been written (current size = 0) is not converted correctly. @@ -7267,7 +7269,7 @@ Known Problems ===================================================================== - + HDF5 Release 1.4.1 @@ -7283,7 +7285,7 @@ The HDF5 documentation can be found on the NCSA ftp server /HDF/HDF5/docs/ For more information look at the HDF5 home page at: - + http://hdf.ncsa.uiuc.edu/HDF5/ If you have any questions or comments, please send them to: @@ -7305,10 +7307,10 @@ New Features ============ * XML output option for h5dump utility. - + A new option --xml to output data in XML format has been added. The XML output contains a complete description of the file, marked up in - XML. + XML. The XML conforms to the HDF5 Document Type Definition (DTD), which is available at: @@ -7351,25 +7353,25 @@ Bug Fixes since HDF5-1.4.0 Release Documentation ============= - PDF and Postscript versions of the following documents are available + PDF and Postscript versions of the following documents are available for this release: Document Filename -------- -------- Introduction to HDF5 H5-R141-Introduction.pdf - HDF5 Reference Manual H5-R141-RefManual.pdf + HDF5 Reference Manual H5-R141-RefManual.pdf C++ APIs to HDF5 documents H5-R141-Cplusplus.pdf Fortran90 APIs to HDF5 documents H5-R141-Fortran90.pdf PDF and Postscript files containing H5-R141-DocSet.pdf all of the above H5-R141-DocSet.ps - These files are not included in this distribution, but are available + These files are not included in this distribution, but are available via the Web or FTP at the following locations: http://hdf.ncsa.uiuc.edu/HDF5/doc/PSandPDF/ ftp://ftp.ncsa.uiuc.edu/HDF/HDF5/docs/ - While these documents are labeled Release 1.4.1, they describe - Release 1.4.0 as well. + While these documents are labeled Release 1.4.1, they describe + Release 1.4.0 as well. Platforms Tested @@ -7390,8 +7392,8 @@ Due to the nature of this release only C, C++ libraries and tools were tested. g++ 2.95.2 OSF1 V4.0 DEC-V5.2-040 Digital Fortran 90 V4.1-270 - SunOS 5.6 WorkShop Compilers 5.0 98/12/15 C 5.0 - (Solaris 2.6) + SunOS 5.6 WorkShop Compilers 5.0 98/12/15 C 5.0 + (Solaris 2.6) SunOS 5.7 WorkShop Compilers 5.0 98/12/15 C 5.0 (Solaris 2.7) Workshop Compilers 5.0 98/12/15 C++ 5.0 @@ -7417,11 +7419,11 @@ Known Problems * The --enable-static-exec configure flag fails to compile for HP-UX 11.00 platforms. - * The executable are always dynamic on IRIX64 6.5(64 and n32) and + * The executable are always dynamic on IRIX64 6.5(64 and n32) and IRIX 6.5 even if they are configured with --enable-static-exec. * The shared library failed compilation on IRIX 6.5. - + * After "make install" or "make install-doc" one may need to reload the source from the tar file before doing another build. @@ -7432,7 +7434,7 @@ Known Problems 8. Release Information for hdf5-1.4.0 =================================================================== - + HDF5 Release 1.4.0 @@ -7449,7 +7451,7 @@ The HDF5 documentation can be found on the NCSA ftp server /HDF/HDF5/docs/ For more information look at the HDF5 home page at: - + http://hdf.ncsa.uiuc.edu/HDF5/ If you have any questions or comments, please send them to: @@ -7460,11 +7462,11 @@ If you have any questions or comments, please send them to: CONTENTS - New Features -- h4toh5 Utility +- h4toh5 Utility - F90 Support - C++ Support -- Pablo Support -- Bug Fixes since HDF5-1.2.0 +- Pablo Support +- Bug Fixes since HDF5-1.2.0 - Bug Fixes since HDF5-1.4.0-beta2 - Bug Fixes since HDF5-1.4.0 - Documentation @@ -7493,15 +7495,15 @@ New Features * 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. + 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 + * 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 @@ -7512,26 +7514,26 @@ New Features Check doc/html/TechNotes/openmp-hdf5.html for details. -h4toh5 Utility +h4toh5 Utility ============== - The h4toh5 utility is a new utility that converts an HDF4 file to an - HDF5 file. For details, see the document, "Mapping HDF4 Objects to + The h4toh5 utility is a new utility that converts an HDF4 file to an + HDF5 file. For details, see the document, "Mapping HDF4 Objects to HDF5 Objects": http://hdf.ncsa.uiuc.edu/HDF5/papers/H4-H5MappingGuidelines.pdf Known Bugs: The h4toh5 utility produces images that do not correctly conform - to the HDF5 Image and Palette Specification. + to the HDF5 Image and Palette Specification. http://hdf.ncsa.uiuc.edu/HDF5/doc/ImageSpec.html - Several required HDF5 attributes are omitted, and the dataspace - is reversed (i.e., the ht. and width of the image dataset is + Several required HDF5 attributes are omitted, and the dataspace + is reversed (i.e., the ht. and width of the image dataset is incorrectly described.) For more information, please see: http://hdf.ncsa.uiuc.edu/HDF5/H5Image/ImageDetails.html - + This bug has been fixed for the snapshot of hdf5 1.4 release. March 12th,2001 Known Limitations of the h4toh5 release @@ -7553,7 +7555,7 @@ h4toh5 Utility be an H5T_INTEGER type. * For attributes of any HDF4 object, data of type 'DFNT_CHAR8' will be converted to an HDF5 'H5T_STRING' type. - * For an HDF4 Vdata, it is difficult to determine whether data + * For an HDF4 Vdata, it is difficult to determine whether data of type 'DFNT_CHAR8' is intended to be bytes or characters. The h4toh5 utility will consider them to be C characters, and will convert them to an HDF5 'H5T_STRING' type. @@ -7567,10 +7569,10 @@ h4toh5 Utility with analogous chunked storage. An HDF4 object that uses compression will be converted to an - uncompressed HDF5 object. + uncompressed HDF5 object. An HDF4 object that uses external storage will be converted to an - HDF5 object without external storage. + HDF5 object without external storage. 4. Memory Use @@ -7587,29 +7589,29 @@ h4toh5 Utility The h4toh5 utility requires HDF5-1.4.0 and HDF4r1.4 - h4toh5 utility has been tested on all platforms listed below (see + h4toh5 utility has been tested on all platforms listed below (see section "Platforms Tested") except TFLOPS. - + F90 Support =========== - This is the first release of the HDF5 Library with fully integrated - F90 API support. The Fortran Library is created when the + This is the first release of the HDF5 Library with fully integrated + F90 API support. The Fortran Library is created when the --enable-fortran flag is specified during configuration. - Not all F90 subroutines are implemented. Please refer to the HDF5 + Not all F90 subroutines are implemented. Please refer to the HDF5 Reference Manual for more details. - - F90 APIs are available for the Solaris 2.6 and 2.7, Linux, DEC UNIX, - T3E, SV1 and O2K (64 bit option only) platforms. The Parallel version of + + F90 APIs are available for the Solaris 2.6 and 2.7, Linux, DEC UNIX, + T3E, SV1 and O2K (64 bit option only) platforms. The Parallel version of the HDF5 F90 Library is supported on the O2K and T3E platforms. Changes since the last prototype release (July 2000) ---------------------------------------------------- - * h5open_f and h5close_f must be called instead of h5init_types and + * h5open_f and h5close_f must be called instead of h5init_types and h5close_types. - * The following subroutines are no longer available: + * The following subroutines are no longer available: h5pset_xfer_f h5pget_xfer_f @@ -7623,45 +7625,45 @@ F90 Support h5pget_core_f h5pset_family_f h5pget_family_f - + * The following functions have been added: h5pset_fapl_mpio_f h5pget_fapl_mpio_f h5pset_dxpl_mpio_f h5pget_dxpl_mpio_f - - * In the previous HDF5 F90 releases, the implementation of object - references and dataset region references was not portable. This - release introduces a portable implementation, but it also introduces - changes to the read/write APIs that handle references. If object or - dataset region references are written or read to/from an HDF5 file, - h5dwrite_f and h5dread_f must use the extra parameter, n, for the + + * In the previous HDF5 F90 releases, the implementation of object + references and dataset region references was not portable. This + release introduces a portable implementation, but it also introduces + changes to the read/write APIs that handle references. If object or + dataset region references are written or read to/from an HDF5 file, + h5dwrite_f and h5dread_f must use the extra parameter, n, for the buffer size: h5dwrite(read)_f(dset_id, mem_type_id, buf, n, hdferr, & - ^^^ + ^^^ mem_space_id, file_space_id, xfer_prp) - For other datatypes the APIs were not changed. - - + For other datatypes the APIs were not changed. + + C++ Support =========== - This is the first release of the HDF5 Library with fully integrated + This is the first release of the HDF5 Library with fully integrated C++ API support. The HDF5 C++ library is built when the --enable-cxx flag is specified during configuration. Check the HDF5 Reference Manual for available C++ documentation. - C++ APIs are available for Solaris 2.6 and 2.7, Linux, and FreeBSD. + C++ APIs are available for Solaris 2.6 and 2.7, Linux, and FreeBSD. Pablo Support ============= This version does not allow proper building of the Pablo-instrumented version of the library. A version supporting the pablo build is - available on the Pablo Website at + available on the Pablo Website at www-pablo.cs.uiuc.edu/pub/Pablo.Release.5/HDFLibrary/hdf5_v1.4.tar.gz @@ -7722,7 +7724,7 @@ Library Configuration ------------- * The hdf5.h include file was fixed to allow the HDF5 Library to be - compiled with other libraries/applications that use GNU autoconf. + compiled with other libraries/applications that use GNU autoconf. * Configuration for parallel HDF5 was improved. Configure now attempts to link with libmpi.a and/or libmpio.a as the MPI libraries by default. It also uses "mpirun" to launch MPI tests by default. It @@ -7772,14 +7774,14 @@ Tools * h5dump correctly displays the committed copy of predefined types correctly. * Added an option, -V, to show the version information of h5dump. - * Fixed a core dumping bug of h5toh4 when executed on platforms like + * Fixed a core dumping bug of h5toh4 when executed on platforms like TFLOPS. * The test script for h5toh4 used to not able to detect the hdp dumper command was not valid. It now detects and reports the failure of hdp execution. * Merged the tools with the 1.2.2 branch. Required adding new macros, VERSION12 and VERSION13, used in conditional compilation. - Updated the Windows project files for the tools. + Updated the Windows project files for the tools. * h5dump displays opaque and bitfield data correctly. * h5dump and h5ls can browse files created with the Stream VFD (eg. "h5ls <hostname>:<port>"). @@ -7792,10 +7794,10 @@ Tools Bug Fixes since HDF5-1.4.0-beta2 ================================ - * Fixed a bug in the conversion from a little endian double to a big + * Fixed a bug in the conversion from a little endian double to a big endian float in some special cases. - * Corrected configuration error which was not including compression - support correctly. + * Corrected configuration error which was not including compression + support correctly. * Cleaned up lots of warnings. * Changed a few h5dump command line switches and added long versions of the switches. @@ -7804,7 +7806,7 @@ Bug Fixes since HDF5-1.4.0-beta2 * Fixed fairly obscure bug in hyperslab I/O which could (in rare cases) not copy all the data during a transfer. * Removed ragged array code from library. - * F90 library and module files are installed properly now on all supported + * F90 library and module files are installed properly now on all supported platforms. @@ -7820,26 +7822,26 @@ Bug Fixes since HDF5-1.4.0 Release Documentation ============= - * A new document summarizing the changes in the library leading up to - the current release has been added: + * A new document summarizing the changes in the library leading up to + the current release has been added: HDF5 Software Changes from Release to Release - This document is in the Application Developer's Guide and is of - particular interest to developers who must keep an application + This document is in the Application Developer's Guide and is of + particular interest to developers who must keep an application synchronized with the library. * The documentation for the Fortran90 and C++ APIs is linked to the - opening page of the Reference Manual. Fortran90 functions are + opening page of the Reference Manual. Fortran90 functions are individually referenced from the corresponding C functions through- out the Reference Manual. - * User's Guide and Reference Manual were updated to reflect changed - function syntax and to fix reported bugs. - * Functions that are new at this release were added to the Reference - Manual. - * Functions that have been removed from the library were removed from + * User's Guide and Reference Manual were updated to reflect changed + function syntax and to fix reported bugs. + * Functions that are new at this release were added to the Reference + Manual. + * Functions that have been removed from the library were removed from the User's Guide and the Reference Manual. - * PostScript and PDF versions of the Release 1.4 document set are + * PostScript and PDF versions of the Release 1.4 document set are not available at the time of Release 1.4.0. - + Platforms Tested ================ AIX 4.3.3.0 (IBM SP powerpc) xlc 3.6.6 @@ -7863,7 +7865,7 @@ Platforms Tested mpich-1.2.1 OSF1 V4.0 DEC-V5.2-040 Digital Fortran 90 V4.1-270 - SunOS 5.6 WorkShop Compilers 5.0 98/12/15 C 5.0 + SunOS 5.6 WorkShop Compilers 5.0 98/12/15 C 5.0 (Solaris 2.6) WorkShop Compilers 5.0 99/10/25 Fortran 90 2.0 Patch 107356-04 Workshop Compilers 5.0 98/12/15 C++ 5.0 @@ -7872,7 +7874,7 @@ Platforms Tested 2.0 Patch 107356-04 Workshop Compilers 5.0 98/12/15 C++ 5.0 mpich-1.2.1 - SunOS 5.5.1 gcc-2.7.2 + SunOS 5.5.1 gcc-2.7.2 (Solaris 2.5.1 (x86)) TFLOPS r1.0.4 v4.0 mpich-1.2.1 with local changes Windows NT4.0, 2000 (NT5.0) MSVC++ 6.0 @@ -7929,17 +7931,17 @@ Supported Configuration Features Summary Footnotes: (1) Using mpich. (2) Using mpt and mpich. - (3) When configured with static-exec enabled, tests fail + (3) When configured with static-exec enabled, tests fail in serial mode. (4) No HDF4-related tools. Known Problems ============== - * The stream-vfd test uses ip port 10007 for testing. If another - application is already using that port address, the test will hang - indefinitely and has to be terminated by the kill command. To try the - test again, change the port address in test/stream_test.c to one not + * The stream-vfd test uses ip port 10007 for testing. If another + application is already using that port address, the test will hang + indefinitely and has to be terminated by the kill command. To try the + test again, change the port address in test/stream_test.c to one not being used in the host. * The --enable-static-exec configure flag fails to compile for Solaris @@ -7948,7 +7950,7 @@ Known Problems The --enable-static-exec configure flag also fails to correctly compile on Linux platforms using the gcc-2.95.2 compiler. - + The --enable-static-exec configure flag also fails to correctly compile on IBM SP2 platform for the serial mode. The parallel mode works fine with this option. @@ -7957,7 +7959,7 @@ Known Problems The executable files in hdf5/bin are dynamic-linked for IRIX64 6.5(64 and n32 modes) and IRIX 6.5, even though they are compiled with static library. - + It is suggested that you don't use this option on these platforms during configuration. @@ -7969,10 +7971,10 @@ Known Problems able to handle the `long long' datatype with the warning: warning: ANSI C does not support `long long' - + This warning is innocuous and can be safely ignored. - * SunOS 5.6 with C WorkShop Compilers 4.2: Hyperslab selections will + * SunOS 5.6 with C WorkShop Compilers 4.2: Hyperslab selections will fail if library is compiled using optimization of any level. * When building hdf5 tools and applications on windows platform, a linking @@ -7980,8 +7982,8 @@ Known Problems on debug version when running VC++6.0. This warning doesn't affect building and testing hdf5 applications. We will continue investigating this. - * h5toh4 converter fails two cases(tstr.h5 and tmany.h5) for release dll - version on windows 2000 and NT. The reason is possibly due to Windows NT + * h5toh4 converter fails two cases(tstr.h5 and tmany.h5) for release dll + version on windows 2000 and NT. The reason is possibly due to Windows NT DLL convention on freeing memory. It seems that memory cannot be freed across library or DLL. It is still under investigation. @@ -7989,7 +7991,7 @@ Known Problems the configured with --with-gass. * HDF-SRB testing got segmentation error on Solaris 2.7. - + * The Stream VFD was not tested yet under Windows. It is not supported in the TFLOPS machine. @@ -8004,7 +8006,7 @@ Known Problems * Certain platforms give false negatives when testing h5ls: - Solaris x86 2.5.1, Cray T3E and Cray J90 give errors during testing - when displaying object references in certain files. These are benign + when displaying object references in certain files. These are benign differences due to the difference in sizes of the objects created on those platforms. h5ls appears to be dumping object references correctly. @@ -8013,18 +8015,18 @@ Known Problems different precision in the values displayed and h5ls appears to be dumping floating-point numbers correctly. - * Before building HDF5 F90 Library from source on Crays (T3E and SV1) - replace H5Aff.f90, H5Dff.f90 and H5Pff.f90 files in the fortran/src - subdirectory in the top level directory with the Cray-specific files from + * Before building HDF5 F90 Library from source on Crays (T3E and SV1) + replace H5Aff.f90, H5Dff.f90 and H5Pff.f90 files in the fortran/src + subdirectory in the top level directory with the Cray-specific files from the ftp://ftp.ncsa.uiuc.edu/HDF/HDF5/hdf5-1.4.0/src/crayf90/ directory. * The h4toh5 utility produces images that do not correctly conform - to the HDF5 Image and Palette Specification. + to the HDF5 Image and Palette Specification. http://hdf.ncsa.uiuc.edu/HDF5/doc/ImageSpec.html - Several required HDF5 attributes are omitted, and the dataspace - is reversed (i.e., the ht. and width of the image dataset is + Several required HDF5 attributes are omitted, and the dataspace + is reversed (i.e., the ht. and width of the image dataset is incorrectly described.) For more information, please see: http://hdf.ncsa.uiuc.edu/HDF5/H5Image/ImageDetails.htm @@ -8035,17 +8037,17 @@ Known Problems ================================================================= INTRODUCTION -This document describes the differences between HDF5-1.2.1 and +This document describes the differences between HDF5-1.2.1 and HDF5-1.2.2, and contains information on the platforms where HDF5-1.2.2 -was tested and known problems in HDF5-1.2.2. +was tested and known problems in HDF5-1.2.2. -The HDF5 documentation can be found on the NCSA ftp server +The HDF5 documentation can be found on the NCSA ftp server (ftp.ncsa.uiuc.edu) in the directory: /HDF/HDF5/docs/ For more information look at the HDF5 home page at: - + http://hdf.ncsa.uiuc.edu/HDF5/ If you have any questions or comments, please send them to: @@ -8055,7 +8057,7 @@ If you have any questions or comments, please send them to: CONTENTS -- Features Added since HDF5-1.2.1 +- Features Added since HDF5-1.2.1 - Bug Fixes since HDF5-1.2.1 - Known Problems - Platforms Tested @@ -8106,10 +8108,10 @@ Bug Fixes since HDF5-1.2.1 Known Problems ============== -o SunOS 5.6 with C WorkShop Compilers 4.2: hyperslab selections will +o SunOS 5.6 with C WorkShop Compilers 4.2: hyperslab selections will fail if library is compiled using optimization of any level. o TFLOPS: dsets test fails if compiled with optimization turned on. -o J90: tools fail to dispay data for the datasets with a compound datatype. +o J90: tools fail to dispay data for the datasets with a compound datatype. Platforms Tested ================ @@ -8123,13 +8125,13 @@ Platforms Tested mpt.1.3 FreeBSD 4.0 gcc 2.95.2 HP-UX B.10.20 HP C HP92453-01 A.10.32 - HP-UX B.11.00 HP92453-01 A.11.00.13 HP C Compiler - (static library only, h5toh4 tool is not available) + HP-UX B.11.00 HP92453-01 A.11.00.13 HP C Compiler + (static library only, h5toh4 tool is not available) IRIX 6.5 MIPSpro cc 7.30 IRIX64 6.5 (64 & n32) MIPSpro cc 7.3.1m mpt.1.4 - Linux 2.2.10 SMP gcc 2.95.1 + Linux 2.2.10 SMP gcc 2.95.1 mpicc(gcc-2.95.1) gcc (egcs-2.91.66) mpicc (egcs-2.91.66) @@ -8160,7 +8162,7 @@ Configuration ------------- * The hdf5.h include file was fixed to allow the HDF5 Library to be compiled - with other libraries/applications that use GNU autoconf. + with other libraries/applications that use GNU autoconf. * Configuration for parallel HDF5 was improved. Configure now attempts to link with libmpi.a and/or libmpio.a as the MPI libraries by default. It also uses "mpirun" to launch MPI tests by default. It tests to @@ -8193,7 +8195,7 @@ Tools ------ * Added an option, -V, to show the version information of h5dump. - * Fixed a core dumping bug of h5toh4 when executed on platforms like + * Fixed a core dumping bug of h5toh4 when executed on platforms like TFLOPS. * The test script for h5toh4 used to not able to detect the hdp dumper command was not valid. It now detects and reports the @@ -8202,10 +8204,10 @@ Tools Documentation ------------- - * User's Guide and Reference Manual were updated. - See doc/html/PSandPDF/index.html for more details. + * User's Guide and Reference Manual were updated. + See doc/html/PSandPDF/index.html for more details. + - Platforms Tested: ================ Note: Due to the nature of bug fixes, only static versions of the library and tools were tested. @@ -8222,7 +8224,7 @@ Note: Due to the nature of bug fixes, only static versions of the library and to Linux 2.2.10 SuSE egcs-2.91.66 configured with (i686-pc-linux-gnu) --disable-hsizet - mpich-1.2.0 egcs-2.91.66 19990314/Linux + mpich-1.2.0 egcs-2.91.66 19990314/Linux OSF1 V4.0 DEC-V5.2-040 SunOS 5.6 cc WorkShop Compilers 4.2 no optimization @@ -8234,13 +8236,13 @@ Note: Due to the nature of bug fixes, only static versions of the library and to Known Problems: ============== -o SunOS 5.6 with C WorkShop Compilers 4.2: Hyperslab selections will +o SunOS 5.6 with C WorkShop Compilers 4.2: Hyperslab selections will fail if library is compiled using optimization of any level. %%%%1.2.0%%%% Release Information for hdf5-1.2.0 - + 5. Release Information for hdf5-1.2.0 =================================================================== @@ -8252,13 +8254,13 @@ applicable, are systems that HDF5 1.2.0 was tested on. Compiler & libraries Platform Information Comment - -------- ---------- -------- - + -------- ---------- -------- + AIX 4.3.2 (IBM SP) 3.6.6 Cray J90 10.0.0.6 cc 6.3.0.0 - Cray T3E 2.0.4.61 cc 6.2.1.0 + Cray T3E 2.0.4.61 cc 6.2.1.0 mpt.1.3 FreeBSD 3.2 gcc 2.95.1 @@ -8266,30 +8268,30 @@ applicable, are systems that HDF5 1.2.0 was tested on. HP-UX B.10.20 HP C HP92453-01 A.10.32 gcc 2.8.1 - IRIX 6.5 MIPSpro cc 7.30 + IRIX 6.5 MIPSpro cc 7.30 IRIX64 6.5 (64 & n32) MIPSpro cc 7.3.1m - mpt.1.3 (SGI MPI 3.2.0.0) + mpt.1.3 (SGI MPI 3.2.0.0) Linux 2.2.10 egcs-2.91.66 configured with - --disable-hsizet + --disable-hsizet lbraries: glibc2 OSF1 V4.0 DEC-V5.2-040 - SunOS 5.6 cc WorkShop Compilers 4.2 + SunOS 5.6 cc WorkShop Compilers 4.2 no optimization - gcc 2.8.1 + gcc 2.8.1 SunOS 5.7 cc WorkShop Compilers 5.0 gcc 2.8.1 - + TFLOPS 2.7.1 cicc (pgcc Rel 3.0-4i) - mpich-1.1.2 with local changes + mpich-1.1.2 with local changes Windows NT4.0 intel MSVC++ 5.0 and 6.0 - Windows NT alpha 4.0 MSVC++ 5.0 + Windows NT alpha 4.0 MSVC++ 5.0 Windows 98 MSVC++ 5.0 @@ -8304,7 +8306,7 @@ B. Known Problems Hyperslab selections will fail if library is compiled using optimization of any level. - + C. Changes Since Version 1.0.1 --------------------------- @@ -8318,7 +8320,7 @@ C. Changes Since Version 1.0.1 * Self-contained documentation for installations isolated from the Internet. -* HDF5 Tutorial was added to the documentation +* HDF5 Tutorial was added to the documentation 2. Configuration ------------- @@ -8350,7 +8352,7 @@ C. Changes Since Version 1.0.1 * Optimizations to compound datatype conversions and I/O operations. -* Added nearly 100 optimized conversion functions for native datatypes +* Added nearly 100 optimized conversion functions for native datatypes including support for non-aligned data. * Added support for bitfield, opaque, and enumeration types. @@ -8402,23 +8404,23 @@ C. Changes Since Version 1.0.1 * Improved the algorithm that translates an HDF5 hyperslab selection into an MPI type for better collective I/O performance. -8. New API functions +8. New API functions ----------------- a. Property List Interface: ------------------------ - H5Pset_xfer - set data transfer properties - H5Pset_preserve - set dataset transfer property list status + H5Pset_xfer - set data transfer properties + H5Pset_preserve - set dataset transfer property list status H5Pget_preserve - get dataset transfer property list status H5Pset_hyper_cache - indicates whether to cache hyperslab blocks during I/O - H5Pget_hyper_cache - returns information regarding the caching of + H5Pget_hyper_cache - returns information regarding the caching of hyperslab blocks during I/O - H5Pget_btree_ratios - sets B-tree split ratios for a dataset + H5Pget_btree_ratios - sets B-tree split ratios for a dataset transfer property list H5Pset_btree_ratios - gets B-tree split ratios for a dataset transfer property list - H5Pset_vlen_mem_manager - sets the memory manager for variable-length + H5Pset_vlen_mem_manager - sets the memory manager for variable-length datatype allocation H5Pget_vlen_mem_manager - sets the memory manager for variable-length datatype allocation @@ -8433,26 +8435,26 @@ C. Changes Since Version 1.0.1 c. Dataspace Interface: -------------------- H5Sget_select_hyper_nblocks - get number of hyperslab blocks - H5Sget_select_hyper_blocklist - get the list of hyperslab blocks + H5Sget_select_hyper_blocklist - get the list of hyperslab blocks currently selected - H5Sget_select_elem_npoints - get the number of element points + H5Sget_select_elem_npoints - get the number of element points in the current selection - H5Sget_select_elem_pointlist - get the list of element points + H5Sget_select_elem_pointlist - get the list of element points currently selected - H5Sget_select_bounds - gets the bounding box containing + H5Sget_select_bounds - gets the bounding box containing the current selection d. Datatype Interface: ------------------- - H5Tget_super - return the base datatype from which a + H5Tget_super - return the base datatype from which a datatype is derived H5Tvlen_create - creates a new variable-length dataype H5Tenum_create - creates a new enumeration datatype H5Tenum_insert - inserts a new enumeration datatype member - H5Tenum_nameof - returns the symbol name corresponding to a + H5Tenum_nameof - returns the symbol name corresponding to a + specified member of an enumeration datatype + H5Tvalueof - return the value corresponding to a specified member of an enumeration datatype - H5Tvalueof - return the value corresponding to a - specified member of an enumeration datatype H5Tget_member_value - return the value of an enumeration datatype member H5Tset_tag - tags an opaque datatype H5Tget_tag - gets the tag associated with an opaque datatype @@ -8466,16 +8468,16 @@ C. Changes Since Version 1.0.1 H5Rcreate - creates a reference H5Rdereference - open the HDF5 object referenced H5Rget_region - retrieve a dataspace with the specified region selected - H5Rget_object_type - retrieve the type of object that an + H5Rget_object_type - retrieve the type of object that an object reference points to g. Ragged Arrays (alpha) (names of those API functions were changed): ------------------------------------------------------------------ - H5RAcreate - create a new ragged array (old name was H5Rcreate) - H5RAopen - open an existing array (old name was H5Ropen) - H5RAclose - close a ragged array (old name was H5Rclose) - H5RAwrite - write to an array (old name was H5Rwrite) - H5RAread - read from an array (old name was H5Rread) + H5RAcreate - create a new ragged array (old name was H5Rcreate) + H5RAopen - open an existing array (old name was H5Ropen) + H5RAclose - close a ragged array (old name was H5Rclose) + H5RAwrite - write to an array (old name was H5Rwrite) + H5RAread - read from an array (old name was H5Rread) 9. Tools @@ -8484,7 +8486,7 @@ C. Changes Since Version 1.0.1 * Enhancements to the h5ls tool including the ability to list objects from more than one file, to display raw hexadecimal data, to show file addresses for raw data, to format output more reasonably, - to show object attributes, and to perform a recursive listing, + to show object attributes, and to perform a recursive listing, * Enhancements to h5dump: support new data types added since previous versions. @@ -8494,7 +8496,7 @@ C. Changes Since Version 1.0.1 %%%%1.0.1%%%% Release Information for hdf5-1.0.1 - + 4. Changes from Release 1.0.0 to Release 1.0.1 ===================================================================== @@ -8504,7 +8506,7 @@ C. Changes Since Version 1.0.1 * [Bug-Fix]: Configure failed for all IRIX versions other than 6.3. It now configures correctly for all IRIX 6.x version. -* Released Parallel HDF5 +* Released Parallel HDF5 Supported Features: ------------------ @@ -8524,7 +8526,7 @@ C. Changes Since Version 1.0.1 IBM SP2 SGI Origin 2000 - Changes In This Release: + Changes In This Release: ----------------------- o Support of Access to Extendable Dimension Datasets. @@ -8568,7 +8570,7 @@ C. Changes Since Version 1.0.1 ==================================================================== * Added fill values for datasets. For contiguous datasets fill value - performance may be quite poor since the fill value is written to the + performance may be quite poor since the fill value is written to the entire dataset when the dataset is created. This will be remedied in a future version. Chunked datasets using fill values do not incur any additional overhead. See H5Pset_fill_value(). @@ -8619,17 +8621,17 @@ C. Changes Since Version 1.0.1 %%%%1.0.0 Alpha 2%%%% Release Information for hdf5-1.0.0 Alpha 2 -1. Changes from the First Alpha 1.0.0 Release to +1. Changes from the First Alpha 1.0.0 Release to the Second Alpha 1.0.0 Release ===================================================================== * Two of the packages have been renamed. The data space API has been - renamed from `H5P' to `H5S' and the property list (template) API has + renamed from `H5P' to `H5S' and the property list (template) API has been renamed from `H5C' to `H5P'. -* The new attribute API `H5A' has been added. An attribute is a small +* The new attribute API `H5A' has been added. An attribute is a small dataset which can be attached to some other object (for instance, a - 4x4 transformation matrix attached to a 3-dimensional dataset, or an + 4x4 transformation matrix attached to a 3-dimensional dataset, or an English abstract attached to a group). * The error handling API `H5E' has been completed. By default, when an @@ -8641,7 +8643,7 @@ C. Changes Since Version 1.0.1 * Support for large files and datasets (>2GB) has been added. There is an html document that describes how it works. Some of the types for function arguments have changed to support this: all arguments - pertaining to sizes of memory objects are `size_t' and all arguments + pertaining to sizes of memory objects are `size_t' and all arguments pertaining to file sizes are `hsize_t'. * More data type conversions have been added although none of them are @@ -8667,7 +8669,7 @@ C. Changes Since Version 1.0.1 * Data types can be stored in the file as independent objects and multiple datasets can share a data type. -* The raw data I/O stream has been implemented and the application can +* The raw data I/O stream has been implemented and the application can control meta and raw data caches, so I/O performance should be improved from the first alpha release. @@ -8679,14 +8681,14 @@ C. Changes Since Version 1.0.1 applications or I/O libraries and described and accessed through HDF5. -* Hard and soft (symbolic) links are implemented which allow groups to +* Hard and soft (symbolic) links are implemented which allow groups to share objects. Dangling and recursive symbolic links are supported. * User-defined data compression is implemented although we may generalize the interface to allow arbitrary user-defined filters which can be used for compression, checksums, encryption, performance monitoring, etc. The publicly-available `deflate' - method is predefined if the GNU libz.a can be found at configuration + method is predefined if the GNU libz.a can be found at configuration time. * The configuration scripts have been modified to make it easier to @@ -8696,7 +8698,7 @@ C. Changes Since Version 1.0.1 with the correct version of header files. - Parallel HDF5 Changes + Parallel HDF5 Changes * Parallel support for fixed dimension datasets with contiguous or chunked storages. Also, support unlimited dimension datasets which @@ -8722,245 +8724,245 @@ C. Changes Since Version 1.0.1 sizes. - LIST OF API FUNCTIONS + LIST OF API FUNCTIONS The following functions are implemented. Errors are returned if an attempt is made to use some feature which is not implemented and printing the error stack will show `not implemented yet'. Library - H5check - check that lib version matches header version - H5open - initialize library (happens automatically) - H5close - shut down the library (happens automatically) - H5dont_atexit - don't call H5close on exit - H5get_libversion - retrieve library version info - H5check_version - check for specific library version + H5check - check that lib version matches header version + H5open - initialize library (happens automatically) + H5close - shut down the library (happens automatically) + H5dont_atexit - don't call H5close on exit + H5get_libversion - retrieve library version info + H5check_version - check for specific library version Property Lists - H5Pclose - release template resources - H5Pcopy - copy a template - H5Pcreate - create a new template - H5Pget_chunk - get chunked storage properties - H5Pset_chunk - set chunked storage properties - H5Pget_class - get template class - H5Pget_istore_k - get chunked storage properties - H5Pset_istore_k - set chunked storage properties - H5Pget_layout - get raw data layout class - H5Pset_layout - set raw data layout class - H5Pget_sizes - get address and size sizes - H5Pset_sizes - set address and size sizes - H5Pget_sym_k - get symbol table storage properties - H5Pset_sym_k - set symbol table storage properties - H5Pget_userblock - get user-block size - H5Pset_userblock - set user-block size - H5Pget_version - get file version numbers - H5Pget_alignment - get data alignment properties - H5Pset_alignment - set data alignment properties + H5Pclose - release template resources + H5Pcopy - copy a template + H5Pcreate - create a new template + H5Pget_chunk - get chunked storage properties + H5Pset_chunk - set chunked storage properties + H5Pget_class - get template class + H5Pget_istore_k - get chunked storage properties + H5Pset_istore_k - set chunked storage properties + H5Pget_layout - get raw data layout class + H5Pset_layout - set raw data layout class + H5Pget_sizes - get address and size sizes + H5Pset_sizes - set address and size sizes + H5Pget_sym_k - get symbol table storage properties + H5Pset_sym_k - set symbol table storage properties + H5Pget_userblock - get user-block size + H5Pset_userblock - set user-block size + H5Pget_version - get file version numbers + H5Pget_alignment - get data alignment properties + H5Pset_alignment - set data alignment properties H5Pget_external_count- get count of external data files - H5Pget_external - get information about an external data file - H5Pset_external - add a new external data file to the list - H5Pget_driver - get low-level file driver class - H5Pget_stdio - get properties for stdio low-level driver - H5Pset_stdio - set properties for stdio low-level driver - H5Pget_sec2 - get properties for sec2 low-level driver - H5Pset_sec2 - set properties for sec2 low-level driver - H5Pget_core - get properties for core low-level driver - H5Pset_core - set properties for core low-level driver - H5Pget_split - get properties for split low-level driver - H5Pset_split - set properties for split low-level driver - H5P_get_family - get properties for family low-level driver - H5P_set_family - set properties for family low-level driver - H5Pget_cache - get meta- and raw-data caching properties - H5Pset_cache - set meta- and raw-data caching properties - H5Pget_buffer - get raw-data I/O pipe buffer properties - H5Pset_buffer - set raw-data I/O pipe buffer properties - H5Pget_preserve - get type conversion preservation properties - H5Pset_preserve - set type conversion preservation properties - H5Pget_nfilters - get number of raw data filters - H5Pget_filter - get raw data filter properties - H5Pset_filter - set raw data filter properties - H5Pset_deflate - set deflate compression filter properties - H5Pget_mpi - get MPI-IO properties - H5Pset_mpi - set MPI-IO properties - H5Pget_xfer - get data transfer properties - + H5Pset_xfer - set data transfer properties - + H5Pset_preserve - set dataset transfer property list status + H5Pget_external - get information about an external data file + H5Pset_external - add a new external data file to the list + H5Pget_driver - get low-level file driver class + H5Pget_stdio - get properties for stdio low-level driver + H5Pset_stdio - set properties for stdio low-level driver + H5Pget_sec2 - get properties for sec2 low-level driver + H5Pset_sec2 - set properties for sec2 low-level driver + H5Pget_core - get properties for core low-level driver + H5Pset_core - set properties for core low-level driver + H5Pget_split - get properties for split low-level driver + H5Pset_split - set properties for split low-level driver + H5P_get_family - get properties for family low-level driver + H5P_set_family - set properties for family low-level driver + H5Pget_cache - get meta- and raw-data caching properties + H5Pset_cache - set meta- and raw-data caching properties + H5Pget_buffer - get raw-data I/O pipe buffer properties + H5Pset_buffer - set raw-data I/O pipe buffer properties + H5Pget_preserve - get type conversion preservation properties + H5Pset_preserve - set type conversion preservation properties + H5Pget_nfilters - get number of raw data filters + H5Pget_filter - get raw data filter properties + H5Pset_filter - set raw data filter properties + H5Pset_deflate - set deflate compression filter properties + H5Pget_mpi - get MPI-IO properties + H5Pset_mpi - set MPI-IO properties + H5Pget_xfer - get data transfer properties + + H5Pset_xfer - set data transfer properties + + H5Pset_preserve - set dataset transfer property list status + H5Pget_preserve - get dataset transfer property list status + H5Pset_hyper_cache - indicates whether to cache hyperslab blocks during I/O - + H5Pget_hyper_cache - returns information regarding the caching of + + H5Pget_hyper_cache - returns information regarding the caching of hyperslab blocks during I/O - + H5Pget_btree_ratios - sets B-tree split ratios for a dataset + + H5Pget_btree_ratios - sets B-tree split ratios for a dataset transfer property list + H5Pset_btree_ratios - gets B-tree split ratios for a dataset transfer property list - + H5Pset_vlen_mem_manager - sets the memory manager for variable-length + + H5Pset_vlen_mem_manager - sets the memory manager for variable-length datatype allocation + H5Pget_vlen_mem_manager - sets the memory manager for variable-length datatype allocation Datasets - H5Dclose - release dataset resources - H5Dcreate - create a new dataset - H5Dget_space - get data space - H5Dget_type - get data type - H5Dget_create_plist - get dataset creation properties - H5Dopen - open an existing dataset - H5Dread - read raw data - H5Dwrite - write raw data - H5Dextend - extend a dataset + H5Dclose - release dataset resources + H5Dcreate - create a new dataset + H5Dget_space - get data space + H5Dget_type - get data type + H5Dget_create_plist - get dataset creation properties + H5Dopen - open an existing dataset + H5Dread - read raw data + H5Dwrite - write raw data + H5Dextend - extend a dataset + H5Diterate - iterate over all selected elements in a dataspace + H5Dget_storage_size - return the amount of storage required for a dataset + H5Dvlen_reclaim - reclaim VL datatype memory buffers Attributes - H5Acreate - create a new attribute - H5Aopen_name - open an attribute by name - H5Aopen_idx - open an attribute by number - H5Awrite - write values into an attribute - H5Aread - read values from an attribute - H5Aget_space - get attribute data space - H5Aget_type - get attribute data type - H5Aget_name - get attribute name - H5Anum_attrs - return the number of attributes for an object - H5Aiterate - iterate over an object's attributes - H5Adelete - delete an attribute - H5Aclose - close an attribute + H5Acreate - create a new attribute + H5Aopen_name - open an attribute by name + H5Aopen_idx - open an attribute by number + H5Awrite - write values into an attribute + H5Aread - read values from an attribute + H5Aget_space - get attribute data space + H5Aget_type - get attribute data type + H5Aget_name - get attribute name + H5Anum_attrs - return the number of attributes for an object + H5Aiterate - iterate over an object's attributes + H5Adelete - delete an attribute + H5Aclose - close an attribute Errors - H5Eclear - clear the error stack - H5Eprint - print an error stack - H5Eget_auto - get automatic error reporting settings - H5Eset_auto - set automatic error reporting - H5Ewalk - iterate over the error stack - H5Ewalk_cb - the default error stack iterator function - H5Eget_major - get the message for the major error number - H5Eget_minor - get the message for the minor error number + H5Eclear - clear the error stack + H5Eprint - print an error stack + H5Eget_auto - get automatic error reporting settings + H5Eset_auto - set automatic error reporting + H5Ewalk - iterate over the error stack + H5Ewalk_cb - the default error stack iterator function + H5Eget_major - get the message for the major error number + H5Eget_minor - get the message for the minor error number Files - H5Fclose - close a file and release resources - H5Fcreate - create a new file - H5Fget_create_plist - get file creation property list - H5Fget_access_plist - get file access property list - H5Fis_hdf5 - determine if a file is an hdf5 file - H5Fopen - open an existing file + H5Fclose - close a file and release resources + H5Fcreate - create a new file + H5Fget_create_plist - get file creation property list + H5Fget_access_plist - get file access property list + H5Fis_hdf5 - determine if a file is an hdf5 file + H5Fopen - open an existing file H5Freopen - reopen an HDF5 file H5Fmount - mount a file H5Funmount - unmount a file H5Fflush - flush all buffers associated with a file to disk Groups - H5Gclose - close a group and release resources - H5Gcreate - create a new group - H5Gopen - open an existing group - H5Giterate - iterate over the contents of a group - H5Gmove - change the name of some object - H5Glink - create a hard or soft link to an object - H5Gunlink - break the link between a name and an object - H5Gget_objinfo - get information about a group entry - H5Gget_linkval - get the value of a soft link - H5Gget_comment - get the comment string for an object - H5Gset_comment - set the comment string for an object + H5Gclose - close a group and release resources + H5Gcreate - create a new group + H5Gopen - open an existing group + H5Giterate - iterate over the contents of a group + H5Gmove - change the name of some object + H5Glink - create a hard or soft link to an object + H5Gunlink - break the link between a name and an object + H5Gget_objinfo - get information about a group entry + H5Gget_linkval - get the value of a soft link + H5Gget_comment - get the comment string for an object + H5Gset_comment - set the comment string for an object Dataspaces - H5Screate - create a new data space - H5Scopy - copy a data space - H5Sclose - release data space - H5Screate_simple - create a new simple data space - H5Sset_space - set simple data space extents - H5Sis_simple - determine if data space is simple - H5Sset_extent_simple - set simple data space dimensionality and size - H5Sget_simple_extent_npoints - get number of points in simple extent + H5Screate - create a new data space + H5Scopy - copy a data space + H5Sclose - release data space + H5Screate_simple - create a new simple data space + H5Sset_space - set simple data space extents + H5Sis_simple - determine if data space is simple + H5Sset_extent_simple - set simple data space dimensionality and size + H5Sget_simple_extent_npoints - get number of points in simple extent H5Sget_simple_extent_ndims - get simple data space dimensionality H5Sget_simple_extent_dims - get simple data space size H5Sget_simple_extent_type - get type of simple extent - H5Sset_extent_none - reset extent to be empty - H5Sextent_copy - copy the extent from one data space to another + H5Sset_extent_none - reset extent to be empty + H5Sextent_copy - copy the extent from one data space to another H5Sget_select_npoints - get number of points selected for I/O - H5Sselect_hyperslab - set hyperslab dataspace selection + H5Sselect_hyperslab - set hyperslab dataspace selection H5Sselect_elements - set element sequence dataspace selection - H5Sselect_all - select entire extent for I/O - H5Sselect_none - deselect all elements of extent - H5Soffset_simple - set selection offset - H5Sselect_valid - determine if selection is valid for extent + H5Sselect_all - select entire extent for I/O + H5Sselect_none - deselect all elements of extent + H5Soffset_simple - set selection offset + H5Sselect_valid - determine if selection is valid for extent + H5Sget_select_hyper_nblocks - get number of hyperslab blocks - + H5Sget_select_hyper_blocklist - get the list of hyperslab blocks + + H5Sget_select_hyper_blocklist - get the list of hyperslab blocks currently selected - + H5Sget_select_elem_npoints - get the number of element points + + H5Sget_select_elem_npoints - get the number of element points in the current selection - + H5Sget_select_elem_pointlist - get the list of element points + + H5Sget_select_elem_pointlist - get the list of element points currently selected - + H5Sget_select_bounds - gets the bounding box containing + + H5Sget_select_bounds - gets the bounding box containing the current selection Datatypes - H5Tclose - release data type resources - H5Topen - open a named data type - H5Tcommit - name a data type - H5Tcommitted - determine if a type is named - H5Tcopy - copy a data type - H5Tcreate - create a new data type - H5Tequal - compare two data types - H5Tlock - lock type to prevent changes - H5Tfind - find a data type conversion function - H5Tconvert - convert data from one type to another - H5Tregister - register a conversion function - H5Tunregister - remove a conversion function - H5Tget_overflow - get function that handles overflow conv. cases - H5Tset_overflow - set function to handle overflow conversion cases - H5Tget_class - get data type class - H5Tget_cset - get character set - H5Tget_ebias - get exponent bias - H5Tget_fields - get floating point fields - H5Tget_inpad - get inter-field padding - H5Tget_member_dims - get struct member dimensions - H5Tget_member_name - get struct member name - H5Tget_member_offset - get struct member byte offset - H5Tget_member_type - get struct member type - H5Tget_nmembers - get number of struct members - H5Tget_norm - get floating point normalization - H5Tget_offset - get bit offset within type - H5Tget_order - get byte order - H5Tget_pad - get padding type - H5Tget_precision - get precision in bits - H5Tget_sign - get integer sign type - H5Tget_size - get size in bytes - H5Tget_strpad - get string padding - H5Tinsert - insert scalar struct member - H5Tinsert_array - insert array struct member - H5Tpack - pack struct members - H5Tset_cset - set character set - H5Tset_ebias - set exponent bias - H5Tset_fields - set floating point fields - H5Tset_inpad - set inter-field padding - H5Tset_norm - set floating point normalization - H5Tset_offset - set bit offset within type - H5Tset_order - set byte order - H5Tset_pad - set padding type - H5Tset_precision - set precision in bits - H5Tset_sign - set integer sign type - H5Tset_size - set size in bytes - H5Tset_strpad - set string padding - + H5Tget_super - return the base datatype from which a + H5Tclose - release data type resources + H5Topen - open a named data type + H5Tcommit - name a data type + H5Tcommitted - determine if a type is named + H5Tcopy - copy a data type + H5Tcreate - create a new data type + H5Tequal - compare two data types + H5Tlock - lock type to prevent changes + H5Tfind - find a data type conversion function + H5Tconvert - convert data from one type to another + H5Tregister - register a conversion function + H5Tunregister - remove a conversion function + H5Tget_overflow - get function that handles overflow conv. cases + H5Tset_overflow - set function to handle overflow conversion cases + H5Tget_class - get data type class + H5Tget_cset - get character set + H5Tget_ebias - get exponent bias + H5Tget_fields - get floating point fields + H5Tget_inpad - get inter-field padding + H5Tget_member_dims - get struct member dimensions + H5Tget_member_name - get struct member name + H5Tget_member_offset - get struct member byte offset + H5Tget_member_type - get struct member type + H5Tget_nmembers - get number of struct members + H5Tget_norm - get floating point normalization + H5Tget_offset - get bit offset within type + H5Tget_order - get byte order + H5Tget_pad - get padding type + H5Tget_precision - get precision in bits + H5Tget_sign - get integer sign type + H5Tget_size - get size in bytes + H5Tget_strpad - get string padding + H5Tinsert - insert scalar struct member + H5Tinsert_array - insert array struct member + H5Tpack - pack struct members + H5Tset_cset - set character set + H5Tset_ebias - set exponent bias + H5Tset_fields - set floating point fields + H5Tset_inpad - set inter-field padding + H5Tset_norm - set floating point normalization + H5Tset_offset - set bit offset within type + H5Tset_order - set byte order + H5Tset_pad - set padding type + H5Tset_precision - set precision in bits + H5Tset_sign - set integer sign type + H5Tset_size - set size in bytes + H5Tset_strpad - set string padding + + H5Tget_super - return the base datatype from which a datatype is derived + H5Tvlen_create - creates a new variable-length dataype + H5Tenum_create - creates a new enumeration datatype + H5Tenum_insert - inserts a new enumeration datatype member - + H5Tenum_nameof - returns the symbol name corresponding to a + + H5Tenum_nameof - returns the symbol name corresponding to a + specified member of an enumeration datatype + + H5Tvalueof - return the value corresponding to a specified member of an enumeration datatype - + H5Tvalueof - return the value corresponding to a - specified member of an enumeration datatype + H5Tget_member_value - return the value of an enumeration datatype member + H5Tset_tag - tags an opaque datatype + H5Tget_tag - gets the tag associated with an opaque datatype - - H5Tregister_hard - register specific type conversion function - - H5Tregister_soft - register general type conversion function + - H5Tregister_hard - register specific type conversion function + - H5Tregister_soft - register general type conversion function Filters - H5Tregister - register a conversion function + H5Tregister - register a conversion function Compression - H5Zregister - register new compression and uncompression + H5Zregister - register new compression and uncompression functions for a method specified by a method number Identifiers @@ -8970,14 +8972,14 @@ References + H5Rcreate - creates a reference + H5Rdereference - open the HDF5 object referenced + H5Rget_region - retrieve a dataspace with the specified region selected - + H5Rget_object_type - retrieve the type of object that an + + H5Rget_object_type - retrieve the type of object that an object reference points to Ragged Arrays (alpha) - H5RAcreate - create a new ragged array - H5RAopen - open an existing array - H5RAclose - close a ragged array - H5RAwrite - write to an array - H5RAread - read from an array + H5RAcreate - create a new ragged array + H5RAopen - open an existing array + H5RAclose - close a ragged array + H5RAwrite - write to an array + H5RAread - read from an array diff --git a/release_docs/HISTORY-1_8.txt b/release_docs/HISTORY-1_8.txt index 2aa7bde..da3d849 100644 --- a/release_docs/HISTORY-1_8.txt +++ b/release_docs/HISTORY-1_8.txt @@ -3,6 +3,7 @@ HDF5 History This file contains development history of HDF5 1.8 branch +23. Release Information for hdf5-1.8.21 22. Release Information for hdf5-1.8.20 21. Release Information for hdf5-1.8.19 20. Release Information for hdf5-1.8.18 @@ -28,6 +29,611 @@ This file contains development history of HDF5 1.8 branch [Search on the string '%%%%' for section breaks of each release.] +%%%%1.8.21%%%% + + +HDF5 version 1.8.21 released on 2018-06-04 +================================================================================ + +INTRODUCTION +============ + +This document describes the differences between HDF5-1.8.20 and +HDF5-1.8.21, and contains information on the platforms tested and +known problems in HDF5-1.8.21. +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.21 source code, documentation, and additional materials +can be found on the HDF5 web page at: + + https://support.hdfgroup.org/HDF5/ + +The HDF5 1.8.21 release can be obtained from: + + https://support.hdfgroup.org/HDF5/release/obtain518.html + +User documentation for 1.8.21 can be accessed directly at this location: + + https://support.hdfgroup.org/HDF5/doc1.8/ + +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: + + https://support.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.21 (current +release) versus Release 1.8.20 + + https://support.hdfgroup.org/HDF5/doc1.8/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.20 +- Supported Platforms +- Supported Configuration Features Summary +- More Tested Platforms +- Known Problems + + +New Features +============ + + Configuration + ------------- + - CMake + + Change minimum version to 3.10. + + This change removes the need to support a copy of the FindMPI.cmake module, + which has been removed, along with its subfolder in the config/cmake_ext_mod + location. + + (ADB - 2018/03/09) + + - CMake + + Add pkg-config file generation + + Added pkg-config file generation for the C, C++, HL, and HL C++ libraries. + In addition, builds on linux will create h5cXXX scripts that use the pkg-config + files. This is a limited implementation of a script like autotools h5cc. + + (ADB - 2018/03/08, HDFFV-4359) + + - CMake + + Refactor use of CMAKE_BUILD_TYPE for new variable, which understands + the type of generator in use. + + Added new configuration macros to use new HDF_BUILD_TYPE variable. This + variable is set correctly for the type of generator being used for the build. + + (ADB - 2018/01/08, HDFFV-10385, HDFFV-10296) + + C++ API + ------- + - The following C++ API wrappers have been added to class H5Location + + H5Lcreate_soft: + // Creates a soft link from link_name to target_name. + void link(const char *target_name, const char *link_name,...) + void link(const H5std_string& target_name,...) + + + H5Lcreate_hard: + // Creates a hard link from new_name to curr_name. + void link(const char *curr_name, const Group& new_loc,...) + void link(const H5std_string& curr_name, const Group& new_loc,...) + + // Creates a hard link from new_name to curr_name in the same location. + void link(const char *curr_name, const hid_t same_loc,...) + void link(const H5std_string& curr_name, const hid_t same_loc,...) + + Note: previous version CommonFG::link will be deprecated. + + + H5Lcopy: + // Copy an object from a group of file to another. + void copyLink(const char *src_name, const Group& dst,...) + void copyLink(const H5std_string& src_name, const Group& dst,...) + + // Copy an object from a group of file to the same location. + void copyLink(const char *src_name, const char *dst_name,...) + void copyLink(const H5std_string& src_name,...) + + + H5Lmove: + // Rename an object in a group or file to a new location. + void moveLink(const char* src_name, const Group& dst,...) + void moveLink(const H5std_string& src_name, const Group& dst,...) + + // Rename an object in a group or file to the same location. + void moveLink(const char* src_name, const char* dst_name,...) + void moveLink(const H5std_string& src_name,...) + + Note: previous version CommonFG::move will be deprecated. + + + H5Ldelete: + // Removes the specified link from this location. + void unlink(const char *link_name, + const LinkAccPropList& lapl = LinkAccPropList::DEFAULT) + void unlink(const H5std_string& link_name, + const LinkAccPropList& lapl = LinkAccPropList::DEFAULT) + + Note: An additional parameter is added to CommonFG::unlink and it + is moved to H5Location. + + (BMR - 2018/05/11 - HDFFV-10445) + + - New property list subclasses + + Property list subclasses StrCreatPropList, LinkCreatPropList, and + AttrCreatPropList are added for the C property list classes + H5P_STRING_CREATE, H5P_LINK_CREATE, and H5P_ATTRIBUTE_CREATE. + + (BMR - 2018/05/11 - HDFFV-10445) + + - Another argument, LinkCreatPropList& lcpl, is added to the following + functions for the use of link creation property list. + Group createGroup(const char* name, size_t size_hint = 0, + const LinkCreatPropList& lcpl = LinkCreatPropList::DEFAULT) + Group createGroup(const H5std_string& name, size_t size_hint = 0, + const LinkCreatPropList& lcpl = LinkCreatPropList::DEFAULT) + + (BMR - 2018/05/11 - HDFFV-10445) + + + +Support for New Platforms, Languages, and Compilers +=================================================== + + - Added support for Visual Studio 2017 w/ Intel Fortran 18 on Windows 10 x64. + + +Bug Fixes since HDF5-1.8.20 +=========================== + + - If an HDF5 file contains a filter pipeline message with a 'number of + filters' field that exceeds the maximum number of allowed filters, + the error handling code will attempt to dereference a NULL pointer. + + This issue was reported to The HDF Group as issue #CVE-2017-17505. + + NOTE: The HDF5 C library cannot produce such a file. This condition + should only occur in a corrupt (or deliberately altered) file + or a file created by third-party software. + + This problem arose because the error handling code assumed that + the 'number of filters' field implied that a dynamic array of that + size had already been created and that the cleanup code should + iterate over that array and clean up each element's resources. If + an error occurred before the array has been allocated, this will + not be true. + + This has been changed so that the number of filters is set to + zero on errors. Additionally, the filter array traversal in the + error handling code now requires that the filter array not be NULL. + + (DER - 2018/02/06, HDFFV-10354) + + - If an HDF5 file contains a filter pipeline message which contains + a 'number of filters' field that exceeds the actual number of + filters in the message, the HDF5 C library will read off the end of + the read buffer. + + This issue was reported to The HDF Group as issue #CVE-2017-17506. + + NOTE: The HDF5 C library cannot produce such a file. This condition + should only occur in a corrupt (or deliberately altered) file + or a file created by third-party software. + + The problem was fixed by passing the buffer size with the buffer + and ensuring that the pointer cannot be incremented off the end + of the buffer. A mismatch between the number of filters declared + and the actual number of filters will now invoke normal HDF5 + error handling. + + (DER - 2018/02/26, HDFFV-10355) + + - If an HDF5 file contains a malformed compound datatype with a + suitably large offset, the type conversion code can run off + the end of the type conversion buffer, causing a segmentation + fault. + + This issue was reported to The HDF Group as issue #CVE-2017-17507. + + NOTE: The HDF5 C library cannot produce such a file. This condition + should only occur in a corrupt (or deliberately altered) file + or a file created by third-party software. + + THE HDF GROUP WILL NOT FIX THIS BUG AT THIS TIME + + Fixing this problem would involve updating the publicly visible + H5T_conv_t function pointer typedef and versioning the API calls + which use it. We normally only modify the public API during + major releases, so this bug will not be fixed at this time. + + (DER - 2018/02/26, HDFFV-10356) + + - If an HDF5 file contains a malformed compound type which contains + a member of size zero, a division by zero error will occur while + processing the type. + + This issue was reported to The HDF Group as issue #CVE-2017-17508. + + NOTE: The HDF5 C library cannot produce such a file. This condition + should only occur in a corrupt (or deliberately altered) file + or a file created by third-party software. + + Checking for zero before dividing fixes the problem. Instead of the + division by zero, the normal HDF5 error handling is invoked. + + (DER - 2018/02/26, HDFFV-10357) + + - If an HDF5 file contains a malformed symbol table node that declares + it contains more symbols than it actually contains, the library + can run off the end of the metadata cache buffer while processing + the symbol table node. + + This issue was reported to The HDF Group as issue #CVE-2017-17509. + + NOTE: The HDF5 C library cannot produce such a file. This condition + should only occur in a corrupt (or deliberately altered) file + or a file created by third-party software. + + Performing bounds checks on the buffer while processing fixes the + problem. Instead of the segmentation fault, the normal HDF5 error + handling is invoked. + + (DER - 2018/03/12, HDFFV-10358) + + + Configuration + ------------- + - Library + + Moved the location of gcc attribute. + + The gcc attribute(no_sanitize), named as the macro HDF_NO_UBSAN, + was located after the function name. Builds with GCC 7 did not + indicate any problem, but GCC 8 issued errors. Moved the + attribute before the function name, as required. + + (ADB 2018/05/22, HDFFV-10473) + + - CMake + + Update CMake commands configuration. + + A number of improvements were made to the CMake commands. Most + changes simplify usage or eliminate unused constructs. Also, + some changes support better cross-platform support. + + (ADB - 2018/02/01, HDFFV-10398) + + - CMake + + Correct usage of CMAKE_BUILD_TYPE variable. + + The use of the CMAKE_BUILD_TYPE is incorrect for multi-config + generators (Visual Studio and XCode) and is optional for single + config generators. Created a new macro to check + GLOBAL PROPERTY -> GENERATOR_IS_MULTI_CONFIG + Created two new HDF variable, HDF_BUILD_TYPE and HDF_CFG_BUILD_TYPE. + Defaults for these variables is "Release". + + (ADB - 2018/01/10, HDFFV-10385) + + - CMake + + Add replacement of fortran flags if using static CRT. + + Added TARGET_STATIC_CRT_FLAGS call to HDFUseFortran.cmake file in + config/cmake_ext_mod folder. + + (ADB - 2018/01/08, HDFFV-10334) + + + Library + ------- + - Utility function can not handle lowercase Windows drive letters + + Added call to toupper function for drive letter. + + (ADB - 2017/12/18, HDFFV-10307) + + + Tools + ----- + - h5repack + + h5repack changes the chunk parameters when a change of layout is not + specified and a filter is applied. + + HDFFV-10297, HDFFV-10319 reworked code for h5repack and h5diff code + in the tools library. The check for an existing layout was incorrectly + placed into an if block and not executed. The check was moved into + the normal path of the function. + + (ADB - 2018/02/21, HDFFV-10412) + + - h5dump + + the tools library will hide the error stack during file open. + + While this is preferable almost always, there are reasons to enable + display of the error stack when a tool will not open a file. Adding an + optional argument to the --enable-error-stack will provide this use case. + As an optional argument it will not affect the operation of the + --enable-error-stack. h5dump is the only tool to implement this change. + + (ADB - 2018/02/15, HDFFV-10384) + + - h5dump + + h5dump would output an indented blank line in the filters section. + + h5dump overused the h5tools_simple_prefix function, which is a + function intended to account for the data index (x,y,z) option. + Removed the function call for header information. + + (ADB - 2018/01/25, HDFFV-10396) + + - h5repack + + h5repack incorrectly searched internal object table for name. + + h5repack would search the table of objects for a name, if the + name did not match it tried to determine if the name without a + leading slash would match. The logic was flawed! The table + stored names(paths) without a leading slash and did a strstr + of the table path to the name. + The assumption was that if there was a difference of one then + it was a match, however "pressure" would match "/pressure" as + well as "/pressure1", "/pressure2", etc. Changed logic to remove + any leading slash and then do a full compare of the name. + + (ADB - 2018/01/18, HDFFV-10393) + + - h5repack + + h5repack failed to handle command line parameters for customer filters. + + User defined filter parameter conversions would fail when integers + were represented on the command line with character strings + larger than 9 characters. Increased local variable array for storing + the current command line parameter to prevent buffer overflows. + + (ADB - 2018/01/17, HDFFV-10392) + + - h5diff + + h5diff seg faulted if comparing VL strings against fixed strings. + + Reworked solution for HDFFV-8625 and HDFFV-8639. Implemented the check + for string objects of same type in the diff_can_type function by + adding an if(tclass1 == H5T_STRING) block. This "if block" moves the + same check that was added for attributes to this function, which is + used by all object types. This function handles complex type structures. + Also added a new test file in h5diffgentest for testing this issue + and removed the temporary files used in the test scripts. + + (ADB - 2018/01/04, HDFFV-8745) + + + C++ API + ------- + - Removal of memory leaks + + A private function was inadvertently called, causing memory leaks. This + is now fixed. + + (BMR - 2018/04/12 - User reported in email) + + - Changes in exception classes + + Some exception classes are reorganized to reflect the HDF5 object + hierarchy and allow customization. + DataSetIException -> LocationException -> Exception + DataTypeIException -> LocationException -> Exception + GroupIException -> LocationException -> Exception + AttributeIException -> LocationException -> Exception + FileIException -> GroupIException -> LocationException -> Exception + Member functions in H5Location and H5Object now throw specific exceptions + associated with the invoking objects. + + (BMR - 2018/05/11) + + - H5Location::closeObjId is made static + (BMR - 2018/05/11) + + - H5A wrappers in H5Location are removed as they have been in H5Object. + (BMR - 2018/05/11) + + +Supported Platforms +=================== +The following platforms are supported and have been tested for this release. +They are built with the configure process unless specified otherwise. + + Linux 2.6.32-573.22.1.el6 GNU C (gcc), Fortran (gfortran), C++ (g++) + #1 SMP x86_64 GNU/Linux compilers: + (platypus/mayll) Version 4.4.7 20120313 + Versions 4.9.3, 5.3.0, 6.2.0 + PGI C, Fortran, C++ for 64-bit target on + x86-64; + Version 17.10-0 + Intel(R) C (icc), C++ (icpc), Fortran (icc) + compilers: + Version 17.0.4.196 Build 20160721 + MPICH 3.1.4 compiled with GCC 4.9.3 + OpenMPI 2.0.1 compiled with GCC 4.9.3 + + Linux 2.6.32-573.18.1.el6 gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-16) + #1 SMP ppc64 GNU/Linux g++ (GCC) 4.4.7 20120313 (Red Hat 4.4.7-16) + (ostrich) GNU Fortran (GCC) 4.4.7 20120313 (Red Hat 4.4.7-16) + IBM XL C/C++ V13.1 + IBM XL Fortran V15.1 + + Linux 3.10.0-327.10.1.el7 GNU C (gcc), Fortran (gfortran), C++ (g++) + #1 SMP x86_64 GNU/Linux compilers: + (kituo/moohan/jelly Version 4.8.5 20150623 (Red Hat 4.8.5-4) + Versions 4.9.3, 5.3.0, 6.2.0 + Intel(R) C (icc), C++ (icpc), Fortran (icc) + compilers: + Version 17.0.4.196 Build 20170411 + MPICH 3.1.4 compiled with GCC 4.9.3 + NAG Fortran Compiler Release 6.1(Tozai) Build 6116 + + SunOS 5.11 32- and 64-bit Sun C 5.12 SunOS_sparc + (emu) Sun Fortran 95 8.6 SunOS_sparc + Sun C++ 5.12 SunOS_sparc + + Windows 7 Visual Studio 2015 w/ Intel Fortran 16 (cmake) + + Windows 7 x64 Visual Studio 2012 w/ Intel Fortran 15 (cmake) + Visual Studio 2013 w/ Intel Fortran 15 (cmake) + Visual Studio 2015 w/ Intel Fortran 16 (cmake) + Visual Studio 2015 w/ Intel C, Fortran 2017 (cmake) + Visual Studio 2015 w/ MSMPI 8 (cmake) + + Windows 10 Visual Studio 2015 w/ Intel Fortran 16 (cmake) + + Windows 10 x64 Visual Studio 2015 w/ Intel Fortran 16 (cmake) + Visual Studio 2017 w/ Intel Fortran 18 (cmake) + + Mac OS X Mavericks 10.9.5 Apple LLVM version 6.0 (clang-600.0.57) + 64-bit gfortran GNU Fortran (GCC) 4.9.2 + (wren/quail) Intel icc/icpc/ifort version 15.0.3 + + Mac OS X Yosemite 10.10.5 Apple LLVM version 6.1 (clang-602.0.53) + 64-bit gfortran GNU Fortran (GCC) 4.9.2 + (osx1010dev/osx1010test) Intel icc/icpc/ifort version 15.0.3 + + Mac OS X El Capitan 10.11.6 Apple LLVM version 7.3.0 (clang-703.0.29) + 64-bit gfortran GNU Fortran (GCC) 5.2.0 + (VM osx1011dev/osx1011test) Intel icc/icpc/ifort version 16.0.2 + + Mac OS Sierra 10.12.6 Apple LLVM version 8.1 (clang-802.0.42) + 64-bit gfortran GNU Fortran (GCC) 7.1.0 + (kite) Intel icc/icpc/ifort version 17.0.2 + + +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 F2003 parallel +SunOS 5.11 32-bit n y/y n y y y +SunOS 5.11 64-bit n y/y n y y y +Windows 7 y y/y n y y y +Windows 7 x64 y y/y n y y y +Windows 7 Cygwin n y/n n y y y +Windows 7 x64 Cygwin n y/n n y y y +Windows 10 y y/y n y y y +Windows 10 x64 y y/y n y y y +Mac OS X Yosemite 10.10.5 64-bit n y/y n y y y +Mac OS X El Capitan 10.11.6 64-bit n y/y n y y y +Mac OS Sierra 10.12.6 64-bit n y/y n y y y +AIX 6.1 32- and 64-bit n y/n n y y y +CentOS 6.7 Linux 2.6.32 x86_64 GNU y y/y y y y y +CentOS 6.7 Linux 2.6.32 x86_64 Intel n y/y n y y y +CentOS 6.7 Linux 2.6.32 x86_64 PGI n y/y n y y y +CentOS 7.1 Linux 3.10.0 x86_64 GNU y y/y y y y y +CentOS 7.1 Linux 3.10.0 x86_64 Intel n y/y n y y y +Linux 2.6.32-573.18.1.el6.ppc64 n y/n n y y y + +Platform Shared Shared Shared Thread- + C libs F90 libs C++ libs safe +SunOS 5.11 32-bit y y y y +SunOS 5.11 64-bit y y y y +Windows 7 y y y y +Windows 7 x64 y y y y +Windows 7 Cygwin n n n y +Windows 7 x64 Cygwin n n n y +Windows 10 y y y y +Windows 10 x64 y y y y +Mac OS X Yosemite 10.10.5 64-bit y n y y +Mac OS X El Capitan 10.11.6 64-bit y n y y +Mac OS Sierra 10.12.6 64-bit y n y y +AIX 6.1 32- and 64-bit y n n y +CentOS 6.7 Linux 2.6.32 x86_64 GNU y y y y +CentOS 6.7 Linux 2.6.32 x86_64 Intel y y y y +CentOS 6.7 Linux 2.6.32 x86_64 PGI y y y y +CentOS 7.1 Linux 3.10.0 x86_64 GNU y y y y +CentOS 7.1 Linux 3.10.0 x86_64 Intel y y y y +Linux 2.6.32-573.18.1.el6.ppc64 y y y y + +Compiler versions for each platform are listed in the preceding +"Supported Platforms" table. + + +More Tested Platforms +===================== +The following platforms are not supported but have been tested for this release. + + Linux 2.6.32-573.22.1.el6 g95 (GCC 4.0.3 (g95 0.94!) + #1 SMP x86_64 GNU/Linux + (mayll) + + Debian8.4.0 3.16.0-4-amd64 #1 SMP Debian 3.16.36-1 x86_64 GNU/Linux + gcc (Debian 4.9.2-10) 4.9.2 + GNU Fortran (Debian 4.9.2-10) 4.9.2 + (cmake and autotools) + + Fedora24 4.7.2-201.fc24.x86_64 #1 SMP x86_64 x86_64 x86_64 GNU/Linux + gcc (GCC) 6.1.1 20160621 (Red Hat 6.1.1-3) + GNU Fortran (GCC) 6.1.1 20160621 (Red Hat 6.1.1-3) + (cmake and autotools) + + CentOS 7.2 3.10.0-327.28.2.el7.x86_64 #1 SMP x86_64 x86_64 x86_64 GNU/Linux + gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-4) + GNU Fortran (GCC) 4.8.5 20150623 (Red Hat 4.8.5-4) + (cmake and autotools) + + Ubuntu 16.04 4.4.0-38-generic #62-Ubuntu SMP x86_64 GNU/Linux + gcc (Ubuntu 5.4.0-6ubuntu1~16.04.2) 5.4.0 + GNU Fortran (Ubuntu 5.4.0-6ubuntu1~16.04.2) 5.4.0 + (cmake and autotools) + + +Known Problems +============== + + The dynamically loaded plugin test libraries require undefined references + to HDF5 functions to be resolved at runtime in order to function properly. + With autotools on CYGWIN this results in build errors, and we have not + found a solution that satisfies both. Therefore the dynamically loaded + plugin tests have been disabled on CYGWIN. + + Mac OS X 10.13 added additional subdirectory structure in .libs for shared + libraries. Consequently "make check" will fail testing java and dynamically + loaded plugin test libraries attempting to copy files from the previous + locations in .libs directories. This will be addressed in the next release + when support for the Mac OS X 10.13 platform is added. + + Known problems in previous releases can be found in the HISTORY*.txt files + in the HDF5 source. Please report any new problems found to + help@hdfgroup.org. + + %%%%1.8.20%%%% @@ -1579,17 +2185,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 + + 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) @@ -1611,13 +2217,13 @@ New Features 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 + 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. @@ -1649,7 +2255,7 @@ New Features 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*" + "deprecated conversion from string constant to "char*" [-Wwrite-strings]". (BMR - 2016/04/25, HDFFV-9708, HDFFV-8615) @@ -1690,7 +2296,7 @@ New Features Two accessor wrappers were added to class PacketTable. PacketTable::GetDataset() returns the identifier of the dataset - associated with the packet table, and PacketTable::GetDatatype() + 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) @@ -1700,7 +2306,7 @@ New Features 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*" + "deprecated conversion from string constant to "char*" [-Wwrite-strings]". (BMR - 2016/04/25, HDFFV-8623 patch 1, HDFFV-8615) @@ -1736,9 +2342,9 @@ New Features 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 + 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) @@ -1753,8 +2359,8 @@ New Features 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 + - 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 @@ -1782,7 +2388,7 @@ Bug Fixes since HDF5-1.8.16 (DER - 2015/12/08, HDFFV-9627) - - The --enable-clear-file-buffers configure Option was Non-functional + - 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 @@ -1800,7 +2406,7 @@ Bug Fixes since HDF5-1.8.16 (DER - 2016/02/03, HDFFV-9676) - - Added a patch to remove '"'s from arguments for MPI compilers that + - 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) @@ -1843,19 +2449,19 @@ Bug Fixes since HDF5-1.8.16 ----- - 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 + 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 + 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) @@ -1867,7 +2473,7 @@ Bug Fixes since HDF5-1.8.16 (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) @@ -1880,7 +2486,7 @@ Bug Fixes since HDF5-1.8.16 - VS2015 Release Changed how Timezone was Handled - Created a function, HDget_timezone, in H5system.c. Replaced + Created a function, HDget_timezone, in H5system.c. Replaced timezone variable usage with function call. (ADB - 2015/11/02, HDFFV-9550) @@ -1897,7 +2503,7 @@ Bug Fixes since HDF5-1.8.16 ------- - Removal of Obsolete Methods - The overloaded methods which had parameters that should be const + The overloaded methods which had parameters that should be const but were not have been removed. (BMR - 2016/01/13, HDFFV-9789) @@ -1908,7 +2514,7 @@ Bug Fixes since HDF5-1.8.16 --------------- - Fixed Memory Leak in Packet Table API - Applied user's patch to fix memory leak in the creation of a + Applied user's patch to fix memory leak in the creation of a packet table. (BMR - 2016/04/25, HDFFV-9700) @@ -2910,7 +3516,7 @@ Known Problems (SLU - 2005/06/30) -%%%%1.8.15%%%% +%%%%1.8.15%%%% HDF5 version 1.8.15 released on 2015-05-04 @@ -2919,9 +3525,9 @@ HDF5 version 1.8.15 released on 2015-05-04 INTRODUCTION ============ -This document describes the differences between HDF5-1.8.14 and -HDF5-1.8.15, and contains information on the platforms tested and -known problems in HDF5-1.8.15. +This document describes the differences between HDF5-1.8.14 and +HDF5-1.8.15, and contains information on the platforms tested and +known problems in HDF5-1.8.15. Links to the HDF5 source code, documentation, and additional materials can be found on the HDF5 web page at: @@ -2932,11 +3538,11 @@ The HDF5 release can be obtained from: http://www.hdfgroup.org/HDF5/release/obtain5.html -User documentation for HDF5 can be accessed directly at this location: +User documentation for HDF5 can be accessed directly at this location: http://www.hdfgroup.org/HDF5/doc/ -All new and modified APIs are listed in detail in the "HDF5 Software Changes +All new and modified APIs are listed in detail in the "HDF5 Software Changes from Release to Release" document at this location: http://www.hdfgroup.org/HDF5/doc/ADGuide/Changes.html @@ -2964,18 +3570,18 @@ New Features Configuration ------------- - CMake - + Improvements made to the CMake build system. - + The default options were changed to align with the Autotools configure defaults. CMake configure files now support components when packaged with CPack. Windows CPack supports WiX packaging, and will look for - WiX and NSIS in the standard locations. - + WiX and NSIS in the standard locations. + The CMake minimum has been changed to 3.1. - + (ADB - 2015/04/01 HDFFV-8074, 8968, 9006) - + - cmakehdf5 for Cmake building. Added configure options to support the building of Fortran or CXX API, to enable/disable testings. Use "cmakehdf5 --help" for details. @@ -3005,10 +3611,10 @@ New Features (MSC - 2015/02/19 HDFFV-9068) - Large File Support Configuration Option - + Removed the option to enable or disable large file support. It will always be enabled. - + (MSC - 2015/02/19 HDFFV-9097) - Removed Configuration Feature @@ -3065,11 +3671,11 @@ New Features (DER - 2015-02-26, HDFFV-9057, 7567, 9088, 7566) - - _POSIX_C_SOURCE, _GNU_SOURCE, and _BSD_SOURCE No Longer Exported + - _POSIX_C_SOURCE, _GNU_SOURCE, and _BSD_SOURCE No Longer Exported to h5cc and Other Compiler Wrappers - The _POSIX_C_SOURCE, _GNU_SOURCE, and _BSD_SOURCE definitions are - not required for using API functions and may conflict with user + The _POSIX_C_SOURCE, _GNU_SOURCE, and _BSD_SOURCE definitions are + not required for using API functions and may conflict with user code requirements. (DER - 2015-03-08, HDFFV-9152) @@ -3153,33 +3759,33 @@ New Features separately from the library. (DER - 2015-04-01, HDFFV-9100) - + - H5Pset_istore_k and H5Pset_sym_k - These two functions didn't check the value of the input parameter "ik". - When 2*ik exceeded 2 bytes of storage, data was lost in the file; - for example, some chunks would be overwritten. + These two functions didn't check the value of the input parameter "ik". + When 2*ik exceeded 2 bytes of storage, data was lost in the file; + for example, some chunks would be overwritten. Added validation of "ik" to not exceed the max v1 btree entries (2 bytes) to these two routines. (VC - 2015-03-24, HDFFV-9173) - - Added Functions to Control the Value of H5PL_no_plugin_g without + - Added Functions to Control the Value of H5PL_no_plugin_g without Using an Environment Variable - - Sometimes it is necessary for an application to disable the use of - dynamically loaded plugin libraries without requiring the library to - be built with plugin support disabled or to set an environment + + Sometimes it is necessary for an application to disable the use of + dynamically loaded plugin libraries without requiring the library to + be built with plugin support disabled or to set an environment variable to disable plugin support globally. - + Two new functions (H5PLset_loading_state() and H5PLget_loading_state()) - were added to the HDF5 C Library. These functions require a parameter - that indicates which type of dynamically loaded plugin is enabled or + were added to the HDF5 C Library. These functions require a parameter + that indicates which type of dynamically loaded plugin is enabled or disabled. - + (ADB - 2015-03-17, HDFFV-8520) - + Parallel Library ---------------- - MPI_Finalize and HDF5 Library Shutdown @@ -3190,12 +3796,12 @@ New Features Attached an attribute destroy callback to MPI_COMM_SELF that shuts down the HDF5 library when MPI_COMM_SELF is destroyed, - in other words, on MPI_Finalize. This should fix several issues - that users see when they forget to close HDF5 objects before - calling MPI_Finalize(). + in other words, on MPI_Finalize. This should fix several issues + that users see when they forget to close HDF5 objects before + calling MPI_Finalize(). (MSC - 2015/02/25, HDFFV-883) - + Tools ----- - None @@ -3206,19 +3812,19 @@ New Features Fortran API ----------- - - Added Global Variables - - These new global variables are equivalent to the C definitions + - Added Global Variables + + These new global variables are equivalent to the C definitions without the '_F': - - H5G_UDLINK_F + + H5G_UDLINK_F H5G_SAME_LOC_F H5O_TYPE_UNKNOWN_F H5O_TYPE_GROUP_F H5O_TYPE_DATASET_F H5O_NAMED_DATATYPE_F H5O_TYPE_NTYPES_F - + (MSB - 2015/02/03, HDFFV-9040) @@ -3226,7 +3832,7 @@ New Features ------- - New Wrappers for C Functions H5P[s/g]et_libver_bounds - Wrappers were added to class H5::FileAccPropList for the + Wrappers were added to class H5::FileAccPropList for the C Functions H5Pget_libver_bounds and H5Pset_libver_bounds. (BMR, 2015/04/06, Part of HDFFV-9167) @@ -3236,7 +3842,7 @@ New Features The following wrappers are added to class H5::CommonFG Returns the object header version of an object in a file or group, given the object's name. - + unsigned childObjVersion(const char* objname) const; unsigned childObjVersion(const H5std_string& objname) const; @@ -3245,7 +3851,7 @@ New Features - New DataType Constructor Added a DataType constructor that takes a PredType object, and this - constructor will invoke H5Tcopy to generate another datatype id + constructor will invoke H5Tcopy to generate another datatype id from a predefined datatype. (BMR, 2015/04/06) @@ -3253,7 +3859,7 @@ New Features Support for New Platforms, Languages, and Compilers =================================================== - - Support for Linux 3.10.0-123.20.1.el7 added (LK - 2015/04/01) + - Support for Linux 3.10.0-123.20.1.el7 added (LK - 2015/04/01) - Support for Mac OS X Yosemite 10.10 added (AKC - 2015/03/04, HDFFV-9007) - Support for AIX 6.1 added and AIX 5.3 is retired. (AKC - 2015/01/09) @@ -3267,19 +3873,19 @@ Bug Fixes since HDF5-1.8.14 Fixed by assign it with the proper value. - (AKC - 2015/04/29, HDFFV-9298) + (AKC - 2015/04/29, HDFFV-9298) - Windows Installer Incorrect Display of PATH Environment Variable - + In the Windows installer, the dialog box where the user can elect to add the product's bin path to the %PATH% environment variable displayed an incorrect path. This path was missing the C:\Program Files part and used the POSIX file separator '/' before the bin (<path>/bin, instead of <path>\bin). - + The dialog box text was changed to simply say that the product's bin path would be added instead of explicitly displaying the path. - This is in line with most installers. The reason for not fixing the + This is in line with most installers. The reason for not fixing the displayed path instead is that it is difficult to pass the correct path from CPack to the NSIS installer for display. @@ -3292,34 +3898,34 @@ Bug Fixes since HDF5-1.8.14 Library ------- - Incorrect Usage of List in CMake COMPILE_DEFINITIONS set_property - + The CMake command set_property with COMPILE_DEFINITIONS property needs a quoted semi-colon separated list of values. CMake will transform the list to a series of -D{value} for the compile. - + (ADB - 2014/12/09, HDFV-9041) - + - Fixed Compile Errors on Windows w/ Visual Studio and CMake When UNICODE is Defined - + The HDF5 Library could not be built on Windows with Visual Studio when - UNICODE was defined. This was due to the incorrect use of the TEXT() + UNICODE was defined. This was due to the incorrect use of the TEXT() macro and some Win32 API functions that take TCHAR parameters. The faulty code was a part of the filter plugin functionality. This was a compile-time error that only affected users who build HDF5 from source and define UNICODE, usually when HDF5 is being built as a part of a larger product. There were no run-time effects. - + These errors caused no problems when UNICODE was not defined. HDF5 is normally not built with UNICODE defined and the binaries were unaffected. - + The fix was to remove the TEXT() macro and explicitly use the 'A' form of the Win32 API calls, which expect char strings instead of wchar_t strings. - + Note that HDF5 currently does not support Unicode file paths on Windows. - + (DER - 2015/02/22, HDFFV-8927) - Addition of Error Tracing Functionality to Several C API Calls @@ -3335,11 +3941,11 @@ Bug Fixes since HDF5-1.8.14 - H5Rdereference Now Checks for HADDR_UNDEF or Uninitialized References - When passed HADDR_UNDEF or uninitialized references, the previous - behavior of H5Rdereference was to continue to process the reference - as a valid address. - - H5Rdereference was changed to return immediately (with an error + When passed HADDR_UNDEF or uninitialized references, the previous + behavior of H5Rdereference was to continue to process the reference + as a valid address. + + H5Rdereference was changed to return immediately (with an error message) if the references are HADDR_UNDEF or uninitialized. (MSB - 2015/3/10, HDFFV-7959) @@ -3357,19 +3963,19 @@ Bug Fixes since HDF5-1.8.14 Parallel Library ---------------- - Fixed a Potential Memory Error - - Fixed a potential memory error when performing parallel I/O on a - dataset with a single chunk, and at least one process has nothing + + Fixed a potential memory error when performing parallel I/O on a + dataset with a single chunk, and at least one process has nothing to do. - + (NAF - 2015/02/16) - Parallel Test Problem Fixed - + Fixed problem with parallel tests where they failed beyond a certain number of ranks. All tests should work for any arbitrary - number of ranks. - + number of ranks. + (MSC - 2014/11/06, HDFFV-1027,8962,8963) - MPE Support @@ -3378,7 +3984,7 @@ Bug Fixes since HDF5-1.8.14 dropped at some point in time. Fixed problem with enabling MPE. Users should use the community - maintained MPE on github (http://git.mpich.org/mpe.git/). + maintained MPE on github (http://git.mpich.org/mpe.git/). (MSC - 2015/02/20, HDFFV-9135) @@ -3414,28 +4020,28 @@ Bug Fixes since HDF5-1.8.14 - Source perform/ directory moved to tools/perform. The perform directory is moved to tools/perform for easier maintenance. (AKC - 2014/12/17, HDFFV-9046) - + Fortran API ------------ - Fortran Fails with --enable-fortran2003 and Intel 15.x Compilers - - Added BIND(C) to the offending APIs. - The Fortran Library (--enable-fortran2003) now works using Intel 15.x - without the need for any additional compilers flags. - + Added BIND(C) to the offending APIs. + + The Fortran Library (--enable-fortran2003) now works using Intel 15.x + without the need for any additional compilers flags. + (MSB - 2015/1/26, HDFFV-9049) - - h5tenum_insert_f Does Not Work with Default 8 Byte Integers + - h5tenum_insert_f Does Not Work with Default 8 Byte Integers (xlf compiler) - - In the Fortran 90 API, 'value' is no longer cast into the C int type. - Therefore, if h5tenum_insert_f is passed an 8 byte integer (via -i8) - then 'value' is written as the same type as the default Fortran + + In the Fortran 90 API, 'value' is no longer cast into the C int type. + Therefore, if h5tenum_insert_f is passed an 8 byte integer (via -i8) + then 'value' is written as the same type as the default Fortran integer type (which can be 8 bytes). - - A new Fortran 2003 API was added which is more in line with the C - API and users are strongly encouraged to use the Fortran 2003 API + + A new Fortran 2003 API was added which is more in line with the C + API and users are strongly encouraged to use the Fortran 2003 API instead of the Fortran 90 API. SUBROUTINE h5tenum_insert_f(type_id, name, value, hdferr) @@ -3447,29 +4053,29 @@ Bug Fixes since HDF5-1.8.14 (MSB - 2015/2/19, HDFFV-8908) - Some Fortran APIs Never Returned the Error State - - Some Fortran APIs never returned the error state: they - would always return a positive number. The APIs include + + Some Fortran APIs never returned the error state: they + would always return a positive number. The APIs include the following: - + h5fget_file_image_f h5lget_name_by_idx_f h5oget_comment_by_name_f - They were corrected to return a negative number as described in - the Reference Manual if an error occurred. + They were corrected to return a negative number as described in + the Reference Manual if an error occurred. (MSB - 2015/3/19, HDF5-239) - - Fixed h5pget_class_f + - Fixed h5pget_class_f - h5pget_class_f never correlated the class identifier to the property - list class name as indicated in the HDF5 Reference Manual; it instead - returned a property list class identifier as an INTEGER. The INTEGER + h5pget_class_f never correlated the class identifier to the property + list class name as indicated in the HDF5 Reference Manual; it instead + returned a property list class identifier as an INTEGER. The INTEGER needed to be of type INTEGER(HID_T) to be correct. - The h5pget_class_f API was changed to return an INTEGER(HID_T) - property list class identifier instead of an INTEGER. This mimics the + The h5pget_class_f API was changed to return an INTEGER(HID_T) + property list class identifier instead of an INTEGER. This mimics the intended behavior of the C API. (MSB - 2015/3/16, HDFFV5-9162) @@ -3479,12 +4085,12 @@ Bug Fixes since HDF5-1.8.14 - Combined Two H5File::getObjCount Overloaded Methods The following two methods - + ssize_t getObjCount(unsigned types) const; ssize_t getObjCount() const; - + were combined into one: - + ssize_t getObjCount(unsigned types = H5F_OBJ_ALL) const; (BMR - 2015/04/06) @@ -3492,7 +4098,7 @@ Bug Fixes since HDF5-1.8.14 - Many Warnings Were Removed Many warnings such as conversion, unused variables, missing base - class initialization, and initializing base classes in wrong order + class initialization, and initializing base classes in wrong order were removed. (BMR, 2015/04/06) @@ -3503,10 +4109,10 @@ Bug Fixes since HDF5-1.8.14 H5Location, and H5Object are no longer appropriate after the data member "id" had been moved from IdComponent to the sub-classes in previous releases. - + <Classname>(const hid_t h5_id); <Classname>(const <Classname>& original); - + The copy constructors were no-op and removed in 1.8.15. The other constructors will be removed from 1.10 release, and then from 1.8.17 if their removal does not cause any problems. @@ -3530,39 +4136,39 @@ Bug Fixes since HDF5-1.8.14 (MSB - 2015/2/14, HDFFV-8685) - + - H5PTcreate_fl Does Not Convert to Memory Datatype - H5PTcreate_fl now converts to the table's native memory datatype + H5PTcreate_fl now converts to the table's native memory datatype to fix the problem of handling BE and LE packet tables. (MSB - 2015/2/26 - HDFFV-9042) - Fix for H5LT Attribute Functions - - H5LT attribute functions fail to create attributes whose name + + H5LT attribute functions fail to create attributes whose name is a substring of an existing attribute. - H5LT attribute functions can now create attributes whose name + H5LT attribute functions can now create attributes whose name is a substring of an existing attribute. (MSB - 2015/2/24, HDFFV-9132) - + Fortran High-Level APIs: ------------------------ - Internal Library Fix for Missing Argument Declaration - - In Interface block for h5tbmake_table_c, "max_char_size_field_names" - is listed as an input, but in the argument definitions it is - "INTEGER :: max_char_size". This caused no known problems with the + + In Interface block for h5tbmake_table_c, "max_char_size_field_names" + is listed as an input, but in the argument definitions it is + "INTEGER :: max_char_size". This caused no known problems with the Fortran HL API. Fixed missing argument definition. - + (MSB - 2015/2/18, HDFFV-8559) - + Testing ------- @@ -3593,17 +4199,17 @@ They are built with the configure process unless specified otherwise. #1 SMP x86_64 GNU/Linux compilers for 64-bit applications; (koala) Version 4.1.2 20080704 (Red Hat 4.1.2-55) Version 4.8.4, 4.9.2 - Intel(R) C, C++, Fortran Compilers for - applications running on Intel(R) 64; + Intel(R) C, C++, Fortran Compilers for + applications running on Intel(R) 64; Version 15.0.1.133 Build 20141023 Linux 2.6.32-431.11.2.el6 GNU C (gcc), Fortran (gfortran), C++ (g++) #1 SMP x86_64 GNU/Linux compilers: (platypus) Version 4.4.7 20120313 Version 4.8.2, Version 4.9.2 - PGI C, Fortran, C++ for 64-bit target on + PGI C, Fortran, C++ for 64-bit target on x86-64; - Version 14.10-0 + Version 14.10-0 Intel(R) C (icc), C++ (icpc), Fortran (icc) compilers: Version 15.0.1.133 Build 20141023 @@ -3612,7 +4218,7 @@ They are built with the configure process unless specified otherwise. #1 SMP x86_64 GNU/Linux compilers: (moohan) Version 4.8.2 20140120 (Red Hat 4.8.2-16) Intel(R) C Intel(R) 64 Compiler XE for - applications running on Intel(R) 64, + applications running on Intel(R) 64, Version 15.0.1.133 Build 20141023 Linux 2.6.32-431.29.2.el6.ppc64 gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-4) @@ -3636,7 +4242,7 @@ They are built with the configure process unless specified otherwise. Visual Studio 2010 w/ Intel Fortran 14 (cmake) Visual Studio 2012 w/ Intel Fortran 15 (cmake) Visual Studio 2013 w/ Intel Fortran 15 (cmake) - + Windows 8.1 Visual Studio 2012 w/ Intel Fortran 15 (cmake) Visual Studio 2013 w/ Intel Fortran 15 (cmake) @@ -3644,15 +4250,15 @@ They are built with the configure process unless specified otherwise. Visual Studio 2013 w/ Intel Fortran 15 (cmake) Mac OS X Mt. Lion 10.8.5 Apple clang/clang++ version 5.1 from Xcode 5.1 - 64-bit gfortran GNU Fortran (GCC) 4.8.2 + 64-bit gfortran GNU Fortran (GCC) 4.8.2 (swallow/kite) Intel icc/icpc/ifort version 14.0.2 Mac OS X Mavericks 10.9.5 Apple clang/clang++ version 6.0 from Xcode 6.1.1 - 64-bit gfortran GNU Fortran (GCC) 4.8.2 + 64-bit gfortran GNU Fortran (GCC) 4.8.2 (wren/quail) Intel icc/icpc/ifort version 14.0.2 Mac OS X Yosemite 10.10.2 Apple clang/clang++ version 6.0 from Xcode 6.1.1 - 64-bit gfortran GNU Fortran (GCC) 4.9.2 + 64-bit gfortran GNU Fortran (GCC) 4.9.2 (osx1010dev/osx1010test) Intel icc/icpc/ifort version 15.0.1 @@ -3660,14 +4266,14 @@ Tested Configuration Features Summary ===================================== In the tables below - y = tested + 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 + <blank> = testing incomplete on this feature or platform Platform C F90/ F90 C++ zlib SZIP parallel F2003 parallel @@ -3675,7 +4281,7 @@ SunOS 5.11 32-bit n y/y n y y y SunOS 5.11 64-bit n y/y n y y y Windows 7 y y/y n y y y Windows 7 x64 y y/y n y y y -Windows 7 Cygwin n y/y n y y n +Windows 7 Cygwin n y/y n y y n Windows 8.1 n y/y n y y y Windows 8.1 x64 n y/y n y y y Mac OS X Mountain Lion 10.8.5 64-bit n y/y n y y y @@ -3694,30 +4300,30 @@ CentOS 7.0 Linux 3.10.0 x86_64 GNU y y/y y y y y CentOS 7.0 Linux 3.10.0 x86_64 Intel n y/y n y y y Linux 2.6.32-431.11.2.el6.ppc64 n y/n n y y y -Platform Shared Shared Shared Thread- - C libs F90 libs C++ libs safe -SunOS 5.11 32-bit y y y y -SunOS 5.11 64-bit y y y y +Platform Shared Shared Shared Thread- + C libs F90 libs C++ libs safe +SunOS 5.11 32-bit y y y y +SunOS 5.11 64-bit y y y y Windows 7 y y y y Windows 7 x64 y y y y Windows 7 Cygwin n n n y Windows 8.1 y y y y Windows 8.1 x64 y y y y -Mac OS X Mountain Lion 10.8.5 64-bit y n y y +Mac OS X Mountain Lion 10.8.5 64-bit y n y y Mac OS X Mavericks 10.9.5 64-bit y n y y Mac OS X Yosemeti 10.10.2 64-bit y n y y -AIX 6.1 32- and 64-bit y n n y -CentOS 5.9 Linux 2.6.18-308 i686 GNU y y y y -CentOS 5.9 Linux 2.6.18-308 i686 Intel y y y n -CentOS 5.9 Linux 2.6.18-308 i686 PGI y y y n -CentOS 5.9 Linux 2.6.18 x86_64 GNU y y y y -CentOS 5.9 Linux 2.6.18 x86_64 Intel y y y n +AIX 6.1 32- and 64-bit y n n y +CentOS 5.9 Linux 2.6.18-308 i686 GNU y y y y +CentOS 5.9 Linux 2.6.18-308 i686 Intel y y y n +CentOS 5.9 Linux 2.6.18-308 i686 PGI y y y n +CentOS 5.9 Linux 2.6.18 x86_64 GNU y y y y +CentOS 5.9 Linux 2.6.18 x86_64 Intel y y y n CentOS 6.4 Linux 2.6.32 x86_64 GNU y y y n CentOS 6.4 Linux 2.6.32 x86_64 Intel y y y n -CentOS 6.4 Linux 2.6.32 x86_64 PGI y y y n +CentOS 6.4 Linux 2.6.32 x86_64 PGI y y y n CentOS 7.0 Linux 3.10.0 x86_64 GNU y y y n CentOS 7.0 Linux 3.10.0 x86_64 Intel y y y n -Linux 2.6.32-431.11.2.el6.ppc64 y y y n +Linux 2.6.32-431.11.2.el6.ppc64 y y y n Compiler versions for each platform are listed in the preceding "Supported Platforms" table. @@ -3733,7 +4339,7 @@ The following platforms are not supported but have been tested for this release. Linux 2.6.18-431.11.2.el6 MPICH mpich 3.1.3 compiled with #1 SMP x86_64 GNU/Linux gcc 4.9.2 and gfortran 4.9.2 - (platypus) g95 (GCC 4.0.3 (g95 0.94!) + (platypus) g95 (GCC 4.0.3 (g95 0.94!) FreeBSD 8.2-STABLE i386 gcc 4.5.4 [FreeBSD] 20110526 (loyalty) gcc 4.6.1 20110527 @@ -3764,7 +4370,7 @@ The following platforms are not supported but have been tested for this release. gcc (Ubuntu/Linaro 4.9.1-0ubuntu1) 4.9.1 GNU Fortran (Ubuntu/Linaro 4.9.1-0ubuntu1) 4.9.1 (cmake and autotools) - + hopper.nersc.gov PrgEnv-gnu/5.2.40 gcc (GCC) 4.9.2 20141030 (Cray Inc.) GNU Fortran (GCC) 4.9.2 20141030 (Cray Inc.) @@ -3774,7 +4380,7 @@ The following platforms are not supported but have been tested for this release. 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 + 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) @@ -3798,7 +4404,7 @@ Known Problems 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 @@ -3825,7 +4431,7 @@ Known Problems 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 + 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) @@ -3833,15 +4439,15 @@ Known Problems 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 + (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 + tests fail. the issue. HL and C++ shared libraries should now be working as intended, however. (MAM - 2011/04/20) @@ -3863,32 +4469,32 @@ Known Problems 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 + 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 + 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 + +* 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 + 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. + 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) -%%%%1.8.14%%%% +%%%%1.8.14%%%% HDF5 version 1.8.14 released on 2014-11-12 @@ -3897,11 +4503,11 @@ HDF5 version 1.8.14 released on 2014-11-12 INTRODUCTION ============ -This document describes the differences between HDF5-1.8.13 and -HDF5-1.8.14, and contains information on the platforms tested and -known problems in HDF5-1.8.14. +This document describes the differences between HDF5-1.8.13 and +HDF5-1.8.14, and contains information on the platforms tested and +known problems in HDF5-1.8.14. -All new and modified APIs are listed in the "HDF5 Software Changes +All new and modified APIs are listed in the "HDF5 Software Changes from Release to Release" document along with details about previous releases at: @@ -3916,7 +4522,7 @@ The HDF5 1.8.14 release can be obtained from: http://www.hdfgroup.org/HDF5/release/obtain5.html -User documentation for 1.8.14 can be accessed directly at this location: +User documentation for 1.8.14 can be accessed directly at this location: http://www.hdfgroup.org/HDF5/doc/ @@ -3945,7 +4551,7 @@ New Features - bin/cmakehdf5 configures, builds and installs C, C++, Fortran and High level API's. (It used to build the C API only). (AKC 2014/10/17 HDFFV-8932). - + Library ------- - None @@ -3953,17 +4559,17 @@ New Features Parallel Library ---------------- - Chunk Fill Writes Changed to Collective - - Slow performance in chunk fill writes. Chunk fills - in the past were written independently by rank 0 one block - at a time. - - Optimized the chunk fill write algorithm so that all - chunk fill values will be written collectively in a single MPI-IO - call. This should show a great performance improvement when - creating chunked datasets in parallel when the chunk dimensions + + Slow performance in chunk fill writes. Chunk fills + in the past were written independently by rank 0 one block + at a time. + + Optimized the chunk fill write algorithm so that all + chunk fill values will be written collectively in a single MPI-IO + call. This should show a great performance improvement when + creating chunked datasets in parallel when the chunk dimensions are fairly small. - + (MSC - 2014/08/22, HDFFV-8878) Tools @@ -3985,7 +4591,7 @@ New Features The data member "id" in classes that represent HDF5 objects were initialized to 0, which caused problem for some users. - Replaced 0 with H5I_INVALID_HID to initialize these "id"s. For the + Replaced 0 with H5I_INVALID_HID to initialize these "id"s. For the PropList class, H5P_DEFAULT is used instead of H5I_INVALID_HID. (BMR - 2014/09/30, HDFFV-4259) @@ -3994,7 +4600,7 @@ New Features Support for New Platforms, Languages, and Compilers =================================================== - - None + - None Bug Fixes since HDF5-1.8.13 =========================== @@ -4002,26 +4608,26 @@ Bug Fixes since HDF5-1.8.13 Configuration ------------- - CMake and SVN URLs - + The SVN URLs will be different when the HDF Group domain name changes. - + Removed the SVN URL references in the cacheinit.cmake and release_docs files. - + (ADB - 2014/10/27, HDFFV-8953) - CMake Packaging - + A Fortran module was not generated if the compiler was not F2003 compliant. - + Removed the module name from the package list of Fortran modules because that module was never generated. This was only an issue for Fortran compliers that are not F2003 compatible. - + (ADB - 2014/10/16, HDFFV-8932) - Shared Library Interface Version Number (soname) - + In order to increase the maintainability of HDF5, an architectural change was made which required the renaming of several public symbols in H5Ppublic.h. @@ -4032,71 +4638,71 @@ Bug Fixes since HDF5-1.8.13 the 'HDF5 Software Changes from Release to Release' document: http://www.hdfgroup.org/HDF5/doc/ADGuide/Changes.html - + (AKC - 2014/10/03, HDFFV-8937) - - Configure Settings for Mac OSX Need Defaults for PROD_XXX, DEBUG_XXX, + - Configure Settings for Mac OSX Need Defaults for PROD_XXX, DEBUG_XXX, and PROFILE_XXX - - The configure setting files for Mac OSX (config/apple) did not - have the default settings of PROD_XXX, DEBUG_XXX, PROFILE_XXX. - - Added the default settings. Mac platforms now builds library with - "-O3" optimization when the default clang compiler is used. - + + The configure setting files for Mac OSX (config/apple) did not + have the default settings of PROD_XXX, DEBUG_XXX, PROFILE_XXX. + + Added the default settings. Mac platforms now builds library with + "-O3" optimization when the default clang compiler is used. + (AKC - 2014/10/01, HDFFV-8933) - CMake ConfigureChecks - + Two include files were missing from two C tests. - + Propagated the configure test changes to H5_LDOUBLE_TO_INTEGER_WORKS_TEST and H5_ULLONG_TO_LDOUBLE_PRECISION_TEST to ConfigureChecks.cmake (added stdlib.h and string.h in the HDFTests.c file). - + (ADB - 2014/09/02 HDFFV-8845) - + - CMake Parallel Test Missing - - The source file was removed in the previous release but the parallel + + The source file was removed in the previous release but the parallel test t_posix_compliant was not. - - Removed the t_posix_compliant parallel test from the library. - + + Removed the t_posix_compliant parallel test from the library. + (ADB - 2014/8/14 HDFFV-8880) - Autotools Reconfigure. Bison. Flex. - - The Bison and Flex files were out of date. - - Bison was upgraded to 2.7, and Flex was upgraded to 2.5.37. The - bin/reconfigure script now will execute Bison and Flex and update - the hl/src files. - + + The Bison and Flex files were out of date. + + Bison was upgraded to 2.7, and Flex was upgraded to 2.5.37. The + bin/reconfigure script now will execute Bison and Flex and update + the hl/src files. + (ADB - 2014/06/16 HDFFV-8709) - Autotools Reconfigure. m4. The m4 macro processor was out of date. - - Reconfigured Autotools with m4 upgraded to 1.4.17. - + + Reconfigured Autotools with m4 upgraded to 1.4.17. + (ADB - 2014/06/12 HDFFV-8743) - - - Autotools: Modified configure to add an entry at the beginning of AM_LDFLAGS - for the hdf5 install directory. Without this entry the relink commands - invoked by "make install" to create libraries dependent on libhdf5.so added - a dependency on the first libhdf5.so found in any directory in AM_LDFLAGS + + - Autotools: Modified configure to add an entry at the beginning of AM_LDFLAGS + for the hdf5 install directory. Without this entry the relink commands + invoked by "make install" to create libraries dependent on libhdf5.so added + a dependency on the first libhdf5.so found in any directory in AM_LDFLAGS regardless of its version. (LRK - 2014/10/17 HDFFV-8944) - Changed Autotools Build Behavior. Fortran High-level Library. - The Fortran high-level (HL) library did not compile if the default - size of a REAL is DOUBLE PRECISION; the build would fail during + The Fortran high-level (HL) library did not compile if the default + size of a REAL is DOUBLE PRECISION; the build would fail during compilation. - Configure now checks to see if REAL is DOUBLE PRECISION, Fortran is - enabled, and HL library is enabled. If this is true, then configure + Configure now checks to see if REAL is DOUBLE PRECISION, Fortran is + enabled, and HL library is enabled. If this is true, then configure will stop with an error message. (MSB - 2014/8/11, HDFFV-8883/HDFFV-889) @@ -4106,36 +4712,36 @@ Bug Fixes since HDF5-1.8.13 Library ------- - Fixed Identifier Management Code - - Opening an object returns an identifier; closing the object should - free up the identifier. A problem was found where the identifiers + + Opening an object returns an identifier; closing the object should + free up the identifier. A problem was found where the identifiers were not being freed up correctly. - - Fixed the problem so that identifiers that have been used can be + + Fixed the problem so that identifiers that have been used can be used again after their object has been closed. - + (QAK - 2014/10/16, HDFFV-8930) - - Removal of DllMain() from Static Windows Builds + - Removal of DllMain() from Static Windows Builds - A DllMain() function was added in HDF5 1.8.13 in order to handle - win32 thread cleanup. The preprocessor #ifdefs around the DllMain - function allowed it to be compiled when the static library is built, - which is incorrect behavior that can cause linkage problems in + A DllMain() function was added in HDF5 1.8.13 in order to handle + win32 thread cleanup. The preprocessor #ifdefs around the DllMain + function allowed it to be compiled when the static library is built, + which is incorrect behavior that can cause linkage problems in clients. - The fix was to change the preprocessor #ifdefs to exclude compiling - DllMain() in static builds. Our DllMain function is now only + The fix was to change the preprocessor #ifdefs to exclude compiling + DllMain() in static builds. Our DllMain function is now only compiled when the shared, thread-safe library is built on Windows. (DER - 2014/06/13, HDFFV-8837) - Enforce Constraint on page_size Parameter in H5Pset_core_write_tracking() - The reference manual states that the page_size parameter cannot be + The reference manual states that the page_size parameter cannot be zero. - This change checks the page_size parameter to see it is zero and + This change checks the page_size parameter to see it is zero and returns an error code if it is. (DER - 2014/08/11, HDFFV-8891) @@ -4144,31 +4750,31 @@ Bug Fixes since HDF5-1.8.13 (MSC - 2014/07/31, HDFFV-8888) - H5Ldelete_by_idx() Seg Fault on Non-existent Group Name - - If a non-existent group name was used by H5Ldelete_by_idx(), a - segmentation fault would result. - + + If a non-existent group name was used by H5Ldelete_by_idx(), a + segmentation fault would result. + Bug was fixed. - + (MSC - 2014/07/31, HDFFV-8888) - Bug in Test When Building Parallel HDF5 on PVFS2 - + There was a bug in a test when building Parallel HDF5 on PVFS2. - + The build now uses MPI_File_get_size() instead of stat(). - + (MSC - 2014/07/14, HDFFV-8856) - MPI-IO Driver Tried to Allocate Space for Zero-length Dataset - + MPI-IO driver tried to allocate space for zero-length dataset - and asserts. - + and asserts. + Fixed driver and added a regression test. - + (MSC - 2014/07/03, HDFFV-8761) - + Parallel Library ---------------- @@ -4184,48 +4790,48 @@ Bug Fixes since HDF5-1.8.13 Fortran API ------- - - SIZEOF Replaced by C_SIZEOF and STORAGE_SIZE. - - The intrinsic function SIZEOF is non-standard and should be replaced with a + - SIZEOF Replaced by C_SIZEOF and STORAGE_SIZE. + + The intrinsic function SIZEOF is non-standard and should be replaced with a standard intrinsic function. - If the F2008 intrinsic C_SIZEOF and STORAGE_SIZE are available, then they will - be used instead of the non-standard SIZEOF intrinsic, even when the SIZEOF + If the F2008 intrinsic C_SIZEOF and STORAGE_SIZE are available, then they will + be used instead of the non-standard SIZEOF intrinsic, even when the SIZEOF function is available. (MSB - 2014/6/16, HDFFV-8653) - Non-functional API: h5pget_fill_value_f - + The Fortran wrapper h5pget_fill_value_f was calling the wrong C API. - The correct C API, H5Pget_fill_value, is now called by the Fortran + The correct C API, H5Pget_fill_value, is now called by the Fortran wrapper. (MSB - 2014/9/25, HDFFV-8879) - Interoperability with C HDF5: H5Literate and h5literate_f - h5literate_f assumes the return value for the callback function to - be of type int (or int_f in C). However, in the C wrapper the return - value of H5Literate is type herr_t, and this could cause + h5literate_f assumes the return value for the callback function to + be of type int (or int_f in C). However, in the C wrapper the return + value of H5Literate is type herr_t, and this could cause interoperability issues. - The callback function should be declared INTEGER(C_INT) for + The callback function should be declared INTEGER(C_INT) for portability. The tests were updated accordingly. (MSB - 2014/9/26, HDFFV-8909) - - Interoperability with C HDF5: Constant INTEGER Parameters with the + - Interoperability with C HDF5: Constant INTEGER Parameters with the H5FD Interface Wrong type cast of constant Fortran INTEGER parameters was used. - The following parameter constant types were changed from INTEGER to - INTEGER(HID_T) to match the C types: H5FD_CORE, H5FD_FAMILY, H5FD_LOG, + The following parameter constant types were changed from INTEGER to + INTEGER(HID_T) to match the C types: H5FD_CORE, H5FD_FAMILY, H5FD_LOG, H5FD_MPIO, H5FD_MULTI, H5FD_SEC2, and H5FD_STDIO. - Other internal 'int' types where changed to 'hid_t'; these are + Other internal 'int' types where changed to 'hid_t'; these are transparent to the user. (MSB - 2014/7/18, HDFFV-8748) @@ -4242,7 +4848,7 @@ Bug Fixes since HDF5-1.8.13 (BMR - 2014/09/30, HDFFV-8928) - Disallow H5F_ACC_CREAT - + H5F_ACC_CREAT was included in the C++ API but the C library does not allow it at this time. @@ -4252,10 +4858,10 @@ Bug Fixes since HDF5-1.8.13 - Missing Flags in Documentation: H5F_ACC_RDONLY and H5F_ACC_RDWR - The H5F_ACC_RDONLY and H5F_ACC_RDWR flags were missing from the + The H5F_ACC_RDONLY and H5F_ACC_RDWR flags were missing from the documentation of the H5File constructors. - These two flags are now included in the documentation for opening + These two flags are now included in the documentation for opening files. (BMR - 2014/09/29, HDFFV-8852) @@ -4264,12 +4870,12 @@ Bug Fixes since HDF5-1.8.13 ------ - Seg Faults in H5TBread_field_name and H5TBread_field_name_f - When H5TBread_field_name or H5TBread_field_name_f were used to read a - field and if the name of the field was wrong, a segmentation fault + When H5TBread_field_name or H5TBread_field_name_f were used to read a + field and if the name of the field was wrong, a segmentation fault would result. - Both C and Fortran APIs were fixed so they no longer seg fault if - the name of the field is wrong, and both APIs return a negative + Both C and Fortran APIs were fixed so they no longer seg fault if + the name of the field is wrong, and both APIs return a negative value if the name of the field is wrong. (MSB - 2014/09/29, HDFFV-8912) @@ -4277,25 +4883,25 @@ Bug Fixes since HDF5-1.8.13 - Possible Buffer Overflow in High-level (HL) APIs Multiple HL APIs (H5DSis_scale is one example) had issues: - (1) The datatype from the file was re-used as the memory datatype, + (1) The datatype from the file was re-used as the memory datatype, and - (2) No effort was made to ensure that strings were actually + (2) No effort was made to ensure that strings were actually null-terminated. - - All of the HL routines now check for NULL pointers, for null-terminated - strings, and to see if string buffers are short enough not to overflow - the buffer. The minimum length of the buffers is now used in strncmp + + All of the HL routines now check for NULL pointers, for null-terminated + strings, and to see if string buffers are short enough not to overflow + the buffer. The minimum length of the buffers is now used in strncmp to avoid overflow. (MSB - 2014/9/29, HDFFV-8670) - Behavior Change of H5LTdtype_to_text - If a user buffer was passed in to H5LTdtype_to_text along with the - length, then the function would not truncate at the end of the + If a user buffer was passed in to H5LTdtype_to_text along with the + length, then the function would not truncate at the end of the buffer, but would exceed the end of the user buffer. - H5LTdtype_to_text was changed to truncate the string if the user + H5LTdtype_to_text was changed to truncate the string if the user buffer is too small. (MSB - 2014/9/29, HDFFV-8855) @@ -4315,7 +4921,7 @@ Bug Fixes since HDF5-1.8.13 used by several test programs. (AKC - 2014/07/22 HDFFV-8881) - Fixed Incorrect Exit Code Values in Testframe - The testframe which is commonly used by several test programs + The testframe which is commonly used by several test programs had some incorrect exit code values. Fixed the incorrect exit code values. (AKC - 2014/07/22, HDFFV-8881) @@ -4343,17 +4949,17 @@ They are built with the configure process unless specified otherwise. #1 SMP x86_64 GNU/Linux compilers for 64-bit applications; (koala) Version 4.1.2 20080704 (Red Hat 4.1.2-54) Version 4.8.2 - Intel(R) C, C++, Fortran Compilers for - applications running on Intel(R) 64; + Intel(R) C, C++, Fortran Compilers for + applications running on Intel(R) 64; Version 14.0.2 (Build 20140120) Linux 2.6.32-431.11.2.el6 GNU C (gcc), Fortran (gfortran), C++ (g++) #1 SMP x86_64 GNU/Linux compilers: (platypus) Version 4.4.7 20120313 Version 4.8.2 - PGI C, Fortran, C++ for 64-bit target on + PGI C, Fortran, C++ for 64-bit target on x86-64; - Version 13.7-0 + Version 13.7-0 Intel(R) C (icc), C++ (icpc), Fortran (icc) compilers: Version 14.0.2 (Build 20140120) @@ -4379,7 +4985,7 @@ They are built with the configure process unless specified otherwise. Visual Studio 2010 w/ Intel Fortran 14 (cmake) Visual Studio 2012 w/ Intel Fortran 14 (cmake) Visual Studio 2013 w/ Intel Fortran 14 (cmake) - + Windows 8.1 Visual Studio 2012 w/ Intel Fortran 14 (cmake) Visual Studio 2013 w/ Intel Fortran 14 (cmake) @@ -4391,11 +4997,11 @@ They are built with the configure process unless specified otherwise. (duck) Intel icc/icpc/ifort version 13.0.3 Mac OS X Mt. Lion 10.8.5 Apple clang/clang++ version 5.1 from Xcode 5.1 - 64-bit gfortran GNU Fortran (GCC) 4.8.2 + 64-bit gfortran GNU Fortran (GCC) 4.8.2 (swallow/kite) Intel icc/icpc/ifort version 14.0.2 Mac OS X Mavericks 10.9.5 Apple clang/clang++ version 6.0 from Xcode 6.0.1 - 64-bit gfortran GNU Fortran (GCC) 4.8.2 + 64-bit gfortran GNU Fortran (GCC) 4.8.2 (wren) Intel icc/icpc/ifort version 14.0.2 @@ -4403,14 +5009,14 @@ Tested Configuration Features Summary ===================================== In the tables below - y = tested + 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 + <blank> = testing incomplete on this feature or platform Platform C F90/ F90 C++ zlib SZIP parallel F2003 parallel @@ -4418,7 +5024,7 @@ Solaris2.11 32-bit n y/y n y y y Solaris2.11 64-bit n y/y n y y y Windows 7 y y/y n y y y Windows 7 x64 y y/y n y y y -Windows 7 Cygwin n y/y n y y n +Windows 7 Cygwin n y/y n y y n Windows 8.1 n y/y n y y y Windows 8.1 x64 n y/y n y y y Mac OS X Lion 10.7.5 64-bit n y/y n y y y @@ -4435,28 +5041,28 @@ CentOS 6.4 Linux 2.6.32 x86_64 Intel n y/y n y y y CentOS 6.4 Linux 2.6.32 x86_64 PGI n y/y n y y y Linux 2.6.32-431.11.2.el6.ppc64 n y/n n y y y -Platform Shared Shared Shared Thread- - C libs F90 libs C++ libs safe -Solaris2.11 32-bit y y y y -Solaris2.11 64-bit y y y y +Platform Shared Shared Shared Thread- + C libs F90 libs C++ libs safe +Solaris2.11 32-bit y y y y +Solaris2.11 64-bit y y y y Windows 7 y y y y Windows 7 x64 y y y y Windows 7 Cygwin n n n y Windows 8.1 y y y y Windows 8.1 x64 y y y y -Mac OS X Lion 10.7.5 64-bit y n y y -Mac OS X Mountain Lion 10.8.5 64-bit y n y y +Mac OS X Lion 10.7.5 64-bit y n y y +Mac OS X Mountain Lion 10.8.5 64-bit y n y y Mac OS X Mavericks 10.9.5 64-bit y n y y -AIX 5.3 32- and 64-bit y n n y -CentOS 5.9 Linux 2.6.18-308 i686 GNU y y y y -CentOS 5.9 Linux 2.6.18-308 i686 Intel y y y n -CentOS 5.9 Linux 2.6.18-308 i686 PGI y y y n -CentOS 5.9 Linux 2.6.18 x86_64 GNU y y y y -CentOS 5.9 Linux 2.6.18 x86_64 Intel y y y n +AIX 5.3 32- and 64-bit y n n y +CentOS 5.9 Linux 2.6.18-308 i686 GNU y y y y +CentOS 5.9 Linux 2.6.18-308 i686 Intel y y y n +CentOS 5.9 Linux 2.6.18-308 i686 PGI y y y n +CentOS 5.9 Linux 2.6.18 x86_64 GNU y y y y +CentOS 5.9 Linux 2.6.18 x86_64 Intel y y y n CentOS 6.4 Linux 2.6.32 x86_64 GNU y y y n CentOS 6.4 Linux 2.6.32 x86_64 Intel y y y n -CentOS 6.4 Linux 2.6.32 x86_64 PGI y y y n -Linux 2.6.32-431.11.2.el6.ppc64 y y y n +CentOS 6.4 Linux 2.6.32 x86_64 PGI y y y n +Linux 2.6.32-431.11.2.el6.ppc64 y y y n Compiler versions for each platform are listed in the preceding "Supported Platforms" table. @@ -4472,7 +5078,7 @@ The following platforms are not supported but have been tested for this release. Linux 2.6.18-431.11.2.el6 MPICH mpich 3.1.2 compiled with #1 SMP x86_64 GNU/Linux gcc 4.9.1 and gfortran 4.9.1 - (platypus) g95 (GCC 4.0.3 (g95 0.94!) + (platypus) g95 (GCC 4.0.3 (g95 0.94!) FreeBSD 8.2-STABLE i386 gcc 4.5.4 [FreeBSD] 20110526 (loyalty) gcc 4.6.1 20110527 @@ -4503,7 +5109,7 @@ The following platforms are not supported but have been tested for this release. gcc (Ubuntu/Linaro 4.9.1-0ubuntu1) 4.9.1 GNU Fortran (Ubuntu/Linaro 4.9.1-0ubuntu1) 4.9.1 (cmake and autotools) - + Cray Linux Environment (CLE) PrgEnv-pgi/4.2.34 hopper.nersc.gov pgcc 13.6-0 64-bit target on x86-64 Linux -tp istanbul pgf90 13.6-0 64-bit target on x86-64 Linux -tp istanbul @@ -4518,7 +5124,7 @@ Known Problems (ADB - 2014/11/04 - HDFFV-8736) * 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 + 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. The flush1 and flush2 tests will be skipped under debug for this release. (ADB - 2014/06/23 - HDFFV-8851) @@ -4566,7 +5172,7 @@ Known Problems 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 + 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) @@ -4574,8 +5180,8 @@ Known Problems 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 + (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) @@ -4607,38 +5213,38 @@ Known Problems 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 + 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 + 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) - + * 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) -* A dataset created or rewritten with a v1.6.3 library or after cannot be read +* 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 + 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. + 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) -%%%%1.8.13%%%% +%%%%1.8.13%%%% HDF5 version 1.8.13 released on 2014-05-05 @@ -4647,10 +5253,10 @@ HDF5 version 1.8.13 released on 2014-05-05 INTRODUCTION ============ -This document describes the differences between HDF5-1.8.12 and -HDF5-1.8.13, and contains information on the platforms tested and -known problems in HDF5-1.8.13. -For more details, see the files HISTORY-1_0-1_8_0_rc3.txt +This document describes the differences between HDF5-1.8.12 and +HDF5-1.8.13, and contains information on the platforms tested and +known problems in HDF5-1.8.13. +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.13 source code, documentation, and additional materials @@ -4662,18 +5268,18 @@ The HDF5 1.8.13 release can be obtained from: http://www.hdfgroup.org/HDF5/release/obtain5.html -User documentation for 1.8.13 can be accessed directly at this location: +User documentation for 1.8.13 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 +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.13 (current +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.13 (current release) versus Release 1.8.12": http://www.hdfgroup.org/HDF5/doc/ADGuide/Changes.html @@ -4704,37 +5310,37 @@ New Features - CMake: Moved minimum CMake version to 2.8.11 which enables better library include processing. (ADB - 2014/03/26) - - - When configuring a thread-safe HDF5 Library it is no longer necessary - to specify --enable-threadsafe with --with-pthreads if the Pthreads + + - When configuring a thread-safe HDF5 Library it is no longer necessary + to specify --enable-threadsafe with --with-pthreads if the Pthreads library is in a standard location. (DER - 2014/04/11 HDFFV-8693) Library ------- - - Added an H5free_memory API call. This should be used to free memory - that has been allocated by HDF5 API calls. H5Tget_member_name and - H5Pget_class_name are two examples. The main motivation for this call - is Windows, where it is common for application code and the HDF5 Library - to be using different C run-time libraries (CRT). Using the new call - ensures that the same CRT handles both the allocation and free. This - new 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. Fixes HDFFV-7710, 8519, + - Added an H5free_memory API call. This should be used to free memory + that has been allocated by HDF5 API calls. H5Tget_member_name and + H5Pget_class_name are two examples. The main motivation for this call + is Windows, where it is common for application code and the HDF5 Library + to be using different C run-time libraries (CRT). Using the new call + ensures that the same CRT handles both the allocation and free. This + new 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. Fixes HDFFV-7710, 8519, and 8851. (DER - 2014/04/11) - - The Core VFD (aka Memory VFD) can now be configured to track dirty - regions in the file and only write out the changed regions on - flush/close. Additionally, a "page aggregation" size can be set that - will aggregate small writes into larger writes. For example, setting - a 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 feature is controlled - via the new H5Pset/get_core_write_tracking() API call. A new - "core_paged" target has been added to the check-vfd target in + - The Core VFD (aka Memory VFD) can now be configured to track dirty + regions in the file and only write out the changed regions on + flush/close. Additionally, a "page aggregation" size can be set that + will aggregate small writes into larger writes. For example, setting + a 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 feature is controlled + via the new H5Pset/get_core_write_tracking() API call. A new + "core_paged" target has been added to the check-vfd target in test/Makefile.am that exercises the feature over all HDF5 VFD-aware tests. (DER - 2014/04/12) - + Parallel Library ---------------- - Removed MPI-POSIX VFD, as it wasn't helping anyone and was just @@ -4744,7 +5350,7 @@ New Features - Improved parallel I/O support to allow collective I/O on point selections. (QAK - 2014/03/15) - + Tools ----- - None @@ -4755,7 +5361,7 @@ New Features Fortran API ----------- - - Wrappers h5pset_file_image_f and h5pget_file_image_f were added to the + - Wrappers h5pset_file_image_f and h5pget_file_image_f were added to the library. (MSB - 2014/1/2014) C++ API @@ -4772,7 +5378,7 @@ New Features 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 class DSetMemXferPropList for setting/getting a transform + + Wrappers to class DSetMemXferPropList for setting/getting a transform property list (HDFFV-7907). DSetMemXferPropList(const char* expression); void setDataTransform(const char* expression) @@ -4781,7 +5387,7 @@ New Features H5std_string getDataTransform() + Wrapper to CompType for setting size to compound datatype (HDFFV-8642). void setSize(size_t size) - + Overloaded functions to provide prototypes that declare constant + + Overloaded functions to provide prototypes that declare constant arguments const (HDFFV-3384). These include: DataSet::fillMemBuf DataSet::getVlenBufSize @@ -4796,11 +5402,11 @@ New Features ssize_t getName(char* attr_name, size_t buf_size=0) ssize_t getName(H5std_string& attr_name, size_t buf_size=0) (BMR, 2014/04/15) - + A static wrapper to Exception for printing the error stack without an - instance of Exception - static void printErrorStack(FILE* stream = stderr, - hid_t err_stack = H5E_DEFAULT); - (BMR, 2014/04/25) + + A static wrapper to Exception for printing the error stack without an + instance of Exception + static void printErrorStack(FILE* stream = stderr, + hid_t err_stack = H5E_DEFAULT); + (BMR, 2014/04/25) Support for New Platforms, Languages, and Compilers @@ -4810,7 +5416,7 @@ Support for New Platforms, Languages, and Compilers supported platforms. (AKC - 2014/03/14 HDFFV-8704) Mac OS X 10.9 Mavericks is supported. (AKC - 2014/03/04 HDFFV-8694) - + Bug Fixes since HDF5-1.8.12 =========================== @@ -4820,42 +5426,42 @@ Bug Fixes since HDF5-1.8.12 - CMake: When CMake commands are executed individually on the command line and the external filters are being built, the CMAKE_BUILD_TYPE define must be set to the same value as the configuration - (-DCMAKE_BUILD_TYPE:STRING=Release if using -C Release). This is needed + (-DCMAKE_BUILD_TYPE:STRING=Release if using -C Release). This is needed by the the szip and zlib filter build commands. (ADB - HDFFV-8695) - - CMake: Removed use of the XLATE_UTILITY program. + - CMake: Removed use of the XLATE_UTILITY program. (ADB - 2014/03/28 HDFFV-8640) - CMake: Added missing quotes in setting the CMAKE_EXE_LINKER_FLAGS for the MPI option. (ADB - 2014/02/27 HDFFV-8674) - - CMake: Configuration of the HDF5 C++ or Fortran libraries with the + - CMake: Configuration of the HDF5 C++ or Fortran libraries with the thread-safety feature. C++ and/or Fortran + thread-safe is enforced as a non-supported configuration. This matches the autotools. (DER - 2014/04/11) - CMake: Configuration of static HDF5 C library with the thread-safety - feature. + feature. Static + thread-safe + Win32 threads is not a supported configuration - due to the inability to automatically clean up thread-local storage. - This is expected to be fixed in a future release. In the meantime, a - work-around that uses internal functionality may allow the combination - to be used without resource leaks. Contact the help desk for more + due to the inability to automatically clean up thread-local storage. + This is expected to be fixed in a future release. In the meantime, a + work-around that uses internal functionality may allow the combination + to be used without resource leaks. Contact the help desk for more information. (DER - 2014/04/11) - - Autotools: Several changes were done to configure and installcheck. + - Autotools: Several changes were done to configure and installcheck. An export of LD_LIBRARY_PATH=<szip library location> was removed from configure; make installcheck was revised to run - scripts installed in share/hdf5_examples to use the installed h5cc, etc. - to compile and run example source files also installed there. + scripts installed in share/hdf5_examples to use the installed h5cc, etc. + to compile and run example source files also installed there. - Make installcheck will now fail when a shared szip or other external lib - file cannot be found in the same manner that executables compiled and - linked with h5cc will fail to run when those lib files cannot be found - after install. Make installcheck should pass after setting + Make installcheck will now fail when a shared szip or other external lib + file cannot be found in the same manner that executables compiled and + linked with h5cc will fail to run when those lib files cannot be found + after install. Make installcheck should pass after setting LD_LIBRARY_PATH to the szip location. (LRK - 2014/04/16) Library @@ -4867,50 +5473,50 @@ Bug Fixes since HDF5-1.8.12 either do not use parallel make or install Gnu Make to build the library. (AKC 2014/04/08 HDFFV-8738) - - H5R.c: H5Rget_name gave an assertion failure if the "name" parameter + - H5R.c: H5Rget_name gave an assertion failure if the "name" parameter was NULL. Fixed H5Rget_name to return the size of the buffer needed to read a - name of the referenced object in this case. The size doesn't include - the NULL terminator. H5Rget_name returns negative on failure. + name of the referenced object in this case. The size doesn't include + the NULL terminator. H5Rget_name returns negative on failure. (MSB - 2014/01/22 HDFFV-8620) - H5Z.c: H5Zfilter_avail didn't check if a filter was available as a dynamically loaded filter. The error manifested itself in the h5repack tool when removing user-defined dynamically loaded filter. - Added a code to find the filter among the dynamically loaded filters - after the function fails to find it among the registered filters. + Added a code to find the filter among the dynamically loaded filters + after the function fails to find it among the registered filters. (ADB - 2014/03/03 HDFFV-8629) - - Memory leak: a memory leak was observed in conjunction to the - H5TS_errstk_key_g thread-local variable allocated in the H5E_get_stack - function in H5E.c. + - Memory leak: a memory leak was observed in conjunction to the + H5TS_errstk_key_g thread-local variable allocated in the H5E_get_stack + function in H5E.c. - The shared HDF5 thread-safe library now no longer leaks thread-local - storage resources on Windows with Win32 threads. Currently, there is - no solution for this problem when HDF5 is statically built. We - disabled the build of the static HDF5 thread-safe library with + The shared HDF5 thread-safe library now no longer leaks thread-local + storage resources on Windows with Win32 threads. Currently, there is + no solution for this problem when HDF5 is statically built. We + disabled the build of the static HDF5 thread-safe library with Win32 threads. (DER - 2014/04/11 HDFFV-8518) - - H5Dio.c: Improved handling of NULL pointers to H5Dread/H5Dwrite + - H5Dio.c: Improved handling of NULL pointers to H5Dread/H5Dwrite calls. Credit to Jason Newton (nevion@gmail.com) for the original patch. - H5Dwrite/read failed when a NULL pointer was passed for a data buffer + H5Dwrite/read failed when a NULL pointer was passed for a data buffer and 0 elements were selected. Fixed. (QAK - 2014/04/16 HDFFV-8705) - Deprecated API (1_6 API): Improved handling of closing the library and re-accessing it with a deprecated routine. - When a program used a deprecated API (for example, H5Gcreate1), - closed the library, and reopened it again to access a group, dataset, - datatype, dataspace, attribute, or property list, HDF5 failed to + When a program used a deprecated API (for example, H5Gcreate1), + closed the library, and reopened it again to access a group, dataset, + datatype, dataspace, attribute, or property list, HDF5 failed to provide an identifier for the object. Fixed. (NAF, QAK - 2014/04/16 HDFFV-8232) Parallel Library ---------------- - - Fixed a missing H5F_Provisional module in HDF5mpio.f90 + - Fixed a missing H5F_Provisional module in HDF5mpio.f90 (MSB - 2014/2/7 HDFFV-8651) Performance @@ -4926,11 +5532,11 @@ Bug Fixes since HDF5-1.8.12 - The h5dump and h5diff utilities occasionally produced different output between Linux and Windows systems. This has been fixed. - - This happened to datasets that used chunked storage, with default fill - values, and some of the chunks had not been written. - When the dataset was read, the library failed to write the default fill - values to parts of the use buffer that were associated with the unwritten + + This happened to datasets that used chunked storage, with default fill + values, and some of the chunks had not been written. + When the dataset was read, the library failed to write the default fill + values to parts of the use buffer that were associated with the unwritten chunks. (JP - 2014/05/01 HDFFV-8247) - The compress option is retired from bin/release. @@ -4939,8 +5545,8 @@ Bug Fixes since HDF5-1.8.12 - bin/release has a new option "zip" that produces a release zip file for the Windows platform. (AKC - 2014/04/24 HDFFV-8433) - - h5diff: Several failures relating to handling of strings attributes - are fixed. + - h5diff: Several failures relating to handling of strings attributes + are fixed. The tool crashed or gave an error message when one of the strings had fixed size type and another variable-length size type. h5diff now flags such @@ -4949,13 +5555,13 @@ Bug Fixes since HDF5-1.8.12 (AKC - 2014/04/18 HDFFV-8625, 8639, 8745) - h5repack: h5repack would not remove user-defined filters. - Fixed by modifying h5repack to check if the filter is registered or + Fixed by modifying h5repack to check if the filter is registered or can be dynamically loaded. (ADB - 2014/03/03 HDFFV-8629) F90 API ------- - - H5D_CHUNK_CACHE_NSLOTS_DFLT_F and H5D_CHUNK_CACHE_NBYTES_DFLT_F were - changed from the default KIND for INTEGER to INTEGER of KIND size_t. + - H5D_CHUNK_CACHE_NSLOTS_DFLT_F and H5D_CHUNK_CACHE_NBYTES_DFLT_F were + changed from the default KIND for INTEGER to INTEGER of KIND size_t. (MSB - 2014/3/31 HDFFV-8689) C++ API @@ -4976,14 +5582,14 @@ Bug Fixes since HDF5-1.8.12 Testing ------- - - testhdf5 now exits with EXIT_SUCCESS(0) if no errors, else + - testhdf5 now exits with EXIT_SUCCESS(0) if no errors, else EXIT_FAILURE(1). (AKC - 2014/01/27 HDFFV-8572) - The big test now pays attention to the HDF5_DRIVER environment variable. Previously, it would run all tests with the family, stdio, and sec2 - virtual file drivers (VFDs) for each VFD in the check-vfd make target, - regardless of the variable setting. It now checks the variable and - either runs the appropriate VFD-specific tests or skips as needed. + virtual file drivers (VFDs) for each VFD in the check-vfd make target, + regardless of the variable setting. It now checks the variable and + either runs the appropriate VFD-specific tests or skips as needed. This saves much testing time. Fixes HDFFV-8554. (DER - 2014/04/11) Supported Platforms @@ -4994,7 +5600,7 @@ They are built with the configure process unless specified otherwise. AIX 5.3 xlc 10.1.0.5 (NASA G-ADA) xlC 10.1.0.5 xlf90 12.1.0.6 - gmake v3.82 + gmake v3.82 Linux 2.6.18-308.13.1.el5PAE GNU C (gcc), Fortran (gfortran), C++ (g++) #1 SMP i686 i686 i386 compilers for 32-bit applications; @@ -5011,20 +5617,20 @@ They are built with the configure process unless specified otherwise. #1 SMP x86_64 GNU/Linux compilers for 64-bit applications; (koala) Version 4.1.2 20080704 (Red Hat 4.1.2-54) Version 4.8.2 - PGI C, Fortran, C++ for 64-bit target on + PGI C, Fortran, C++ for 64-bit target on x86-64; - Version 13.7-0 - Intel(R) C, C++, Fortran Compilers for - applications running on Intel(R) 64; + Version 13.7-0 + Intel(R) C, C++, Fortran Compilers for + applications running on Intel(R) 64; Version 14.0.2 (Build 20140120) Linux 2.6.32-431.11.2.el6 GNU C (gcc), Fortran (gfortran), C++ (g++) #1 SMP x86_64 GNU/Linux compilers: (platypus) Version 4.4.7 20120313 Version 4.8.2 - PGI C, Fortran, C++ for 64-bit target on + PGI C, Fortran, C++ for 64-bit target on x86-64; - Version 13.7-0 + Version 13.7-0 Intel(R) C (icc), C++ (icpc), Fortran (icc) compilers: Version 14.0.2 (Build 20140120) @@ -5048,7 +5654,7 @@ They are built with the configure process unless specified otherwise. Windows 7 x64 Visual Studio 2008 w/ Intel Fortran 14 (cmake) Visual Studio 2010 w/ Intel Fortran 14 (cmake) Visual Studio 2012 w/ Intel Fortran 14 (cmake) - + Windows 8.1 Visual Studio 2012 w/ Intel Fortran 14 (cmake) Windows 8.1 x64 Visual Studio 2012 w/ Intel Fortran 14 (cmake) @@ -5058,11 +5664,11 @@ They are built with the configure process unless specified otherwise. (duck) Intel icc/icpc/ifort version 13.0.3 Mac OS X Mt. Lion 10.8.5 Apple clang/clang++ version 5.0 from Xcode 5.0.2 - 64-bit gfortran GNU Fortran (GCC) 4.8.2 + 64-bit gfortran GNU Fortran (GCC) 4.8.2 (swallow/kite) Intel icc/icpc/ifort version 14.0.2 Mac OS X Mavericks 10.9.2 Apple clang/clang++ version 5.1 from Xcode 5.1 - 64-bit gfortran GNU Fortran (GCC) 4.8.2 + 64-bit gfortran GNU Fortran (GCC) 4.8.2 (wren/quail) Intel icc/icpc/ifort version 14.0.2 @@ -5070,14 +5676,14 @@ Tested Configuration Features Summary ===================================== In the tables below - y = tested + 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 + <blank> = testing incomplete on this feature or platform Platform C F90/ F90 C++ zlib SZIP parallel F2003 parallel @@ -5103,28 +5709,28 @@ CentOS 6.4 Linux 2.6.32 x86_64 PGI n y/y n y y y Linux 2.6.32-431.11.2.el6.ppc64 n y/n n y y y OpenVMS IA64 V8.4 n y/n n y y n -Platform Shared Shared Shared Thread- - C libs F90 libs C++ libs safe -Solaris2.11 32-bit y y y y -Solaris2.11 64-bit y y y y +Platform Shared Shared Shared Thread- + C libs F90 libs C++ libs safe +Solaris2.11 32-bit y y y y +Solaris2.11 64-bit y y y y Windows 7 y y y y Windows 7 x64 y y y y Windows 7 Cygwin n n n y Windows 8.1 y y y y Windows 8.1 x64 y y y y -Mac OS X Lion 10.7.3 64-bit y n y y -Mac OS X Mountain Lion 10.8.1 64-bit y n y y +Mac OS X Lion 10.7.3 64-bit y n y y +Mac OS X Mountain Lion 10.8.1 64-bit y n y y Mac OS X Mavericks 10.9.1 64-bit y n y y -AIX 5.3 32- and 64-bit y n n y -CentOS 5.9 Linux 2.6.18-308 i686 GNU y y y y -CentOS 5.9 Linux 2.6.18-308 i686 Intel y y y n -CentOS 5.9 Linux 2.6.18-308 i686 PGI y y y n -CentOS 5.9 Linux 2.6.18 x86_64 GNU y y y y -CentOS 5.9 Linux 2.6.18 x86_64 Intel y y y n +AIX 5.3 32- and 64-bit y n n y +CentOS 5.9 Linux 2.6.18-308 i686 GNU y y y y +CentOS 5.9 Linux 2.6.18-308 i686 Intel y y y n +CentOS 5.9 Linux 2.6.18-308 i686 PGI y y y n +CentOS 5.9 Linux 2.6.18 x86_64 GNU y y y y +CentOS 5.9 Linux 2.6.18 x86_64 Intel y y y n CentOS 6.4 Linux 2.6.32 x86_64 GNU y y y n CentOS 6.4 Linux 2.6.32 x86_64 Intel y y y n -CentOS 6.4 Linux 2.6.32 x86_64 PGI y y y n -Linux 2.6.32-431.11.2.el6.ppc64 y y y n +CentOS 6.4 Linux 2.6.32 x86_64 PGI y y y n +Linux 2.6.32-431.11.2.el6.ppc64 y y y n OpenVMS IA64 V8.4 n n n n Compiler versions for each platform are listed in the preceding @@ -5141,7 +5747,7 @@ The following platforms are not supported but have been tested for this release. Linux 2.6.18-431.11.2.el6 MPICH mpich 3.1 compiled with #1 SMP x86_64 GNU/Linux gcc 4.8.2 and gfortran 4.8.2 - (platypus) g95 (GCC 4.0.3 (g95 0.94!) + (platypus) g95 (GCC 4.0.3 (g95 0.94!) FreeBSD 8.2-STABLE i386 gcc 4.5.4 [FreeBSD] 20110526 (loyalty) gcc 4.6.1 20110527 @@ -5172,7 +5778,7 @@ The following platforms are not supported but have been tested for this release. gcc (Ubuntu/Linaro 4.8.1-10ubuntu8) 4.8.1 GNU Fortran (Ubuntu/Linaro 4.8.1-10ubuntu8) 4.8.1 (cmake and autotools) - + Cray Linux Environment (CLE) PrgEnv-pgi/4.0.46 hopper.nersc.gov pgcc 12.5-0 64-bit target on x86-64 Linux -tp shanghai pgf90 12.5-0 64-bit target on x86-64 Linux -tp shanghai @@ -5193,20 +5799,20 @@ Known Problems (AKC 2014/05/02 HDFFV-8479) * Due to an Intel compiler bug introduced in version 14.0.1, the HDF5 FORTRAN - wrappers do not work with configure option --enable-fortran2003. - However, the option --enable-fortran works with Intel 14.0.1. The compiler - bug was fixed in Intel version 14.0.2 and resolved the issue. + wrappers do not work with configure option --enable-fortran2003. + However, the option --enable-fortran works with Intel 14.0.1. The compiler + bug was fixed in Intel version 14.0.2 and resolved the issue. (MSB - 2014/4/15) -* Due to a PGI compiler bug introduced in versions before 13.3 and versions - after 14.2, the FORTRAN test 'Testing get file image' will fail. +* Due to a PGI compiler bug introduced in versions before 13.3 and versions + after 14.2, the FORTRAN test 'Testing get file image' will fail. (MSB - 2014/4/15) -* On CYGWIN, when building the library dynamically, testing will fail on - dynamically loaded filters. The test process will build dynamic filter - libraries with the *.dll.a extension, and the HDF5 Library will be looking +* On CYGWIN, when building the library dynamically, testing will fail on + dynamically loaded filters. The test process will build dynamic filter + libraries with the *.dll.a extension, and the HDF5 Library will be looking for *.so libraries. Entered as issue HDFFV-8736. (ADB - 2014/04/14) - + * A Gnu Make directive (.NOTPARALLEL) is added to fortran/test/Makefile. AIX native make does not support this directive and would fail if parallel make (e.g. make -j4) is used to build the library. AIX users @@ -5231,7 +5837,7 @@ Known Problems * On OpenVMS, ZLIB 1.2.8 library doesn't work properly. ZLIB 1.2.5 works fine. So please use ZLIB 1.2.5 to build HDF5 library. (Issue VMS-5; - SLU 2013/09/19) + SLU 2013/09/19) * When building using the Cray compilers on Cray machines, HDF5 configure mistakenly thinks the compiler is an intel compiler and @@ -5240,15 +5846,15 @@ Known Problems INSTALL_parallel for building on Hopper. (MSC - 2013/04/26 - HDFFV-8429) -* The 5.9 C++ compiler on Sun failed to compile a C++ test ttypes.cpp. It +* The 5.9 C++ compiler on Sun failed to compile a C++ test ttypes.cpp. It complains with this message: "/home/hdf5/src/H5Vprivate.h", line 130: Error: __func__ is not defined. - + The reason is that __func__ is a predefined identifier in C99 standard. The - HDF5 C library uses it in H5private.h. The test ttypes.cpp includes + HDF5 C library uses it in H5private.h. The test ttypes.cpp includes H5private.h (H5Tpkg.h<-H5Fprivate.h<-H5Vprivate.h<-H5private.h). Sun's 5.9 C++ compiler doesn't support __func__, thus fails to compile the C++ test. - But Sun's 5.11 C++ compiler does. To check whether your Sun C++ compiler + But Sun's 5.11 C++ compiler does. To check whether your Sun C++ compiler knows this identifier, try to compile the following simple C++ program: #include<stdio.h> @@ -5269,7 +5875,7 @@ Known Problems 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 @@ -5280,21 +5886,21 @@ Known Problems 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. + 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 kernel) 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 + (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) - This issue is no longer present on Ubuntu 12.10 (3.5.0 kernel) with + This issue is no longer present on Ubuntu 12.10 (3.5.0 kernel) with gcc 4.7.2. * The STDIO VFD does not work on some architectures, possibly due to 32/64 @@ -5317,7 +5923,7 @@ Known Problems 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 + 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) @@ -5325,8 +5931,8 @@ Known Problems 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 + (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) @@ -5361,42 +5967,42 @@ Known Problems 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 + 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 + 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) - + * 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) -* 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 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. -* A dataset created or rewritten with a v1.6.3 library or after cannot be read +* 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 + 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. + 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) -%%%%1.8.12%%%% +%%%%1.8.12%%%% HDF5 version 1.8.12 released on 2013-11-04 @@ -5405,10 +6011,10 @@ HDF5 version 1.8.12 released on 2013-11-04 INTRODUCTION ============ -This document describes the differences between HDF5-1.8.11 and -HDF5-1.8.12, and contains information on the platforms tested and -known problems in HDF5-1.8.12. -For more details, see the files HISTORY-1_0-1_8_0_rc3.txt +This document describes the differences between HDF5-1.8.11 and +HDF5-1.8.12, and contains information on the platforms tested and +known problems in HDF5-1.8.12. +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.12 source code, documentation, and additional materials @@ -5420,18 +6026,18 @@ The HDF5 1.8.12 release can be obtained from: http://www.hdfgroup.org/HDF5/release/obtain5.html -User documentation for 1.8.12 can be accessed directly at this location: +User documentation for 1.8.12 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 +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.12 (current +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.12 (current release) versus Release 1.8.11": http://www.hdfgroup.org/HDF5/doc/ADGuide/Changes.html @@ -5463,25 +6069,25 @@ New Features The cmake option is -DH5_DEFAULT_PLUGINDIR:PATH=location. HDFFV-8513. (ADB 2013/09/04) - Renamed FFLAGS to FCFLAGS in configure. (ADB 2013/08/13) - - CMake can now package a compressed examples file, the default for + - CMake can now package a compressed examples file, the default for Windows binaries from HDF Group. (ADB - 2013/07/22) - + Library ------- - None - + Parallel Library ---------------- - None - + Tools ----- - - h5repack: Added the ability to use plugin filters to read and write - files. The option uses the filter number. HDFFV-8345 + - h5repack: Added the ability to use plugin filters to read and write + files. The option uses the filter number. HDFFV-8345 (ADB - 2013/09/04). - - h5dump: Added the option -N --any_path, which searches the file for + - h5dump: Added the option -N --any_path, which searches the file for paths that match the search path. HDFFV-7989 (ADB - 2013/08/12). - - h5dump: Added the optional arg 0 to -A, which excludes attributes + - h5dump: Added the optional arg 0 to -A, which excludes attributes from display. HDFFV-8134 (ADB - 2013/08/01). High-Level APIs @@ -5504,11 +6110,11 @@ New Features an attribute. (BMR - 2013/09/27) - Added wrappers for H5Rget_obj_type2 to retrieve the type of the object that an object reference points to. (BMR - 2013/09/27) - H5O_type_t H5Location::getRefObjType(void *ref, H5R_type_t ref_type) + H5O_type_t H5Location::getRefObjType(void *ref, H5R_type_t ref_type) - Added wrappers for H5Aexist to check whether an attribute exists given a name. (BMR - 2013/09/27) - bool H5::H5Location::attrExists(const char* name) - bool H5::H5Location::attrExists(const H5std_string& name) + bool H5::H5Location::attrExists(const char* name) + bool H5::H5Location::attrExists(const H5std_string& name) - Added a number of overloaded functions for convenience. (BMR - 2013/09/27) @@ -5522,7 +6128,7 @@ Bug Fixes since HDF5-1.8.11 Configuration ------------- - Modified H5detect.c to scan floating point types for padding bits before - analyzing the type further. This should fix problems with gcc 4.8. + analyzing the type further. This should fix problems with gcc 4.8. (NAF - 2013/09/19 - HDFFV-8523/HDFFV-8500) - HDF5 rpaths are no longer encoded in the library files when configured with --disable-sharedlib-rpath. (LRK-2013-09-23 - HDFFV-8276) @@ -5532,7 +6138,7 @@ Bug Fixes since HDF5-1.8.11 - Added const qualifier to source buffer parameters in H5Dgather and H5D_scatter_func_t (H5Dscatter callback). (NAF - 2013/7/09) - - CMake now creates *.so.{lt_version} files with the same version as + - CMake now creates *.so.{lt_version} files with the same version as configure. (ADB - 2013/06/05 HDFFV-8437) Parallel Library @@ -5545,14 +6151,14 @@ Bug Fixes since HDF5-1.8.11 Tools ----- - - h5dump: Added the option -N --any_path, which searches the file for + - h5dump: Added the option -N --any_path, which searches the file for paths that match the search path. HDFFV-7989 (ADB - 2013/08/12). - - h5dump: Added the optional arg 0 to -A, which excludes attributes + - h5dump: Added the optional arg 0 to -A, which excludes attributes from display. HDFFV-8134 (ADB - 2013/08/01). - h5dump correctly exports subsetted data to a file, using the --output option. (ADB - 2013/06/07 HDFFV-8447) - h5cc and other compile scripts now default to linking shared libraries - when HDF5 is configured with the --disable-static option. + when HDF5 is configured with the --disable-static option. (LRK - 2013-09-23 - HDFFV-8141) F90 API @@ -5603,20 +6209,20 @@ They are built with the configure process unless specified otherwise. #1 SMP x86_64 GNU/Linux compilers for 64-bit applications; (koala) Version 4.1.2 20080704 (Red Hat 4.1.2-54) Version 4.8.1 - PGI C, Fortran, C++ for 64-bit target on + PGI C, Fortran, C++ for 64-bit target on x86-64; - Version 13.7-0 - Intel(R) C, C++, Fortran Compilers for - applications running on Intel(R) 64; + Version 13.7-0 + Intel(R) C, C++, Fortran Compilers for + applications running on Intel(R) 64; Version 13.1.3 (Build 20130607) Linux 2.6.32-358.18.1.el6 GNU C (gcc), Fortran (gfortran), C++ (g++) #1 SMP x86_64 GNU/Linux compilers: (platypus) Version 4.4.7 20120313 Version 4.8.1 - PGI C, Fortran, C++ for 64-bit target on + PGI C, Fortran, C++ for 64-bit target on x86-64; - Version 13.7-0 + Version 13.7-0 Intel(R) C (icc), C++ (icpc), Fortran (icc) compilers: Version 13.1.3 (Build 20130607) @@ -5659,22 +6265,22 @@ They are built with the configure process unless specified otherwise. 64-bit gfortran GNU Fortran (GCC) 4.6.2 (wren) Intel icc/icpc/ifort version 13.0.3 - OpenVMS IA64 V8.4 HP C V7.3-018 + OpenVMS IA64 V8.4 HP C V7.3-018 HP Fortran V8.2-104939-50H96 - HP C++ V7.4-004 + HP C++ V7.4-004 Tested Configuration Features Summary ===================================== In the tables below - y = tested + 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 + <blank> = testing incomplete on this feature or platform Platform C F90/ F90 C++ zlib SZIP parallel F2003 parallel @@ -5700,28 +6306,28 @@ CentOS 6.4 Linux 2.6.32 x86_64 Intel n y/y n y y y Linux 2.6.32-358.2.1.el6.ppc64 n y/n n y y y OpenVMS IA64 V8.4 n y/n n y y n -Platform Shared Shared Shared Thread- - C libs F90 libs C++ libs safe -Solaris2.11 32-bit y y y y -Solaris2.11 64-bit y y y y +Platform Shared Shared Shared Thread- + C libs F90 libs C++ libs safe +Solaris2.11 32-bit y y y y +Solaris2.11 64-bit y y y y Windows 7 y y y y Windows 7 x64 y y y y Windows 7 Cygwin n n n y Windows 8.1 y y y y Windows 8.1 x64 y y y y -Mac OS X Snow Leopard 10.6.8 64-bit y n y n -Mac OS X Lion 10.7.3 64-bit y n y y -Mac OS X Mountain Lion 10.8.1 64-bit y n y y -AIX 5.3 32- and 64-bit y n n y -CentOS 5.9 Linux 2.6.18-308 i686 GNU y y y y -CentOS 5.9 Linux 2.6.18-308 i686 Intel y y y n -CentOS 5.9 Linux 2.6.18-308 i686 PGI y y y n -CentOS 5.9 Linux 2.6.18 x86_64 GNU y y y y -CentOS 5.9 Linux 2.6.18 x86_64 Intel y y y n -CentOS 5.9 Linux 2.6.18 x86_64 PGI y y y n +Mac OS X Snow Leopard 10.6.8 64-bit y n y n +Mac OS X Lion 10.7.3 64-bit y n y y +Mac OS X Mountain Lion 10.8.1 64-bit y n y y +AIX 5.3 32- and 64-bit y n n y +CentOS 5.9 Linux 2.6.18-308 i686 GNU y y y y +CentOS 5.9 Linux 2.6.18-308 i686 Intel y y y n +CentOS 5.9 Linux 2.6.18-308 i686 PGI y y y n +CentOS 5.9 Linux 2.6.18 x86_64 GNU y y y y +CentOS 5.9 Linux 2.6.18 x86_64 Intel y y y n +CentOS 5.9 Linux 2.6.18 x86_64 PGI y y y n CentOS 6.4 Linux 2.6.32 x86_64 GNU y y y n CentOS 6.4 Linux 2.6.32 x86_64 Intel y y y n -Linux 2.6.32-358.2.1.el6.ppc64 y y y n +Linux 2.6.32-358.2.1.el6.ppc64 y y y n OpenVMS IA64 V8.4 n n n n Compiler versions for each platform are listed in the preceding @@ -5739,7 +6345,7 @@ The following platforms are not supported but have been tested for this release. Linux 2.6.18-308.16.1.el5 MPICH mpich2-1.4.1p1 compiled with #1 SMP x86_64 GNU/Linux gcc 4.1.2 and gfortran 4.1.2 (koala) g95 (GCC 4.0.3 (g95 0.94!) - + FreeBSD 8.2-STABLE i386 gcc 4.5.4 [FreeBSD] 20110526 (loyalty) gcc 4.6.1 20110527 g++ 4.6.1 20110527 @@ -5762,14 +6368,14 @@ The following platforms are not supported but have been tested for this release. SUSE 12.3 3.7.10-1.16-desktop #1 SMP PREEMPT x86_64 x86_64 x86_64 GNU/Linux gcc (SUSE Linux) 4.7.2 - GNU Fortran (SUSE Linux) 4.7.2 + GNU Fortran (SUSE Linux) 4.7.2 (cmake and autotools) Ubuntu 13.04 3.8.0-30-generic #44-Ubuntu SMP x86_64 GNU/Linux gcc (Ubuntu/Linaro 4.7.3-1ubuntu1) 4.7.3 GNU Fortran (Ubuntu/Linaro 4.7.3-1ubuntu1) 4.7.3 (cmake and autotools) - + Cray Linux Environment (CLE) PrgEnv-pgi/4.0.46 hopper.nersc.gov pgcc 12.5-0 64-bit target on x86-64 Linux -tp shanghai pgf90 12.5-0 64-bit target on x86-64 Linux -tp shanghai @@ -5783,22 +6389,22 @@ Known Problems is built in place. The issue will be addressed in the 1.8.13 release. We recommend to use build directory to compile and test HDF5 as described in the INSTALL file, section 4.2. - + * Source directory names with spaces in them will cause failures in configure - or make on Mac (HDFFV-8152), Linux, and probably all other platforms. If a - configure command with a space is run from a build directory, it will exit - with an error message: "checking whether build environment is sane... - configure: error: unsafe srcdir value: '/scr/lrknox/hdf5 v1.8.12'". If - configure is run inside or below the directory with the space in the name, - libtool will get the directory path from the system, put the part of the - path before the space in the libdir variable in .../src/libhdf5.la, and - then fail to find the nonexistent directory. This is a known libtool issue - and the suggested workaround is to rename the directory without spaces. + or make on Mac (HDFFV-8152), Linux, and probably all other platforms. If a + configure command with a space is run from a build directory, it will exit + with an error message: "checking whether build environment is sane... + configure: error: unsafe srcdir value: '/scr/lrknox/hdf5 v1.8.12'". If + configure is run inside or below the directory with the space in the name, + libtool will get the directory path from the system, put the part of the + path before the space in the libdir variable in .../src/libhdf5.la, and + then fail to find the nonexistent directory. This is a known libtool issue + and the suggested workaround is to rename the directory without spaces. (LRK - 2013/10/22) * 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 (HDFFV-8147). This issue will be addressed in the + catches some undefined behavior in the alignment algorithm of the macro + DETECT_I in H5detect.c (HDFFV-8147). This issue will be addressed in the next release. (SLU - 2013/10/16) * Running make check for the tools can fail in the tools tests if make was not @@ -5816,7 +6422,7 @@ Known Problems * On OpenVMS, ZLIB 1.2.8 library doesn't work properly. ZLIB 1.2.5 works fine. So please use ZLIB 1.2.5 to build HDF5 library. (Issue VMS-5; - SLU 2013/09/19) + SLU 2013/09/19) * When building using the Cray compilers on Cray machines, HDF5 configure mistakenly thinks the compiler is an intel compiler and @@ -5833,15 +6439,15 @@ Known Problems spurious data values has only been encountered on Windows 32-bit systems. (Issue HDFFV-8247; JP - 2013/03/27) -* The 5.9 C++ compiler on Sun failed to compile a C++ test ttypes.cpp. It +* The 5.9 C++ compiler on Sun failed to compile a C++ test ttypes.cpp. It complains with this message: "/home/hdf5/src/H5Vprivate.h", line 130: Error: __func__ is not defined. - + The reason is that __func__ is a predefined identifier in C99 standard. The - HDF5 C library uses it in H5private.h. The test ttypes.cpp includes + HDF5 C library uses it in H5private.h. The test ttypes.cpp includes H5private.h (H5Tpkg.h<-H5Fprivate.h<-H5Vprivate.h<-H5private.h). Sun's 5.9 C++ compiler doesn't support __func__, thus fails to compile the C++ test. - But Sun's 5.11 C++ compiler does. To check whether your Sun C++ compiler + But Sun's 5.11 C++ compiler does. To check whether your Sun C++ compiler knows this identifier, try to compile the following simple C++ program: #include<stdio.h> @@ -5862,7 +6468,7 @@ Known Problems 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 @@ -5873,21 +6479,21 @@ Known Problems 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 is a Cray system - and used the proper launch commands when necessary. + 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 kernel) with GCC 4.6.1 if the library is built with optimization -O3 or -O2. The older GCC (4.5) or newer kernel - (3.2.2 on Fedora) do not have the problem. Users should lower the - optimization level (-O1 or -O0) by defining CFLAGS in the command line of + (3.2.2 on Fedora) do not 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) - This issue is no longer present on Ubuntu 12.10 (3.5.0 kernel) with + This issue is no longer present on Ubuntu 12.10 (3.5.0 kernel) with gcc 4.7.2. * The STDIO VFD does not work on some architectures, possibly due to 32/64 @@ -5910,7 +6516,7 @@ Known Problems 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 + 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) @@ -5918,8 +6524,8 @@ Known Problems 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 + (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) @@ -5954,42 +6560,42 @@ Known Problems 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 + 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 + 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) - + * 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) -* 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 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. -* A dataset created or rewritten with a v1.6.3 library or after cannot be read +* 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 + 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. + 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) -%%%%1.8.11%%%% +%%%%1.8.11%%%% HDF5 version 1.8.11 released on 2013-05-08 @@ -5998,10 +6604,10 @@ HDF5 version 1.8.11 released on 2013-05-08 INTRODUCTION ============ -This document describes the differences between HDF5-1.8.10 and -HDF5-1.8.11-*, and contains information on the platforms tested and -known problems in HDF5-1.8.11-*. -For more details, see the files HISTORY-1_0-1_8_0_rc3.txt +This document describes the differences between HDF5-1.8.10 and +HDF5-1.8.11-*, and contains information on the platforms tested and +known problems in HDF5-1.8.11-*. +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.11 source code, documentation, and additional materials @@ -6013,18 +6619,18 @@ The HDF5 1.8.11 release can be obtained from: http://www.hdfgroup.org/HDF5/release/obtain5.html -User documentation for 1.8.11 can be accessed directly at this location: +User documentation for 1.8.11 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 +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.11 (current +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.11 (current release) versus Release 1.8.10": http://www.hdfgroup.org/HDF5/doc/ADGuide/Changes.html @@ -6059,11 +6665,11 @@ New Features - A new tool, cmakehdf5, which is a build command script similar to buildhdf5 is added and is available in the bin directory. (AKC - 2013/01/16 HDFFV-8336) - + Library ------- - The library can load filter libraries dynamically during runtime. Users - can set the search path through environment variable HDF5_PLUGIN_PATH + can set the search path through environment variable HDF5_PLUGIN_PATH and call H5Pset_filter to enable a dynamic filter. (SLU - 2013/04/08) - Added new API functions H5Dscatter and H5Dgather to scatter data to and and gather data from a selection within a memory buffer. @@ -6071,11 +6677,11 @@ New Features - The library now supports the data conversion from enumeration to numeric (integer and floating-point number) datatypes. See Issue HDFFV-8221. (SLU - 2012/10/23) - + Parallel Library ---------------- - None - + Tools ----- - h5dump: added new option -O or -ddl to output the ddl text to a file. This @@ -6084,8 +6690,8 @@ New Features High-Level APIs --------------- - - A new API function, H5DOwrite_chunk. This function writes a data chunk - directly into a file, bypassing hyperslab selection, data conversion, + - A new API function, H5DOwrite_chunk. This function writes a data chunk + directly into a file, bypassing hyperslab selection, data conversion, and the filter pipeline. The user must be careful with the function and clearly understand the I/O process of the library. (SLU - 2013/2/11) @@ -6094,11 +6700,11 @@ New Features - New API functions added (MSB - 2013/3/23): h5odecr_refcount_f, h5oexists_by_name_f, h5oget_comment_f, - h5oget_comment_by_name_f, h5oincr_refcount_f, h5oopen_by_idx_f, + h5oget_comment_by_name_f, h5oincr_refcount_f, h5oopen_by_idx_f, h5oset_comment_f, h5oset_comment_by_name_f, h5oset_comment_by_name_f F2003: h5oget_info_f, h5oget_info_by_idx_f, h5ovisit_by_name_f - + C++ API ------- @@ -6120,24 +6726,24 @@ Bug Fixes since HDF5-1.8.10 - Fixed Thread-safe configure failure for the AIX platform. (AKC - 2013/04/19 HDFFV-8390) - Configure will check the result of header searches before searching for - the library. + the library. Fixes HDFFV-8257 (ADB 2013/03/04) - - HDF does not support building SHARED Fortran libraries on OSX. Added - CMake code to check for this condition. + - HDF does not support building SHARED Fortran libraries on OSX. Added + CMake code to check for this condition. Fixes HDFFV-8227 (ADB 2013/03/04) - - CMake builds on Windows will no longer use legacy naming for libraries. + - CMake builds on Windows will no longer use legacy naming for libraries. The "dll" tag will no longer be added to the name of *.lib and *.dll. The option HDF_LEGACY_NAMING is now OFF by default. Fixes HDFFV-8292 (ADB 2013/01/30) Library ------- - - The library now behaves correctly when performing large I/O operations - on Mac OS-X. Previously, single I/O operations > 2 GB would fail - since the Darwin read/write calls cannot handle the number of bytes + - The library now behaves correctly when performing large I/O operations + on Mac OS-X. Previously, single I/O operations > 2 GB would fail + since the Darwin read/write calls cannot handle the number of bytes that their parameter types imply. Fixes HDFFV-7975 and HDFFV-8240 (DER 2013/01/07) - - Fixed a bug in the core VFD that causes failures when opening files + - Fixed a bug in the core VFD that causes failures when opening files > 2 GB. Fixes HDFFV-8124 and HDFFV-8158 (DER 2013/01/07) - Fixed a bug where unintialized memory was read during variable-length @@ -6145,9 +6751,9 @@ Bug Fixes since HDF5-1.8.10 (DER 2013/03/30) - Removed the H5Pset/get_dxpl_multi functions from the library. The intended functionality for them was never fully implemented, and they - have always been fundamentally broken. NOTE: This does not affect - setting the multi VFD or any expected VFD functionality. Multi VFD - usage remains unchanged. + have always been fundamentally broken. NOTE: This does not affect + setting the multi VFD or any expected VFD functionality. Multi VFD + usage remains unchanged. Fixes HDFFV-8296. (DER 2013/03/30) Parallel Library @@ -6161,22 +6767,22 @@ Bug Fixes since HDF5-1.8.10 Tools ----- - h5redeploy is changed to do this by default: - Installation directories: - prefix architecture-independent files. - exec_prefix architecture-dependent files, default is <prefix>. - libdir libraries, default is <exec_prefix>/lib. - includedir header files, default is <prefix/include>. + Installation directories: + prefix architecture-independent files. + exec_prefix architecture-dependent files, default is <prefix>. + libdir libraries, default is <exec_prefix>/lib. + includedir header files, default is <prefix/include>. This allows users to just change the first line of prefix=<...> and the effect will change libdir and includedir too. (AKC 2013/04/05 HDFFV-8358) - - h5repack: Fixed failure to convert the layout of a small chunked + - h5repack: Fixed failure to convert the layout of a small chunked dataset (size < 1K) to contiguous layout. HDFFV-8214 (JKM 2013/03/26) - - h5dump: Fixed displaying compression ratio for unknown or user-defined + - h5dump: Fixed displaying compression ratio for unknown or user-defined filters. HDFFV-8344 (XCAO 2013/03/19) - - h5dump: Changed UNKNOWN_FILTER to USER_DEFINED_FILTER for user defined + - h5dump: Changed UNKNOWN_FILTER to USER_DEFINED_FILTER for user defined filter. HDFFV-8346 (XCAO 2013/03/19) - - h5diff: Fixed to return the correct exit code 1 when the program - detects a unique extra attribute. Prior to this fix, h5diff returned - exit code 0 indicating the two files are identical. + - h5diff: Fixed to return the correct exit code 1 when the program + detects a unique extra attribute. Prior to this fix, h5diff returned + exit code 0 indicating the two files are identical. HDFFV-7643 (JKM 2013/02/15) - h5dump: Fixed writing nulls to a binary file when exporting a dataset with compound string datatype. HDFFV-8169 (ADB 2013/1/31) @@ -6184,10 +6790,10 @@ Bug Fixes since HDF5-1.8.10 other machines that display extra output if an MPI task returns with a non-zero code.) Testing h5stat notexist.h5 - The test script was fixed to ignore the extra output. HDFFV-8233 + The test script was fixed to ignore the extra output. HDFFV-8233 (AKC - 2012/11/30) - h5diff: Improved speed when comparing HDF5 files with lots of - attributes. Much slower performance was identified with release versions + attributes. Much slower performance was identified with release versions from 1.8.7 to 1.8.10 compared to 1.8.6. (JKM 2012/10/19) F90 API @@ -6195,28 +6801,28 @@ Bug Fixes since HDF5-1.8.10 - The integer type of the 'offset' argument in h5pset_external_f and h5pget_external_f was changed to INTEGER(KIND=OFF_T) to support 8-byte integers, matching the C type definition of off_t. (MSB - 2013/3/23) - - h5fc updated to recognize .f95, .f03 and .f08 file extensions. + - h5fc updated to recognize .f95, .f03 and .f08 file extensions. C++ API ------ - - The C++ wrappers DSetMemXferPropList::setMulti/getMulti were removed - because the C functions H5Pset/get_dxpl_multi functions are removed + - The C++ wrappers DSetMemXferPropList::setMulti/getMulti were removed + because the C functions H5Pset/get_dxpl_multi functions are removed from the library. Fixes HDFFV-8296 by DER. (BMR 2013/03/30) - An exception thrown by an internal function was not propagating to the test program during stack unwinding, so it couldn't be caught by the - test, and the program terminated "without an active exception." It - seemed that the problem happened when c_str() was used to generate - an equivalent const char* from a std::string and the resulting string - was passed to the internal function. As a work-around, we added a - try/catch around the the call to the internal function and when the - exception is caught there, it is re-thrown. Fixes HDFFV-8067. + test, and the program terminated "without an active exception." It + seemed that the problem happened when c_str() was used to generate + an equivalent const char* from a std::string and the resulting string + was passed to the internal function. As a work-around, we added a + try/catch around the the call to the internal function and when the + exception is caught there, it is re-thrown. Fixes HDFFV-8067. (BMR 2013/03/30) High-Level APIs: ------ - - Fixed a problem with H5DSget_scale_name including the NULL terminator - in the size calculation returned by the function. The API was changed - to NOT include the NULL terminator in the size of name returned + - Fixed a problem with H5DSget_scale_name including the NULL terminator + in the size calculation returned by the function. The API was changed + to NOT include the NULL terminator in the size of name returned (MSB- 2013/2/10) Fortran High-Level APIs: @@ -6262,12 +6868,12 @@ They are built with the configure process unless specified otherwise. #1 SMP x86_64 GNU/Linux compilers for 64-bit applications; (koala) Version 4.1.2 20080704 (Red Hat 4.1.2-52) Version 4.6.3 - PGI C, Fortran, C++ for 64-bit target on + PGI C, Fortran, C++ for 64-bit target on x86-64; - Version 11.9-0 + Version 11.9-0 Version 12.5-0 - Intel(R) C, C++, Fortran Compilers for - applications running on Intel(R) 64; + Intel(R) C, C++, Fortran Compilers for + applications running on Intel(R) 64; Version 12.1 (Build 20110811) Version 12.1 (Build 20120212) @@ -6311,7 +6917,7 @@ They are built with the configure process unless specified otherwise. (duck) Intel icc/icpc/ifort version 13.0 Mac OS X Mountain Lion 10.8.1 Apple clang/clang++ version 4.2 from Xcode 4.6.1 - 64-bit gfortran GNU Fortran (GCC) 4.6.2 + 64-bit gfortran GNU Fortran (GCC) 4.6.2 (wren) Intel icc/icpc/ifort version 13.0.1.119 @@ -6319,14 +6925,14 @@ Tested Configuration Features Summary ===================================== In the tables below - y = tested + 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 + <blank> = testing incomplete on this feature or platform Platform C F90/ F90 C++ zlib SZIP parallel F2003 parallel @@ -6351,27 +6957,27 @@ CentOS 6.4 Linux 2.6.32 x86_64 Intel n y/y n y y y Linux 2.6.32-358.2.1.el6.ppc64 n y/n n y y y -Platform Shared Shared Shared Thread- - C libs F90 libs C++ libs safe -Solaris2.11 32-bit y y y y -Solaris2.11 64-bit y y y y +Platform Shared Shared Shared Thread- + C libs F90 libs C++ libs safe +Solaris2.11 32-bit y y y y +Solaris2.11 64-bit y y y y Windows 7 y y y y Windows 7 x64 y y y y Windows 7 Cygwin n n n y Windows 7 x64 Cygwin n n n y -Mac OS X Snow Leopard 10.6.8 64-bit y n y n -Mac OS X Lion 10.7.3 64-bit y n y y -Mac OS X Mountain Lion 10.8.1 64-bit y n y y -AIX 5.3 32- and 64-bit y n n y -CentOS 5.9 Linux 2.6.18-308 i686 GNU y y y y -CentOS 5.9 Linux 2.6.18-308 i686 Intel y y y n -CentOS 5.9 Linux 2.6.18-308 i686 PGI y y y n -CentOS 5.9 Linux 2.6.18 x86_64 GNU y y y y -CentOS 5.9 Linux 2.6.18 x86_64 Intel y y y n -CentOS 5.9 Linux 2.6.18 x86_64 PGI y y y n +Mac OS X Snow Leopard 10.6.8 64-bit y n y n +Mac OS X Lion 10.7.3 64-bit y n y y +Mac OS X Mountain Lion 10.8.1 64-bit y n y y +AIX 5.3 32- and 64-bit y n n y +CentOS 5.9 Linux 2.6.18-308 i686 GNU y y y y +CentOS 5.9 Linux 2.6.18-308 i686 Intel y y y n +CentOS 5.9 Linux 2.6.18-308 i686 PGI y y y n +CentOS 5.9 Linux 2.6.18 x86_64 GNU y y y y +CentOS 5.9 Linux 2.6.18 x86_64 Intel y y y n +CentOS 5.9 Linux 2.6.18 x86_64 PGI y y y n CentOS 6.4 Linux 2.6.32 x86_64 GNU y y y n CentOS 6.4 Linux 2.6.32 x86_64 Intel y y y n -Linux 2.6.32-358.2.1.el6.ppc64 y y y n +Linux 2.6.32-358.2.1.el6.ppc64 y y y n Compiler versions for each platform are listed in the preceding "Supported Platforms" table. @@ -6388,7 +6994,7 @@ The following platforms are not supported but have been tested for this release. Linux 2.6.18-308.16.1.el5 MPICH mpich2-1.4.1p1 compiled with #1 SMP x86_64 GNU/Linux gcc 4.1.2 and gfortran 4.1.2 (koala) g95 (GCC 4.0.3 (g95 0.94!) - + FreeBSD 8.2-STABLE i386 gcc 4.2.1 [FreeBSD] 20070719 (loyalty) gcc 4.6.1 20110422 g++ 4.6.1 20110422 @@ -6411,14 +7017,14 @@ The following platforms are not supported but have been tested for this release. SUSE 12.3 3.7.10-1.1-desktop #1 SMP PREEMPT x86_64 x86_64 x86_64 GNU/Linux gcc (SUSE Linux) 4.7.2 - GNU Fortran (SUSE Linux) 4.7.2 + GNU Fortran (SUSE Linux) 4.7.2 (cmake and autotools) Ubuntu 12.10 3.5.0-25-generic #39-Ubuntu SMP x86_64 GNU/Linux gcc (Ubuntu/Linaro 4.7.2-2ubuntu1) 4.7.2 GNU Fortran (Ubuntu/Linaro 4.7.2-2ubuntu1) 4.7.2 (cmake and autotools) - + Cray Linux Environment (CLE) PrgEnv-pgi/4.0.46 hopper.nersc.gov pgcc 12.5-0 64-bit target on x86-64 Linux -tp shanghai pgf90 12.5-0 64-bit target on x86-64 Linux -tp shanghai @@ -6443,15 +7049,15 @@ Known Problems spurious data values has only been encountered on Windows 32-bit systems. (Issue HDFFV-8247; JP - 2013/03/27) -* The 5.9 C++ compiler on Sun failed to compile a C++ test ttypes.cpp. It +* The 5.9 C++ compiler on Sun failed to compile a C++ test ttypes.cpp. It complains with this message: "/home/hdf5/src/H5Vprivate.h", line 130: Error: __func__ is not defined. - + The reason is that __func__ is a predefined identifier in C99 standard. The - HDF5 C library uses it in H5private.h. The test ttypes.cpp includes + HDF5 C library uses it in H5private.h. The test ttypes.cpp includes H5private.h (H5Tpkg.h<-H5Fprivate.h<-H5Vprivate.h<-H5private.h). Sun's 5.9 C++ compiler doesn't support __func__, thus fails to compile the C++ test. - But Sun's 5.11 C++ compiler does. To check whether your Sun C++ compiler + But Sun's 5.11 C++ compiler does. To check whether your Sun C++ compiler knows this identifier, try to compile the following simple C++ program: #include<stdio.h> @@ -6472,7 +7078,7 @@ Known Problems 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 @@ -6483,21 +7089,21 @@ Known Problems 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. + 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 kernel) 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 + (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) - This issue is no longer present on Ubuntu 12.10 (3.5.0 kernel) with + This issue is no longer present on Ubuntu 12.10 (3.5.0 kernel) with gcc 4.7.2. * The STDIO VFD does not work on some architectures, possibly due to 32/64 @@ -6520,7 +7126,7 @@ Known Problems 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 + 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) @@ -6528,8 +7134,8 @@ Known Problems 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 + (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) @@ -6560,7 +7166,7 @@ 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 + 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) @@ -6570,42 +7176,42 @@ Known Problems 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 + 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 + 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) - + * 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) -* 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 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. -* A dataset created or rewritten with a v1.6.3 library or after cannot be read +* 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 + 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. + 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) -%%%%1.8.10-patch1%%%% +%%%%1.8.10-patch1%%%% HDF5 version 1.8.10-patch1 released on 2013-01-22 @@ -6614,10 +7220,10 @@ HDF5 version 1.8.10-patch1 released on 2013-01-22 INTRODUCTION ============ -This document describes the differences between HDF5-1.8.9 and -HDF5 1.8.10, and contains information on the platforms tested and -known problems in HDF5-1.8.10. -For more details, see the files HISTORY-1_0-1_8_0_rc3.txt +This document describes the differences between HDF5-1.8.9 and +HDF5 1.8.10, and contains information on the platforms tested and +known problems in HDF5-1.8.10. +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.10 source code, documentation, and additional materials @@ -6629,18 +7235,18 @@ The HDF5 1.8.10 release can be obtained from: http://www.hdfgroup.org/HDF5/release/obtain5.html -User documentation for 1.8.10 can be accessed directly at this location: +User documentation for 1.8.10 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 +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.10 (current +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.10 (current release) versus Release 1.8.9": http://www.hdfgroup.org/HDF5/doc/ADGuide/Changes.html @@ -6683,25 +7289,25 @@ New Features size. Now the library picks the smaller one between the dataset size and the sieve buffer size from the file access property. See Issue 7934. (SLU - 2012/4/11) - + Parallel Library ---------------- - - Added the H5Pget_mpio_no_collective_cause() function that retrieves - reasons why the collective I/O was broken during read/write IO access. + - Added the H5Pget_mpio_no_collective_cause() function that retrieves + reasons why the collective I/O was broken during read/write IO access. (JKM - 2012/08/30 HDFFV-8143) - Added H5Pget_mpio_actual_io_mode_f (MSB - 2012/09/27) - + Tools ----- - - h5import: Changed to allow the use of h5dump output as input files to - h5import. h5dump must include the "-p" option to print the properties; - configuration file is captured output of h5dump. The restrictions are - that only one dataset with a simple datatype (integer, floating-point, - or string) can be processed. Integers and floating-point imports from - h5dump must use the "binary" option for the data file. The string version - uses the h5dump "-y --width=1" options to disable the indexing printouts, - print single columns, and obviously NOT use the "binary" option. + - h5import: Changed to allow the use of h5dump output as input files to + h5import. h5dump must include the "-p" option to print the properties; + configuration file is captured output of h5dump. The restrictions are + that only one dataset with a simple datatype (integer, floating-point, + or string) can be processed. Integers and floating-point imports from + h5dump must use the "binary" option for the data file. The string version + uses the h5dump "-y --width=1" options to disable the indexing printouts, + print single columns, and obviously NOT use the "binary" option. (ADB - 2012/07/19 HDFFV-721) High-Level APIs @@ -6710,7 +7316,7 @@ New Features Fortran API ----------- - - Fixed a typo in return value of the nh5dread_f_c function (was 1 + - Fixed a typo in return value of the nh5dread_f_c function (was 1 instead of 0 on success); fixed the return value to make it consistent with other Fortran functions; cleaned debug statements from the code. (EIP - 2012/06/23) @@ -6744,9 +7350,9 @@ Bug Fixes since HDF5-1.8.10 Testing h5stat notexist.h5 The test script was fixed to ignore the extra output. HDFFV-8233 (AKC - 2012/12/17) - - h5diff: Fixed slowness when comparing HDF5 files with many attributes. - Much slower performance was identified with later release version - (from 1.8.7 to 1.8.10) compared to 1.8.6. The issue was introduced + - h5diff: Fixed slowness when comparing HDF5 files with many attributes. + Much slower performance was identified with later release version + (from 1.8.7 to 1.8.10) compared to 1.8.6. The issue was introduced from fixing an attribute related bug for 1.8.7 release in the past. HDFFV-8145 (JKM 2012/12/13) @@ -6765,7 +7371,7 @@ Bug Fixes since HDF5-1.8.9 the hard conversion code in test/dt_arith.c to fail. HDFFV-8017. (AKC - 2012/10/10) - Fixed AIX Fortran compiler flags to use appropriate settings for - debugging, profiling, and optimization situations. HDFFV-8069. + debugging, profiling, and optimization situations. HDFFV-8069. (AKC 2012/09/27) Library @@ -6776,7 +7382,7 @@ Bug Fixes since HDF5-1.8.9 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 has been fixed. HDFFV-8009 (AKC - 2012/07/06) - + Parallel Library ---------------- @@ -6795,27 +7401,27 @@ Bug Fixes since HDF5-1.8.9 Tools ----- - h5repack: "h5repack -f NONE file1.h5 out.h5" command failed if - source file contains chunked dataset and a chunk dim is bigger than + source file contains chunked dataset and a chunk dim is bigger than the dataset dim. Another issue is that the command changed max dims - if chunk dim is smaller than the dataset dim. These issue occurred + if chunk dim is smaller than the dataset dim. These issue occurred when dataset size is smaller than 64k (compact size limit) Fixed both. HDFFV-8012 (JKM 2012/09/24) - - h5diff: Fixed the counter in verbose mode (-v, -r) so that it will no - longer add together the differences between datasets and the differences - between attributes of those datasets. This change makes the output of - verbose mode consistent for datasets, groups, and committed datatypes. + - h5diff: Fixed the counter in verbose mode (-v, -r) so that it will no + longer add together the differences between datasets and the differences + between attributes of those datasets. This change makes the output of + verbose mode consistent for datasets, groups, and committed datatypes. HDFFV-5919 (JKM 2012/09/10) - - h5diff: Fixed the incorrect result when comparing attribute data + - h5diff: Fixed the incorrect result when comparing attribute data values and the data type has the same class but different sizes. HDFFV-7942 (JKM 2012/08/15) - h5dump: Replaced single element fwrite with block writes. HDFFV-1208 (ADB 2012/08/13) - - h5diff: Fixed test failure for "make check" due to failure of + - h5diff: Fixed test failure for "make check" due to failure of copying test files when performed in HDF5 source tree. Also applied to other tools. HDFFV-8107 (JKM 2012/08/01) - - ph5diff: Fixed intermittent hang issue on a certain operation in - parallel mode. It was detected by daily test for comparing - non-comparable objects, but it could have occurred in other + - ph5diff: Fixed intermittent hang issue on a certain operation in + parallel mode. It was detected by daily test for comparing + non-comparable objects, but it could have occurred in other operations depending on machine condition. HDFFV-8003 (JKM 2012/08/01) - h5diff: Fixed the function COPY_TESTFILES_TO_TESTDIR() of testh5diff.sh to better report when there is an error in the file copying. @@ -6823,22 +7429,22 @@ Bug Fixes since HDF5-1.8.9 - h5dump: Fixed the sort by name display to maintain correct parent/child relationships between ascending/descending order. HDFFV-8095 (ADB 2012/07/12) - - h5dump: Fixed the display by creation order when using option -n + - h5dump: Fixed the display by creation order when using option -n (print contents). HDFFV-5942 (ADB 2012/07/09) - - h5dump: Changed to allow H5T_CSET_UTF8 to be displayed in h5dump output. - Used technique similar to what was done in h5ls (matches library + - h5dump: Changed to allow H5T_CSET_UTF8 to be displayed in h5dump output. + Used technique similar to what was done in h5ls (matches library options). HDFFV-7999 (ADB 2012/05/23) - - h5diff: Fixed the tool so that it will not check and display the status - of dangling links without setting the --follow-symlinks option. This - also improved performance when comparing lots of external links without - the --follow-symlinks option. + - h5diff: Fixed the tool so that it will not check and display the status + of dangling links without setting the --follow-symlinks option. This + also improved performance when comparing lots of external links without + the --follow-symlinks option. HDFFV-7998 (JKM 2012/04/26) F90 API ------- - + - Fixed a typo in return value of the nh5dread_f_c function (was 1 instead of 0 on success); fixed the return value to make it consistent with other Fortran functions; cleaned debug statements from the code. @@ -6861,15 +7467,15 @@ Bug Fixes since HDF5-1.8.9 High-Level APIs: ------ - - Fixed problem with H5TBdelete_record destroying all data following the + - Fixed problem with H5TBdelete_record destroying all data following the deletion of a row. (MSB- 2012/7/26) - - Fixed H5LTget_attribute_string not closing an object identifier when an + - Fixed H5LTget_attribute_string not closing an object identifier when an error occurs. (MSB- 2012/7/21) - - Corrected the return type of H5TBAget_fill from herr_t to htri_t to - reflect that a return value of 1 indicates that a fill value is - present, 0 indicates a fill value is not present, and <0 indicates an + - Corrected the return type of H5TBAget_fill from herr_t to htri_t to + reflect that a return value of 1 indicates that a fill value is + present, 0 indicates a fill value is not present, and <0 indicates an error. Fortran High-Level APIs: @@ -6899,19 +7505,19 @@ Supported Platforms #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.6.3 - PGI C, Fortran, C++ for 64-bit target on + PGI C, Fortran, C++ for 64-bit target on x86-64; - Version 11.9-0 + Version 11.9-0 Version 12.5-0 - Intel(R) C, C++, Fortran Compilers for - applications running on Intel(R) 64; + Intel(R) C, C++, Fortran Compilers for + applications running on Intel(R) 64; Version 12.1 (Build 20110811) Version 12.1 (Build 20120212) MPICH mpich2-1.4.1p1 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 + 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.32-220.23.1.1chaos Intel C, C++, Fortran Compilers @@ -6961,23 +7567,23 @@ Supported Platforms Mac OS X Mountain Lion 10.8.1 cc Apple clang version 4.0 from Xcode 4.5.1 (owl) c++ Apple clang version 4.0 from Xcode 4.5.1 - gcc i686-apple-darwin11-llvm-gcc-4.2 (GCC) 4.2.1 from Xcode 4.5.1 - g++ i686-apple-darwin11-llvm-g++-4.2 (GCC) 4.2.1 from Xcode 4.5.1 - gfortran GNU Fortran (GCC) 4.6.2 + gcc i686-apple-darwin11-llvm-gcc-4.2 (GCC) 4.2.1 from Xcode 4.5.1 + g++ i686-apple-darwin11-llvm-g++-4.2 (GCC) 4.2.1 from Xcode 4.5.1 + gfortran GNU Fortran (GCC) 4.6.2 Tested Configuration Features Summary ===================================== In the tables below - y = tested + 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 + <blank> = testing incomplete on this feature or platform Platform C F90/ F90 C++ zlib SZIP parallel F2003 parallel @@ -6985,7 +7591,7 @@ Solaris2.10 32-bit n y/y n y y y Solaris2.10 64-bit n y/n n y y y Windows 7 y y/n n y y y Windows 7 x64 y y/n n y y y -Mac OS X Snow Leopard 10.6.8 32-bit n y/y n y y n +Mac OS X Snow Leopard 10.6.8 32-bit n y/y n y y n Mac OS X Snow Leopard 10.6.8 64-bit n y/y n y y y Mac OS X Lion 10.7.3 32-bit n y/y n y y n Mac OS X Lion 10.7.3 64-bit n y/y n y y y @@ -7000,25 +7606,25 @@ CentOS 5.5 Linux 2.6.18 x86_64 PGI n y/y n y y y Linux 2.6.32-220.7.1.el6.ppc64 n y/n n y y y -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 +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 7 y y y y Windows 7 x64 y y 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 -Mac OS X Mountain Lion 10.8.1 64-bit y n y y -AIX 5.3 32- and 64-bit n n n y -CentOS 5.5 Linux 2.6.18-308 i686 GNU y y y y -CentOS 5.5 Linux 2.6.18-308 i686 Intel y y y n -CentOS 5.5 Linux 2.6.18-308 i686 PGI y y y n -CentOS 5.5 Linux 2.6.18 x86_64 GNU y y y y -CentOS 5.5 Linux 2.6.18 x86_64 Intel y y y n -CentOS 5.5 Linux 2.6.18 x86_64 PGI y y y n -Linux 2.6.32-220.7.1.el6.ppc64 y y y n +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 +Mac OS X Mountain Lion 10.8.1 64-bit y n y y +AIX 5.3 32- and 64-bit n n n y +CentOS 5.5 Linux 2.6.18-308 i686 GNU y y y y +CentOS 5.5 Linux 2.6.18-308 i686 Intel y y y n +CentOS 5.5 Linux 2.6.18-308 i686 PGI y y y n +CentOS 5.5 Linux 2.6.18 x86_64 GNU y y y y +CentOS 5.5 Linux 2.6.18 x86_64 Intel y y y n +CentOS 5.5 Linux 2.6.18 x86_64 PGI y y y n +Linux 2.6.32-220.7.1.el6.ppc64 y y y n Compiler versions for each platform are listed in the preceding "Supported Platforms" table. @@ -7065,7 +7671,7 @@ The following platforms are not supported but have been tested for this release. SUSE 12.2 3.4.6-2.10-desktop #1 SMP PREEMPT x86_64 x86_64 x86_64 GNU/Linux gcc (SUSE Linux) 4.7.1 - GNU Fortran (SUSE Linux) 4.7.1 + GNU Fortran (SUSE Linux) 4.7.1 (cmake and autotools) Ubuntu 12.04 3.2.0-29-generic #46-Ubuntu SMP i686 GNU/Linux @@ -7078,12 +7684,12 @@ The following platforms are not supported but have been tested for this release. GNU Fortran (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3 (cmake and autotools) (Use optimization level -O1) - + Cray Linux Environment (CLE) PrgEnv-pgi/4.0.46 hopper.nersc.gov pgcc 12.5-0 64-bit target on x86-64 Linux -tp shanghai pgf90 12.5-0 64-bit target on x86-64 Linux -tp shanghai pgCC 12.5-0 64-bit target on x86-64 Linux -tp shanghai - + Known Problems ============== @@ -7097,7 +7703,7 @@ Known Problems 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 @@ -7108,14 +7714,14 @@ Known Problems 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. + 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 + (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 @@ -7143,7 +7749,7 @@ Known Problems 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 + 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) @@ -7151,8 +7757,8 @@ Known Problems 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 + (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) @@ -7183,7 +7789,7 @@ 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 + 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) @@ -7193,42 +7799,42 @@ Known Problems 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 + 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 + 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) - + * 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) -* 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 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. -* A dataset created or rewritten with a v1.6.3 library or after cannot be read +* 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 + 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. + 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) -%%%%1.8.10%%%% +%%%%1.8.10%%%% HDF5 version 1.8.10 released on 2012-10-26 @@ -7237,10 +7843,10 @@ HDF5 version 1.8.10 released on 2012-10-26 INTRODUCTION ============ -This document describes the differences between HDF5-1.8.9 and -HDF5 1.8.10, and contains information on the platforms tested and -known problems in HDF5-1.8.10. -For more details, see the files HISTORY-1_0-1_8_0_rc3.txt +This document describes the differences between HDF5-1.8.9 and +HDF5 1.8.10, and contains information on the platforms tested and +known problems in HDF5-1.8.10. +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.10 source code, documentation, and additional materials @@ -7252,18 +7858,18 @@ The HDF5 1.8.10 release can be obtained from: http://www.hdfgroup.org/HDF5/release/obtain5.html -User documentation for 1.8.10 can be accessed directly at this location: +User documentation for 1.8.10 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 +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.10 (current +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.10 (current release) versus Release 1.8.9": http://www.hdfgroup.org/HDF5/doc/ADGuide/Changes.html @@ -7291,7 +7897,7 @@ New Features Configuration ------------- - None - + Library ------- - Updated to latest autotools and changed all hard *.sh scripts to @@ -7303,25 +7909,25 @@ New Features size. Now the library picks the smaller one between the dataset size and the sieve buffer size from the file access property. See Issue 7934. (SLU - 2012/4/11) - + Parallel Library ---------------- - - Added the H5Pget_mpio_no_collective_cause() function that retrieves - reasons why the collective I/O was broken during read/write IO access. + - Added the H5Pget_mpio_no_collective_cause() function that retrieves + reasons why the collective I/O was broken during read/write IO access. (JKM - 2012/08/30 HDFFV-8143) - Added H5Pget_mpio_actual_io_mode_f (MSB - 2012/09/27) - + Tools ----- - - h5import: Changed to allow the use of h5dump output as input files to - h5import. h5dump must include the "-p" option to print the properties; - configuration file is captured output of h5dump. The restrictions are - that only one dataset with a simple datatype (integer, floating-point, - or string) can be processed. Integers and floating-point imports from - h5dump must use the "binary" option for the data file. The string version - uses the h5dump "-y --width=1" options to disable the indexing printouts, - print single columns, and obviously NOT use the "binary" option. + - h5import: Changed to allow the use of h5dump output as input files to + h5import. h5dump must include the "-p" option to print the properties; + configuration file is captured output of h5dump. The restrictions are + that only one dataset with a simple datatype (integer, floating-point, + or string) can be processed. Integers and floating-point imports from + h5dump must use the "binary" option for the data file. The string version + uses the h5dump "-y --width=1" options to disable the indexing printouts, + print single columns, and obviously NOT use the "binary" option. (ADB - 2012/07/19 HDFFV-721) High-Level APIs @@ -7330,7 +7936,7 @@ New Features Fortran API ----------- - - Fixed a typo in return value of the nh5dread_f_c function (was 1 + - Fixed a typo in return value of the nh5dread_f_c function (was 1 instead of 0 on success); fixed the return value to make it consistent with other Fortran functions; cleaned debug statements from the code. (EIP - 2012/06/23) @@ -7355,7 +7961,7 @@ Bug Fixes since HDF5-1.8.9 the hard conversion code in test/dt_arith.c to fail. HDFFV-8017. (AKC - 2012/10/10) - Fixed AIX Fortran compiler flags to use appropriate settings for - debugging, profiling, and optimization situations. HDFFV-8069. + debugging, profiling, and optimization situations. HDFFV-8069. (AKC 2012/09/27) Library @@ -7366,7 +7972,7 @@ Bug Fixes since HDF5-1.8.9 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 has been fixed. HDFFV-8009 (AKC - 2012/07/06) - + Parallel Library ---------------- @@ -7385,27 +7991,27 @@ Bug Fixes since HDF5-1.8.9 Tools ----- - h5repack: "h5repack -f NONE file1.h5 out.h5" command failed if - source file contains chunked dataset and a chunk dim is bigger than + source file contains chunked dataset and a chunk dim is bigger than the dataset dim. Another issue is that the command changed max dims - if chunk dim is smaller than the dataset dim. These issue occurred + if chunk dim is smaller than the dataset dim. These issue occurred when dataset size is smaller than 64k (compact size limit) Fixed both. HDFFV-8012 (JKM 2012/09/24) - - h5diff: Fixed the counter in verbose mode (-v, -r) so that it will no - longer add together the differences between datasets and the differences - between attributes of those datasets. This change makes the output of - verbose mode consistent for datasets, groups, and committed datatypes. + - h5diff: Fixed the counter in verbose mode (-v, -r) so that it will no + longer add together the differences between datasets and the differences + between attributes of those datasets. This change makes the output of + verbose mode consistent for datasets, groups, and committed datatypes. HDFFV-5919 (JKM 2012/09/10) - - h5diff: Fixed the incorrect result when comparing attribute data + - h5diff: Fixed the incorrect result when comparing attribute data values and the data type has the same class but different sizes. HDFFV-7942 (JKM 2012/08/15) - h5dump: Replaced single element fwrite with block writes. HDFFV-1208 (ADB 2012/08/13) - - h5diff: Fixed test failure for "make check" due to failure of + - h5diff: Fixed test failure for "make check" due to failure of copying test files when performed in HDF5 source tree. Also applied to other tools. HDFFV-8107 (JKM 2012/08/01) - - ph5diff: Fixed intermittent hang issue on a certain operation in - parallel mode. It was detected by daily test for comparing - non-comparable objects, but it could have occurred in other + - ph5diff: Fixed intermittent hang issue on a certain operation in + parallel mode. It was detected by daily test for comparing + non-comparable objects, but it could have occurred in other operations depending on machine condition. HDFFV-8003 (JKM 2012/08/01) - h5diff: Fixed the function COPY_TESTFILES_TO_TESTDIR() of testh5diff.sh to better report when there is an error in the file copying. @@ -7413,22 +8019,22 @@ Bug Fixes since HDF5-1.8.9 - h5dump: Fixed the sort by name display to maintain correct parent/child relationships between ascending/descending order. HDFFV-8095 (ADB 2012/07/12) - - h5dump: Fixed the display by creation order when using option -n + - h5dump: Fixed the display by creation order when using option -n (print contents). HDFFV-5942 (ADB 2012/07/09) - - h5dump: Changed to allow H5T_CSET_UTF8 to be displayed in h5dump output. - Used technique similar to what was done in h5ls (matches library + - h5dump: Changed to allow H5T_CSET_UTF8 to be displayed in h5dump output. + Used technique similar to what was done in h5ls (matches library options). HDFFV-7999 (ADB 2012/05/23) - - h5diff: Fixed the tool so that it will not check and display the status - of dangling links without setting the --follow-symlinks option. This - also improved performance when comparing lots of external links without - the --follow-symlinks option. + - h5diff: Fixed the tool so that it will not check and display the status + of dangling links without setting the --follow-symlinks option. This + also improved performance when comparing lots of external links without + the --follow-symlinks option. HDFFV-7998 (JKM 2012/04/26) F90 API ------- - + - Fixed a typo in return value of the nh5dread_f_c function (was 1 instead of 0 on success); fixed the return value to make it consistent with other Fortran functions; cleaned debug statements from the code. @@ -7451,15 +8057,15 @@ Bug Fixes since HDF5-1.8.9 High-Level APIs: ------ - - Fixed problem with H5TBdelete_record destroying all data following the + - Fixed problem with H5TBdelete_record destroying all data following the deletion of a row. (MSB- 2012/7/26) - - Fixed H5LTget_attribute_string not closing an object identifier when an + - Fixed H5LTget_attribute_string not closing an object identifier when an error occurs. (MSB- 2012/7/21) - - Corrected the return type of H5TBAget_fill from herr_t to htri_t to - reflect that a return value of 1 indicates that a fill value is - present, 0 indicates a fill value is not present, and <0 indicates an + - Corrected the return type of H5TBAget_fill from herr_t to htri_t to + reflect that a return value of 1 indicates that a fill value is + present, 0 indicates a fill value is not present, and <0 indicates an error. Fortran High-Level APIs: @@ -7489,19 +8095,19 @@ Supported Platforms #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.6.3 - PGI C, Fortran, C++ for 64-bit target on + PGI C, Fortran, C++ for 64-bit target on x86-64; - Version 11.9-0 + Version 11.9-0 Version 12.5-0 - Intel(R) C, C++, Fortran Compilers for - applications running on Intel(R) 64; + Intel(R) C, C++, Fortran Compilers for + applications running on Intel(R) 64; Version 12.1 (Build 20110811) Version 12.1 (Build 20120212) MPICH mpich2-1.4.1p1 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 + 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.32-220.23.1.1chaos Intel C, C++, Fortran Compilers @@ -7551,23 +8157,23 @@ Supported Platforms Mac OS X Mountain Lion 10.8.1 cc Apple clang version 4.0 from Xcode 4.5.1 (owl) c++ Apple clang version 4.0 from Xcode 4.5.1 - gcc i686-apple-darwin11-llvm-gcc-4.2 (GCC) 4.2.1 from Xcode 4.5.1 - g++ i686-apple-darwin11-llvm-g++-4.2 (GCC) 4.2.1 from Xcode 4.5.1 - gfortran GNU Fortran (GCC) 4.6.2 + gcc i686-apple-darwin11-llvm-gcc-4.2 (GCC) 4.2.1 from Xcode 4.5.1 + g++ i686-apple-darwin11-llvm-g++-4.2 (GCC) 4.2.1 from Xcode 4.5.1 + gfortran GNU Fortran (GCC) 4.6.2 Tested Configuration Features Summary ===================================== In the tables below - y = tested + 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 + <blank> = testing incomplete on this feature or platform Platform C F90/ F90 C++ zlib SZIP parallel F2003 parallel @@ -7575,7 +8181,7 @@ Solaris2.10 32-bit n y/y n y y y Solaris2.10 64-bit n y/n n y y y Windows 7 y y/n n y y y Windows 7 x64 y y/n n y y y -Mac OS X Snow Leopard 10.6.8 32-bit n y/y n y y n +Mac OS X Snow Leopard 10.6.8 32-bit n y/y n y y n Mac OS X Snow Leopard 10.6.8 64-bit n y/y n y y y Mac OS X Lion 10.7.3 32-bit n y/y n y y n Mac OS X Lion 10.7.3 64-bit n y/y n y y y @@ -7590,25 +8196,25 @@ CentOS 5.5 Linux 2.6.18 x86_64 PGI n y/y n y y y Linux 2.6.32-220.7.1.el6.ppc64 n y/n n y y y -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 +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 7 y y y y Windows 7 x64 y y 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 -Mac OS X Mountain Lion 10.8.1 64-bit y n y y -AIX 5.3 32- and 64-bit n n n y -CentOS 5.5 Linux 2.6.18-308 i686 GNU y y y y -CentOS 5.5 Linux 2.6.18-308 i686 Intel y y y n -CentOS 5.5 Linux 2.6.18-308 i686 PGI y y y n -CentOS 5.5 Linux 2.6.18 x86_64 GNU y y y y -CentOS 5.5 Linux 2.6.18 x86_64 Intel y y y n -CentOS 5.5 Linux 2.6.18 x86_64 PGI y y y n -Linux 2.6.32-220.7.1.el6.ppc64 y y y n +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 +Mac OS X Mountain Lion 10.8.1 64-bit y n y y +AIX 5.3 32- and 64-bit n n n y +CentOS 5.5 Linux 2.6.18-308 i686 GNU y y y y +CentOS 5.5 Linux 2.6.18-308 i686 Intel y y y n +CentOS 5.5 Linux 2.6.18-308 i686 PGI y y y n +CentOS 5.5 Linux 2.6.18 x86_64 GNU y y y y +CentOS 5.5 Linux 2.6.18 x86_64 Intel y y y n +CentOS 5.5 Linux 2.6.18 x86_64 PGI y y y n +Linux 2.6.32-220.7.1.el6.ppc64 y y y n Compiler versions for each platform are listed in the preceding "Supported Platforms" table. @@ -7655,7 +8261,7 @@ The following platforms are not supported but have been tested for this release. SUSE 12.2 3.4.6-2.10-desktop #1 SMP PREEMPT x86_64 x86_64 x86_64 GNU/Linux gcc (SUSE Linux) 4.7.1 - GNU Fortran (SUSE Linux) 4.7.1 + GNU Fortran (SUSE Linux) 4.7.1 (cmake and autotools) Ubuntu 12.04 3.2.0-29-generic #46-Ubuntu SMP i686 GNU/Linux @@ -7668,12 +8274,12 @@ The following platforms are not supported but have been tested for this release. GNU Fortran (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3 (cmake and autotools) (Use optimization level -O1) - + Cray Linux Environment (CLE) PrgEnv-pgi/4.0.46 hopper.nersc.gov pgcc 12.5-0 64-bit target on x86-64 Linux -tp shanghai pgf90 12.5-0 64-bit target on x86-64 Linux -tp shanghai pgCC 12.5-0 64-bit target on x86-64 Linux -tp shanghai - + Known Problems ============== @@ -7681,7 +8287,7 @@ Known Problems machines that display extra output if an MPI task returns with a non-zero code.) Testing h5stat notexist.h5 - + The test actually runs and passes as expected. It is the extra output from the MPI process that causes the test script to fail. This will be fixed in the next release. (AKC - 2012/10/25 - HDFFV-8233) @@ -7696,7 +8302,7 @@ Known Problems 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 @@ -7707,14 +8313,14 @@ Known Problems 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. + 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 + (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 @@ -7742,7 +8348,7 @@ Known Problems 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 + 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) @@ -7750,8 +8356,8 @@ Known Problems 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 + (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) @@ -7782,7 +8388,7 @@ 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 + 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) @@ -7792,42 +8398,42 @@ Known Problems 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 + 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 + 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) - + * 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) -* 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 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. -* A dataset created or rewritten with a v1.6.3 library or after cannot be read +* 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 + 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. + 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) -%%%%1.8.9%%%% +%%%%1.8.9%%%% HDF5 version 1.8.9 released on 2012-05-09 @@ -7836,11 +8442,11 @@ 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. +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 +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 @@ -7852,18 +8458,18 @@ 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: +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 +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 +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 @@ -7890,7 +8496,7 @@ New Features Configuration ------------- - None - + Library ------- - Added new feature to merge committed datatypes when copying objects, @@ -7898,12 +8504,12 @@ New Features 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 + - 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. @@ -7912,7 +8518,7 @@ New Features 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 @@ -7920,29 +8526,29 @@ New Features (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)" + - 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 + 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 + 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) + (JKM - 2012/03/01 - HDFFV-7862) High-Level APIs --------------- @@ -7972,7 +8578,7 @@ Bug Fixes since HDF5-1.8.8 ------------- - 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) + 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) @@ -8003,30 +8609,30 @@ Bug Fixes since HDF5-1.8.8 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. + - 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'. + - 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 + - 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 + (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 + - 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 @@ -8035,43 +8641,43 @@ Bug Fixes since HDF5-1.8.8 Tools ----- - - h5unjam: Fixed a segmentation fault that occurred when h5unjam was used + - 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 + - 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. + 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 + - 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 + - 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 + - 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 + - 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 + - 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 + - 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 + - h5ls: Fixed a segmentation fault that occurred when accessing region reference data in an attribute. (JKM - 2012/01/06 - HDFFV-7838) F90 API @@ -8088,9 +8694,9 @@ Bug Fixes since HDF5-1.8.8 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 + - 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) @@ -8133,19 +8739,19 @@ The following platforms and compilers have been tested for this release. #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 + 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; + 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 + 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 @@ -8166,7 +8772,7 @@ The following platforms and compilers have been tested for this release. 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 + default #1 SMP (NCSA ember) Dell NVIDIA Cluster Intel(R) C, Fortran Compilers @@ -8230,7 +8836,7 @@ The following platforms and compilers have been tested for this release. 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 + 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 @@ -8244,20 +8850,20 @@ The following platforms and compilers have been tested for this release. 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 + 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 + <blank> = testing incomplete on this feature or platform Platform C F90 F90 C++ zlib SZIP parallel parallel @@ -8267,7 +8873,7 @@ Windows XP n y(4) n 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 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 @@ -8285,28 +8891,28 @@ Red Hat Enterprise Linux 6 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 +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 +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 @@ -8339,7 +8945,7 @@ Known Problems 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. @@ -8350,7 +8956,7 @@ Known Problems 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 @@ -8366,14 +8972,14 @@ Known Problems 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. + 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 + (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 @@ -8401,7 +9007,7 @@ Known Problems 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 + 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) @@ -8409,8 +9015,8 @@ Known Problems 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 + (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) @@ -8441,7 +9047,7 @@ 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 + 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) @@ -8451,8 +9057,8 @@ Known Problems 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 + 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) @@ -8464,18 +9070,18 @@ Known Problems * 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 + 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 @@ -8511,30 +9117,30 @@ Known Problems 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 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 +* 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 +* 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 + 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. + 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 @@ -8542,17 +9148,17 @@ Known Problems 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. + 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) -%%%%1.8.8%%%% +%%%%1.8.8%%%% HDF5 version 1.8.8 released on 2011-11-15 @@ -8561,10 +9167,10 @@ HDF5 version 1.8.8 released on 2011-11-15 INTRODUCTION ============ -This document describes the differences between HDF5-1.8.7 and -HDF5 1.8.8, and contains information on the platforms tested and -known problems in HDF5-1.8.8. -For more details, see the files HISTORY-1_0-1_8_0_rc3.txt +This document describes the differences between HDF5-1.8.7 and +HDF5 1.8.8, and contains information on the platforms tested and +known problems in HDF5-1.8.8. +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.8 source code, documentation, and additional materials @@ -8576,18 +9182,18 @@ The HDF5 1.8.8 release can be obtained from: http://www.hdfgroup.org/HDF5/release/obtain5.html -User documentation for 1.8.8 can be accessed directly at this location: +User documentation for 1.8.8 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 +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.8 (current +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.8 (current release) versus Release 1.8.7": http://www.hdfgroup.org/HDF5/doc/ADGuide/Changes.html @@ -8613,15 +9219,15 @@ New Features Configuration ------------- - - Added the --enable-fortran2003 flag to enable Fortran2003 support + - Added the --enable-fortran2003 flag to enable Fortran2003 support in the HDF5 Fortran library. The flag should be used along with the - --enable-fortran flag and takes affect only when the Fortran compiler + --enable-fortran flag and takes affect only when the Fortran compiler is Fortran2003 compliant. (EIP - 2011/11/14) - Added checks for clock_gettime and mach/mach_time.h to both configure and CMake. This will support the move from gettimeofday to clock_gettime's monotonic timer in the profiling code in a future release. (DER - 2011/10/12) - + Library ------- - The Windows VFD code has been removed with the exception of the functions @@ -8633,13 +9239,13 @@ New Features (DER - 2011/10/12 - HDFFV-7740, HDFFV-7744) - H5Tcreate now supports the string type (fixed-length and variable- length). (SLU - 2011/05/20) - + Parallel Library ---------------- - Added new H5Pget_mpio_actual_chunk_opt_mode and H5Pget_mpio_actual_io_mode API routines for querying whether/how a collective I/O operation completed. (QAK - 2011/10/12) - + Tools ----- - None @@ -8676,8 +9282,8 @@ New Features h5rderefrence_f h5rget_name_f h5rget_obj_type_f - - Subroutines overloaded with the C_PTR derived type - and simplified signatures: + - Subroutines overloaded with the C_PTR derived type + and simplified signatures: h5aread_f h5awrite_f h5dread_f @@ -8717,7 +9323,7 @@ Bug Fixes since HDF5-1.8.7 trace statement fixup. (DER - 2011/08/25) - The --enable-h5dump-packed-bits configure option has been removed. The h5dump code that this option conditionally enabled is now always - compiled into h5dump. Please refer to the h5dump reference manual for + compiled into h5dump. Please refer to the h5dump reference manual for usage of the packed bits feature. (MAM - 2011/06/23 - HDFFV-7592) - Configure now uses the same flags and symbols in its tests that are used to build the library. (DER - 2011/05/24) @@ -8739,14 +9345,14 @@ Bug Fixes since HDF5-1.8.7 I/O sizes (and remove compiler warnings) between Windows and true POSIX systems. (DER - 2011/10/12) - Corrected some Windows behavior in the SEC2 and log VFDs. This mainly - involved datatype correctness fixes, Windows API call error checks, + involved datatype correctness fixes, Windows API call error checks, and adding the volume serial number to the VFD cmp functions. (DER - 2011/10/12) - - Converted post-checks for the appropriate POSIX I/O sizes to pre-checks - in order to avoid platform-specific or undefined behavior. + - Converted post-checks for the appropriate POSIX I/O sizes to pre-checks + in order to avoid platform-specific or undefined behavior. (DER - 2011/10/12) - - #ifdef _WIN32 instances have been changed to #ifdef H5_HAVE_WIN32_API. - H5_HAVE_VISUAL_STUDIO checks have been added where necessary. This is in + - #ifdef _WIN32 instances have been changed to #ifdef H5_HAVE_WIN32_API. + H5_HAVE_VISUAL_STUDIO checks have been added where necessary. This is in CMake only as configure never sets _WIN32. (ADB - 2011/09/12) - CLANG compiler with the options -fcatch-undefined-behavior and -ftrapv discovered 3 problems in tests and tools' library: @@ -8754,7 +9360,7 @@ Bug Fixes since HDF5-1.8.7 caused undefined behavior. 2. In dt_arith.c, the INIT_INTEGER macro definition has an overflow when the value is a negative minimal and is being subtracted from one. - 3. In tools/lib/h5tools_str.c, right shifting an int value for 32 bits + 3. In tools/lib/h5tools_str.c, right shifting an int value for 32 bits or more caused undefined behavior. All the problems have been corrected. (SLU - 2011/09/02 - HDFFV-7674) - H5Epush2() now has the correct trace functionality (this is related to the @@ -8762,17 +9368,17 @@ Bug Fixes since HDF5-1.8.7 (DER - 2011/08/25) - Corrected mismatched function name typo of h5pget_dxpl_mpio_c and h5pfill_value_defined_c. (AKC - 2011/08/22 - HDFFV-7641) - - Corrected an internal error in the library where objects that use committed + - Corrected an internal error in the library where objects that use committed (named) datatypes and were accessed from two different file IDs could confuse the two and cause erroneous failures. (QAK - 2011/07/18 - HDFFV-7638) - - In v1.6 of the library, there was an EOA for the whole MULTI file saved in the - super block. We took it out in v1.8 of the library because it's meaningless - for the MULTI file. v1.8 of the library saves the EOA for the metadata file + - In v1.6 of the library, there was an EOA for the whole MULTI file saved in the + super block. We took it out in v1.8 of the library because it's meaningless + for the MULTI file. v1.8 of the library saves the EOA for the metadata file instead, but this caused a backward compatibility problem. A v1.8 library couldn't open the file created with the v1.6 library. We fixed the problem by checking the EOA value to detect the file - created with v1.6 library. (SLU - 2011/06/22) - - When a dataset had filters and reading data failed, the error message + created with v1.6 library. (SLU - 2011/06/22) + - When a dataset had filters and reading data failed, the error message didn't say which filter wasn't registered. It's fixed now. (SLU - 2011/06/03) Parallel Library @@ -8787,71 +9393,71 @@ Bug Fixes since HDF5-1.8.7 Tools ----- - - h5diff: fixed segfault over non-comparable attribute with different + - h5diff: fixed segfault over non-comparable attribute with different dimention or rank, along with '-c' option to display details. (JKM - 2011/10/24 - HDFFV-7770) - - Fixed h5diff to display all the comparable objects and attributes + - Fixed h5diff to display all the comparable objects and attributes regardless of detecting non-comparables. (JKM - 2011/09/16 - HDFFV-7693) - - Fixed h5repack to update the values of references(object and region) of - attributes in h5repack for 1) references, 2) arrays of references, - 3) variable-length references, and 4) compound references. + - Fixed h5repack to update the values of references(object and region) of + attributes in h5repack for 1) references, 2) arrays of references, + 3) variable-length references, and 4) compound references. (PC - 2011/09/14 - HDFFV-5932) - - h5diff: fixed a segfault over a dataset with container types - array and variable-length (vlen) along with multiple nested compound types. + - h5diff: fixed a segfault over a dataset with container types + array and variable-length (vlen) along with multiple nested compound types. Example: compound->array->compound, compound->vlen->compound. (JKM - 2011/09/01 - HDFFV-7712) - h5repack: added macro to handle a failure in H5Dread/write when memory allocation failed inside the library. (PC - 2011/08/19) - - Fixed h5jam to not to allow the specifying of an HDF5 formatted file as - an input file for the -u (user block file) option. The original HDF5 file - would not be accessible if this behavior was allowed. + - Fixed h5jam to not to allow the specifying of an HDF5 formatted file as + an input file for the -u (user block file) option. The original HDF5 file + would not be accessible if this behavior was allowed. (JKM - 2011/08/19 - HDFFV-5941) - Revised the command help pages of h5jam and h5unjam. The descriptions - were not up to date and some were missing. + were not up to date and some were missing. (JKM - 2011/08/15 - HDFFV-7515) - - Fixed h5dump to correct the schema location: - <hdf5:HDF5-File - xmlns:hdf5="http://hdfgroup.org/HDF5/XML/schema/HDF5-File" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://hdfgroup.org/HDF5/XML/schema/HDF5-File + - Fixed h5dump to correct the schema location: + <hdf5:HDF5-File + xmlns:hdf5="http://hdfgroup.org/HDF5/XML/schema/HDF5-File" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://hdfgroup.org/HDF5/XML/schema/HDF5-File http://www.hdfgroup.org/HDF5/XML/schema/HDF5-File.xsd"> (ADB - 2011/08/10) - - h5repack: h5repack failed to copy a dataset if the layout is changed + - h5repack: h5repack failed to copy a dataset if the layout is changed from chunked with unlimited dimensions to contiguous. (PC - 2011/07/15 - HDFFV-7649) - - Fixed h5diff: the "--delta" option considers two NaN of the same type - are different. This is wrong based on the h5diff description in the + - Fixed h5diff: the "--delta" option considers two NaN of the same type + are different. This is wrong based on the h5diff description in the Reference Manual. (PC - 2011/07/15 - HDFFV-7656) - Fixed h5diff to display an instructive error message and exit with - an instructive error message when mutually exclusive options - (-d, -p and --use-system-epsilon) are used together. + an instructive error message when mutually exclusive options + (-d, -p and --use-system-epsilon) are used together. (JKM - 2011/07/07 - HDFFV-7600) - Fixed h5dump so that it displays the first line of each element in correct - position for multiple dimention array types. Before this fix, + position for multiple dimention array types. Before this fix, the first line of each element in an array was displayed after the last line of previous element without moving to the next line (+indentation). (JKM - 2011/06/15 - HDFFV-5878) - - Fixed h5dump so that it will display the correct value for - H5T_STD_I8LE datasets on the Blue-gene system (ppc64, linux, Big-Endian, + - Fixed h5dump so that it will display the correct value for + H5T_STD_I8LE datasets on the Blue-gene system (ppc64, linux, Big-Endian, clustering). (AKC & JKM - 2011/05/12 - HDFFV-7594) - Fixed h5diff to compare a file to itself correctly. Previously h5diff - reported either the files were different or not compatible in certain - cases even when comparing a file to itself. This fix also improves - performance when comparing the same target objects through verifying - the object and file addresses before comparing the details - in the objects. Examples of details are datasets and attributes. + reported either the files were different or not compatible in certain + cases even when comparing a file to itself. This fix also improves + performance when comparing the same target objects through verifying + the object and file addresses before comparing the details + in the objects. Examples of details are datasets and attributes. (XCAO & JKM - 2011/05/06 - HDFFV-5928) F90 API ------- - - Modified the h5open_f and h5close_f subroutines to not to call H5open - and H5close correspondingly. While the H5open call just adds overhead, - the H5close call called by a Fortran application shuts down the HDF5 - library. This makes the library inaccessible to the application. + - Modified the h5open_f and h5close_f subroutines to not to call H5open + and H5close correspondingly. While the H5open call just adds overhead, + the H5close call called by a Fortran application shuts down the HDF5 + library. This makes the library inaccessible to the application. (EIP & SB - 2011/10/13 - HDFFV-915) - - Fixed h5tget_tag_f where the length of the C string was used to - repack the C string into the Fortran string. This lead to memory + - Fixed h5tget_tag_f where the length of the C string was used to + repack the C string into the Fortran string. This lead to memory corruption in the calling program. (SB - 2011/07/26) - Added defined constants: H5T_ORDER_MIXED_F (HDFFV-2767) @@ -8871,13 +9477,13 @@ Bug Fixes since HDF5-1.8.7 High-Level APIs: ------ - - Fixed the H5LTdtype_to_text function. It had some memory problems when + - Fixed the H5LTdtype_to_text function. It had some memory problems when dealing with some complicated data types. (SLU - 2011/10/19 - HDFFV-7701) - - Fixed H5DSset_label seg faulting when retrieving the length of a + - Fixed H5DSset_label seg faulting when retrieving the length of a dimension label that was not set. (SB - 2011/08/07 - HDFFV-7673) - - Fixed a dimension scale bug where if you create a dimscale, attach two - datasets to it, and then unattach them, you get an error if they are - unattached in order, but no error if you unattach them in reverse order. + - Fixed a dimension scale bug where if you create a dimscale, attach two + datasets to it, and then unattach them, you get an error if they are + unattached in order, but no error if you unattach them in reverse order. (SB - 2011/06/07 - HDFFV-7605) Fortran High-Level APIs: @@ -8911,7 +9517,7 @@ The following platforms and compilers have been tested for this release. Linux 2.6.16.60-0.54.5-smp Intel(R) C, C++, Fortran Compilers x86_64 Version 11.1 20090630 - (INL Icestorm) + (INL Icestorm) Linux 2.6.18-194.el5 x86_64 Intel(R) C, C++, Fortran Compilers (INL Fission) Version 12.0.2 20110112 @@ -8921,11 +9527,11 @@ The following platforms and compilers have been tested for this release. Linux 2.6.18-194.3.1.el5PAE gcc (GCC) 4.1.2 and 4.4.2 #1 SMP i686 i686 i386 GNU Fortran (GCC) 4.1.2 20080704 - (jam) (Red Hat 4.1.2-48) and 4.4.2 + (jam) (Red Hat 4.1.2-48) and 4.4.2 PGI C, Fortran, C++ 10.4-0 32-bit PGI C, Fortran, C++ 10.6-0 32-bit Intel(R) C Compiler for 32-bit - applications, Version 11.1 + applications, Version 11.1 Intel(R) C++ Compiler for 32-bit applications, Version 11.1 Intel(R) Fortran Compiler for 32-bit @@ -8937,8 +9543,8 @@ The following platforms and compilers have been tested for this release. #1 SMP x86_64 GNU/Linux GNU Fortran (GCC) 4.1.2 20080704 (koala) (Red Hat 4.1.2-46) and 4.4.2 tested for both 32- and 64-bit binaries - Intel(R) C, C++, Fortran Compilers for - applications running on Intel(R) 64, + Intel(R) C, C++, Fortran Compilers for + applications running on Intel(R) 64, Version 11.1. PGI C, Fortran, C++ Version 9.0-4 for 64-bit target on x86-64 @@ -8948,7 +9554,7 @@ The following platforms and compilers have been tested for this release. 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 + default #1 SMP (NCSA ember) Dell NVIDIA Cluster Intel(R) C, Fortran Compilers @@ -9021,7 +9627,7 @@ The following platforms and compilers have been tested for this release. Ubuntu 11.10 3.0.0-12-generic #20-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 - + OpenVMS Alpha 8.3 HP C V7.3-009 HP Fortran V8.2-104679-48H9K HP C++ V7.3-009 @@ -9035,14 +9641,14 @@ Tested Configuration Features Summary ===================================== In the tables below - y = tested + 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 + <blank> = testing incomplete on this feature or platform Platform C F90 F90 C++ zlib SZIP parallel parallel @@ -9066,31 +9672,31 @@ CentOS 5.5 Linux 2.6.16 x86_64 PGI W n y n y y y Fedora 12 Linux 2.6.32.16-150.fc12.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 -CLE franklin.nersc.gov y y(3) y y y n +CLE hopper.nersc.gov y y(3) y y y n +CLE franklin.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 y y y y -Windows XP y y(4) y n -Windows XP x64 y y(4) 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 y y y y +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 OpenVMS Alpha n n n n -Mac OS X 10.8 Intel 32-bit y(5) n y n -Mac OS X 10.8 Intel 64-bit y(5) n y n -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-128 i686 GNU (1)W y y(2) y y -CentOS 5.5 Linux 2.6.18-128 i686 Intel W y y y n -CentOS 5.5 Linux 2.6.18-128 i686 PGI W y y y n -CentOS 5.5 Linux 2.6.16 x86_64 GNU (1) W y y y y -CentOS 5.5 Linux 2.6.16 x86_64 Intel W y y y n -CentOS 5.5 Linux 2.6.16 x86_64 PGI W y y y n -Fedora 12 Linux 2.6.32.16-150.fc12.ppc64 y y y y -SGI ProPack 7 Linux 2.6.32.24 y y y n +Mac OS X 10.8 Intel 32-bit y(5) n y n +Mac OS X 10.8 Intel 64-bit y(5) n y n +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-128 i686 GNU (1)W y y(2) y y +CentOS 5.5 Linux 2.6.18-128 i686 Intel W y y y n +CentOS 5.5 Linux 2.6.18-128 i686 PGI W y y y n +CentOS 5.5 Linux 2.6.16 x86_64 GNU (1) W y y y y +CentOS 5.5 Linux 2.6.16 x86_64 Intel W y y y n +CentOS 5.5 Linux 2.6.16 x86_64 PGI W y y y n +Fedora 12 Linux 2.6.32.16-150.fc12.ppc64 y y y y +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 CLE franklin.nersc.gov n n n n @@ -9127,7 +9733,7 @@ Known Problems 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 + 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) @@ -9135,8 +9741,8 @@ Known Problems 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 + (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) @@ -9164,7 +9770,7 @@ 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 + 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) @@ -9174,8 +9780,8 @@ Known Problems 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 + 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) @@ -9186,17 +9792,17 @@ Known Problems * 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 + 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 @@ -9231,30 +9837,30 @@ Known Problems 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 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 +* 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 +* 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 + 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. + 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 @@ -9262,17 +9868,17 @@ Known Problems 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. + 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) -%%%%1.8.7%%%% +%%%%1.8.7%%%% HDF5 version 1.8.7 released on Tue May 10 09:24:44 CDT 2011 @@ -9281,10 +9887,10 @@ HDF5 version 1.8.7 released on Tue May 10 09:24:44 CDT 2011 INTRODUCTION ============ -This document describes the differences between HDF5-1.8.6 and -HDF5 1.8.7, and contains information on the platforms tested and -known problems in HDF5-1.8.7. -For more details, see the files HISTORY-1_0-1_8_0_rc3.txt +This document describes the differences between HDF5-1.8.6 and +HDF5 1.8.7, and contains information on the platforms tested and +known problems in HDF5-1.8.7. +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.7 source code, documentation, and additional materials @@ -9296,18 +9902,18 @@ The HDF5 1.8.7 release can be obtained from: http://www.hdfgroup.org/HDF5/release/obtain5.html -User documentation for 1.8.7 can be accessed directly at this location: +User documentation for 1.8.7 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 +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.7 (current +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.7 (current release) versus Release 1.8.6": http://www.hdfgroup.org/HDF5/doc/ADGuide/Changes.html @@ -9345,50 +9951,50 @@ New Features - Added a new configure option, "--enable-unsupported", which can be used to stop configure from preventing the use of unsupported configure option combinations, such as c++ in parallel or Fortran - with threadsafe. Use at your own risk, as it may result in a + with threadsafe. Use at your own risk, as it may result in a library that won't compile or run as expected! (MAM - 2010/11/17 - Bug 2061) Library ------- - - The library allows the dimension size of a dataspace to be zero. In - the past, the library would allow this only if the maximal dimension - size was unlimited. Now there is no such restriction, but no data + - The library allows the dimension size of a dataspace to be zero. In + the past, the library would allow this only if the maximal dimension + size was unlimited. Now there is no such restriction, but no data can be written to this kind of dataset. (SLU - 2011/4/20) - We added two new macros, H5_VERSION_GE and H5_VERSION_LE, to let users compare certain version numbers with the library being used. (SLU - - 2011/4/20) + 2011/4/20) - Added ability to cache files opened through external links. Added new public functions H5Pset_elink_file_cache_size(), H5Pget_elink_file_cache_size(), and H5Fclear_elink_file_cache(). (NAF - 2011/02/17) - Finished implementing all options for 'log' VFD. (QAK - 2011/1/25) - Removed all old code for Metrowerks compilers, bracketed by - __MWERKS__). Metrowerks compiler is long gone. (AKC - 2010/11/17) + __MWERKS__). Metrowerks compiler is long gone. (AKC - 2010/11/17) Parallel Library ---------------- - None - + Tools ----- - h5diff: Added new "verbose with levels" option, '-vN, --verbose=N'. The old '-v, --verbose' option is deprecated but remains available; it is exactly equivalent to '-v0, --verbose=0'. - The new levels 1 ('-v1' or '--verbose=1') and 2 ('-v2' or - '--verbose=2') can be specified to view more information regarding + The new levels 1 ('-v1' or '--verbose=1') and 2 ('-v2' or + '--verbose=2') can be specified to view more information regarding attributes differences. Bug #2121 (JKM 2011/3/23) - - h5dump: Added new option --enable-error-stack. This option will - display error stack information in the output stream. This is + - h5dump: Added new option --enable-error-stack. This option will + display error stack information in the output stream. This is useful when the "h5dump: Unable to print data" message is output. (ADB - 2011/03/03) High-Level APIs --------------- - - Fortran LT make datasets routines (H5LTmake_dataset_f, - h5ltmake_dataset_int_f, h5ltmake_dataset_float_f, h5ltmake_dataset_double_f) + - Fortran LT make datasets routines (H5LTmake_dataset_f, + h5ltmake_dataset_int_f, h5ltmake_dataset_float_f, h5ltmake_dataset_double_f) and LT read datasets routines (h5ltread_dataset_f,h5ltread_dataset_int_f, - h5ltread_dataset_float_f, 5ltread_dataset_double_f) can now handle + h5ltread_dataset_float_f, 5ltread_dataset_double_f) can now handle 4-dimensional to 7-dimensional rank datasets. HDFFV-1217 (MSB-2011/4/24/2011) F90 API @@ -9403,7 +10009,7 @@ New Features Support for New Platforms, Languages, and Compilers =================================================== - Intel V11.1 uses now -O3 optimization in production mode (EIP - 2010/10/08) - + Bug Fixes since HDF5-1.8.6 @@ -9412,7 +10018,7 @@ Bug Fixes since HDF5-1.8.6 Configuration ------------- - Shared C++ and HL libraries on AIX should now be working correctly. - Note that Fortran shared libraries are still not working on AIX. + Note that Fortran shared libraries are still not working on AIX. (See the Known Problems section, below). (MAM - 2011/4/20) - Removed config/ibm-aix6.x. All IBM-AIX settings are in one file, ibm-aix. (AKC - 2011/4/14) @@ -9420,7 +10026,7 @@ Bug Fixes since HDF5-1.8.6 is enabled. Shared Fortran libraries are still not supported on Mac, so configure will disable them by default, but this is overrideable with the new --enable-unsupported configure option. The configure - summary has been updated to reflect the fact that the shared-ness of + summary has been updated to reflect the fact that the shared-ness of the C++/Fortran wrapper libraries may not align with the C library. (MAM - 2011/04/11 - HDFFV-4353). @@ -9429,12 +10035,12 @@ Bug Fixes since HDF5-1.8.6 - Changed assertion failure when decoding a compound datatype with no fields into a normal error failure. Also prohibit using this sort of datatype for creating an attribute (as is already the case for - datasets and committed (named) datatypes). (QAK - 2011/04/15, Jira + datasets and committed (named) datatypes). (QAK - 2011/04/15, Jira issue #HDFFV-2766) - Tell the VFL flush call that the file will be closing, allowing the VFDs to avoid sync'ing the file (particularly valuable in parallel). (QAK - 2011/03/09) - - The datatype handler created with H5Tencode/decode used to have the + - The datatype handler created with H5Tencode/decode used to have the reference count 0 (zero); it now has the reference count 1 (one). (SLU - 2011/2/18) - Fixed the definition of H5_HAVE_GETTIMEOFDAY on Windows so that @@ -9449,20 +10055,20 @@ Bug Fixes since HDF5-1.8.6 Tools ----- - - Updated h5dump test case script to prevent entire test failure when + - Updated h5dump test case script to prevent entire test failure when source directory is read-only. Bug #HDFFV-4342 (JKM 2011/4/12) - Fixed h5dump displaying incorrect values for H5T_STD_I8BE type data in attribute on Big-Endian machine. H5T_STD_I8BE is unsigned 8bit type, so h5dump is supposed to display -2 instead of 254. It worked correctly on Little-Endian system , but not on Big-Endian system. Bug #HDFFV-4358 (JKM 04/08/2011) - - Updated some HDF5 tools to standardize the option name as - '--enable-error-stack' for printing HDF5 error stack messages. h5ls and - h5dump have been updated. For h5ls, this replaces "-e/--errors" option, - which is deprecated. For h5dump, this is a new option. Bug #2182 + - Updated some HDF5 tools to standardize the option name as + '--enable-error-stack' for printing HDF5 error stack messages. h5ls and + h5dump have been updated. For h5ls, this replaces "-e/--errors" option, + which is deprecated. For h5dump, this is a new option. Bug #2182 (JKM 2011/3/30) - - Fixed the h5diff --use-system-epsilon option. The formula used in the - calculation was changed from ( |a - b| / b ) to ( |a - b| ). + - Fixed the h5diff --use-system-epsilon option. The formula used in the + calculation was changed from ( |a - b| / b ) to ( |a - b| ). This was done to improve performance. Bug #2184 (JKM 2011/3/24) - Fixed output for H5T_REFERENCE in h5dump. According to the BNF document the output of a H5T_REFERENCE should be followed by the type; @@ -9470,41 +10076,41 @@ Bug Fixes since HDF5-1.8.6 <ref_type> ::= H5T_STD_REF_OBJECT | H5T_STD_REF_DSETREG Previously this was only displayed if the -R option was used. Bug #1725 (ADB 2011/3/28) - - Fixed two h5diff issues. 1) h5diff compared attributes correctly only - when two objects had the same number of attributes and the attribute - names were identical. 2) h5diff did not display useful information about + - Fixed two h5diff issues. 1) h5diff compared attributes correctly only + when two objects had the same number of attributes and the attribute + names were identical. 2) h5diff did not display useful information about attribute differences. Bug #2121 (JKM 2011/3/17) - - Fixed a memory leak in h5diff that occurred when accessing symbolic links + - Fixed a memory leak in h5diff that occurred when accessing symbolic links with the --follow-symlink option. Bug #2214 (JKM 2011/3/18) - - Fixed a memory leak in h5diff that occurred when accessing variable length + - Fixed a memory leak in h5diff that occurred when accessing variable length string data. Bug #2216 (JKM 2011/3/18) - - Fixed and improved the help page for h5ls -a, --address option. + - Fixed and improved the help page for h5ls -a, --address option. Bug #1904 (JKM 2011/3/11) - Fixed h5copy to enable copying an object into the same HDF5 file. - Previously h5copy displayed an error message when the target file + Previously h5copy displayed an error message when the target file was the same as the source file. (XCAO 2011/3/8) - - Fixed an h5dump problem that caused the tool to skip some data elements - in large datasets with a large array datatype on Windows. This issue - arose only on Windows due to the different return behavior of the + - Fixed an h5dump problem that caused the tool to skip some data elements + in large datasets with a large array datatype on Windows. This issue + arose only on Windows due to the different return behavior of the _vsnprintf() function. Bug #2161 (JKM 2011/3/3) - - Fixed h5dump which was skipping some array indices in large datasets + - Fixed h5dump which was skipping some array indices in large datasets with a relatively large array datatype. The interval of skipped indices varied according to the size of the array. Bug #2092 (JKM 2011/2/15) - Fixed h5diff which was segfaulting when comparing compound datasets with a combination of fixed-length string datatypes and variable-length string datatypes in certain orders. Bug #2089 (JKM 2010/12/28) - - Improved h5diff performance. 1) Now use HDmemcmp() before comparing two + - Improved h5diff performance. 1) Now use HDmemcmp() before comparing two elements. 2) Replace expensive H5Tequals() calls. 3) Retrieve datatype - information at dataset level, not at each element level for compound - datasets. HDFFV-7516 (JKM 2011/4/18) - - Fixed h5ls to display nested compound types with curly brackets - when -S (--simple) option is used with -l (--label), so it shows - which members (in curly brackets) belong to which nested compound type, + information at dataset level, not at each element level for compound + datasets. HDFFV-7516 (JKM 2011/4/18) + - Fixed h5ls to display nested compound types with curly brackets + when -S (--simple) option is used with -l (--label), so it shows + which members (in curly brackets) belong to which nested compound type, making the output clearer. Bug #1979 (JKM 2010/11/09) - - Fixed h5diff to handle variable-length strings in a compound dataset + - Fixed h5diff to handle variable-length strings in a compound dataset and variable-length string arrays in a compound dataset correctly. - Garbage values were previously displayed when h5diff compared multiple - variable-length strings in a compound type dataset. + Garbage values were previously displayed when h5diff compared multiple + variable-length strings in a compound type dataset. Bug #1989 (JKM 2010/10/28) - Fixed h5copy to fail gracefully when copying an object to a non- existing group without the -p option. Bug #2040 (JKM 2010/10/18) @@ -9523,10 +10129,10 @@ Bug Fixes since HDF5-1.8.6 Fortran High-Level APIs: ------ - - h5tbmake_table_f: Fixed error in passing an array of characters with different + - h5tbmake_table_f: Fixed error in passing an array of characters with different length field names. - - h5tget_field_info_f: Fixed error with packing the C strings into a Fortran - array of strings. Added optional argument called 'maxlen_out' which returns + - h5tget_field_info_f: Fixed error with packing the C strings into a Fortran + array of strings. Added optional argument called 'maxlen_out' which returns the maximum string character length in a field name element. Bug HDFFV-1255 (MSB- 4/17/2011) @@ -9557,12 +10163,12 @@ The following platforms and compilers have been tested for this release. Linux 2.6.18-194.3.1.el5PAE gcc (GCC) 4.1.2 and 4.4.2 #1 SMP i686 i686 i386 G95 (GCC 4.0.3 (g95 0.93!) Apr 21 2010) - (jam) GNU Fortran (GCC) 4.1.2 20080704 + (jam) GNU Fortran (GCC) 4.1.2 20080704 (Red Hat 4.1.2-48) and 4.4.2 PGI C, Fortran, C++ 10.4-0 32-bit PGI C, Fortran, C++ 10.6-0 32-bit Intel(R) C Compiler for 32-bit - applications, Version 11.1 + applications, Version 11.1 Intel(R) C++ Compiler for 32-bit applications, Version 11.1 Intel(R) Fortran Compiler for 32-bit @@ -9576,8 +10182,8 @@ The following platforms and compilers have been tested for this release. (amani) tested for both 32- and 64-bit binaries GNU Fortran (GCC) 4.1.2 20080704 (Red Hat 4.1.2-46) and 4.4.2 - Intel(R) C, C++, Fortran Compilers for - applications running on Intel(R) 64, + Intel(R) C, C++, Fortran Compilers for + applications running on Intel(R) 64, Version 11.1. PGI C, Fortran, C++ Version 9.0-4 for 64-bit target on x86-64 @@ -9626,8 +10232,8 @@ The following platforms and compilers have been tested for this release. Intel C, C++ and Fortran compilers 12.0.1.122 20101110 Mac OS X 10.7.0 (Intel 32-bit) i686-apple-darwin10-gcc-4.2.1 (GCC) 4.2.1 (Apple Inc. build 5666) (dot 3) - Darwin Kernel Version 10.7.0 GNU Fortran (GCC) version 4.4.0 20090123 (experimental) - [trunk revision 143587] + Darwin Kernel Version 10.7.0 GNU Fortran (GCC) version 4.4.0 20090123 (experimental) + [trunk revision 143587] Fedora 12 2.6.32.16-150.fc12.ppc64 #1 SMP ppc64 GNU/Linux gcc (GCC) 4.4.4 20100630 (Red Hat 4.4.4-10) @@ -9664,7 +10270,7 @@ The following platforms and compilers have been tested for this release. Ubuntu 10.10 2.6.35-28-generic #50-Ubuntu SMP x86_64 GNU/Linux gcc (Ubuntu/Linaro 4.4.4-14ubuntu5) 4.4.5 GNU Fortran (Ubuntu/Linaro 4.4.4-14ubuntu5) 4.4.5 - + OpenVMS Alpha 8.3 HP C V7.3-009 HP Fortran V8.2-104679-48H9K HP C++ V7.3-009 @@ -9673,14 +10279,14 @@ Tested Configuration Features Summary ======================================== In the tables below - y = tested + 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 + <blank> = testing incomplete on this feature or platform Platform C F90 F90 C++ zlib SZIP parallel parallel @@ -9706,28 +10312,28 @@ Fedora 12 Linux 2.6.32.16-150.fc12.ppc64 n y n y y SGI Linux 2.6.32.19 y y y y y y -Platform Shared Shared Shared Thread- - C libs F90 libs C++ libs safe -Solaris2.10 32-bit y y y y -Solaris2.10 64-bit y y y y -Windows XP y y(4) y n -Windows XP x64 y y(4) 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 y y y y +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 OpenVMS Alpha n n n n -Mac OS X 10.7 Intel 32-bit y(5) n y n -Mac OS X 10.7 Intel 64-bit y(5) n y n -AIX 6.1 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-128 i686 GNU (1)W y y(2) y y -CentOS 5.5 Linux 2.6.18-128 i686 Intel W y y y n -CentOS 5.5 Linux 2.6.18-128 i686 PGI W y y y n -CentOS 5.5 Linux 2.6.16 x86_64 GNU (1) W y y y y -CentOS 5.5 Linux 2.6.16 x86_64 Intel W y y y n -CentOS 5.5 Linux 2.6.16 x86_64 PGI W y y y n +Mac OS X 10.7 Intel 32-bit y(5) n y n +Mac OS X 10.7 Intel 64-bit y(5) n y n +AIX 6.1 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-128 i686 GNU (1)W y y(2) y y +CentOS 5.5 Linux 2.6.18-128 i686 Intel W y y y n +CentOS 5.5 Linux 2.6.18-128 i686 PGI W y y y n +CentOS 5.5 Linux 2.6.16 x86_64 GNU (1) W y y y y +CentOS 5.5 Linux 2.6.16 x86_64 Intel W y y y n +CentOS 5.5 Linux 2.6.16 x86_64 PGI W y y y n RedHat EL4 2.6.18 Xeon Lustre C y y y n -Fedora 12 Linux 2.6.32.16-150.fc12.ppc64 y y y y -SGI Linux 2.6.32.19 y y y y +Fedora 12 Linux 2.6.32.16-150.fc12.ppc64 y y y y +SGI Linux 2.6.32.19 y y y y (1) Fortran compiled with gfortran. (2) With PGI and Absoft compilers. @@ -9744,7 +10350,7 @@ Known Problems 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 + 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) @@ -9752,8 +10358,8 @@ Known Problems 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 + (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) @@ -9786,30 +10392,30 @@ Known Problems http://www.hdfgroup.org/ftp/HDF5/examples/known_problems/ * 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 + 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. Please see bug #1813. - SLU - 2010/5/5 + SLU - 2010/5/5 * 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 + 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/2/2 * 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 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. (See bug 1468 for details.) AKC - 2009/8/11 - + * 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 @@ -9851,23 +10457,23 @@ Known Problems 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 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 +* 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 +* 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 + 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. + 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/6/30 * On IBM AIX systems, parallel HDF5 mode will fail some tests with error @@ -9875,23 +10481,23 @@ Known Problems 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. + 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. * 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 + 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. -* There is also a configure error on Altix machines that incorrectly reports +* There is also a configure error on Altix machines that incorrectly reports when a version of Szip without an encoder is being used. * On cobalt, an SGI Altix SMP ia64 system, Intel compiler version 10.1 (which @@ -9907,7 +10513,7 @@ Known Problems and it will be fixed in 1.8.8. DER - 2011/04/27 -%%%%1.8.6%%%% +%%%%1.8.6%%%% HDF5 version 1.8.6 released on Mon Feb 14 10:26:30 CST 2011 @@ -9916,10 +10522,10 @@ HDF5 version 1.8.6 released on Mon Feb 14 10:26:30 CST 2011 INTRODUCTION ============ -This document describes the differences between HDF5-1.8.5 and -HDF5 1.8.6, and contains information on the platforms tested and -known problems in HDF5-1.8.6. -For more details, see the files HISTORY-1_0-1_8_0_rc3.txt +This document describes the differences between HDF5-1.8.5 and +HDF5 1.8.6, and contains information on the platforms tested and +known problems in HDF5-1.8.6. +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.6 source code, documentation, and additional materials @@ -9931,18 +10537,18 @@ The HDF5 1.8.6 release can be obtained from: http://www.hdfgroup.org/HDF5/release/obtain5.html -User documentation for 1.8.6 can be accessed directly at this location: +User documentation for 1.8.6 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 +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.6 (current +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.6 (current release) versus Release 1.8.5": http://www.hdfgroup.org/HDF5/doc/ADGuide/Changes.html @@ -9970,43 +10576,43 @@ New Features ------------- - CMake: Improved CPack packaging, added parallel commands, improved configuration options (better similarity to configure), added more - tests, better support for use in external cmake projects. + tests, better support for use in external cmake projects. (ADB - 2010/10/07) - - The default configuration setting for official releases is - --enable-production. For unofficial releases, the default configuration + - The default configuration setting for official releases is + --enable-production. For unofficial releases, the default configuration setting has been --disable-production. (AKC - 2010/05/28) Library ------- - - Added support for thread safety on Windows using the Windows threads - library. Use the HDF5_ENABLE_THREADSAFE option in CMake on a Windows - platform to enable this functionality. This is supported on Windows + - Added support for thread safety on Windows using the Windows threads + library. Use the HDF5_ENABLE_THREADSAFE option in CMake on a Windows + platform to enable this functionality. This is supported on Windows Vista and newer Windows operating systems. (MAM - 2010/09/10) - - H5Tset_order and H5Tget_order now support all datatypes. A new byte - order, H5T_ORDER_MIXED, has been added specifically for a compound - datatype and its derived type. (SLU - 2010/8/23) - - Improved performance of metadata I/O by changing the default algorithm - to perform I/O from all processes (instead of just process 0) when using + - H5Tset_order and H5Tget_order now support all datatypes. A new byte + order, H5T_ORDER_MIXED, has been added specifically for a compound + datatype and its derived type. (SLU - 2010/8/23) + - Improved performance of metadata I/O by changing the default algorithm + to perform I/O from all processes (instead of just process 0) when using parallel I/O drivers. (QAK - 2010/07/19) - - Improved performance of I/O on datasets with the same shape, but + - Improved performance of I/O on datasets with the same shape, but different rank. (QAK - 2010/07/19) - - Improved performance of the chunk cache by avoiding unnecessary b-tree - lookups of chunks already in cache. (NAF - 2010/06/15) - + - Improved performance of the chunk cache by avoiding unnecessary b-tree + lookups of chunks already in cache. (NAF - 2010/06/15) + Parallel Library ---------------- - None - + Tools ----- - - h5diff: Added a new flag: --exclude-path. The specified path to an - object will be excluded when comparing two files or two groups. If a - group is specified to be excluded, all member objects of that group + - h5diff: Added a new flag: --exclude-path. The specified path to an + object will be excluded when comparing two files or two groups. If a + group is specified to be excluded, all member objects of that group will be excluded. (JKM - 2010/09/16). - - h5ls: Added a new flag: --no-dangling-links. See --help output for + - h5ls: Added a new flag: --no-dangling-links. See --help output for details. (JKM - 2010/06/15) - - h5ls: Added a new flag --follow-symlinks. See --help output for + - h5ls: Added a new flag --follow-symlinks. See --help output for details. (JKM - 2010/05/25) - + High-Level APIs --------------- - None @@ -10031,9 +10637,9 @@ Bug Fixes since HDF5-1.8.5 Configuration ------------- - - The default number of MPI processes for testing purposes has been + - The default number of MPI processes for testing purposes has been changed from 3 to 6. (AKC - 2010/11/11) - - Some tests in tools/h5repack may fail in AIX systems when -q32 mode is + - Some tests in tools/h5repack may fail in AIX systems when -q32 mode is used. The error is caused by not requesting enough memory in default. Added "env LDR_CNTRL=MAXDATA=0x20000000@DSA" into the $RUNSERIAL and $RUNPARALLE in the AIX config file so that executables are tested with @@ -10041,10 +10647,10 @@ Bug Fixes since HDF5-1.8.5 - Removed recognition of the parallel compilers of LAM(hcc) and ChMPIon(cmpicc) since we have no access to these two MPI implementations and cannot verify their correctness. (AKC - 2010/07/14 - Bug 1921) - - PHDF5 was changed to use "mpiexec" instead of mpirun as the default - MPI applications startup command as defined in the MPI-2 definition, + - PHDF5 was changed to use "mpiexec" instead of mpirun as the default + MPI applications startup command as defined in the MPI-2 definition, section 4.1. (AKC - 2010/06/11 - Bug 1921) - + Library ------- - Fixed a bug that caused big endian machines to generate corrupt files @@ -10052,15 +10658,15 @@ Bug Fixes since HDF5-1.8.5 values. Note that such datasets will no longer be readable by any by any machine after this patch. (NAF - 2010/02/02 - Bug 2131) - Retrieving a link's name by index in the case where the link is external - and the file that the link refers to doesn't exist will now fail + and the file that the link refers to doesn't exist will now fail gracefully rather than cause a segmentation fault. (MAM - 2010/11/17) - - Modified metadata accumulator to better track accumulated dirty metadata - in an effort to reduce unnecessary I/O in certain situations and to + - Modified metadata accumulator to better track accumulated dirty metadata + in an effort to reduce unnecessary I/O in certain situations and to fix some other corner cases which were prone to error. (MAM - 2010/10/15) - - Added a new set of unit tests that are run during 'make check' to verify + - Added a new set of unit tests that are run during 'make check' to verify the behavior of the metadata accumulator. (MAM - 2010/10/15) - Modified library to always cache symbol table information. Libraries - from version 1.6.3 and earler have a bug which causes them to require + from version 1.6.3 and earler have a bug which causes them to require this information for some operations. (NAF - 2010/09/21 - Bug 1864) - Fixed a bug where the library could generate an assertion/core dump when a file that had been created with H5Pset_libver_bounds(fapl, @@ -10074,9 +10680,9 @@ Bug Fixes since HDF5-1.8.5 CMake to build the library. (ADB - 2010/09/13 - Bug 1938) - When a mandatory filter failed to write data chunks, the dataset couldn't close (bug 1260). The fix releases all resources and closes - the dataset but returns a failure. (SLU - 2010/09/08) - - H5Eset_current_stack now also closes the error stack set as the - default. This is to avoid a potential problem. + the dataset but returns a failure. (SLU - 2010/09/08) + - H5Eset_current_stack now also closes the error stack set as the + default. This is to avoid a potential problem. (SLU - 2010/09/07 - Bug 1799) - Corrected situation where 1-D chunked dataset could get created by an application without calling H5Pset_chunk(). H5Pset_chunk is now @@ -10084,12 +10690,12 @@ Bug Fixes since HDF5-1.8.5 - Fixed many memory issues that valgrind exposed. (QAK - 2010/08/24) - Fixed the bug in the filter's public CAN_APPLY function. The return value should be htri_t not herr_t. (SLU - 2010/08/05 - Bug 1239) - - Fixed the STDIO VFD to use fseeko64 instead of fseek64 for 64-bit I/O + - Fixed the STDIO VFD to use fseeko64 instead of fseek64 for 64-bit I/O support. (AKC - 2010/7/30) - Fixed a bug in the direct I/O driver that could render files with certain kinds of unaligned data unreadable or corrupt them. (NAF - 2010/07/28) - - valgrind reported an error of copying data to itself when a new attribute - is written. Fixed by taking out the memcpy step in the attribute code. + - valgrind reported an error of copying data to itself when a new attribute + is written. Fixed by taking out the memcpy step in the attribute code. (SLU - 2010/07/28 - Bug 1956) - Corrected various issues in the MPI datatype creation code which could cause resource leaks or incorrect behavior (and may improve the @@ -10105,23 +10711,23 @@ Bug Fixes since HDF5-1.8.5 Tools ----- - - Fixed h5diff to compare member objects and groups recursively when + - Fixed h5diff to compare member objects and groups recursively when two files or groups are compared. (JKM - 2010/9/16 - Bug 1975) - Fixed h5repack to be able to convert a dataset to COMPACT layout. (JKM - 2010/09/15 - Bug 1896) - Changed h5ls to not interpret special characters in object or attribute names for output. (JKM - 2010/06/28 - Bug 1784) - - Revised the order of arguments for h5cc, h5fc, h5c++, h5pcc and h5pfc. - CPPFLAGS, CFLAGS, LDFLAGS, and LIBS have been duplicated with an H5BLD_ - prefix to put the flags and paths from the hdf5 build in the correct - places and allow the script user to add entries in CPPFLAGS, CFLAGS, - LDFLAGS, and LIBS that will take precedence over those from the hdf5 - build. The user can make these entries persistent by editing - CFLAGSBASE, CPPFLAGSBASE, LDFLAGSBASE, and LIBSBASE near the top of - the script or temporary by setting HDF5_CFLAGS, HDF5_CPPFLAGS, - HDF5_LDFLAGS, or HDF5_LIBS in the environment. The new order of - arguments in these scripts is $CLINKER $H5BLD_CPPFLAGS $CPPFLAGS - $H5BLD_CFLAGS $CFLAGS $LDFLAGS $clibpath $link_objs $LIBS $link_args + - Revised the order of arguments for h5cc, h5fc, h5c++, h5pcc and h5pfc. + CPPFLAGS, CFLAGS, LDFLAGS, and LIBS have been duplicated with an H5BLD_ + prefix to put the flags and paths from the hdf5 build in the correct + places and allow the script user to add entries in CPPFLAGS, CFLAGS, + LDFLAGS, and LIBS that will take precedence over those from the hdf5 + build. The user can make these entries persistent by editing + CFLAGSBASE, CPPFLAGSBASE, LDFLAGSBASE, and LIBSBASE near the top of + the script or temporary by setting HDF5_CFLAGS, HDF5_CPPFLAGS, + HDF5_LDFLAGS, or HDF5_LIBS in the environment. The new order of + arguments in these scripts is $CLINKER $H5BLD_CPPFLAGS $CPPFLAGS + $H5BLD_CFLAGS $CFLAGS $LDFLAGS $clibpath $link_objs $LIBS $link_args $shared_link. (LRK - 2010/10/25 - Bug 1973) F90 API @@ -10165,12 +10771,12 @@ The following platforms and compilers have been tested for this release. Linux 2.6.18-194.3.1.el5PAE gcc (GCC) 4.1.2 and 4.4.2 #1 SMP i686 i686 i386 G95 (GCC 4.0.3 (g95 0.93!) Apr 21 2010) - (jam) GNU Fortran (GCC) 4.1.2 20080704 + (jam) GNU Fortran (GCC) 4.1.2 20080704 (Red Hat 4.1.2-48) and 4.4.2 PGI C, Fortran, C++ 10.4-0 32-bit PGI C, Fortran, C++ 10.6-0 32-bit Intel(R) C Compiler for 32-bit - applications, Version 11.1 + applications, Version 11.1 Intel(R) C++ Compiler for 32-bit applications, Version 11.1 Intel(R) Fortran Compiler for 32-bit @@ -10184,8 +10790,8 @@ The following platforms and compilers have been tested for this release. (amani) tested for both 32- and 64-bit binaries GNU Fortran (GCC) 4.1.2 20080704 (Red Hat 4.1.2-46) and 4.4.2 - Intel(R) C, C++, Fortran Compilers for - applications running on Intel(R) 64, + Intel(R) C, C++, Fortran Compilers for + applications running on Intel(R) 64, Version 11.1. PGI C, Fortran, C++ Version 9.0-4 for 64-bit target on x86-64 @@ -10232,7 +10838,7 @@ The following platforms and compilers have been tested for this release. Windows 7 x64 Visual Studio 2008 w/ Intel Fortran 11.1 (cmake) Mac OS X 10.6.3 (Intel 64-bit) i686-apple-darwin10-gcc-4.2.1 (GCC) 4.2.1 - Darwin Kernel Version 10.3.1 GNU Fortran (GCC) 4.5.0 20090910 + Darwin Kernel Version 10.3.1 GNU Fortran (GCC) 4.5.0 20090910 Intel C, C++ and Fortran compilers 11.1 20100806 Mac OS X 10.6.4 (Intel 32-bit) i686-apple-darwin10-gcc-4.2.1 (GCC) 4.2.1 @@ -10240,7 +10846,7 @@ The following platforms and compilers have been tested for this release. Intel C, C++ and Fortran compilers 12.0.0 20101110 Mac OS X 10.6.4 (Intel 64-bit) i686-apple-darwin10-gcc-4.2.1 (GCC) 4.2.1 (Apple Inc. build 5659) - Darwin Kernel Version 10.6.0 GNU Fortran (GCC) 4.5.0 20090910 + Darwin Kernel Version 10.6.0 GNU Fortran (GCC) 4.5.0 20090910 Intel C, C++ and Fortran compilers 11.1 20100806 Fedora 12 2.6.32.16-150.fc12.ppc64 #1 SMP ppc64 GNU/Linux @@ -10278,7 +10884,7 @@ The following platforms and compilers have been tested for this release. Ubuntu 10.10 2.6.35-25-generic #44-Ubuntu SMP x86_64 GNU/Linux gcc (Ubuntu/Linaro 4.4.4-14ubuntu5) 4.4.5 GNU Fortran (Ubuntu/Linaro 4.4.4-14ubuntu5) 4.4.5 - + OpenVMS Alpha 8.3 HP C V7.3-009 HP Fortran V8.2-104679-48H9K HP C++ V7.3-009 @@ -10287,14 +10893,14 @@ Tested Configuration Features Summary ======================================== In the tables below - y = tested + 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 + <blank> = testing incomplete on this feature or platform Platform C F90 F90 C++ zlib SZIP parallel parallel @@ -10319,27 +10925,27 @@ Fedora 12 Linux 2.6.32.16-150.fc12.ppc64 n y n y y SGI Linux 2.6.32.19 y y y y y y -Platform Shared Shared Shared Thread- - C libs F90 libs C++ libs safe -Solaris2.10 32-bit y y y y -Solaris2.10 64-bit y y y y -Windows XP y y(4) y n -Windows XP x64 y y(4) 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 y y y y +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 OpenVMS Alpha n n n n -Mac OS X 10.6 y(5) n y n -AIX 6.1 32- and 64-bit n n n y -FreeBSD 6.3-STABLE 32&64 bit y n y y -CentOS 5.5 Linux 2.6.18-128 i686 GNU (1)W y y(2) y y -CentOS 5.5 Linux 2.6.18-128 i686 Intel W y y y n -CentOS 5.5 Linux 2.6.18-128 i686 PGI W y y y n -CentOS 5.5 Linux 2.6.16 x86_64 GNU (1) W y y y y -CentOS 5.5 Linux 2.6.16 x86_64 Intel W y y y n -CentOS 5.5 Linux 2.6.16 x86_64 PGI W y y y n +Mac OS X 10.6 y(5) n y n +AIX 6.1 32- and 64-bit n n n y +FreeBSD 6.3-STABLE 32&64 bit y n y y +CentOS 5.5 Linux 2.6.18-128 i686 GNU (1)W y y(2) y y +CentOS 5.5 Linux 2.6.18-128 i686 Intel W y y y n +CentOS 5.5 Linux 2.6.18-128 i686 PGI W y y y n +CentOS 5.5 Linux 2.6.16 x86_64 GNU (1) W y y y y +CentOS 5.5 Linux 2.6.16 x86_64 Intel W y y y n +CentOS 5.5 Linux 2.6.16 x86_64 PGI W y y y n RedHat EL4 2.6.18 Xeon Lustre C y y y n -Fedora 12 Linux 2.6.32.16-150.fc12.ppc64 y y y y -SGI Linux 2.6.32.19 y y y y +Fedora 12 Linux 2.6.32.16-150.fc12.ppc64 y y y y +SGI Linux 2.6.32.19 y y y y (1) Fortran compiled with gfortran. (2) With PGI and Absoft compilers. @@ -10365,7 +10971,7 @@ Known Problems library. We have fixed these failures. But it's too late to put the fixes into this release. If you install the 1.8.6 library, it should still work despite of these test failures. If you want the working copy without any - test failure, you can request it from us. SLU - 2011/01/26 + test failure, you can request it from us. SLU - 2011/01/26 * If parallel gmake (e.g., gmake -j 4) is used, the "gmake clean" command sometimes fails in the perform directory due to the attempt to remove the @@ -10385,41 +10991,41 @@ Known Problems These programs can be found at: http://www.hdfgroup.org/ftp/HDF5/examples/known_problems/ -* The h5diff tool can display garbage values when variable-length strings in - a compound type dataset are compared. This also occurs with variable-length - string arrays in a compound type dataset. See bug #1989. This will be fixed +* The h5diff tool can display garbage values when variable-length strings in + a compound type dataset are compared. This also occurs with variable-length + string arrays in a compound type dataset. See bug #1989. This will be fixed in the next release. JKM - 2010/11/05 -* The AIX --enable-shared setting does not quite work. It can produce a shared - library, but there cannot be more than one shared library that is - interlinked. This means that the high level APIs will not work which is not - very useful. We hope to have a solution in the next release. +* The AIX --enable-shared setting does not quite work. It can produce a shared + library, but there cannot be more than one shared library that is + interlinked. This means that the high level APIs will not work which is not + very useful. We hope to have a solution in the next release. (AKC - 2010/10/15) - + * H5Eset_auto can cause a seg fault for a library API call if the application - compiles with -DH5_USE_16_API (see bug 1707). It will be fixed in the + compiles with -DH5_USE_16_API (see bug 1707). It will be fixed in the next release. SLU - 2010/10/5 - -* The library's test dt_arith.c showed a compiler's rounding problem on - Cygwin when converting an unsigned long long to a 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. Please see bug #1813. + +* The library's test dt_arith.c showed a compiler's rounding problem on + Cygwin when converting an unsigned long long to a 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. Please see bug #1813. SLU - 2010/5/5 - -* All the VFL drivers aren't backwardly compatible. In H5FDpublic.h, the - structure H5FD_class_t changed in 1.8. A new parameter was added to the - get_eoa and set_eoa callback functions, and a new callback function - get_type_map was added. The public function H5FDrealloc was taken out in - 1.8. The problem only happens when users define their own driver for 1.6 + +* All the VFL drivers aren't backwardly compatible. In H5FDpublic.h, the + structure H5FD_class_t changed in 1.8. A new parameter was added to the + get_eoa and set_eoa callback functions, and a new callback function + get_type_map was added. 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 a 1.8 library. This will be fixed in 1.10. SLU - 2010/2/2 * 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 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 amode has + +* 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 amode has the MPI_MODE_EXCL bit set. (See bug 1468 for details.) AKC - 2009/8/11 * Parallel tests failed with 16 processes with data inconsistency at testphdf5 @@ -10427,15 +11033,15 @@ Known Problems 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 their 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. To skip all the "failing" +* For Red Storm, a Cray XT3 system, the tools/h5ls/testh5ls.sh and + tools/h5copy/testh5copy.sh will fail some of their 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. To skip all the "failing" tests for now, change them as shown below. - + ======== Original tools/h5ls/testh5ls.sh ========= TOOLTEST tgroup-1.ls 1 -w80 -r -g tgroup.h5 ======== Change to =============================== @@ -10457,71 +11063,71 @@ Known Problems ================================================== 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 "Red Storm" - section in file INSTALL_parallel for a way to deal with this problem. +* 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 "Red Storm" + section 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 the -mp -O1 compilation flags to build the libraries. A higher level + +* On an Intel 64 Linux cluster (RH 4, Linux 2.6.9) with Intel 10.0 compilers, + use the -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 on a system using four processors, if more than - two processes contribute no I/O and the application asks to do collective - I/O, we have found that a simple collective write will sometimes hang. This + +* On mpich 1.2.5 and 1.2.6 on a system using four processors, if more than + two processes contribute no I/O and the application asks to do collective + I/O, we have found that a simple collective write will sometimes hang. This can be verified with the t_mpi test under testpar. - -* A dataset created or rewritten with a v1.6.3 or later library cannot be - read with the v1.6.2 or earlier library 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 + +* A dataset created or rewritten with a v1.6.3 or later library cannot be + read with the v1.6.2 or earlier library 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 earlier. SLU - 2005/6/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'. To - work around this, 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 any old /tmp/s.pedb.* files around. These are sockets used by - the poe command and left behind if the command failed at some point. To - resolve this, ask your system administrator to remove the - old/tmp/s.pedb.* files, and then ask IBM to provide a means to run poe + +* On IBM AIX systems, parallel HDF5 mode will fail some tests with error + messages like "INFO: 0031-XXX ...". This is from the command `poe'. To + work around this, 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 any old /tmp/s.pedb.* files around. These are sockets used by + the poe command and left behind if the command failed at some point. To + resolve this, ask your system administrator to remove the + old/tmp/s.pedb.* files, and then ask IBM to provide a means to run poe without the debug socket. -* 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 --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. - -* On an SGI Altix SMP ia64 system, the Intel compiler version 10.1 (which - is the default on that system) does not work properly and results in - failures during the make check (in a static build) and the make - installcheck (in a shared build). This appears to be a compiler - optimization problem. Reducing the optimization by setting CFLAGS to - -O1 or below resolves the issue. Using a newer version of the compiler + +* On an SGI Altix SMP ia64 system, the Intel compiler version 10.1 (which + is the default on that system) does not work properly and results in + failures during the make check (in a static build) and the make + installcheck (in a shared build). This appears to be a compiler + optimization problem. Reducing the optimization by setting CFLAGS to + -O1 or below resolves the issue. Using a newer version of the compiler (11.0) avoids the issue. MAM - 2010/06/01 - + * On solaris systems, when running the examples with the scripts installed in - .../share/hdf5_examples, two of the c tests, h5_extlink and h5_elink_unix2win - may fail or generate HDF5 errors because the script commands in c/run-c-ex.sh - fail to create test directories red, blue, and u2w. Moving the '!' in lines - 67, 70, 73 of run-c-ex.sh will fix the problem. For example the script command - "if ! test -d red; then" will work on solaris if changed to + .../share/hdf5_examples, two of the c tests, h5_extlink and h5_elink_unix2win + may fail or generate HDF5 errors because the script commands in c/run-c-ex.sh + fail to create test directories red, blue, and u2w. Moving the '!' in lines + 67, 70, 73 of run-c-ex.sh will fix the problem. For example the script command + "if ! test -d red; then" will work on solaris if changed to "if test ! -d red; then". -%%%%1.8.5%%%% +%%%%1.8.5%%%% HDF5 version 1.8.5 released on Fri Jun 4 13:27:31 CDT 2010 @@ -10531,8 +11137,8 @@ INTRODUCTION ============ This document describes the differences between HDF5-1.8.4 and HDF5 1.8.5, and -contains information on the platforms tested and known problems in HDF5-1.8.5. -For more details, see the files HISTORY-1_0-1_8_0_rc3.txt and HISTORY-1_8.txt +contains information on the platforms tested and known problems in HDF5-1.8.5. +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.5 source code, documentation, and additional materials @@ -10544,18 +11150,18 @@ The HDF5 1.8.5 release can be obtained from: http://www.hdfgroup.org/HDF5/release/obtain5.html -User documentation for 1.8.5 can be accessed directly at this location: +User documentation for 1.8.5 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 +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.5 (current +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.5 (current release) versus Release 1.8.4": http://www.hdfgroup.org/HDF5/doc/ADGuide/Changes.html @@ -10587,11 +11193,11 @@ New Features 2.8.1 of CMake is required. - Configure now adds appropriate defines for supporting large (64-bit) files on all systems, where supported, by default, instead of only Linux. - This large file support is controllable with the --enable-largefile - configure option. The Linux-specific --enable-linux-lfs option has been + This large file support is controllable with the --enable-largefile + configure option. The Linux-specific --enable-linux-lfs option has been deprecated in favor of this new option. Please note that specifying --disable-large does NOT attempt to "turn off" largefile support if it - is natively supported by the compiler, but rather just disables + is natively supported by the compiler, but rather just disables configure from actively trying to add any additional compiler flags. (MAM - 2010/05/05 - Bug # 1772/1434) - Fixed an signal handling mask error in H5detect that might result in @@ -10601,7 +11207,7 @@ New Features of compiler optimization (in particular, allowing '-O3' to work with recent versions of GCC). (QAK - 2010/04/26) - Upgraded versions of autotools used to generate configuration suite. - We now use Automake 1.11.1, Autoconf 2.65, and Libtool 2.2.6b. + We now use Automake 1.11.1, Autoconf 2.65, and Libtool 2.2.6b. (MAM - 2010/04/15) - Added the xlc-* and mpcc_r-* BASENAME patterns to be recognized as IBM compilers so that the IBM compiler options can be added properly. This @@ -10610,7 +11216,7 @@ New Features Library ------- - - Performance is substantially improved when extending a dataset with early + - Performance is substantially improved when extending a dataset with early allocation. (NAF - 2010/03/24 - Bug # 1637) - Added support for filtering densely stored groups. Many of the API functions related to filters have been extended to support dense groups @@ -10620,18 +11226,18 @@ New Features Parallel Library ---------------- - None - + Tools ----- - h5dump: Added the new packed bits feature which prints packed bits stored - in an integer dataset. (AKC/ADB - 2010/5/7) - - h5diff: Fixed incorrect behavior (hang) in parallel mode when specifying + in an integer dataset. (AKC/ADB - 2010/5/7) + - h5diff: Fixed incorrect behavior (hang) in parallel mode when specifying invalid options (ex: -v and -q). (JKM - 2010/02/17) - h5diff: Added new flag --no-dangling-links (see --help for details). - (JKM - 2010/02/10) + (JKM - 2010/02/10) - h5diff: Added new flag --follow-symlinks (see --help for details). (JKM - 2010/01/25) - - h5diff: Added a fix to correct the display of garbage values when + - h5diff: Added a fix to correct the display of garbage values when displaying big-endian data on a little-endian machine. (JKM - 2009/11/20) High-Level APIs @@ -10672,12 +11278,12 @@ Bug Fixes since HDF5-1.8.4 dataset. (NAF - 2010/05/20) - Fixed some memory leaks in VL datatype conversion when strings are used as fill values. (MAM - 2010/05/12 - Bug # 1826) - - Fixed an H5Rcreate failure when passing in a -1 for the dataspace + - Fixed an H5Rcreate failure when passing in a -1 for the dataspace identifier. (ADB - 2010/4/28) - Fixed a bug when copying objects with NULL references with the H5O_COPY_EXPAND_REFERENCE_FLAG flag set. (NAF - 2010/04/08 - Bug # 1815) - - Added a mechanism to the H5I interface to save returned object identifier - structures for immediate re-use if needed. This addresses a potential + - Added a mechanism to the H5I interface to save returned object identifier + structures for immediate re-use if needed. This addresses a potential performance issue by delaying the case when the next identifier to be registered has grown so large that it wraps around and needs to be checked to see whether it is available for distribution. @@ -10689,18 +11295,18 @@ Bug Fixes since HDF5-1.8.4 (NAF - 2010/03/05 - Bug # 1733) - Fixed a bug where the library, when traversing an external link, would reopen the source file if nothing else worked. (NAF - 2010/03/05) - - Fixed a bug where fractal heap identifiers for attributes and shared - object header messages could be incorrectly encoded in the file for - files created on big-endian platforms. - Please see http://www.hdfgroup.org/HDF5/release/known_problems if you - suspect you have a file with this problem. + - Fixed a bug where fractal heap identifiers for attributes and shared + object header messages could be incorrectly encoded in the file for + files created on big-endian platforms. + Please see http://www.hdfgroup.org/HDF5/release/known_problems if you + suspect you have a file with this problem. (QAK - 2010/02/23 - Bug # 1755) - Fixed an intermittent bug in the b-tree code which could be triggered by expanding and shrinking chunked datasets in certain ways. (NAF - 2010/02/16) - H5Tdetect_class said a VL string is a string type. But when it's in - a compound type, it said it's a VL type. THis has been fixed to be - consistent; it now always returns a string type. + a compound type, it said it's a VL type. THis has been fixed to be + consistent; it now always returns a string type. (SLU - 2009/12/10 - Bug # 1584) - Allow "child" files from external links to be correctly located when relative to a "parent" file that is opened through a symbolic link. @@ -10716,23 +11322,23 @@ Bug Fixes since HDF5-1.8.4 ----- - Fixed h5ls to return exit code 1 (error) when a non-existent file is specified. (JKM - 2010/04/27 - Bug # 1793) - - Fixed h5copy failure when copying a dangling link that is specified + - Fixed h5copy failure when copying a dangling link that is specified directly. (JKM - 2010/04/22 - Bug # 1817) - - Fixed an h5repack failure that lost attributes from a dataset of + - Fixed an h5repack failure that lost attributes from a dataset of reference type. (JKM - 2010/3/25 - Bug # 1726) - Fixed h5repack error that set NULL for object reference values for datasets, groups, or named datatypes. (JKM - 2010/03/19 - Bug # 1814) F90 API ------ - - None + - None C++ API ------ - The constructor PropList::PropList(id) was fixed to act properly - according to the nature of 'id'. When 'id' is a property class - identifier, a new property list will be created. When 'id' is a - property list identifier, a copy of the property list will be made. + according to the nature of 'id'. When 'id' is a property class + identifier, a new property list will be created. When 'id' is a + property list identifier, a copy of the property list will be made. (BMR - 2010/5/9) - The parameters 'size' and 'bufsize' in CommonFG::getLinkval and CommonFG::getComment, respectively, now have default values for the @@ -10746,17 +11352,17 @@ Bug Fixes since HDF5-1.8.4 - Fixed a bug in H5DSattach_scale, H5DSis_attached, and H5DSdetach_scale caused by using the H5Tget_native_type function to determine the native type for reading the REFERENCE_LIST attribute. This bug was exposed - on Mac PPC. (EIP - 2010/05/22 - Bug # 1851) - - Fixed a bug in the H5DSdetach_scale function when 0 bytes were - allocated after the last reference to a dimension scale was removed - from the list of references in a VL element of the DIMENSION_LIST - attribute. Modified the function to comply with the specification: - the DIMENSION_LIST attribute is now deleted when no dimension scales + on Mac PPC. (EIP - 2010/05/22 - Bug # 1851) + - Fixed a bug in the H5DSdetach_scale function when 0 bytes were + allocated after the last reference to a dimension scale was removed + from the list of references in a VL element of the DIMENSION_LIST + attribute. Modified the function to comply with the specification: + the DIMENSION_LIST attribute is now deleted when no dimension scales are left attached. (EIP - 2010/05/14 - Bug # 1822) Fortran High-Level APIs: ------ - - None + - None Platforms Tested @@ -10800,12 +11406,12 @@ The following platforms and compilers have been tested for this release. MPICH mpich2-1.0.8 compiled with gcc 4.1.2 and GNU Fortran (GCC) 4.1.2 - Linux 2.6.18-164.el5 #1 SMP gcc 4.1.2 20080704 and gcc 4.4.2 + Linux 2.6.18-164.el5 #1 SMP gcc 4.1.2 20080704 and gcc 4.4.2 x86_64 GNU/Linux GNU Fortran (GCC) 4.1.2 20080704 and 4.4.2 - (amani) g++ (GCC) 4.1.2 20080704 and 4.4.2 + (amani) g++ (GCC) 4.1.2 20080704 and 4.4.2 G95 (GCC 4.0.3 (g95 0.93!) Apr 21 2010) - Intel(R) C, C++, Fortran Compilers for - applications running on Intel(R) 64, + Intel(R) C, C++, Fortran Compilers for + applications running on Intel(R) 64, Version 11.1 Build 20090827. PGI C, Fortran, C++ Version 10.4-0 for 32 & 64-bit target on x86-64 @@ -10817,22 +11423,22 @@ The following platforms and compilers have been tested for this release. (cobalt) SGI MPI 1.38 SunOS 5.10 32- and 64-bit Sun C 5.9 SunOS_sparc Patch 124867-14 - (linew) Sun Fortran 95 8.3 SunOS_sparc - Patch 127000-13 + (linew) Sun Fortran 95 8.3 SunOS_sparc + Patch 127000-13 Sun C++ 5.9 SunOS_sparc Patch 124863-23 - + Intel Xeon Linux 2.6.18- Intel(R) C++ Version 10.0.026 92.1.10.el5_lustre.1.6.6smp- Intel(R) Fortran Compiler Version 10.0.026 perfctr #7 SMP Open MPI 1.2.2 (abe) MVAPICH2-0.9.8p28p2patched-intel-ofed-1.2 compiled with icc v10.0.026 and ifort 10.0.026 - - Linux 2.6.18-76chaos #1 SMP Intel(R) C, C++, Fortran Compilers for - SMP x86_64 GNU/Linux applications running on Intel(R) 64, + + Linux 2.6.18-76chaos #1 SMP Intel(R) C, C++, Fortran Compilers for + SMP x86_64 GNU/Linux applications running on Intel(R) 64, (SNL Glory) Versions 11.1. - + Windows XP Visual Studio 2008 w/ Intel Fortran 10.1 - Cygwin(1.7.5 native gcc(4.3.4) compiler and + Cygwin(1.7.5 native gcc(4.3.4) compiler and gfortran) Windows XP x64 Visual Studio 2008 w/ Intel Fortran 10.1 @@ -10841,11 +11447,11 @@ The following platforms and compilers have been tested for this release. Windows Vista x64 Visual Studio 2008 w/ Intel Fortran 10.1 - MAC OS 10.6.3 (Intel) i686-apple-darwin10-gcc-4.2.1 (GCC) 4.2.1 + MAC OS 10.6.3 (Intel) i686-apple-darwin10-gcc-4.2.1 (GCC) 4.2.1 (pahra) GNU Fortran (GCC) 4.5.0 20090910 - i686-apple-darwin10-g++-4.2.1 (GCC) 4.2.1 + i686-apple-darwin10-g++-4.2.1 (GCC) 4.2.1 Intel C, C++ and Fortran compilers 11.1 - + MAC OS 10.5.8 (Intel) i686-apple-darwin9-gcc-4.0.1 (GCC) 4.0.1 (tejeda) @@ -10854,7 +11460,7 @@ The following platforms and compilers have been tested for this release. OpenVMS Alpha V8.3 HP C V7.3-009 HP C++ V7.3-009 - HP Fortran V8.0-1-104669-48GBT + HP Fortran V8.0-1-104669-48GBT Supported Configuration Features Summary ======================================== @@ -10867,7 +11473,7 @@ Supported Configuration Features Summary x = not working in this release dna = does not apply ( ) = footnote appears below second table - <blank> = testing incomplete on this feature or platform + <blank> = testing incomplete on this feature or platform Platform C F90 F90 C++ zlib SZIP parallel parallel @@ -10877,7 +11483,7 @@ Windows XP n y(4) n(4) y y y Windows XP x64 n y(4) n(4) y y y Windows Vista n y(4) n(4) y y y Windows Vista x64 n y(4) n(4) y y y -Mac OS X 10.5 PPC n n n n y n +Mac OS X 10.5 PPC n n n n y n Mac OS X 10.5 Intel n y n y y y Mac OS X 10.6 Intel n y n y y y AIX 5.3 32- and 64-bit n y n y y n @@ -10895,28 +11501,28 @@ RedHat EL4 2.6.18 Xeon Lustre C y y y y y n Cray XT3 2.1.56 y y y y y n OpenVMS Alpha V8.3 n y n 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 y y y y -Windows XP y y(4) y n -Windows XP x64 y y(4) y n -Windows Vista y y(4) y n -Windows Vista x64 y y(4) y n -Mac OS X 10.5 PPC y n n n -Mac OS X 10.5 (Intel) y(5) n y n -Mac OS X 10.6 (Intel) y(5) n y n -AIX 5.3 32- and 64-bit n n n n -AIX 6.1 32- and 64-bit n n n n -FreeBSD 6.3-STABLE 32&64 bit y n y y -RedHat EL4 2.6.9-42 i686 GNU (1) W y y y y -RedHat EL5 2.6.18-128 i686 GNU (1)W y y(2) y y -RedHat EL5 2.6.18-128 i686 Intel W y y y n -RedHat EL5 2.6.18-128 i686 PGI W y y y n -SuSe Linux 2.6.16 x86_64 GNU (1) W y y y y -SuSe Linux 2.6.16 x86_64 Intel W y y y n -SuSe Linux 2.6.16 x86_64 PGI W y y y n -SuSe Linux 2.6.16 SGI Altix ia64 C 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 y y y y +Windows XP y y(4) y n +Windows XP x64 y y(4) y n +Windows Vista y y(4) y n +Windows Vista x64 y y(4) y n +Mac OS X 10.5 PPC y n n n +Mac OS X 10.5 (Intel) y(5) n y n +Mac OS X 10.6 (Intel) y(5) n y n +AIX 5.3 32- and 64-bit n n n n +AIX 6.1 32- and 64-bit n n n n +FreeBSD 6.3-STABLE 32&64 bit y n y y +RedHat EL4 2.6.9-42 i686 GNU (1) W y y y y +RedHat EL5 2.6.18-128 i686 GNU (1)W y y(2) y y +RedHat EL5 2.6.18-128 i686 Intel W y y y n +RedHat EL5 2.6.18-128 i686 PGI W y y y n +SuSe Linux 2.6.16 x86_64 GNU (1) W y y y y +SuSe Linux 2.6.16 x86_64 Intel W y y y n +SuSe Linux 2.6.16 x86_64 PGI W y y y n +SuSe Linux 2.6.16 SGI Altix ia64 C y n RedHat EL4 2.6.18 Xeon Lustre C y y y n Cray XT3 2.1.56 n n n n OpenVMS Alpha V8.3 n n n n @@ -10924,7 +11530,7 @@ OpenVMS Alpha V8.3 n n n n (1) Fortran compiled with g95. (2) With PGI and Absoft compilers. (3) With PGI compiler for Fortran. - (4) Using Visual Studio 2008. (Cygwin shared libraries are not + (4) Using Visual Studio 2008. (Cygwin shared libraries are not supported.) (5) Shared C and C++ are disabled when Fortran is configured in. Compiler versions for each platform are listed in the preceding @@ -10934,10 +11540,10 @@ OpenVMS Alpha V8.3 n n n n Known Problems ============== * The library's test dt_arith.c exposed a compiler's rounding problem on - Cygwin when converting from unsigned long long to long double. The - library's own conversion works correctly. A macro is defined for Cygwin + Cygwin when converting from unsigned long long to long double. The + library's own conversion works correctly. A macro is defined for Cygwin to skip this test until we can solve the problem. (Please see bug #1813.) - SLU - 2010/5/5 + SLU - 2010/5/5 * All the VFL drivers aren't backward compatible. In H5FDpublic.h, the structure H5FD_class_t changed in 1.8. There is a new parameter added to @@ -10947,11 +11553,11 @@ Known Problems for 1.6 and try to plug it into a 1.8 library. This affects a very small number of users. (See bug report #1279.) SLU - 2010/2/2 -* 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. +* 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 - + * Some tests in tools/h5repack may fail in AIX systems when -q32 mode is used. The error is due to insufficient memory requested. Request a large amount of runtime memory by setting the following environment variable for more @@ -10963,7 +11569,7 @@ Known Problems cause H5Fcreate() with H5F_ACC_EXCL to fail even when the file is not existing. This is due to the MPI_File_open() call failing if the amode has the MPI_MODE_EXCL bit set. (See bug 1468 for details.) AKC - 2009/8/11 - + * 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 @@ -11012,23 +11618,23 @@ Known Problems Storm" in file INSTALL_parallel for a way to deal with this problem. AKC - 2008/05/28 -* On 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 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 +* 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 +* 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 + 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. + 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/6/30 * On IBM AIX systems, parallel HDF5 mode will fail some tests with error @@ -11036,23 +11642,23 @@ Known Problems 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. + 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. * 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 + 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. -* There is also a configure error on Altix machines that incorrectly reports +* There is also a configure error on Altix machines that incorrectly reports when a version of Szip without an encoder is being used. * On FREE-BSD systems when shared libraries are disabled, make install fails @@ -11071,7 +11677,7 @@ Known Problems intended. MAM - 2010/06/01 -%%%%1.8.4%%%% +%%%%1.8.4%%%% HDF5 version 1.8.4 released on Tue Nov 10 15:33:14 CST 2009 @@ -11080,10 +11686,10 @@ HDF5 version 1.8.4 released on Tue Nov 10 15:33:14 CST 2009 INTRODUCTION ============ -This document describes the differences between HDF5-1.8.3 and -HDF5 1.8.4, and contains information on the platforms tested and +This document describes the differences between HDF5-1.8.3 and +HDF5 1.8.4, and contains information on the platforms tested and known problems in HDF5-1.8.4 -For more details, see the files HISTORY-1_0-1_8_0_rc3.txt +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.4 source code, documentation, and additional materials @@ -11095,18 +11701,18 @@ The HDF5 1.8.4 release can be obtained from: http://www.hdfgroup.org/HDF5/release/obtain5.html -User documentation for 1.8.4 can be accessed directly at this location: +User documentation for 1.8.4 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 +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.4 (current +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.4 (current release) versus Release 1.8.3": http://www.hdfgroup.org/HDF5/doc/ADGuide/Changes.html @@ -11135,7 +11741,7 @@ New Features - Configuration suite now uses Automake 1.11 and Autoconf 2.64. MAM 2009/08/31. - Changed default Gnu fortran compiler from g95 to gfortran since - gfortran is more likely installed with gcc now. -AKC 2009/07/19- + gfortran is more likely installed with gcc now. -AKC 2009/07/19- Library ------- @@ -11151,14 +11757,14 @@ New Features Parallel Library ---------------- - None - + Tools ----- - h5diff: h5diff treats two INFINITY values different. Fixed by checking - (value==expect) before call ABS(...) at h5diff_array.c. This will make - that (INF==INF) is true (INF is treated as an number instead of NaN) + (value==expect) before call ABS(...) at h5diff_array.c. This will make + that (INF==INF) is true (INF is treated as an number instead of NaN) (PC -- 2009/07/28) - - h5diff: add option "--use-system-epsilon" to print difference if + - h5diff: add option "--use-system-epsilon" to print difference if (|a-b| > EPSILON). Change default to use strict equality (PC -- 2009/09/12) @@ -11187,27 +11793,27 @@ Bug Fixes since HDF5-1.8.3 Configuration ------------- - Removed the following config files, as we no longer support them: - config/dec-osf*, config/hpux11.00, config/irix5.x, + config/dec-osf*, config/hpux11.00, config/irix5.x, config/powerpc-ibm-aix4.x config/rs6000-ibm-aix5.x config/unicos* MAM - 2009/10/08 - Modified configure and make process to properly preserve user's CFLAGS (and company) environment variables. Build will now properly use automake's AM_CFLAGS for any compiler flags set by the configure - process. Configure will no longer modify CFLAGS directly, nor will + process. Configure will no longer modify CFLAGS directly, nor will setting CFLAGS during make completely replace what configure has set up. MAM - 2009/10/08 - Support for TFLOPS, config/intel-osf1, is removed since the TFLOPS machine has long retired. AKC - 2009/10/06. - Added $(EXEEXT) extension to H5detect when it's executed in the - src/Makefile to generate H5Tinit.c so it works correctly on platforms + src/Makefile to generate H5Tinit.c so it works correctly on platforms that require the full extension when running executables. MAM - 2009/10/01 - BZ #1613 - Configure will now set FC and CXX to "no" when fortran and c++ are not being compiled, respectively, so configure will not run - some of the compiler tests for these languages when they are not + some of the compiler tests for these languages when they are not being used. MAM - 2009/10/01 - The --enable-static-exec flag will now properly place the -static flag - on the link line of all installed executables. This will force the + on the link line of all installed executables. This will force the executable to link with static libraries over shared libraries, provided the static libraries are available. MAM - 2009/08/31 - BZ #1583 - The PathScale compiler (v3.2) was mistaken as gcc v4.2.0 but it fails to @@ -11245,13 +11851,13 @@ Bug Fixes since HDF5-1.8.3 ----- - h5dump/h5ls display buffer resize fixed in tools library. ADB - 2009/7/21 - 1520 - - perf_serial test added to Windows projects and check batch file. + - perf_serial test added to Windows projects and check batch file. ADB - 2009/06/11 -1504 F90 API ------ - - Fixed bug in h5lget_info_by_idx_f by adding missing arguments, + - Fixed bug in h5lget_info_by_idx_f by adding missing arguments, consequently changing the API. New API is: SUBROUTINE h5lget_info_by_idx_f(loc_id, group_name, index_field, order, n, & @@ -11259,7 +11865,7 @@ Bug Fixes since HDF5-1.8.3 MSB - 2009/9/17 - 1652 - - Corrected the values for the H5L_flags FORTRAN constants: + - Corrected the values for the H5L_flags FORTRAN constants: H5L_LINK_ERROR_F, H5L_LINK_HARD_F, H5L_LINK_SOFT_F, H5L_LINK_EXTERNAL_F MSB - 2009-09-17 - 1653 @@ -11279,7 +11885,7 @@ Bug Fixes since HDF5-1.8.3 Fortran High-Level APIs: ------ - - Lite: the h5ltread_dataset_string_f and h5ltget_attribute_string_f functions + - Lite: the h5ltread_dataset_string_f and h5ltget_attribute_string_f functions had memory problems with the g95 fortran compiler. (PVN � 5/13/2009) 1522 @@ -11312,7 +11918,7 @@ The following platforms and compilers have been tested for this release. Linux 2.6.18-164.el5 gcc (GCC) 4.1.2 20080704 #1 SMP i686 i686 i386 G95 (GCC 4.0.3 (g95 0.92!) Jun 24 2009) - (jam) GNU Fortran (GCC) 4.1.2 20080704 + (jam) GNU Fortran (GCC) 4.1.2 20080704 (Red Hat 4.1.2-46) PGI C, Fortran, C++ 8.0-5 32-bit PGI C, Fortran, C++ 8.0-1 32-bit @@ -11324,14 +11930,14 @@ The following platforms and compilers have been tested for this release. applications, Version 11.0, 11.1 Absoft 32-bit Fortran 95 10.0.7 MPICH mpich2-1.0.8 compiled with - gcc (GCC) 4.1.2 and G95 + gcc (GCC) 4.1.2 and G95 (GCC 4.0.3 (g95 0.92!) Linux 2.6.18-164.el5 #1 SMP gcc 4.1.2 20080704 x86_64 GNU/Linux G95 (GCC 4.0.3 (g95 0.92!) Jun 24 2009) (amani) tested for both 32- and 64-bit binaries - Intel(R) C, C++, Fortran Compilers for - applications running on Intel(R) 64, + Intel(R) C, C++, Fortran Compilers for + applications running on Intel(R) 64, Versions 11.1. PGI C, Fortran, C++ Version 9.0-4 for 64-bit target on x86-64 @@ -11347,10 +11953,10 @@ The following platforms and compilers have been tested for this release. (cobalt) SGI MPI 1.38 SunOS 5.10 32- and 64-bit Sun C 5.9 SunOS_sparc Patch 124867-11 2009/04/30 - (linew) Sun Fortran 95 8.3 SunOS_sparc + (linew) Sun Fortran 95 8.3 SunOS_sparc Patch 127000-11 2009/10/06 - Sun C++ 5.9 SunOS_sparc - Patch 124863-16 2009/09/15 + Sun C++ 5.9 SunOS_sparc + Patch 124863-16 2009/09/15 Intel Xeon Linux 2.6.18- Intel(R) C++ Version 10.0.026 92.1.10.el5_lustre.1.6.6smp- Intel(R) Fortran Compiler Version 10.0.026 @@ -11363,15 +11969,15 @@ The following platforms and compilers have been tested for this release. (NCSA tg-login) Intel(R) Fortran Compiler Version 8.1.033 mpich-gm-1.2.7p1..16-intel-8.1.037-r1 - Linux 2.6.9-55.0.9.EL_lustre Intel(R) C, C++, Fortran Compilers for - .1.4.11.1smp #1 SMP applications running on Intel(R) 64, + Linux 2.6.9-55.0.9.EL_lustre Intel(R) C, C++, Fortran Compilers for + .1.4.11.1smp #1 SMP applications running on Intel(R) 64, SMP x86_64 GNU/Linux Versions 10.1. - (SNL Thunderbird) - - Linux 2.6.18-76chaos #1 SMP Intel(R) C, C++, Fortran Compilers for - SMP x86_64 GNU/Linux applications running on Intel(R) 64, + (SNL Thunderbird) + + Linux 2.6.18-76chaos #1 SMP Intel(R) C, C++, Fortran Compilers for + SMP x86_64 GNU/Linux applications running on Intel(R) 64, (SNL Glory) Versions 10.1. - + Windows XP Visual Studio 2005 w/ Intel Fortran 9.1 Cygwin(native gcc compiler and g95) @@ -11398,7 +12004,7 @@ Supported Configuration Features Summary x = not working in this release dna = does not apply ( ) = footnote appears below second table - <blank> = testing incomplete on this feature or platform + <blank> = testing incomplete on this feature or platform Platform C F90 F90 C++ zlib SZIP parallel parallel @@ -11422,25 +12028,25 @@ SuSe Linux 2.4.21 ia64 Intel C y y y y y n Cray XT3 2.0.62 y y 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 y y y y -Windows XP y y(4) y y -Windows XP x64 y y(4) y y -Windows Vista y n n y -Mac OS X 10.5 y n y n -AIX 5.3 32- and 64-bit n n n n -FreeBSD 6.3-STABLE 32&64 bit y y y y -RedHat EL5 2.6.18-164 i686 GNU (1)W y y(2) y y -RedHat EL5 2.6.18-164 i686 Intel W y y y n -RedHat EL5 2.6.18-164 i686 PGI W y y y n -RedHat EL5 2.6.18-164 x86_64 GNU(1)W y y y y -RedHat EL5 2.6.18-164 x86_64 IntelW y y y n -RedHat EL5 2.6.18-164 x86_64 PGI W y y y n -SuSe Linux 2.6.16 SGI Altix ia64 C 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 y y y y +Windows XP y y(4) y y +Windows XP x64 y y(4) y y +Windows Vista y n n y +Mac OS X 10.5 y n y n +AIX 5.3 32- and 64-bit n n n n +FreeBSD 6.3-STABLE 32&64 bit y y y y +RedHat EL5 2.6.18-164 i686 GNU (1)W y y(2) y y +RedHat EL5 2.6.18-164 i686 Intel W y y y n +RedHat EL5 2.6.18-164 i686 PGI W y y y n +RedHat EL5 2.6.18-164 x86_64 GNU(1)W y y y y +RedHat EL5 2.6.18-164 x86_64 IntelW y y y n +RedHat EL5 2.6.18-164 x86_64 PGI W y y y n +SuSe Linux 2.6.16 SGI Altix ia64 C y n RedHat EL4 2.6.18 Xeon Lustre C y y y n -SuSe Linux 2.4.21 ia64 Intel C y y y n +SuSe Linux 2.4.21 ia64 Intel C y y y n Cray XT3 2.0.62 n n n n (1) Fortran compiled with g95. @@ -11468,15 +12074,15 @@ Known Problems cause H5Fcreate() with H5F_ACC_EXCL to fail even when the file is not existing. This is due to the MPI_File_open() call failing if the amode has the MPI_MODE_EXCL bit set. (See bug 1468 for details.) AKC - 2009/8/11 - + * 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 -* There is a known issue in which HDF5 will change the timestamp on a file +* There is a known issue in which HDF5 will change the timestamp on a file simply by opening it with read/write permissions, even if the file is not - modified in any way. This is due to the way in which HDF5 manages the file + modified in any way. This is due to the way in which HDF5 manages the file superblock. A fix is currently underway and should be included in the 1.8.4 release of HDF5. MAM - 2009/04/28 @@ -11523,23 +12129,23 @@ Known Problems Storm" in file INSTALL_parallel for a way to deal with this problem. AKC - 2008/05/28 -* On 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 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 +* 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 +* 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 + 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. + 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/6/30 * On IBM AIX systems, parallel HDF5 mode will fail some tests with error @@ -11547,26 +12153,26 @@ Known Problems 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. + 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. * 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 + 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. -* There is also a configure error on Altix machines that incorrectly reports +* There is also a configure error on Altix machines that incorrectly reports when a version of Szip without an encoder is being used. -%%%%1.8.3%%%% +%%%%1.8.3%%%% HDF5 version 1.8.3 released on Mon May 4 09:21:00 CDT 2009 @@ -11575,10 +12181,10 @@ HDF5 version 1.8.3 released on Mon May 4 09:21:00 CDT 2009 INTRODUCTION ============ -This document describes the differences between HDF5-1.8.2 and -HDF5 1.8.3, and contains information on the platforms tested and -known problems in HDF5-1.8.3. -For more details, see the files HISTORY-1_0-1_8_0_rc3.txt +This document describes the differences between HDF5-1.8.2 and +HDF5 1.8.3, and contains information on the platforms tested and +known problems in HDF5-1.8.3. +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.3 source code, documentation, and additional materials @@ -11590,18 +12196,18 @@ The HDF5 1.8.3 release can be obtained from: http://www.hdfgroup.org/HDF5/release/obtain5.html -User documentation for 1.8.3 can be accessed directly at this location: +User documentation for 1.8.3 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 +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.3 (current +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.3 (current release) versus Release 1.8.2": http://www.hdfgroup.org/HDF5/doc/ADGuide/Changes.html @@ -11627,7 +12233,7 @@ New Features Configuration ------------- - - Added libtool version numbers to generated c++, fortran, and + - Added libtool version numbers to generated c++, fortran, and hl libraries. MAM 2009/04/19. - Regenerated Makefile.ins using Automake 1.10.2. MAM 2009/04/19. - Added a Make target of check-all-install to test the correctness of @@ -11667,7 +12273,7 @@ New Features (chunk allocation), and t_posix_compliant (posix compliance). The rest of the parallel tests already use in the code the number of processes available in the communicator. (CMC - 2009/04/28) - + Tools ----- - h5diff new flag, -c, --compare, list objects that are not comparable. @@ -11675,16 +12281,16 @@ New Features - h5diff new flag, -N, --nan, avoids NaNs detection. PVN - 2009/4/2 - h5dump correctly specifies XML dtd / schema urls ADB - 2009/4/3 - 1519 - h5repack now handles group creation order. PVN - 2009/4/2 - 1402 - - h5repack: When user doesn't specify a chunk size, h5repack now - defines a default chunk size as the same size of the size of the - hyperslab used to read the chunks. The size of the hyperslabs are - defined as the size of each dimension or a predefined constant, - whatever is smaller. This assures that the chunk read fits in the + - h5repack: When user doesn't specify a chunk size, h5repack now + defines a default chunk size as the same size of the size of the + hyperslab used to read the chunks. The size of the hyperslabs are + defined as the size of each dimension or a predefined constant, + whatever is smaller. This assures that the chunk read fits in the chunk cache. PVN - 2008/11/21 High-Level APIs --------------- - - Table: In version 3.0 of Table, the writing of the "NROWS" attribute + - Table: In version 3.0 of Table, the writing of the "NROWS" attribute (used to store number of records) was deprecated. PVN - 2008/11/24 F90 API @@ -11710,12 +12316,12 @@ Bug Fixes since HDF5-1.8.2 Configuration ------------- - - The --includedir=DIR configuration option now works as intended, and + - The --includedir=DIR configuration option now works as intended, and can be used to specify the location to install C header files. The default location remains unchanged, residing at ${prefix}/include. MAM - 2009/03/10 - BZ #1381 - Configure no longer removes the '-g' flag from CFLAGS when in production - mode if it has been explicitly set in the CFLAGS environment variable + mode if it has been explicitly set in the CFLAGS environment variable prior to configuration. MAM - 2009/03/09 - BZ #1401 Library @@ -11724,7 +12330,7 @@ Bug Fixes since HDF5-1.8.2 API. NAF - 2009/04/20 - 1533 - Fixed a problem with using data transforms with non-native types in the file. NAF - 2009/04/20 - 1548 - - Added direct.h include file to windows section of H5private.h + - Added direct.h include file to windows section of H5private.h to fix _getcwd() warning. ADB - 2009/04/14 - 1536 - Fixed a bug that prevented external links from working after calling H5close(). NAF - 2009/04/10 - 1539 @@ -11742,8 +12348,8 @@ Bug Fixes since HDF5-1.8.2 - Modified library to be able to open files with corrupt root group symbol table messages, and correct these errors if they are found. Such files can only be successfully opened with write access. NAF - 2009/03/23 - 1189 - - Removed the long_long #define and replaced all instances with - "long long". This caused problems with third party products. All + - Removed the long_long #define and replaced all instances with + "long long". This caused problems with third party products. All currently supported compliers support the type. ADB - 2009/03/05 - Fixed various bugs that could prevent the fill value from being written in certain rare cases. NAF - 2009/02/26 - 1469 @@ -11763,12 +12369,12 @@ Bug Fixes since HDF5-1.8.2 - Fixed a bug where H5Tpack wouldn't remove trailing space from an otherwise packed compound type. NAF - 2009/01/14 - Fixed up some old v2 btree assertions that get run in debug mode that - were previously failing on compilation, and removed some of the + were previously failing on compilation, and removed some of the more heavily outdated and non-rewritable ones. MAM - 2008/12/15 - Fixed a bug that could cause problems when "automatically" unmounting multiple files. NAF - 2008/11/17 - - H5Dset_extent: when shrinking dimensions, some chunks were not deleted. - PVN - 2009/01/8 + - H5Dset_extent: when shrinking dimensions, some chunks were not deleted. + PVN - 2009/01/8 Parallel Library ---------------- @@ -11778,11 +12384,11 @@ Bug Fixes since HDF5-1.8.2 ----- - Fixed many problems that could occur when using h5repack with named datatypes. NAF - 2009/4/20 - 1516/1466 - - h5dump, h5diff, h5repack were not reading (by hyperslabs) datasets + - h5dump, h5diff, h5repack were not reading (by hyperslabs) datasets that have a datatype datum size greater than H5TOOLS_BUFSIZE, a constant - defined as 1024Kb, such as array types with large dimensions. + defined as 1024Kb, such as array types with large dimensions. PVN - 2009/4/1 - 1501 - - h5import: By selecting a compression type, a big endian byte order + - h5import: By selecting a compression type, a big endian byte order was being selected. PVN - 2009/3/11 - 1462 - zip_perf.c had missing argument on one of the open() calls. Fixed. AKC - 2008/12/9 @@ -11797,13 +12403,13 @@ Bug Fixes since HDF5-1.8.2 High-Level APIs: ------ - - Dimension scales: The scale index return value in H5DSiterate_scales + - Dimension scales: The scale index return value in H5DSiterate_scales was not always incremented. PVN - 2009/4/8 - 1538 Fortran High-Level APIs: ------ - - Lite: The h5ltget_dataset_info_f function (gets information about - a dataset) was not correctly returning the dimension array + - Lite: The h5ltget_dataset_info_f function (gets information about + a dataset) was not correctly returning the dimension array PVN - 2009/3/23 @@ -11834,7 +12440,7 @@ The following platforms and compilers have been tested for this release. gfortran 4.4.1 20090421 IRIX64 6.5 (64 & n32) MIPSpro cc 7.4.4m - F90 MIPSpro 7.4.4m + F90 MIPSpro 7.4.4m C++ MIPSpro cc 7.4.4m Linux 2.6.18-128.1.6.el5xen gcc (GCC) 4.1.2 @@ -11858,8 +12464,8 @@ The following platforms and compilers have been tested for this release. Linux 2.6.16.60-0.37-smp #1 gcc 4.1.2 SMP x86_64 GNU/Linux G95 (GCC 4.0.3 (g95 0.92!) Feb 4 2009) - (smirom) Intel(R) C, C++, Fortran Compilers for - applications running on Intel(R) 64, + (smirom) Intel(R) C, C++, Fortran Compilers for + applications running on Intel(R) 64, Versions 10.1, 11.0. PGI C, Fortran, C++ Version 7.2-1, 8.0-1 for 64-bit target on x86-64 @@ -11873,9 +12479,9 @@ The following platforms and compilers have been tested for this release. (cobalt) SGI MPI 1.38 SunOS 5.10 32- and 64-bit Sun WorkShop 6 update 2 C 5.9 Patch 124867-09 - (linew) Sun WorkShop 6 update 2 Fortran 95 8.3 + (linew) Sun WorkShop 6 update 2 Fortran 95 8.3 Patch 127000-07 - Sun WorkShop 6 update 2 C++ 5.8 + Sun WorkShop 6 update 2 C++ 5.8 Patch 124863-11 Intel Xeon Linux 2.6.18- gcc 3.4.6 20060404 @@ -11890,24 +12496,24 @@ The following platforms and compilers have been tested for this release. (NCSA tg-login) Intel(R) Fortran Compiler Version 8.1.033 mpich-gm-1.2.7p1..16-intel-8.1.037-r1 - Linux 2.6.9-55.0.9.EL_lustre Intel(R) C, C++, Fortran Compilers for - .1.4.11.1smp #1 SMP applications running on Intel(R) 64, + Linux 2.6.9-55.0.9.EL_lustre Intel(R) C, C++, Fortran Compilers for + .1.4.11.1smp #1 SMP applications running on Intel(R) 64, SMP x86_64 GNU/Linux Versions 9.1. - (SNL Spirit) - - Linux 2.6.9-55.0.9.EL_lustre Intel(R) C, C++, Fortran Compilers for - .1.4.11.1smp #1 SMP applications running on Intel(R) 64, + (SNL Spirit) + + Linux 2.6.9-55.0.9.EL_lustre Intel(R) C, C++, Fortran Compilers for + .1.4.11.1smp #1 SMP applications running on Intel(R) 64, SMP x86_64 GNU/Linux Versions 10.1. - (SNL Thunderbird) - - Linux 2.6.18-63chaos #1 SMP Intel(R) C, C++, Fortran Compilers for - SMP x86_64 GNU/Linux applications running on Intel(R) 64, + (SNL Thunderbird) + + Linux 2.6.18-63chaos #1 SMP Intel(R) C, C++, Fortran Compilers for + SMP x86_64 GNU/Linux applications running on Intel(R) 64, (SNL Glory) Versions 10.1. - - Linux 2.6.18-63chaos #1 SMP Intel(R) C, C++, Fortran Compilers for - SMP x86_64 GNU/Linux applications running on Intel(R) 64, + + Linux 2.6.18-63chaos #1 SMP Intel(R) C, C++, Fortran Compilers for + SMP x86_64 GNU/Linux applications running on Intel(R) 64, (LLNL Zeus) Versions 9.1. - gcc/gfortran/g++ (GCC) 4.1.2. + gcc/gfortran/g++ (GCC) 4.1.2. Windows XP Visual Studio .NET Visual Studio 2005 w/ Intel Fortran 9.1 @@ -11934,7 +12540,7 @@ Supported Configuration Features Summary x = not working in this release dna = does not apply ( ) = footnote appears below second table - <blank> = testing incomplete on this feature or platform + <blank> = testing incomplete on this feature or platform Platform C F90 F90 C++ zlib SZIP parallel parallel @@ -11961,28 +12567,28 @@ SuSe Linux 2.4.21 ia64 Intel C y y y y y n Cray XT3 2.0.41 y y 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 y y y y -IRIX64_6.5 32-bit y dna y y -IRIX64_6.5 64-bit y y n y -Windows XP y y(4) y y -Windows XP x64 y y(4) y y -Windows Vista y n n y -Mac OS X 10.5 y n y n -AIX 5.3 32- and 64-bit n n n n -FreeBSD 6.3-STABLE 32&64 bit y n y y -RedHat EL4 2.6.9-42 i686 GNU (1) W y y y y -RedHat EL5 2.6.18-128 i686 GNU (1)W y y(2) y y -RedHat EL5 2.6.18-128 i686 Intel W y y y n -RedHat EL5 2.6.18-128 i686 PGI W y y y n -SuSe Linux 2.6.16 x86_64 GNU (1) W y y y y -SuSe Linux 2.6.16 x86_64 Intel W y y y n -SuSe Linux 2.6.16 x86_64 PGI W y y y n -SuSe Linux 2.6.16 SGI Altix ia64 C 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 y y y y +IRIX64_6.5 32-bit y dna y y +IRIX64_6.5 64-bit y y n y +Windows XP y y(4) y y +Windows XP x64 y y(4) y y +Windows Vista y n n y +Mac OS X 10.5 y n y n +AIX 5.3 32- and 64-bit n n n n +FreeBSD 6.3-STABLE 32&64 bit y n y y +RedHat EL4 2.6.9-42 i686 GNU (1) W y y y y +RedHat EL5 2.6.18-128 i686 GNU (1)W y y(2) y y +RedHat EL5 2.6.18-128 i686 Intel W y y y n +RedHat EL5 2.6.18-128 i686 PGI W y y y n +SuSe Linux 2.6.16 x86_64 GNU (1) W y y y y +SuSe Linux 2.6.16 x86_64 Intel W y y y n +SuSe Linux 2.6.16 x86_64 PGI W y y y n +SuSe Linux 2.6.16 SGI Altix ia64 C y n RedHat EL4 2.6.18 Xeon Lustre C y y y n -SuSe Linux 2.4.21 ia64 Intel C y y y n +SuSe Linux 2.4.21 ia64 Intel C y y y n Cray XT3 2.0.41 n n n n (1) Fortran compiled with g95. @@ -12000,9 +12606,9 @@ Known Problems collective abort of all ranks at t_posix_compliant / allwrite_allread_blocks with MPI IO. CMC - 2009/04/28 -* There is a known issue in which HDF5 will change the timestamp on a file +* There is a known issue in which HDF5 will change the timestamp on a file simply by opening it with read/write permissions, even if the file is not - modified in any way. This is due to the way in which HDF5 manages the file + modified in any way. This is due to the way in which HDF5 manages the file superblock. A fix is currently underway and should be included in the 1.8.4 release of HDF5. MAM - 2009/04/28 @@ -12049,17 +12655,17 @@ Known Problems Storm" in file INSTALL_parallel for a way to deal with this problem. AKC - 2008/05/28 -* We have discovered two problems when running collective IO parallel HDF5 - tests with chunking storage on the ChaMPIon MPI compiler on tungsten, a +* We have discovered two problems when running collective IO parallel HDF5 + tests with chunking storage on the ChaMPIon MPI compiler on tungsten, a Linux cluster at NCSA. - Under some complex selection cases: + Under some complex selection cases: 1) MPI_Get_element returns the wrong value. - 2) MPI_Type_struct also generates the wrong derived datatype and corrupt + 2) MPI_Type_struct also generates the wrong derived datatype and corrupt data may be generated. - These issues arise only when turning on collective IO with chunking storage - with some complex selections. We have not found these problems on other - MPI-IO compilers. If you encounter these problems, you may use independent + These issues arise only when turning on collective IO with chunking storage + with some complex selections. We have not found these problems on other + MPI-IO compilers. If you encounter these problems, you may use independent IO instead. To avoid this behavior, change the following line in your code @@ -12068,33 +12674,33 @@ Known Problems H5Pset_dxpl_mpio(xfer_plist, H5FD_MPIO_INDEPENDENT); KY - 2007/08/24 -* On 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 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. -* For LLNL, uP: both serial and parallel tests pass. +* For LLNL, uP: both serial and parallel tests pass. Zeus: Serial tests pass but parallel tests fail with a known problem in MPI. - ubgl: Serial tests pass but parallel tests fail. + ubgl: Serial tests pass but parallel tests fail. -* 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 +* 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. * On IRIX6.5, when the C compiler version is greater than 7.4, complicated MPI derived datatype code will work. However, the user should increase - the value of the MPI_TYPE_MAX environment variable to some appropriate value - to use collective irregular selection code. For example, the current - parallel HDF5 test needs to raise MPI_TYPE_MAX to 200,000 to pass the test. + the value of the MPI_TYPE_MAX environment variable to some appropriate value + to use collective irregular selection code. For example, the current + parallel HDF5 test needs to raise MPI_TYPE_MAX to 200,000 to pass the test. -* A dataset created or rewritten with a v1.6.3 library or after cannot be read +* 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 + 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. + 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/6/30 * On IBM AIX systems, parallel HDF5 mode will fail some tests with error @@ -12102,34 +12708,34 @@ Known Problems 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. + 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. * The --enable-static-exec configure flag fails to compile for Solaris - platforms. This is due to the fact that not all of the system libraries on + platforms. This is due to the fact that not all of the system libraries on Solaris are available in a static format. The --enable-static-exec configure flag also fails to correctly compile - on IBM SP2 platforms for serial mode. The parallel mode works fine with + on IBM SP2 platforms for serial mode. The parallel mode works fine with this option. - + It is suggested that you do not use this option on these platforms during configuration. -* There is also a configure error on Altix machines that incorrectly reports +* There is also a configure error on Altix machines that incorrectly reports when a version of Szip without an encoder is being used. * Information about building with PGI and Intel compilers is available in the INSTALL file sections 4.7 and 4.8. -%%%%1.8.2%%%% - +%%%%1.8.2%%%% + HDF5 version 1.8.2 released on Mon Nov 10 15:43:09 CST 2008 ================================================================================ @@ -12137,9 +12743,9 @@ HDF5 version 1.8.2 released on Mon Nov 10 15:43:09 CST 2008 INTRODUCTION ============ -This document describes the differences between HDF5-1.8.1 and HDF5 1.8.2, -and contains information on the platforms tested and known problems in -HDF5-1.8.2. For more details, see the files HISTORY-1_0-1_8_0_rc3.txt +This document describes the differences between HDF5-1.8.1 and HDF5 1.8.2, +and contains information on the platforms tested and known problems in +HDF5-1.8.2. 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.2 source code, documentation, and additional materials @@ -12151,18 +12757,18 @@ The HDF5 1.8.2 release can be obtained from: http://www.hdfgroup.org/HDF5/release/obtain5.html -User documentation for 1.8.2 can be accessed directly at this location: +User documentation for 1.8.2 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 +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.2 (current +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.2 (current release) versus Release 1.8.1": http://www.hdfgroup.org/HDF5/doc/ADGuide/Changes.html @@ -12192,8 +12798,8 @@ New Features Library ------- - - Added two new public routines: H5Pget_elink_fapl() and - H5Pset_elink_fapl(). (see bug #1247) (VC - 2008/10/13) + - Added two new public routines: H5Pget_elink_fapl() and + H5Pset_elink_fapl(). (see bug #1247) (VC - 2008/10/13) - Improved free space tracking in file to be faster. (QAK - 2008/10/06) - Added 'mounted' field to H5G_info_t struct. (QAK - 2008/07/15) @@ -12203,41 +12809,41 @@ New Features Tools ----- - - h5repack: added new options -u and -b to add a userblock to an HDF5 + - h5repack: added new options -u and -b to add a userblock to an HDF5 file during the repack. (PVN - 2008/08/26) - - h5repack: added options -t and -a to call H5Pset_alignment while + - h5repack: added options -t and -a to call H5Pset_alignment while creating a repacked file. (PVN - 2008/08/29) - h5ls: added capability to traverse through external links when the -r (recursive) flag is given. (NAF - 2008/09/16) - - h5ls: added -E option to enable traversal of external links. + - h5ls: added -E option to enable traversal of external links. h5ls will not traverse external links without this flag being set. (NAF - 2008/10/06) - - h5dump: when -b flag is used without a keyword after it, binary - output defaults to NATIVE. MEMORY keyword was deprecated + - h5dump: when -b flag is used without a keyword after it, binary + output defaults to NATIVE. MEMORY keyword was deprecated and replaced by NATIVE keyword. (PVN - 2008/10/30) - - h5diff: returns 1 when file graphs differ by any object. + - h5diff: returns 1 when file graphs differ by any object. Error return code was changed to 2 from -1. (PVN - 2008/10/30) - - h5import: TEXTFPE (scientific format) was deprecated. Use TEXTFP + - h5import: TEXTFPE (scientific format) was deprecated. Use TEXTFP instead (PVN - 2008/10/30) F90 API ------ - - Added optional parameter 'mounted' to H5Gget_info_f, - H5Gget_info_by_idx_f, H5Gget_info_by_name_f (MSB - 2008/09/24) - - Added H5Tget_native_type_f (MSB - 2008/09/30) - - + - Added optional parameter 'mounted' to H5Gget_info_f, + H5Gget_info_by_idx_f, H5Gget_info_by_name_f (MSB - 2008/09/24) + - Added H5Tget_native_type_f (MSB - 2008/09/30) + + C++ API ------ - These member functions were added as wrapper for H5Rdereference to replace the incorrect IdComponent::dereference(). - void H5Object::dereference(H5Object& obj, void* ref, + void H5Object::dereference(H5Object& obj, void* ref, H5R_type_t ref_type=H5R_OBJECT) - void H5Object::dereference(H5File& h5file, void* ref, + void H5Object::dereference(H5File& h5file, void* ref, H5R_type_t ref_type=H5R_OBJECT) - void H5Object::dereference(Attribute& obj, void* ref, + void H5Object::dereference(Attribute& obj, void* ref, H5R_type_t ref_type=H5R_OBJECT) In addition, these constructors were added to create the associated @@ -12262,13 +12868,13 @@ Support for New Platforms, Languages, and Compilers disables the build of shared libraries (i.e., only static C and C++ HDF5 libraries will be built along with the static HDF5 Fortran library). - Intel 10.1 C and C++ compilers require + Intel 10.1 C and C++ compilers require "-no-multibyte-chars" compilation flag due to the known bug in the compilers. (EIP - 2008/10/30) -Bug Fixes since HDF5-1.8.1 +Bug Fixes since HDF5-1.8.1 ========================== Configuration @@ -12278,8 +12884,8 @@ Bug Fixes since HDF5-1.8.1 - When using shared szip, it is no longer necessary to specify the path to the shared szip libraries in LD_LIBRARY_PATH. (MAM - 2008/10/15). - - The file libhdf5_fortran.settings is not installed since its content - is included in libhdf5.settings now. (AKC - 2008/10/21) + - The file libhdf5_fortran.settings is not installed since its content + is included in libhdf5.settings now. (AKC - 2008/10/21) - "make DESTDIR=xxx install" failed to install some tools and files (e.g., h5cc and fortran modules). Fixed. (AKC - 2008/10/8). @@ -12299,9 +12905,9 @@ Bug Fixes since HDF5-1.8.1 (NAF - 2008/10/06) - Fixed potential memory leak during compound conversion. (NAF - 2008/10/06) - - Changed the return value of H5Fget_obj_count from INT to SSIZE_T. - Also changed the return value of H5Fget_obj_ids from HERR_T to - SSIZE_T and the type of the parameter MAX_OBJS from INT to SIZE_T. + - Changed the return value of H5Fget_obj_count from INT to SSIZE_T. + Also changed the return value of H5Fget_obj_ids from HERR_T to + SSIZE_T and the type of the parameter MAX_OBJS from INT to SIZE_T. (SLU - 2008/09/26) - Fixed an issue that could cause data to be improperly overwritten during compound type conversion. (NAF - 2008/09/19) @@ -12316,23 +12922,23 @@ Bug Fixes since HDF5-1.8.1 (NAF - 2008/08/08) - Fixed an issue where mount point traversal would fail when using multiple handles for the child. (NAF - 2008/08/07) - - Fixed an issue where mount points were inaccessible when using - multiple file handles for the parent. The mount table is now in - the shared file structure (the parent pointer is still in the + - Fixed an issue where mount points were inaccessible when using + multiple file handles for the parent. The mount table is now in + the shared file structure (the parent pointer is still in the top structure). (NAF - 2008/08/07) - Fixed assertion failure caused by incorrect array datatype version. (NAF - 2008/08/04) - Fixed issue where a group could have a file mounted on it twice. (QAK - 2008/07/15) - - When an attribute was opened twice and data was written with - one of the handles, the file didn't have the data. It happened - because each handle had its own object structure, and the empty - one overwrote the data with fill value. This is fixed by making - some attribute information like the data be shared in the + - When an attribute was opened twice and data was written with + one of the handles, the file didn't have the data. It happened + because each handle had its own object structure, and the empty + one overwrote the data with fill value. This is fixed by making + some attribute information like the data be shared in the attribute structure. (SLU - 2008/07/07) - - Fixed a Windows-specific issue in the ohdr test which was causing - users in some timezones to get false errors. This a deficiency in - the Windows mktime() function, and has been handled properly. + - Fixed a Windows-specific issue in the ohdr test which was causing + users in some timezones to get false errors. This a deficiency in + the Windows mktime() function, and has been handled properly. (SJW - 2008/06/19) Parallel Library @@ -12345,51 +12951,51 @@ Bug Fixes since HDF5-1.8.1 (NAF - 2008/10/15) - Fixed unnecessary indentation of committed datatypes in h5dump. (NAF - 2008/10/15) - - Fixed bugs in h5stat: segmemtation fault when printing groups and - print warning message when traversal of objects is unsuccessful. - (see bug #1253) (VC- 2008/10/13) + - Fixed bugs in h5stat: segmemtation fault when printing groups and + print warning message when traversal of objects is unsuccessful. + (see bug #1253) (VC- 2008/10/13) - Fixed bug in h5ls that prevented relative group listings (like "h5ls foo.h5/bar") from working correctly (QAK - 2008/06/03) - - h5dump: when doing binary output (-b), the stdout printing of - attributes was done incorrectly. Removed printing of attributes + - h5dump: when doing binary output (-b), the stdout printing of + attributes was done incorrectly. Removed printing of attributes when doing binary output. (PVN - 2008/06/05) F90 API ------ - - h5sselect_elements_f: Added additional operators H5S_SELECT_APPEND + - h5sselect_elements_f: Added additional operators H5S_SELECT_APPEND and H5S_SELECT_PREPEND (MSB - 2008/09/30) - - h5sget_select_elem_pointlist: Fixed list of returned points by - rearranging the point list correctly by accounting for C + - h5sget_select_elem_pointlist: Fixed list of returned points by + rearranging the point list correctly by accounting for C conventions. (MSB - 2008/09/30) - - h5sget_select_hyper_blocklist_f: Fixed error in transposed dimension + - h5sget_select_hyper_blocklist_f: Fixed error in transposed dimension of arrays.(MSB - 2008/9/30) - - h5sget_select_bounds_f: Swapped array bounds to account for C and + - h5sget_select_bounds_f: Swapped array bounds to account for C and Fortran reversed array notation (MSB - 2008/9/30) - - Changed to initializing string to a blank character instead of a - null type in tH5P.f90 to fix compiling error using AIX 5.3.0 + - Changed to initializing string to a blank character instead of a + null type in tH5P.f90 to fix compiling error using AIX 5.3.0 (MSB - 2008/7/29) - - Fixed missing commas in H5test_kind.f90 detected by NAG compiler + - Fixed missing commas in H5test_kind.f90 detected by NAG compiler (MSB - 2008/7/29) - - Fixed passing and array to a scalar in tH5A_1_8.f90 detected by + - Fixed passing and array to a scalar in tH5A_1_8.f90 detected by NAG compiler (MSB - 2008/7/29) - - Added the ability of the test programs to use the status of - HDF5_NOCLEANUP to determine if the *.h5 files should be removed + - Added the ability of the test programs to use the status of + HDF5_NOCLEANUP to determine if the *.h5 files should be removed or not after the tests are completed (MSB - 2008/10/1) - - In nh5tget_offset_c: (MSB 9/12/2008) - If offset was equal to 0 it returned the error code of -1, - this was changed to return an error code of -1 when the offset + - In nh5tget_offset_c: (MSB 9/12/2008) + If offset was equal to 0 it returned the error code of -1, + this was changed to return an error code of -1 when the offset value is < 0. - - Uses intrinsic Fortran function SIZEOF if available when detecting + - Uses intrinsic Fortran function SIZEOF if available when detecting type of INTEGERs and REALs in H5test_kind.f90 (MSB - 2008/9/3) - - Put the DOUBLE PRECISION interfaces in a separate module and - added a USE statement for the module. The interfaces are + - Put the DOUBLE PRECISION interfaces in a separate module and + added a USE statement for the module. The interfaces are included/excluded depending on the state of FORTRAN_DEFAULT_REAL is DBLE_F which detects if the default REAL is DOUBLE PRECISION. - This allows the library to be compiled with -r8 Fortran flag - without the user needing to edit the source code. + This allows the library to be compiled with -r8 Fortran flag + without the user needing to edit the source code. (MSB - 200/8/27) - - Enable building shared library for fortran by adding the flag -fPIC + - Enable building shared library for fortran by adding the flag -fPIC to the compile flags for versions of Intel Fortran compiler >=9 (MSB - 2008/8/26) @@ -12412,15 +13018,15 @@ Platforms Tested ================ The following platforms and compilers have been tested for this release. - AIX 5.3 xlc 7.0.0.8 - xlf 09.01.0000.0008 - xlC 7.0.0.8 - mpcc_r 7.0.0.8 - mpxlf_r 09.01.0000.0008 + AIX 5.3 xlc 7.0.0.8 + xlf 09.01.0000.0008 + xlC 7.0.0.8 + mpcc_r 7.0.0.8 + mpxlf_r 09.01.0000.0008 Cray XT3 (2.0.41) cc (pgcc) 7.1-4 (red storm) ftn (pgf90) 7.1-4 - CC (pgCC) 7.1-4 + CC (pgCC) 7.1-4 FreeBSD 6.3-STABLE i386 gcc 3.4.6 [FreeBSD] 20060305 (duty) g++ 3.4.6 [FreeBSD] 20060305 @@ -12435,7 +13041,7 @@ The following platforms and compilers have been tested for this release. gfortran 4.2.5 20080702 IRIX64 6.5 (64 & n32) MIPSpro cc 7.4.4m - F90 MIPSpro 7.4.4m + F90 MIPSpro 7.4.4m C++ MIPSpro cc 7.4.4m Linux 2.6.9-42.0.10.ELsmp #1 gcc (GCC) 3.4.6 @@ -12453,9 +13059,9 @@ The following platforms and compilers have been tested for this release. MPICH mpich2-1.0.6p1 compiled with gcc 3.4.6 and G95 (GCC 4.0.3 (g95 0.92!) - Linux 2.6.16.46-0.14-smp #1 Intel(R) C++ for Intel(R) EM64T + Linux 2.6.16.46-0.14-smp #1 Intel(R) C++ for Intel(R) EM64T SMP x86_64 GNU/Linux Ver. 10.1.013 - (smirom) Intel(R) Fortran Intel(R) EM64T + (smirom) Intel(R) Fortran Intel(R) EM64T Ver. 10.1.013 PGI C, Fortran, C++ Version 7.2-1 for 64-bit target on x86-64 @@ -12479,7 +13085,7 @@ The following platforms and compilers have been tested for this release. Intel(R) Fortran Compiler Version 10.0.026 Open MPI 1.2.2 MVAPICH2-0.9.8p28p2patched-intel-ofed-1.2 - compiled with icc v10.0.026 and + compiled with icc v10.0.026 and ifort 10.0.026 IA-64 Linux 2.4.21-309.tg1 #1 SMP @@ -12506,7 +13112,7 @@ The following platforms and compilers have been tested for this release. GNU Fortran (GCC) 4.3.0 20070810 G95 (GCC 4.0.3 (g95 0.91!) Apr 24 2008) Intel C, C++ and Fortran compilers 10.1 - + Supported Configuration Features Summary ======================================== @@ -12517,7 +13123,7 @@ Supported Configuration Features Summary x = not working in this release dna = does not apply ( ) = footnote appears below second table - <blank> = testing incomplete on this feature or platform + <blank> = testing incomplete on this feature or platform Platform C F90 F90 C++ zlib SZIP parallel parallel @@ -12530,7 +13136,7 @@ Windows XP x64 n y(15) n(15) y y y Windows Vista n n n y y y Mac OS X 10.5 Intel n y n y y y AIX 5.3 32- and 64-bit n y n y y n -FreeBSD 6.3-STABLE +FreeBSD 6.3-STABLE 32&64 bit n y n y y y RedHat EL4 (3) W y(1) y(10) y(1) y y y RedHat EL4 Intel (3) W n y n y y n @@ -12538,49 +13144,49 @@ RedHat EL4 PGI (3) W n y n y y n SuSe x86_64 gcc(3,12) W y(2) y(11) y(2) y y y SuSe x86_64 Int(3,12) W n y(13) n y y n SuSe x86_64 PGI(3,12) W n y(8) n y y y -Linux 2.6 SuSE ia64 C +Linux 2.6 SuSE ia64 C Intel (3,7) y y y y y n -Linux 2.6 SGI Altix +Linux 2.6 SGI Altix ia64 Intel (3) y y y y y y Linux 2.6 RHEL C Lustre Intel (5) y(4) y y(4) y y n Cray XT3 2.0.41 y y 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 y y y y -IRIX64_6.5 32-bit y dna y y -IRIX64_6.5 64-bit y y n y -Windows XP y y(15) y y -Windows XP x64 y y(15) y y -Windows Vista y n n y -Mac OS X 10.5 y n y n -AIX 5.3 32- and 64-bit n n n n -FreeBSD 6.2 32&64 bit y n y y -RedHat EL4 (3) W y y(10) y y -RedHat EL4 Intel (3) W y y y n -RedHat EL4 PGI (3) W y y y n -SuSe x86_64 GNU(3,12) W y y y y -SuSe x86_64 Int(3,12) W y y y n -SuSe x86_64 PGI(3,12) W 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 y y y y +IRIX64_6.5 32-bit y dna y y +IRIX64_6.5 64-bit y y n y +Windows XP y y(15) y y +Windows XP x64 y y(15) y y +Windows Vista y n n y +Mac OS X 10.5 y n y n +AIX 5.3 32- and 64-bit n n n n +FreeBSD 6.2 32&64 bit y n y y +RedHat EL4 (3) W y y(10) y y +RedHat EL4 Intel (3) W y y y n +RedHat EL4 PGI (3) W y y y n +SuSe x86_64 GNU(3,12) W y y y y +SuSe x86_64 Int(3,12) W y y y n +SuSe x86_64 PGI(3,12) W y y y n Linux 2.4 SuSE C - ia64 C Intel (7) y y y n + ia64 C Intel (7) y y y n Linux 2.4 SGI Altix C - ia64 Intel y n + ia64 Intel y n Linux 2.6 RHEL C Lustre Intel (5) y y y n Cray XT3 2.0.41 n n n n Notes: (1) Using mpich2 1.0.6. (2) Using mpich2 1.0.7. - (3) Linux 2.6 with GNU, Intel, and PGI compilers, as indicated. + (3) Linux 2.6 with GNU, Intel, and PGI compilers, as indicated. W or C indicates workstation or cluster, respectively. (4) Using mvapich2 0.9.8. - (5) Linux 2.6.9-42.0.10. Xeon cluster with ELsmp_perfctr_lustre + (5) Linux 2.6.9-42.0.10. Xeon cluster with ELsmp_perfctr_lustre and Intel compilers - (6) Linux 2.4.21-32.0.1. Xeon cluster with ELsmp_perfctr_lustre + (6) Linux 2.4.21-32.0.1. Xeon cluster with ELsmp_perfctr_lustre and Intel compilers (7) Linux 2.4.21, SuSE_292.till. Ia64 cluster with Intel compilers (8) pgf90 @@ -12634,17 +13240,17 @@ Known Problems Storm" in file INSTALL_parallel for a way to deal with this problem. AKC - 2008/05/28 -* We have discovered two problems when running collective IO parallel HDF5 - tests with chunking storage on the ChaMPIon MPI compiler on tungsten, a +* We have discovered two problems when running collective IO parallel HDF5 + tests with chunking storage on the ChaMPIon MPI compiler on tungsten, a Linux cluster at NCSA. - Under some complex selection cases: + Under some complex selection cases: 1) MPI_Get_element returns the wrong value. - 2) MPI_Type_struct also generates the wrong derived datatype and corrupt + 2) MPI_Type_struct also generates the wrong derived datatype and corrupt data may be generated. - These issues arise only when turning on collective IO with chunking storage - with some complex selections. We have not found these problems on other - MPI-IO compilers. If you encounter these problems, you may use independent + These issues arise only when turning on collective IO with chunking storage + with some complex selections. We have not found these problems on other + MPI-IO compilers. If you encounter these problems, you may use independent IO instead. To avoid this behavior, change the following line in your code @@ -12654,33 +13260,33 @@ Known Problems KY - 2007/08/24 -* On 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 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. -* For LLNL, uP: both serial and parallel tests pass. +* For LLNL, uP: both serial and parallel tests pass. Zeus: Serial tests pass but parallel tests fail with a known problem in MPI. - ubgl: Serial tests pass but parallel tests fail. + ubgl: Serial tests pass but parallel tests fail. -* 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 +* 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. * On IRIX6.5, when the C compiler version is greater than 7.4, complicated MPI derived datatype code will work. However, the user should increase - the value of the MPI_TYPE_MAX environment variable to some appropriate value - to use collective irregular selection code. For example, the current - parallel HDF5 test needs to raise MPI_TYPE_MAX to 200,000 to pass the test. + the value of the MPI_TYPE_MAX environment variable to some appropriate value + to use collective irregular selection code. For example, the current + parallel HDF5 test needs to raise MPI_TYPE_MAX to 200,000 to pass the test. -* A dataset created or rewritten with a v1.6.3 library or after cannot be read +* 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 + 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. + 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/6/30 * On IBM AIX systems, parallel HDF5 mode will fail some tests with error @@ -12688,26 +13294,26 @@ Known Problems 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. + 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. * The --enable-static-exec configure flag fails to compile for Solaris - platforms. This is due to the fact that not all of the system libraries on + platforms. This is due to the fact that not all of the system libraries on Solaris are available in a static format. The --enable-static-exec configure flag also fails to correctly compile - on IBM SP2 platforms for serial mode. The parallel mode works fine with + on IBM SP2 platforms for serial mode. The parallel mode works fine with this option. - + It is suggested that you do not use this option on these platforms during configuration. -* There is also a configure error on Altix machines that incorrectly reports +* There is also a configure error on Altix machines that incorrectly reports when a version of Szip without an encoder is being used. * Information about building with PGI and Intel compilers is available in @@ -12716,7 +13322,7 @@ Known Problems -%%%%1.8.1%%%% +%%%%1.8.1%%%% HDF5 version 1.8.1 released on Thu May 29 15:28:55 CDT 2008 @@ -12725,10 +13331,10 @@ HDF5 version 1.8.1 released on Thu May 29 15:28:55 CDT 2008 INTRODUCTION ============ -This document describes the differences between the HDF5-1.8.1 release -and HDF5 1.8.0, and contains information on the platforms tested and known +This document describes the differences between the HDF5-1.8.1 release +and HDF5 1.8.0, and contains information on the platforms tested and known problems in HDF5-1.8.1. For more details, see the files -HISTORY-1_0-1_8_0_rc3.txt and HISTORY-1_8.txt in the release_docs/ directory +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.1 source code, documentation, and additional materials @@ -12740,18 +13346,18 @@ The HDF5 1.8.1 release can be obtained from: http://www.hdfgroup.org/HDF5/release/obtain5.html -User documentation for 1.8.1 can be accessed directly at this location: +User documentation for 1.8.1 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 +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.1 (current +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.1 (current release) versus Release 1.8.0": http://www.hdfgroup.org/HDF5/doc/ADGuide/Changes.html @@ -12780,12 +13386,12 @@ New Features - The lib/libhdf5.settings file contains much more configure information. (AKC - 2008/05/18) - - The new configure option "--disable-sharedlib-rpath" disables - embedding the '-Wl,-rpath' information into executables when - shared libraries are produced, and instead solely relies on the + - The new configure option "--disable-sharedlib-rpath" disables + embedding the '-Wl,-rpath' information into executables when + shared libraries are produced, and instead solely relies on the information in LD_LIBRARY_PATH. (MAM - 2008/05/15) - - Configuration suite now uses Autoconf 2.61, Automake 1.10.1, and + - Configuration suite now uses Autoconf 2.61, Automake 1.10.1, and Libtool 2.2.2 (MAM - 2008/05/01) Source code distribution @@ -12801,25 +13407,25 @@ New Features Tools ----- - - h5repack: Reinstated the -i and -o command line flags to specify + - h5repack: Reinstated the -i and -o command line flags to specify input and output files. h5repack now understands both the old syntax (with -i and -o) and the new syntax introduced in Release 1.8.0. (PVN - 2008/05/23) - - h5dump: Added support for external links, displaying the object that + - h5dump: Added support for external links, displaying the object that an external link points to. (PVN - 2008/05/12) - - h5dump: Added an option, -m, to allow user-defined formatting in the + - h5dump: Added an option, -m, to allow user-defined formatting in the output of floating point numbers. (PVN - 2008/05/06) - - h5dump, in output of the -p option: Added effective data compression - ratio to the dataset storage layout output when a compression filter + - h5dump, in output of the -p option: Added effective data compression + ratio to the dataset storage layout output when a compression filter has been applied to a dataset. (PVN - 2008/05/01) F90 API ------ - New H5A, H5G, H5L, H5O, and H5P APIs to enable 1.8 features were - added. See "Release 1.8.1 (current release) versus Release 1.8.0" in - the document "HDF5 Software Changes from Release to Release" - (http://hdfgroup.org/HDF5/doc/ADGuide/Changes.html) for the - complete list of the new APIs. + - New H5A, H5G, H5L, H5O, and H5P APIs to enable 1.8 features were + added. See "Release 1.8.1 (current release) versus Release 1.8.0" in + the document "HDF5 Software Changes from Release to Release" + (http://hdfgroup.org/HDF5/doc/ADGuide/Changes.html) for the + complete list of the new APIs. C++ API ------ @@ -12828,15 +13434,15 @@ New Features Support for New Platforms, Languages, and Compilers =================================================== - - Both serial and parallel HDF5 are supported for the Red Storm machine + - Both serial and parallel HDF5 are supported for the Red Storm machine which is a Cray XT3 system. - - The Fortran library will work correctly if compiled with the -i8 - flag. This has been tested with the g95, PGI and Intel Fortran + - The Fortran library will work correctly if compiled with the -i8 + flag. This has been tested with the g95, PGI and Intel Fortran compilers. -Bug Fixes since HDF5-1.8.0 +Bug Fixes since HDF5-1.8.0 ========================== Configuration @@ -12848,12 +13454,12 @@ Bug Fixes since HDF5-1.8.0 Library ------- - - Chunking: Chunks greater than 4GB are disallowed. + - Chunking: Chunks greater than 4GB are disallowed. (QAK - 2008/05/16) - - Fixed the problem with searching for a target file when following - an external link. The search pattern will depend on whether the - target file's pathname is an absolute or a relative path. - Please see the H5Lcreate_external description in the "HDF5 + - Fixed the problem with searching for a target file when following + an external link. The search pattern will depend on whether the + target file's pathname is an absolute or a relative path. + Please see the H5Lcreate_external description in the "HDF5 Reference Manual" (http://hdfgroup.org/HDF5/doc/RM/RM_H5L.html). (VC - 2008/04/08) - Fixed possible file corruption bug when encoding datatype @@ -12861,7 +13467,7 @@ Bug Fixes since HDF5-1.8.0 256 and 511 bytes and the file was opened with the "use the latest format" property enabled (with H5Pset_libver_bounds). (QAK - 2008/03/13) - - Fixed bug in H5Aget_num_attrs() routine to correctly handle an + - Fixed bug in H5Aget_num_attrs() routine to correctly handle an invalid location identifier. (QAK - 2008/03/11) Parallel Library @@ -12873,13 +13479,13 @@ Bug Fixes since HDF5-1.8.0 - Fixed bug in h5diff that prevented datasets and attributes with variable-length string elements from comparing correctly. (QAK - 2008/02/28) - - Fixed bug in h5dump that caused binary output to be made only for + - Fixed bug in h5dump that caused binary output to be made only for the first dataset, when several datasets were requested. (PVN - 2008/04/07) F90 API ------ - - The h5tset(get)_fields subroutines were missing the parameter to + - The h5tset(get)_fields subroutines were missing the parameter to specify a sign position; fixed. (EIP - 2008/05/23) - Many APIs were fixed to work with the 8-byte integers in Fortran vs. 4-byte integers in C. This change is trasparent to user applications. @@ -12894,12 +13500,12 @@ Bug Fixes since HDF5-1.8.0 In addition, data member IdComponent::id was moved into subclasses: Attribute, DataSet, DataSpace, DataType, H5File, Group, and PropList. (BMR - 2008/05/20) - - IdComponent::dereference was incorrect; it was changed from: - void IdComponent::dereference(IdComponent& obj, void* ref) - to: - void H5Object::dereference(H5File& h5file, void* ref) - void H5Object::dereference(H5Object& obj, void* ref) - (BMR - 2008/05/20) + - IdComponent::dereference was incorrect; it was changed from: + void IdComponent::dereference(IdComponent& obj, void* ref) + to: + void H5Object::dereference(H5File& h5file, void* ref) + void H5Object::dereference(H5Object& obj, void* ref) + (BMR - 2008/05/20) - Revised Attribute::write and Attribute::read wrappers to handle memory allocation/deallocation properly. (bugzilla 1045) (BMR - 2008/05/20) @@ -12911,7 +13517,7 @@ The following platforms and compilers have been tested for this release. Cray XT3 (2.0.41) cc (pgcc) 7.1-4 (red storm) ftn (pgf90) 7.1-4 - CC (pgCC) 7.1-4 + CC (pgCC) 7.1-4 mpicc 1.0.2 mpif90 1.0.2 @@ -12928,7 +13534,7 @@ The following platforms and compilers have been tested for this release. gfortran 4.2.1 20080123 IRIX64 6.5 (64 & n32) MIPSpro cc 7.4.4m - F90 MIPSpro 7.4.4m + F90 MIPSpro 7.4.4m C++ MIPSpro cc 7.4.4m Linux 2.6.9 (RHEL4) Intel 10.0 compilers @@ -12937,26 +13543,26 @@ The following platforms and compilers have been tested for this release. Linux 2.4.21-47 gcc 3.2.3 20030502 (osage) - Linux 2.6.9-42.0.10 gcc,g++ 3.4.6 20060404, G95 (GCC 4.0.3) + Linux 2.6.9-42.0.10 gcc,g++ 3.4.6 20060404, G95 (GCC 4.0.3) (kagiso) PGI 7.1-6 (pgcc, pgf90, pgCC) Intel 9.1 (icc, ifort, icpc) - Linux 2.6.16.27 x86_64 AMD gcc 4.1.0 (SuSE Linux), g++ 4.1.0, + Linux 2.6.16.27 x86_64 AMD gcc 4.1.0 (SuSE Linux), g++ 4.1.0, (smirom) g95 (GCC 4.0.3) PGI 7.1-6 (pgcc, pgf90, pgCC) Intel 9.1 (icc, ifort, icpc) Linux 2.6.5-7.252.1-rtgfx #1 Intel(R) C++ Version 9.0 - SMP ia64 Intel(R) Fortran Itanium(R) Version 9.0 + SMP ia64 Intel(R) Fortran Itanium(R) Version 9.0 (cobalt) SGI MPI SunOS 5.8 32,46 Sun WorkShop 6 update 2 C 5.3 (Solaris 2.8) Sun WorkShop 6 update 2 Fortran 95 6.2 Sun WorkShop 6 update 2 C++ 5.3 - SunOS 5.10 cc: Sun C 5.8 - (linew) f90: Sun Fortran 95 8.2 - CC: Sun C++ 5.8 + SunOS 5.10 cc: Sun C 5.8 + (linew) f90: Sun Fortran 95 8.2 + CC: Sun C++ 5.8 Xeon Linux 2.4.21-32.0.1.ELsmp-perfctr-lustre (tungsten) gcc 3.2.2 20030222 @@ -12998,7 +13604,7 @@ Supported Configuration Features Summary x = not working in this release dna = does not apply ( ) = footnote appears below second table - <blank> = testing incomplete on this feature or platform + <blank> = testing incomplete on this feature or platform Platform C F90 F90 C++ zlib SZIP parallel parallel @@ -13017,52 +13623,52 @@ RedHat EL3 W PGI (3) n y n y y n SuSe x86_64 gcc (3,12) y(2) y(11) y(2) y y y SuSe x86_64 Int (3,12) n y(13) n y y n SuSe x86_64 PGI (3,12) n y(8) n y y y -Linux 2.4 Xeon C +Linux 2.4 Xeon C Lustre Intel (3,6) n y n y y n -Linux 2.6 SuSE ia64 C +Linux 2.6 SuSE ia64 C Intel (3,7) y y y y y n -Linux 2.6 SGI Altix +Linux 2.6 SGI Altix ia64 Intel (3) y y y y y y Linux 2.6 RHEL C Lustre Intel (5) y(4) y y(4) y y n Cray XT3 2.0.41 y y y y y n -Platform Shared Shared Shared Thread- - C libs F90 libs C++ libs safe -Solaris2.10 64-bit y y y y -Solaris2.10 32-bit y y y y -IRIX64_6.5 64-bit y y n y -IRIX64_6.5 32-bit y dna y y -Windows XP y y(15) y y -Windows XP x64 y y(15) y y -Windows Vista y n n y -Mac OS X 10.3 y n -FreeBSD 4.11 y n y y -RedHat EL3 W (3) y y(10) y y -RedHat EL3 W Intel (3) y y y n -RedHat EL3 W PGI (3) y y y n -SuSe x86_64 W GNU (3,12) y y y y -SuSe x86_64 W Int (3,12) y y y n -SuSe x86_64 W PGI (3,12) y y y n -Linux 2.4 Xeon C - Lustre Intel (6) y y y n -Linux 2.4 SuSE - ia64 C Intel (7) y y y n -Linux 2.4 SGI Altix - ia64 Intel y n +Platform Shared Shared Shared Thread- + C libs F90 libs C++ libs safe +Solaris2.10 64-bit y y y y +Solaris2.10 32-bit y y y y +IRIX64_6.5 64-bit y y n y +IRIX64_6.5 32-bit y dna y y +Windows XP y y(15) y y +Windows XP x64 y y(15) y y +Windows Vista y n n y +Mac OS X 10.3 y n +FreeBSD 4.11 y n y y +RedHat EL3 W (3) y y(10) y y +RedHat EL3 W Intel (3) y y y n +RedHat EL3 W PGI (3) y y y n +SuSe x86_64 W GNU (3,12) y y y y +SuSe x86_64 W Int (3,12) y y y n +SuSe x86_64 W PGI (3,12) y y y n +Linux 2.4 Xeon C + Lustre Intel (6) y y y n +Linux 2.4 SuSE + ia64 C Intel (7) y y y n +Linux 2.4 SGI Altix + ia64 Intel y n Linux 2.6 RHEL C Lustre Intel (5) y y y n Cray XT3 2.0.41 n n n n n Notes: (1) Using mpich2 1.0.6. (2) Using mpich2 1.0.7. - (3) Linux 2.6 with GNU, Intel, and PGI compilers, as indicated. + (3) Linux 2.6 with GNU, Intel, and PGI compilers, as indicated. W or C indicates workstation or cluster, respectively. (4) Using mvapich2 0.9.8. - (5) Linux 2.6.9-42.0.10. Xeon cluster with ELsmp_perfctr_lustre + (5) Linux 2.6.9-42.0.10. Xeon cluster with ELsmp_perfctr_lustre and Intel compilers - (6) Linux 2.4.21-32.0.1. Xeon cluster with ELsmp_perfctr_lustre + (6) Linux 2.4.21-32.0.1. Xeon cluster with ELsmp_perfctr_lustre and Intel compilers (7) Linux 2.4.21, SuSE_292.till. Ia64 cluster with Intel compilers (8) pgf90 @@ -13103,17 +13709,17 @@ Known Problems ======== end of bypass ======== AKC - 2008/05/28 -* We have discovered two problems when running collective IO parallel HDF5 - tests with chunking storage on the ChaMPIon MPI compiler on tungsten, a +* We have discovered two problems when running collective IO parallel HDF5 + tests with chunking storage on the ChaMPIon MPI compiler on tungsten, a Linux cluster at NCSA. - Under some complex selection cases: + Under some complex selection cases: 1) MPI_Get_element returns the wrong value. - 2) MPI_Type_struct also generates the wrong derived datatype and corrupt + 2) MPI_Type_struct also generates the wrong derived datatype and corrupt data may be generated. - These issues arise only when turning on collective IO with chunking storage - with some complex selections. We have not found these problems on other - MPI-IO compilers. If you encounter these problems, you may use independent + These issues arise only when turning on collective IO with chunking storage + with some complex selections. We have not found these problems on other + MPI-IO compilers. If you encounter these problems, you may use independent IO instead. To avoid this behavior, change the following line in your code @@ -13126,13 +13732,13 @@ Known Problems * For SNL, spirit/liberty/thunderbird: The serial tests pass but parallel tests failed with MPI-IO file locking message. AKC - 2007/6/25 -* On 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 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. -* For LLNL, uP: both serial and parallel tests pass. +* For LLNL, uP: both serial and parallel tests pass. Zeus: Serial tests pass but parallel tests fail with a known problem in MPI. - ubgl: Serial tests pass but parallel tests fail. + ubgl: Serial tests pass but parallel tests fail. * Configuring with --enable-debug=all produces compiler errors on most platforms: Users who want to run HDF5 in debug mode should use @@ -13140,66 +13746,66 @@ Known Problems information on most modules. * On Mac OS 10.4, test/dt_arith.c has some errors in conversion from long - double to (unsigned) long long and from (unsigned) long long to long double. + double to (unsigned) long long and from (unsigned) long long to long double. * On Altix SGI with Intel 9.0, testmeta.c would not compile with -O3 optimization flag. -* On VAX, the Scaleoffset filter is not supported. The Scaleoffset filter - supports only the IEEE standard for floating-point data; it cannot be applied - to HDF5 data generated on VAX. +* On VAX, the Scaleoffset filter is not supported. The Scaleoffset filter + supports only the IEEE standard for floating-point data; it cannot be applied + to HDF5 data generated on VAX. * On Cray X1, a lone colon on the command line of h5dump --xml (as in the testh5dumpxml.sh script) is misinterpereted by the operating system and causes an error. -* 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 +* 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. * On IRIX6.5, when the C compiler version is greater than 7.4, complicated MPI derived datatype code will work. However, the user should increase - the value of the MPI_TYPE_MAX environment variable to some appropriate value - to use collective irregular selection code. For example, the current - parallel HDF5 test needs to raise MPI_TYPE_MAX to 200,000 to pass the test. + the value of the MPI_TYPE_MAX environment variable to some appropriate value + to use collective irregular selection code. For example, the current + parallel HDF5 test needs to raise MPI_TYPE_MAX to 200,000 to pass the test. -* A dataset created or rewritten with a v1.6.3 library or after cannot be read +* 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 + 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. + 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/6/30 -* For version 6 (6.02 and 6.04) of the Portland Group compiler on the AMD - Opteron processor, there is a bug in the compiler for optimization(-O2). - The library failed in several tests, all related to the MULTI driver. - The problem has been reported to the vendor. +* For version 6 (6.02 and 6.04) of the Portland Group compiler on the AMD + Opteron processor, there is a bug in the compiler for optimization(-O2). + The library failed in several tests, all related to the MULTI driver. + The problem has been reported to the vendor. * 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. + 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. * The --enable-static-exec configure flag fails to compile for Solaris - platforms. This is due to the fact that not all of the system libraries on + platforms. This is due to the fact that not all of the system libraries on Solaris are available in a static format. The --enable-static-exec configure flag also fails to correctly compile - on IBM SP2 platforms for serial mode. The parallel mode works fine with + on IBM SP2 platforms for serial mode. The parallel mode works fine with this option. - + It is suggested that you do not use this option on these platforms during configuration. @@ -13208,7 +13814,7 @@ Known Problems able to handle the `long long' datatype with the warning: warning: ANSI C does not support `long long' - + This warning is innocuous and can be safely ignored. * The ./dsets tests fail on the TFLOPS machine if the test program, @@ -13220,42 +13826,42 @@ Known Problems * Not all platforms behave correctly with Szip's shared libraries. Szip is disabled in these cases, and a message is relayed at configure time. Static libraries should be working on all systems that support Szip and should be - used when shared libraries are unavailable. + used when shared libraries are unavailable. - There is also a configure error on Altix machines that incorrectly reports + There is also a configure error on Altix machines that incorrectly reports when a version of Szip without an encoder is being used. -* On some platforms that use Intel and Absoft compilers to build the HDF5 - Fortran library, compilation may fail for fortranlib_test.f90, fflush1.f90 - and fflush2.f90 complaining about the exit subroutine. Comment out the line +* On some platforms that use Intel and Absoft compilers to build the HDF5 + Fortran library, compilation may fail for fortranlib_test.f90, fflush1.f90 + and fflush2.f90 complaining about the exit subroutine. Comment out the line IF (total_error .ne. 0) CALL exit (total_error). * Information about building with PGI and Intel compilers is available in the INSTALL file sections 4.7 and 4.8. * On at least one system, SDSC DataStar, the scheduler (in this case - LoadLeveler) sends job status updates to standard error when you run + LoadLeveler) sends job status updates to standard error when you run any executable that was compiled with the parallel compilers. - This causes problems when running "make check" on parallel builds, as + This causes problems when running "make check" on parallel builds, as many of the tool tests function by saving the output from test runs, - and comparing it to an exemplar. + and comparing it to an exemplar. The best solution is to reconfigure the target system so it no longer inserts the extra text. However, this may not be practical. - In such cases, one solution is to "setenv HDF5_Make_Ignore yes" prior to - the configure and build. This will cause "make check" to continue after + In such cases, one solution is to "setenv HDF5_Make_Ignore yes" prior to + the configure and build. This will cause "make check" to continue after detecting errors in the tool tests. However, in the case of SDSC DataStar, it also leaves you with some 150 "failed" tests to examine by hand. A second solution is to write a script to run serial tests and filter out the text added by the scheduler. A sample script used on SDSC - DataStar is given below, but you will probably have to customize it - for your installation. + DataStar is given below, but you will probably have to customize it + for your installation. - Observe that the basic idea is to insert the script as the first item - on the command line which executes the the test. The script then + Observe that the basic idea is to insert the script as the first item + on the command line which executes the the test. The script then executes the test and filters out the offending text before passing it on. @@ -13277,11 +13883,11 @@ Known Problems exit $RETURN_VALUE You get the HDF5 make files and test scipts to execute your filter script - by setting the environment variable "RUNSERIAL" to the full path of the - script prior to running configure for parallel builds. Remember to + by setting the environment variable "RUNSERIAL" to the full path of the + script prior to running configure for parallel builds. Remember to "unsetenv RUNSERIAL" before running configure for a serial build. - Note that the RUNSERIAL environment variable exists so that we can + Note that the RUNSERIAL environment variable exists so that we can prefix serial runs as necessary on the target system. On DataStar, no prefix is necessary. However on an MPICH system, the prefix might have to be set to something like "/usr/local/mpi/bin/mpirun -np 1" to @@ -13300,7 +13906,7 @@ Known Problems available. -%%%%1.8.0%%%% +%%%%1.8.0%%%% HDF5 version 1.8.0 released on Tue Feb 12 20:41:19 CST 2008 @@ -13310,9 +13916,9 @@ INTRODUCTION ============ This document describes the differences between the HDF5-1.6.x release series -and HDF5 1.8.0, and contains information on the platforms tested and known +and HDF5 1.8.0, and contains information on the platforms tested and known problems in HDF5-1.8.0. For more details, see the HISTORY-1_0-1_8_0_rc3.txt -file in the +file in the release_docs/ directory of the HDF5 source. Links to the HDF5 1.8.0 source code, documentation, and additional materials @@ -13324,17 +13930,17 @@ The HDF5 1.8.0 release can be obtained from: http://www.hdfgroup.org/HDF5/release/obtain5.html -User documentation for 1.8.0 can be accessed directly at this location: +User documentation for 1.8.0 can be accessed directly at this location: http://www.hdfgroup.org/HDF5/doc/ -New features in 1.8.0, including brief general descriptions of some new +New features in 1.8.0, 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.0 (current +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.0 (current release) versus Release 1.6.x": http://www.hdfgroup.org/HDF5/doc/ADGuide/Changes.html @@ -13361,7 +13967,7 @@ New Features HDF5 Release 1.8.0 is a major release with many changes and new features. - New format and interface features discussed in the "What's New in + New format and interface features discussed in the "What's New in HDF5 1.8.0" document include the following: Enhanced group object management @@ -13373,7 +13979,7 @@ New Features New I/O filters: n-bit and scale+offset compression New link (H5L) and object (H5O) interfaces and features External and user-defined links - New high-level APIs: + New high-level APIs: HDF5 Packet Table (H5PT) and HDF5 Dimension Scale (H5DS) C++ and Fortran interfaces for older high-level APIs: H5Lite (H5LT), H5Image (H5IM), and H5Table (H5TB) @@ -13383,33 +13989,33 @@ New Features http://hdfgroup.org/HDF5/doc/ADGuide/WhatsNew180.html - New APIs associated with these features, other interface changes + New APIs associated with these features, other interface changes (e.g., ENUM and struct definitions), and new library configuration flags - are listed in the "Release 1.8.0 (current release) versus Release 1.6.x" + are listed in the "Release 1.8.0 (current release) versus Release 1.6.x" section of "HDF5 Software Changes from Release to Release." http://hdfgroup.org/HDF5/doc/ADGuide/Changes.html Compatibility ------------- - Many HDF5 users and user communities have existing applications that - they may wish to port to Release 1.8.0. Alternatively, some users may + Many HDF5 users and user communities have existing applications that + they may wish to port to Release 1.8.0. Alternatively, some users may wish to take advantage of Release 1.8.0's improved performance without having to port such applications. To facilitate managing application - compatibility and porting applications from release to release, the HDF + compatibility and porting applications from release to release, the HDF Team has implemented the following features: - Individually-configurable macros that selectively map common + Individually-configurable macros that selectively map common interface names to the old and new interfaces Library configuration options to configure the macro mappings Two related documents accompany this release: - "API Compatibility Macros in HDF5" discusses the specifics of the - new individually-configurable macros and library configuration + "API Compatibility Macros in HDF5" discusses the specifics of the + new individually-configurable macros and library configuration options. http://hdfgroup.org/HDF5/doc/RM/APICompatMacros.html - + "New Features in HDF5 Release 1.8.0 and Backward/Forward Format - Compatibility Issues" discusses each new feature with regard to + Compatibility Issues" discusses each new feature with regard to its impact on format compatibility. http://hdfgroup.org/HDF5/doc/ADGuide/CompatFormat180.html @@ -13432,13 +14038,13 @@ Referenced documents Removed Feature =============== -The stream virtual file driver (H5FD_STREAM) have been removed in this -release. This affects the functions H5Pset_fapl_stream and H5Pget_fapl_stream +The stream virtual file driver (H5FD_STREAM) have been removed in this +release. This affects the functions H5Pset_fapl_stream and H5Pget_fapl_stream and the constant H5FD_STREAM. -This virtual file driver will be available at -http://hdf5-addons.origo.ethz.ch/. Note that at the time of this release, -the transition is still in progress; the necessary integration tools may +This virtual file driver will be available at +http://hdf5-addons.origo.ethz.ch/. Note that at the time of this release, +the transition is still in progress; the necessary integration tools may not be available when HDF5 Release 1.8.0 first comes out. @@ -13447,9 +14053,9 @@ Support for New Platforms, Languages, and Compilers - Support for Open VMS 7.3 was added. -Bug Fixes since HDF5-1.6.0 +Bug Fixes since HDF5-1.6.0 ========================== - This release contains numerous bug fixes. For details, see the + This release contains numerous bug fixes. For details, see the "Changes from 1.6.0 to 1.8.0-rc3" section of the HISTORY.txt file for this release. @@ -13460,7 +14066,7 @@ The following platforms and compilers have been tested for for this release. AIX 5.2 (32/64 bit) xlc 8.0.0.11 xlC 8.0 - xlf 10.01.0000.0 + xlf 10.01.0000.0 mpcc_r 6.0.0.8 mpxlf_r 8.1.1.7 @@ -13477,7 +14083,7 @@ The following platforms and compilers have been tested for for this release. gfortran 4.2.1 20080123 IRIX64 6.5 (64 & n32) MIPSpro cc 7.4.4m - F90 MIPSpro 7.4.4m + F90 MIPSpro 7.4.4m C++ MIPSpro cc 7.4.4m Linux 2.6.9 (RHEL4) Intel 10.0 compilers @@ -13490,22 +14096,22 @@ The following platforms and compilers have been tested for for this release. (kagiso) PGI 7.0-7 (pgcc, pgf90, pgCC) Intel 9.1 (icc, ifort, icpc) - Linux 2.6.16.27 x86_64 AMD gcc 4.1.0 (SuSE Linux), g++ 4.1.0, + Linux 2.6.16.27 x86_64 AMD gcc 4.1.0 (SuSE Linux), g++ 4.1.0, (smirom) g95 (GCC 4.0.3) PGI 6.2-5 (pgcc, pgf90, pgCC) Intel 9.1 (icc, iort, icpc) Linux 2.6.5-7.252.1-rtgfx #1 Intel(R) C++ Version 9.0 - SMP ia64 Intel(R) Fortran Itanium(R) Version 9.0 + SMP ia64 Intel(R) Fortran Itanium(R) Version 9.0 (cobalt) SGI MPI SunOS 5.8 32,46 Sun WorkShop 6 update 2 C 5.3 (Solaris 2.8) Sun WorkShop 6 update 2 Fortran 95 6.2 Sun WorkShop 6 update 2 C++ 5.3 - SunOS 5.10 cc: Sun C 5.8 - (linew) f90: Sun Fortran 95 8.2 - CC: Sun C++ 5.8 + SunOS 5.10 cc: Sun C 5.8 + (linew) f90: Sun Fortran 95 8.2 + CC: Sun C++ 5.8 Xeon Linux 2.4.21-32.0.1.ELsmp-perfctr-lustre (tungsten) gcc 3.2.2 20030222 @@ -13527,7 +14133,7 @@ The following platforms and compilers have been tested for for this release. Windows Vista Visual Studio 2005 - MAC OS 10.4 (Intel) gcc i686-apple-darwin8-gcc-4.0.1 (GCC) 4.0.1 + MAC OS 10.4 (Intel) gcc i686-apple-darwin8-gcc-4.0.1 (GCC) 4.0.1 G95 (GCC 4.0.3 (g95 0.91!) Nov 21 2006) Alpha Open VMS 7.3 Compaq C V6.5-001-48BCD @@ -13544,7 +14150,7 @@ Supported Configuration Features Summary x = not working in this release dna = does not apply ( ) = footnote appears below second table - <blank> = testing incomplete on this feature or platform + <blank> = testing incomplete on this feature or platform Platform C F90 F90 C++ zlib SZIP parallel parallel @@ -13568,52 +14174,52 @@ RedHat EL3 W PGI (3) n y n y y n SuSe x86_64 gcc (3,12) y(1a) y(11) n y y y SuSe x86_64 Int (3,12) n y(13) n y y n SuSe x86_64 PGI (3,12) n y(8) n y y y -Linux 2.4 Xeon C +Linux 2.4 Xeon C Lustre Intel (3,6) n y n y y n -Linux 2.6 SuSE ia64 C +Linux 2.6 SuSE ia64 C Intel (3,7) y y y y y n -Linux 2.6 SGI Altix +Linux 2.6 SGI Altix ia64 Intel (3) y y y y y y Alpha OpenVMS 7.3.2 n y n y n n -Platform Shared Shared Shared static- Thread- - C libs F90 libs C++ libs exec safe -Solaris2.8 64-bit y y y x y -Solaris2.8 32-bit y y y x y -Solaris2.10 64-bit y x y -Solaris2.10 32-bit y x y -IRIX64_6.5 64-bit y y n y y -IRIX64_6.5 32-bit y dna y y y -AIX-5.2 & 5.3 32-bit n n n y n -AIX-5.2 & 5.3 64-bit n n n y n -Windows XP y y(15) y y y -Windows XP x64 y y(15) y y y -Windows Vista y n n y y -Mac OS X 10.3 y y n -FreeBSD 4.11 y n y y y -RedHat EL3 W (3) y y(10) y y y -RedHat EL3 W Intel (3) y y y y n -RedHat EL3 W PGI (3) y y y y n -SuSe x86_64 W GNU (3,12) y y y y y -SuSe x86_64 W Int (3,12) y y y y(14) n -SuSe x86_64 W PGI (3,12) y y y y(14) n -Linux 2.4 Xeon C - Lustre Intel (6) y y y y n -Linux 2.4 SuSE - ia64 C Intel (7) y y y y n -Linux 2.4 SGI Altix - ia64 Intel y y n -Alpha OpenVMS 7.3.2 n n n y n +Platform Shared Shared Shared static- Thread- + C libs F90 libs C++ libs exec safe +Solaris2.8 64-bit y y y x y +Solaris2.8 32-bit y y y x y +Solaris2.10 64-bit y x y +Solaris2.10 32-bit y x y +IRIX64_6.5 64-bit y y n y y +IRIX64_6.5 32-bit y dna y y y +AIX-5.2 & 5.3 32-bit n n n y n +AIX-5.2 & 5.3 64-bit n n n y n +Windows XP y y(15) y y y +Windows XP x64 y y(15) y y y +Windows Vista y n n y y +Mac OS X 10.3 y y n +FreeBSD 4.11 y n y y y +RedHat EL3 W (3) y y(10) y y y +RedHat EL3 W Intel (3) y y y y n +RedHat EL3 W PGI (3) y y y y n +SuSe x86_64 W GNU (3,12) y y y y y +SuSe x86_64 W Int (3,12) y y y y(14) n +SuSe x86_64 W PGI (3,12) y y y y(14) n +Linux 2.4 Xeon C + Lustre Intel (6) y y y y n +Linux 2.4 SuSE + ia64 C Intel (7) y y y y n +Linux 2.4 SGI Altix + ia64 Intel y y n +Alpha OpenVMS 7.3.2 n n n y n Notes: (1) Using mpich 1.2.6. (1a) Using mpich2 1.0.6. (2) Using mpt and mpich 1.2.6. - (3) Linux 2.6 with GNU, Intel, and PGI compilers, as indicated. + (3) Linux 2.6 with GNU, Intel, and PGI compilers, as indicated. W or C indicates workstation or cluster, respectively. - (6) Linux 2.4.21-32.0.1. Xeon cluster with ELsmp_perfctr_lustre + (6) Linux 2.4.21-32.0.1. Xeon cluster with ELsmp_perfctr_lustre and Intel compilers (7) Linux 2.4.21, SuSE_292.till. Ia64 cluster with Intel compilers @@ -13624,7 +14230,7 @@ compilers (12) AMD Opteron x86_64 (13) ifort (14) Yes with C and Fortran, but not with C++ - (15) Using Visual Studio 2005 or Cygwin + (15) Using Visual Studio 2005 or Cygwin (16) Not tested for this release. Compiler versions for each platform are listed in the preceding "Platforms Tested" table. @@ -13632,17 +14238,17 @@ compilers Known Problems ============== -* We have discovered two problems when running collective IO parallel HDF5 - tests with chunking storage on the ChaMPIon MPI compiler on tungsten, a +* We have discovered two problems when running collective IO parallel HDF5 + tests with chunking storage on the ChaMPIon MPI compiler on tungsten, a Linux cluster at NCSA. - Under some complex selection cases: + Under some complex selection cases: 1) MPI_Get_element returns the wrong value. - 2) MPI_Type_struct also generates the wrong derived datatype and corrupt + 2) MPI_Type_struct also generates the wrong derived datatype and corrupt data may be generated. - These issues arise only when turning on collective IO with chunking storage - with some complex selections. We have not found these problems on other - MPI-IO compilers. If you encounter these problems, you may use independent + These issues arise only when turning on collective IO with chunking storage + with some complex selections. We have not found these problems on other + MPI-IO compilers. If you encounter these problems, you may use independent IO instead. To avoid this behavior, change the following line in your code @@ -13656,20 +14262,20 @@ Known Problems * For SNL, spirit/liberty/thunderbird: The serial tests pass but parallel tests failed with MPI-IO file locking message. AKC - 2007/6/25 -* On 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 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. * For SNL, Red Storm: Only parallel HDF5 is supported. The serial tests pass when run against the parallel library; the parallel tests also pass, but with lots of non-fatal error messages. -* For LLNL, uP: both serial and parallel tests pass. +* For LLNL, uP: both serial and parallel tests pass. Zeus: Serial tests pass but parallel tests fail with a known problem in MPI. - ubgl: Serial tests pass but parallel tests fail. + ubgl: Serial tests pass but parallel tests fail. -* On SUN 5.10 C++, testing fails in the "Testing Shared Datatypes with - Attributes" test. +* On SUN 5.10 C++, testing fails in the "Testing Shared Datatypes with + Attributes" test. * Configuring with --enable-debug=all produces compiler errors on most platforms: Users who want to run HDF5 in debug mode should use @@ -13677,66 +14283,66 @@ Known Problems information on most modules. * On Mac OS 10.4, test/dt_arith.c has some errors in conversion from long - double to (unsigned) long long and from (unsigned) long long to long double. + double to (unsigned) long long and from (unsigned) long long to long double. * On Altix SGI with Intel 9.0, testmeta.c would not compile with -O3 optimization flag. -* On VAX, the Scaleoffset filter is not supported. The filter cannot be - applied to HDF5 data generated on VAX. The Scaleoffset filter only supports +* On VAX, the Scaleoffset filter is not supported. The filter cannot be + applied to HDF5 data generated on VAX. The Scaleoffset filter only supports the IEEE standard for floating-point data. * On Cray X1, a lone colon on the command line of h5dump --xml (as in the testh5dumpxml.sh script) is misinterpereted by the operating system and causes an error. -* 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 +* 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. * On IRIX6.5, when the C compiler version is greater than 7.4, complicated MPI derived datatype code will work. However, the user should increase - the value of the MPI_TYPE_MAX environment variable to some appropriate value - to use collective irregular selection code. For example, the current - parallel HDF5 test needs to raise MPI_TYPE_MAX to 200,000 to pass the test. + the value of the MPI_TYPE_MAX environment variable to some appropriate value + to use collective irregular selection code. For example, the current + parallel HDF5 test needs to raise MPI_TYPE_MAX to 200,000 to pass the test. -* A dataset created or rewritten with a v1.6.3 library or after cannot be read +* 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 calculating code of the Fletcher32 checksum in the + There was a bug in the calculating code 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. + 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/6/30 -* For version 6 (6.02 and 6.04) of the Portland Group compiler on the AMD - Opteron processor, there is a bug in the compiler for optimization(-O2). - The library failed in several tests, all related to the MULTI driver. - The problem has been reported to the vendor. +* For version 6 (6.02 and 6.04) of the Portland Group compiler on the AMD + Opteron processor, there is a bug in the compiler for optimization(-O2). + The library failed in several tests, all related to the MULTI driver. + The problem has been reported to the vendor. * 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. + 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. * The --enable-static-exec configure flag fails to compile for Solaris - platforms. This is due to the fact that not all of the system libraries on + platforms. This is due to the fact that not all of the system libraries on Solaris are available in a static format. The --enable-static-exec configure flag also fails to correctly compile - on IBM SP2 platform for the serial mode. The parallel mode works fine with + on IBM SP2 platform for the serial mode. The parallel mode works fine with this option. - + It is suggested that you do not use this option on these platforms during configuration. @@ -13745,7 +14351,7 @@ Known Problems able to handle the `long long' datatype with the warning: warning: ANSI C does not support `long long' - + This warning is innocuous and can be safely ignored. * The ./dsets tests fail on the TFLOPS machine if the test program, @@ -13757,42 +14363,42 @@ Known Problems * Not all platforms behave correctly with Szip's shared libraries. Szip is disabled in these cases, and a message is relayed at configure time. Static libraries should be working on all systems that support Szip and should be - used when shared libraries are unavailable. + used when shared libraries are unavailable. - There is also a configure error on Altix machines that incorrectly reports + There is also a configure error on Altix machines that incorrectly reports when a version of Szip without an encoder is being used. -* On some platforms that use Intel and Absoft compilers to build the HDF5 - Fortran library, compilation may fail for fortranlib_test.f90, fflush1.f90 - and fflush2.f90 complaining about the exit subroutine. Comment out the line +* On some platforms that use Intel and Absoft compilers to build the HDF5 + Fortran library, compilation may fail for fortranlib_test.f90, fflush1.f90 + and fflush2.f90 complaining about the exit subroutine. Comment out the line IF (total_error .ne. 0) CALL exit (total_error). * Information about building with PGI and Intel compilers is available in the INSTALL file sections 4.7 and 4.8. * On at least one system, SDSC DataStar, the scheduler (in this case - LoadLeveler) sends job status updates to standard error when you run + LoadLeveler) sends job status updates to standard error when you run any executable that was compiled with the parallel compilers. - This causes problems when running "make check" on parallel builds, as + This causes problems when running "make check" on parallel builds, as many of the tool tests function by saving the output from test runs, - and comparing it to an exemplar. + and comparing it to an exemplar. The best solution is to reconfigure the target system so it no longer inserts the extra text. However, this may not be practical. - In such cases, one solution is to "setenv HDF5_Make_Ignore yes" prior to - the configure and build. This will cause "make check" to continue after + In such cases, one solution is to "setenv HDF5_Make_Ignore yes" prior to + the configure and build. This will cause "make check" to continue after detecting errors in the tool tests. However, in the case of SDSC DataStar, it also leaves you with some 150 "failed" tests to examine by hand. A second solution is to write a script to run serial tests and filter out the text added by the scheduler. A sample script used on SDSC - DataStar is given below, but you will probably have to customize it - for your installation. + DataStar is given below, but you will probably have to customize it + for your installation. - Observe that the basic idea is to insert the script as the first item - on the command line which executes the the test. The script then + Observe that the basic idea is to insert the script as the first item + on the command line which executes the the test. The script then executes the test and filters out the offending text before passing it on. @@ -13814,11 +14420,11 @@ Known Problems exit $RETURN_VALUE You get the HDF5 make files and test scipts to execute your filter script - by setting the environment variable "RUNSERIAL" to the full path of the - script prior to running configure for parallel builds. Remember to + by setting the environment variable "RUNSERIAL" to the full path of the + script prior to running configure for parallel builds. Remember to "unsetenv RUNSERIAL" before running configure for a serial build. - Note that the RUNSERIAL environment variable exists so that we can + Note that the RUNSERIAL environment variable exists so that we can can prefix serial runs as necessary on the target system. On DataStar, no prefix is necessary. However on an MPICH system, the prefix might have to be set to something like "/usr/local/mpi/bin/mpirun -np 1" to diff --git a/release_docs/INSTALL b/release_docs/INSTALL index f84ddc2..9e2c5a7 100644 --- a/release_docs/INSTALL +++ b/release_docs/INSTALL @@ -14,6 +14,7 @@ CONTENTS 2. Quick installation 2.1. Windows and Cygwin + 2.2. RedStorm (Cray XT3) 3. HDF5 dependencies 3.1. Make @@ -96,6 +97,13 @@ CONTENTS Users of Microsoft Windows should see the INSTALL_Windows files for detailed instructions. INSTALL_Cygwin also exists for those platforms. +2.2. RedStorm (Cray XT3) + Users of the Red Storm machine, after reading this file, should read + the Red Storm section in the INSTALL_parallel file for specific + instructions for the Red Storm machine. The same instructions would + probably work for other Cray XT3 systems, but they have not been + verified. + 3. HDF5 dependencies 3.1. Make @@ -416,6 +424,12 @@ CONTENTS parallelism on a distributed multi-processor system. Read the file INSTALL_parallel for detailed information. + The threadsafe and C++ interfaces are not compatible + with the parallel option. + Unless --enable-unsupported has been specified on the configure line, + the following options must be disabled: + --enable-threadsafe, --enable-cxx + 4.3.11. Threadsafe capability The HDF5 Library can be configured to be thread-safe (on a very large scale) with the `--enable-threadsafe' flag to the configure @@ -425,6 +439,13 @@ CONTENTS https://portal.hdfgroup.org/display/knowledge/Questions+about+thread-safety+and+concurrent+access + The high-level, C++ and Fortran interfaces are not compatible + with the thread-safety option because the lock is not hoisted + into the higher-level API calls. + Unless --enable-unsupported has been specified on the configure line, + the following options must be disabled: + --enable-hl, --enable-cxx, --enable-fortran + 4.3.12. Backward compatibility The 1.8 version of the HDF5 Library can be configured to operate identically to the v1.6 library with the diff --git a/release_docs/INSTALL_CMake.txt b/release_docs/INSTALL_CMake.txt index e33615d..2df839b 100644 --- a/release_docs/INSTALL_CMake.txt +++ b/release_docs/INSTALL_CMake.txt @@ -12,7 +12,7 @@ Section IV: Further considerations Section V: Options for building HDF5 Libraries with CMake command line Section VI: CMake option defaults for HDF5 Section VII: User Defined Options for HDF5 Libraries with CMake -Section VIII: Options for platform configuration files +Section VIII: User Defined Compile Flags for HDF5 Libraries with CMake ************************************************************************ @@ -24,18 +24,20 @@ Obtaining HDF5 source code 1. Create a directory for your development; for example, "myhdfstuff". 2. Obtain compressed (*.tar or *.zip) HDF5 source from - http://www.hdfgroup.org/ftp/HDF5/current/src/ + https://portal.hdfgroup.org/display/support/Building+HDF5+with+CMake and put it in "myhdfstuff". Uncompress the file. There should be a hdf5-1.8."X" folder. CMake version 1. We suggest you obtain the latest CMake from the Kitware web site. - The HDF5 1.8."X" product requires a minimum CMake version 3.2.2, - where "X" is the current HDF5 release version. + The HDF5 1.8."X" product requires a minimum CMake version 3.12, + where "X" is the current HDF5 release version. If you are using + VS2019, the minimum version is 3.15. Note: To change the install prefix from the platform defaults initialize - the CMake variable, CMAKE_INSTALL_PREFIX. + the CMake variable, CMAKE_INSTALL_PREFIX. Users of build scripts + will use the INSTALLDIR option. ======================================================================== @@ -48,51 +50,66 @@ the config/cmake/cacheinit.cmake file. HDF Group recommends using the ctest script mode to build HDF5. The following files referenced below are available at the HDF web site: - http://www.hdfgroup.org/HDF5/release/cmakebuild.html + https://portal.hdfgroup.org/display/support/Building+HDF5+with+CMake Single compressed file with all the files needed, including source: - hdf5-1.8.19-CMake.zip or hdf5-1.8.19-CMake.tar.gz + CMake-hdf5-1.8.X.zip or CMake-hdf5-1.8.X.tar.gz -Individual files +Individual files included in the above mentioned compressed files ----------------------------------------------- CMake build script: CTestScript.cmake External compression szip and zlib libraries: + LIBAEC.tar.gz SZip.tar.gz ZLib.tar.gz -Platform configuration files: - HDF518config.cmake +External compression plugin libraries: + hdf5_plugins.tar.gz + +Examples Source package: + HDF5Examples-1.10.x-Source.tar.gz + +Configuration files: + HDF5config.cmake + HDF5options.cmake + +Build scripts for windows or linux ----------------------------------------------- To build HDF5 with the SZIP and ZLIB external libraries you will need to: 1. Change to the development directory "myhdfstuff". - 2. Download the SZip.tar.gz and ZLib.tar.gz to "myhdfstuff". - Do not uncompress the files. + 2. Download the CMake-hdf5-1.8.X.zip(.tar.gz) file to "myhdfstuff". + Uncompress the file. - 3. Download the CTestScript.cmake file to "myhdfstuff". + 3. Change to the source directory "hdf5-1.8.x". CTestScript.cmake file should not be modified. - 4. Download the platform configuration file, HDF518config.cmake, - to "myhdfstuff". Do not modify the file unless you want to change - default build environment. (See http://www.hdfgroup.org/HDF5/release/chgcmkbuild.html) + 4. Edit the platform configuration file, HDF5options.cmake, if you want to change + the default build environment. + (See https://portal.hdfgroup.org/display/support/How+to+Change+HDF5+CMake+Build+Options) 5. From the "myhdfstuff" directory execute the CTest Script with the following options: - On 32-bit Windows with Visual Studio 2012, execute: - ctest -S HDF518config.cmake,BUILD_GENERATOR=VS2012 -C Release -VV -O hdf5.log - On 64-bit Windows with Visual Studio 2012, execute: - ctest -S HDF518config.cmake,BUILD_GENERATOR=VS201264 -C Release -VV -O hdf5.log - On 32-bit Windows with Visual Studio 2013, execute: - ctest -S HDF518config.cmake,BUILD_GENERATOR=VS2013 -C Release -VV -O hdf5.log - On 64-bit Windows with Visual Studio 2013, execute: - ctest -S HDF518config.cmake,BUILD_GENERATOR=VS201364 -C Release -VV -O hdf5.log + On 32-bit Windows with Visual Studio 2019, execute: + ctest -S HDF5config.cmake,BUILD_GENERATOR=VS2019 -C Release -VV -O hdf5.log + On 64-bit Windows with Visual Studio 2019, execute: + ctest -S HDF5config.cmake,BUILD_GENERATOR=VS201964 -C Release -VV -O hdf5.log + On 32-bit Windows with Visual Studio 2017, execute: + ctest -S HDF5config.cmake,BUILD_GENERATOR=VS2017 -C Release -VV -O hdf5.log + On 64-bit Windows with Visual Studio 2017, execute: + ctest -S HDF5config.cmake,BUILD_GENERATOR=VS201764 -C Release -VV -O hdf5.log + On 32-bit Windows with Visual Studio 2015, execute: + ctest -S HDF5config.cmake,BUILD_GENERATOR=VS2015 -C Release -VV -O hdf5.log + On 64-bit Windows with Visual Studio 2015, execute: + ctest -S HDF5config.cmake,BUILD_GENERATOR=VS201564 -C Release -VV -O hdf5.log On Linux and Mac, execute: - ctest -S HDF518config.cmake,BUILD_GENERATOR=Unix -C Release -VV -O hdf5.log + ctest -S HDF5config.cmake,BUILD_GENERATOR=Unix -C Release -VV -O hdf5.log + The supplied build scripts are versions of the above. The command above will configure, build, test, and create an install package in the myhdfstuff folder. It will have the format: @@ -103,19 +120,20 @@ To build HDF5 with the SZIP and ZLIB external libraries you will need to: installer on your system, you will also see a similar file that ends in either .exe (NSIS) or .msi (WiX). - The -S option uses the script version of ctest. + Notes on the command line options. + The -S option uses the script version of ctest. - The value for the -C option (as shown above, "-C Release") must - match the setting for CTEST_CONFIGURATION_TYPE in the platform - configuration file. + The value for the -C option (as shown above, "-C Release") must + match the setting for CTEST_CONFIGURATION_TYPE in the platform + configuration file. - The -VV option is for most verbose; use -V for less verbose. + The -VV option is for most verbose; use -V for less verbose. - The "-O hdf5.log" option saves the output to a log file hdf5.log. + The "-O hdf5.log" option saves the output to a log file hdf5.log. 6. To install, "X" is the current release version - On Windows, execute: + On Windows (with WiX installed), execute: HDF5-1.8."X"-win32.msi or HDF5-1.8."X"-win64.msi By default this program will install the hdf5 library into the "C:\Program Files" directory and will create the following @@ -159,14 +177,23 @@ To build HDF5 with the SZIP and ZLIB external libraries you will need to: By default the installation will create the bin, include, lib and cmake folders in the <install destination directory>/HDF_Group/HDF5/1.8."X" + The <install destination directory> depends on the build platform; + Windows will set the default to: + C:/Program Files/HDF_Group/HDF5/1.8."X" + Linux will set the default to: + "myhdfstuff/HDF_Group/HDF5/1.8."X" + The default can be changed by adding ",INSTALLDIR=<my new dir>" to the + "ctest -S HDF5config.cmake..." command. For example on linux: + ctest -S HDF5config.cmake,INSTALLDIR=/usr/local/myhdf5,BUILD_GENERATOR=Unix -C Release -VV -O hdf5.log ======================================================================== III. Quick Step Building HDF5 C Static Libraries and Tools with CMake ======================================================================== Notes: This short set of instructions is written for users who want to - quickly build the just the HDF5 C static library and tools from + quickly build just the HDF5 C static library and tools from the HDF5 source code package using the CMake command line tools. + Avoid the use of drive letters in paths on Windows. Go through these steps: @@ -201,7 +228,7 @@ Notes: This short set of instructions is written for users who want to cpack -C Release CPackConfig.cmake 9. To install - On Windows, execute: + On Windows (with WiX installed), execute: HDF5-1.8."X"-win32.msi or HDF5-1.8."X"-win64.msi By default this program will install the hdf5 library into the "C:\Program Files" directory and will create the following @@ -249,7 +276,7 @@ IV. Further considerations ======================================================================== 1. We suggest you obtain the latest CMake for windows from the Kitware - web site. The HDF5 1.8."X" product requires a minimum CMake version 3.2.2. + web site. The HDF5 1.8."X" product requires a minimum CMake version 3.12. 2. If you plan to use Zlib or Szip: A. Download the binary packages and install them in a central location. @@ -257,9 +284,14 @@ IV. Further considerations packages there. Add the following CMake options: -DZLIB_LIBRARY:FILEPATH=some_location/lib/zlib.lib -DZLIB_INCLUDE_DIR:PATH=some_location/include + -DZLIB_USE_EXTERNAL:BOOL=OFF -DSZIP_LIBRARY:FILEPATH=some_location/lib/szlib.lib -DSZIP_INCLUDE_DIR:PATH=some_location/include + -DSZIP_USE_EXTERNAL:BOOL=OFF where "some_location" is the full path to the extlibs folder. + Also the appropriate environment variable must be set; + set(ENV{ZLIB_ROOT} "some_location") + set(ENV{SZIP_ROOT} "some_location") B. Use source packages from an GIT server by adding the following CMake options: @@ -277,9 +309,28 @@ IV. Further considerations TGZPATH:STRING="some_location" where "some_location" is the URL or full path to the compressed file and ext is the type of compression file. Also set CMAKE_BUILD_TYPE - to the configuration type during configuration + to the configuration type during configuration. See the settings in the + config/cmake/cacheinit.cmake file HDF uses for testing. + + 3. If you plan to use compression plugins: + A. Use source packages from an GIT server by adding the following CMake + options: + HDF5_ALLOW_EXTERNAL_SUPPORT:STRING="GIT" + PLUGIN_GIT_URL:STRING="http://some_location/plugins" + where "some_location" is the URL to the GIT repository. Also set + CMAKE_BUILD_TYPE to the configuration type. - 3. If you are building on Apple Darwin platforms, you should add the + B. Use source packages from a compressed file by adding the following + CMake options: + HDF5_ALLOW_EXTERNAL_SUPPORT:STRING="TGZ" + PLUGIN_TGZ_NAME:STRING="plugin_src.ext" + TGZPATH:STRING="some_location" + where "some_location" is the URL or full path to the compressed + file and ext is the type of compression file. Also set CMAKE_BUILD_TYPE + to the configuration type during configuration. See the settings in the + config/cmake/cacheinit.cmake file HDF uses for testing. + + 4. If you are building on Apple Darwin platforms, you should add the following options: Compiler choice - use xcode by setting the ENV variables of CC and CXX Shared fortran is not supported, build static: @@ -289,11 +340,11 @@ IV. Further considerations CTEST_USE_LAUNCHERS:BOOL=ON CMAKE_BUILD_WITH_INSTALL_RPATH:BOOL=OFF - 4. Windows developers should install NSIS or WiX to create an install image with CPack. + 5. Windows developers should install NSIS or WiX to create an install image with CPack. Visual Studio Express users will not be able to package HDF5 into an install image executable. - 5. Developers can copy the config/cmake/cacheinit.cmake file and alter the + 6. Developers can copy the config/cmake/cacheinit.cmake file and alter the the settings for the developers' environment. Then the only options needed on the command line are those options that are different. Example using HDF default cache file: @@ -301,6 +352,34 @@ IV. Further considerations -DHDF5_ENABLE_SZIP_SUPPORT:BOOL=OFF -DHDF5_ENABLE_Z_LIB_SUPPORT:BOOL=OFF \ -DCMAKE_BUILD_TYPE:STRING=Release .. + 7. CMake uses a toolchain of utilities to compile, link libraries and + create archives, and other tasks to drive the build. The toolchain + utilities available are determined by the languages enabled. In normal + builds, CMake automatically determines the toolchain for host builds + based on system introspection and defaults. In cross-compiling + scenarios, a toolchain file may be specified with information about + compiler and utility paths. + Variables and Properties + Several variables relate to the language components of a toolchain which + are enabled. CMAKE_<LANG>_COMPILER is the full path to the compiler used + for <LANG>. CMAKE_<LANG>_COMPILER_ID is the identifier used by CMake for + the compiler and CMAKE_<LANG>_COMPILER_VERSION is the version of the compiler. + + The CMAKE_<LANG>_FLAGS variables and the configuration-specific equivalents + contain flags that will be added to the compile command when compiling a + file of a particular language. + + As the linker is invoked by the compiler driver, CMake needs a way to + determine which compiler to use to invoke the linker. This is calculated + by the LANGUAGE of source files in the target, and in the case of static + libraries, the language of the dependent libraries. The choice CMake makes + may be overridden with the LINKER_LANGUAGE target property. + + See the CMake help for more information on using toolchain files. + + To use a toolchain file with the supplied cmake scripts, see the + HDF5options.cmake file under the toolchain section. + Notes: CMake and HDF5 1. Using CMake for building and using HDF5 is under active development. @@ -314,9 +393,21 @@ Notes: CMake and HDF5 how CMake support can be improved on any system. Visit the KitWare site for more information about CMake. - 3. Build and test results can be submitted to our CDash server, - please read the HDF and CDash document at: - www.hdfgroup.org/CDash/HowToSubmit. + 3. Build and test results can be submitted to our CDash server: + The CDash server for community submissions of hdf5 is at + https://cdash.hdfgroup.org. + + Submitters are requested to register their name and contact info and + maintain their test sites. After your first submission, login and go + to your "My CDash" link and claim your site. + + We ask that all submissions include the configuration information and + contact information in the CTest Notes Files upload step. See the + current reports on CDash for examples. + + Please follow the convention that "NIGHTLY" submissions maintain the same + configuration every time. "EXPERIMENTAL" submissions can be expected to + be different for each submission. 4. See the appendix at the bottom of this file for examples of using a ctest script for building and testing. Using a ctest script is @@ -376,12 +467,11 @@ These five steps are described in detail below. * MinGW Makefiles * NMake Makefiles * Unix Makefiles - * Visual Studio 11 2012 - * Visual Studio 11 2012 Win64 - * Visual Studio 12 2013 - * Visual Studio 12 2013 Win64 * Visual Studio 14 2015 * Visual Studio 14 2015 Win64 + * Visual Studio 15 2017 + * Visual Studio 15 2017 Win64 + * Visual Studio 16 2019 <options> is: * SZIP_INCLUDE_DIR:PATH=<path to szip includes directory> @@ -408,14 +498,98 @@ These five steps are described in detail below. set_property (CACHE HDF5_ALLOW_EXTERNAL_SUPPORT PROPERTY STRINGS NO GIT TGZ) set (ZLIB_TGZ_NAME "ZLib.tar.gz" CACHE STRING "Use ZLib from compressed file" FORCE) set (SZIP_TGZ_NAME "SZip.tar.gz" CACHE STRING "Use SZip from compressed file" FORCE) + set (SZAEC_TGZ_NAME "LIBAEC.tar.gz" CACHE STRING "Use SZip AEC from compressed file" FORCE) + set (USE_LIBAEC ON CACHE BOOL "Use libaec szip replacement" FORCE) set (ZLIB_PACKAGE_NAME "zlib" CACHE STRING "Name of ZLIB package" FORCE) + set (LIBAEC_PACKAGE_NAME "libaec" CACHE STRING "Name of AEC SZIP package" FORCE) set (SZIP_PACKAGE_NAME "szip" CACHE STRING "Name of SZIP package" FORCE) + ####################### + # filter plugin options + ####################### + set (PLUGIN_TGZ_NAME "hdf5_plugins.tar.gz" CACHE STRING "Use PLUGINS from compressed file" FORCE) + set (PLUGIN_PACKAGE_NAME "pl" CACHE STRING "Name of PLUGIN package" FORCE) + ############ + # bitshuffle + ########### + set (BSHUF_GIT_URL "https://git@bitbucket.hdfgroup.org/scm/test/bitshuffle.git" CACHE STRING "Use BSHUF from HDF repository" FORCE) + set (BSHUF_GIT_BRANCH "master" CACHE STRING "" FORCE) + set (BSHUF_TGZ_NAME "bitshuffle.tar.gz" CACHE STRING "Use BSHUF from compressed file" FORCE) + set (BSHUF_PACKAGE_NAME "bshuf" CACHE STRING "Name of BSHUF package" FORCE) + ####### + # blosc + ####### + set (BLOSC_GIT_URL "https://github.com/Blosc/c-blosc.git" CACHE STRING "Use BLOSC from Github" FORCE) + set (BLOSC_GIT_BRANCH "master" CACHE STRING "" FORCE) + set (BLOSC_TGZ_NAME "c-blosc.tar.gz" CACHE STRING "Use BLOSC from compressed file" FORCE) + set (BLOSC_PACKAGE_NAME "blosc" CACHE STRING "Name of BLOSC package" FORCE) + set (ZLIB_GIT_URL "https://git@bitbucket.hdfgroup.org/scm/test/zlib.git" CACHE STRING "Use ZLIB from HDF repo" FORCE) + set (ZLIB_GIT_BRANCH "master" CACHE STRING "" FORCE) + set (ZLIB_TGZ_NAME "ZLib.tar.gz" CACHE STRING "Use ZLib from compressed file" FORCE) + set (ZLIB_PACKAGE_NAME "zlib" CACHE STRING "Name of ZLIB package" FORCE) + ####### + # bzip2 + ###### + # + set (BZ2_GIT_URL "https://git@bitbucket.hdfgroup.org/scm/test/bzip2.git" CACHE STRING "Use BZ2 from HDF repository" FORCE) + set (BZ2_GIT_BRANCH "master" CACHE STRING "" FORCE) + set (BZ2_TGZ_NAME "BZ2.tar.gz" CACHE STRING "Use BZ2 from compressed file" FORCE) + set (BZ2_PACKAGE_NAME "bz2" CACHE STRING "Name of BZ2 package" FORCE) + ####### + # fpzip + ####### + set (FPZIP_GIT_URL "https://https://github.com/LLNL/fpzip" CACHE STRING "Use FPZIP from github repository" FORCE) + set (FPZIP_GIT_BRANCH "master" CACHE STRING "" FORCE) + set (FPZIP_TGZ_NAME "fpzip.tar.gz" CACHE STRING "Use FPZIP from compressed file" FORCE) + set (FPZIP_PACKAGE_NAME "fpzip" CACHE STRING "Name of FPZIP package" FORCE) + ###### + # jpeg + ###### + set (JPEG_GIT_URL "https://git@bitbucket.hdfgroup.org/scm/test/jpeg.git" CACHE STRING "Use JPEG from HDF repository" FORCE) + set (JPEG_GIT_BRANCH "jpeg9c" CACHE STRING "" FORCE) + #set (JPEG_TGZ_NAME "JPEG9c.tar.gz" CACHE STRING "Use JPEG from compressed file" FORCE) + set (JPEG_TGZ_NAME "JPEG.tar.gz" CACHE STRING "Use JPEG from compressed file" FORCE) + set (JPEG_PACKAGE_NAME "jpeg" CACHE STRING "Name of JPEG package" FORCE) + ###### + # lz4 + ###### + set (BUILD_LZ4_LIBRARY_SOURCE ON CACHE BOOL "build the lz4 library within the plugin" FORCE) + set (LZ4_GIT_URL "https://git@bitbucket.hdfgroup.org/scm/test/lz4.git" CACHE STRING "Use LZ4 from HDF repository" FORCE) + set (LZ4_GIT_BRANCH "master" CACHE STRING "" FORCE) + set (LZ4_TGZ_NAME "lz4.tar.gz" CACHE STRING "Use LZ4 from compressed file" FORCE) + set (LZ4_PACKAGE_NAME "lz4" CACHE STRING "Name of LZ4 package" FORCE) + ###### + # lzf + ###### + set (LZF_GIT_URL "https://git@bitbucket.hdfgroup.org/scm/test/lzf.git" CACHE STRING "Use LZF from HDF repository" FORCE) + set (LZF_GIT_BRANCH "master" CACHE STRING "" FORCE) + set (LZF_TGZ_NAME "lzf.tar.gz" CACHE STRING "Use LZF from compressed file" FORCE) + set (LZF_PACKAGE_NAME "lzf" CACHE STRING "Name of LZF package" FORCE) + ######## + # mafisc + ######## + #set (BUILD_MAFISC_LIBRARY_SOURCE OFF CACHE BOOL "build the mafisc library within the plugin" FORCE) + #set (MAFISC_PACKAGE_NAME "mafisc" CACHE STRING "Name of MAFISC package" FORCE) + ###### + # szf + ###### + set (SZF_GIT_URL "https://github.com/disheng222/SZ" CACHE STRING "Use SZ from github repository" FORCE) + set (SZF_GIT_BRANCH "master" CACHE STRING "" FORCE) + set (SZF_TGZ_NAME "szf.tar.gz" CACHE STRING "Use SZ from compressed file" FORCE) + set (SZF_PACKAGE_NAME "szf" CACHE STRING "Name of SZ package" FORCE) + ###### + # zfp + ###### + set (ZFP_GIT_URL "https://github.com/LLNL/zfp.git" CACHE STRING "Use ZFP from Github" FORCE) + set (ZFP_GIT_BRANCH "master" CACHE STRING "" FORCE) + set (ZFP_TGZ_NAME "zfp.tar.gz" CACHE STRING "Use ZFP from compressed file" FORCE) + set (ZFP_PACKAGE_NAME "zfp" CACHE STRING "Name of ZFP package" FORCE) + 2. Configure the cache settings 2.1 Visual CMake users, click the Configure button. If this is the first time you are running cmake-gui in this directory, you will be prompted for the - generator you wish to use (for example on Windows, Visual Studio 11). + generator you wish to use (for example on Windows, Visual Studio 12). CMake will read in the CMakeLists.txt files from the source directory and display options for the HDF5 project. After the first configure you can adjust the cache settings and/or specify the locations of other programs. @@ -461,8 +635,8 @@ These five steps are described in detail below. file in your build directory. Be sure to select either Debug or Release and build the solution. - 3.2.1 The external libraries (zlib and szip) can be configured - to allow building the libraries by downloading from an GIT repository. + 3.2.1 The external libraries (zlib, szip and plugins) can be configured + to allow building the libraries by downloading from a GIT repository. The option is 'HDF5_ALLOW_EXTERNAL_SUPPORT'; by adding the following configuration option: -DHDF5_ALLOW_EXTERNAL_SUPPORT:STRING="GIT" @@ -470,25 +644,32 @@ These five steps are described in detail below. The options to control the GIT URL (config/cmake/cacheinit.cmake file) are: ZLIB_GIT_URL:STRING="http://${git_url}/zlib" SZIP_GIT_URL:STRING="http://${git_url}/szip" + PLUGIN_GIT_URL:STRING="http://${git_url}/plugin" ${git_url} should be changed to your location. Also define CMAKE_BUILD_TYPE to be the configuration type. - 3.2.2 Or the external libraries (zlib and szip) can be configured + 3.2.2 Or the external libraries (zlib, szip and plugins) can be configured to allow building the libraries by using a compressed file. The option is 'HDF5_ALLOW_EXTERNAL_SUPPORT' and is enabled by adding the following configuration option: -DHDF5_ALLOW_EXTERNAL_SUPPORT:STRING="TGZ" - The options to control the SVN URL (config/cmake/cacheinit.cmake + The options to control the TGZ URL (config/cmake/cacheinit.cmake file) are: ZLIB_TGZ_NAME:STRING="zlib_src.ext" SZIP_TGZ_NAME:STRING="szip_src.ext" + LIBAEC_TGZ_NAME:STRING="libaec_src.ext" + PLUGIN_TGZ_NAME:STRING="plugin_src.ext" TGZPATH:STRING="some_location" where "some_location/xxxx_src.ext" is the URL or full path to the compressed file and where ext is the type of the compression file such as .bz2, .tar, .tar.gz, .tgz, or .zip. Also define CMAKE_BUILD_TYPE to be the configuration type. + NOTE: the USE_LIBAEC option will use the file named by LIBAEC_TGZ_NAME + to build SZIP instead of the file named by SZIP_TGZ_NAME. This option + is also used to account for the different headers and library names. + 4. Test HDF5 To test the build, navigate to your build directory and execute: @@ -548,6 +729,7 @@ The config/cmake/cacheinit.cmake file can override the following values. ---------------- General Build Options --------------------- BUILD_SHARED_LIBS "Build Shared Libraries" ON +BUILD_STATIC_LIBS "Build Static Libraries" ON BUILD_STATIC_EXECS "Build Static Executables" OFF BUILD_TESTING "Build HDF5 Unit Testing" ON @@ -561,7 +743,9 @@ if (HDF5_BUILD_FORTRAN) HDF5_ENABLE_F2003 "Enable FORTRAN 2003 Standard" ON ---------------- HDF5 Advanced Options --------------------- +ONLY_SHARED_LIBS "Only Build Shared Libraries" OFF ALLOW_UNSUPPORTED "Allow unsupported combinations of configure options" OFF +HDF5_EXTERNAL_LIB_PREFIX "Use prefix for custom library naming." "" HDF5_DISABLE_COMPILER_WARNINGS "Disable compiler warnings" OFF HDF5_ENABLE_ALL_WARNINGS "Enable all warnings" OFF HDF5_Enable_Clear_File_Buffers "Securely clear file buffers before writing to file" ON @@ -586,33 +770,66 @@ HDF5_PACKAGE_EXTLIBS "CPACK - include external libraries" HDF5_STRICT_FORMAT_CHECKS "Whether to perform strict file format checks" OFF HDF_TEST_EXPRESS "Control testing framework (0-3)" "0" HDF5_TEST_VFD "Execute tests with different VFDs" OFF -HDF5_USE_16_API_DEFAULT "Use the HDF5 1.6.x API by default" OFF +DEFAULT_API_VERSION "Enable default API (v16, v18)" "v18" HDF5_USE_FOLDERS "Enable folder grouping of projects in IDEs." OFF HDF5_WANT_DATA_ACCURACY "IF data accuracy is guaranteed during data conversions" ON HDF5_WANT_DCONV_EXCEPTION "exception handling functions is checked during data conversions" ON HDF5_ENABLE_THREADSAFE "Enable Threadsafety" OFF SKIP_HDF5_FORTRAN_SHARED "Do not build the fortran shared libraries" OFF +HDF5_MSVC_NAMING_CONVENTION "Use MSVC Naming conventions for Shared Libraries" OFF +HDF5_MINGW_STATIC_GCC_LIBS "Statically link libgcc/libstdc++" OFF if (APPLE) HDF5_BUILD_WITH_INSTALL_NAME "Build with library install_name set to the installation path" OFF if (CMAKE_BUILD_TYPE MATCHES Debug) HDF5_ENABLE_INSTRUMENT "Instrument The library" OFF if (HDF5_TEST_VFD) HDF5_TEST_FHEAP_VFD "Execute fheap test with different VFDs" ON +if (HDF5_BUILD_FORTRAN) + HDF5_INSTALL_MOD_FORTRAN "Copy FORTRAN mod files to include directory (NO SHARED STATIC)" "XX" + if (BUILD_SHARED_LIBS AND BUILD_STATIC_LIBS) default HDF5_INSTALL_MOD_FORTRAN is SHARED + if (BUILD_SHARED_LIBS AND NOT BUILD_STATIC_LIBS) default HDF5_INSTALL_MOD_FORTRAN is SHARED + if (NOT BUILD_SHARED_LIBS AND BUILD_STATIC_LIBS) default HDF5_INSTALL_MOD_FORTRAN is STATIC + if (NOT BUILD_SHARED_LIBS AND NOT BUILD_STATIC_LIBS) default HDF5_INSTALL_MOD_FORTRAN is SHARED +HDF5_ENABLE_ANALYZER_TOOLS "enable the use of Clang tools" OFF +HDF5_ENABLE_SANITIZERS "execute the Clang sanitizer" OFF +HDF5_ENABLE_FORMATTERS "format source files" OFF ---------------- External Library Options --------------------- -HDF5_ALLOW_EXTERNAL_SUPPORT "Allow External Library Building" "NO" -HDF5_ENABLE_SZIP_SUPPORT "Use SZip Filter" OFF -HDF5_ENABLE_Z_LIB_SUPPORT "Enable Zlib Filters" OFF -ZLIB_USE_EXTERNAL "Use External Library Building for ZLIB" 0 -SZIP_USE_EXTERNAL "Use External Library Building for SZIP" 0 +HDF5_ALLOW_EXTERNAL_SUPPORT "Allow External Library Building (NO GIT TGZ)" "NO" +HDF5_ENABLE_PLUGIN_SUPPORT "Enable PLUGIN Filters" OFF +HDF5_ENABLE_SZIP_SUPPORT "Use SZip Filter" OFF +HDF5_ENABLE_Z_LIB_SUPPORT "Enable Zlib Filters" OFF +PLUGIN_USE_EXTERNAL "Use External Library Building for PLUGINS" 0 +ZLIB_USE_EXTERNAL "Use External Library Building for ZLIB" 0 +SZIP_USE_EXTERNAL "Use External Library Building for SZIP" 0 if (HDF5_ENABLE_SZIP_SUPPORT) - HDF5_ENABLE_SZIP_ENCODING "Use SZip Encoding" OFF + HDF5_ENABLE_SZIP_ENCODING "Use SZip Encoding" OFF + USE_LIBAEC "Use libaec szip replacement" OFF if (WINDOWS) H5_DEFAULT_PLUGINDIR "%ALLUSERSPROFILE%/hdf5/lib/plugin" else () H5_DEFAULT_PLUGINDIR "/usr/local/hdf5/lib/plugin" endif () +NOTE: + The BUILD_STATIC_EXECS ("Build Static Executables") option is only valid + on some unix operating systems. It adds the "-static" flag to cflags. This + flag is not available on windows and some modern linux systems will + ignore the flag. + + ---------------- Unsupported Library Options --------------------- + The threadsafe and C++ interfaces are not compatible + with the HDF5_ENABLE_PARALLEL option. + Unless ALLOW_UNSUPPORTED has been specified, + the following options must be disabled: + HDF5_ENABLE_THREADSAFE, HDF5_BUILD_CPP_LIB + + The high-level, C++ and Fortran interfaces are not compatible + with the HDF5_ENABLE_THREADSAFE option because the lock is not hoisted + into the higher-level API calls. + Unless ALLOW_UNSUPPORTED has been specified, + the following options must be disabled: + HDF5_BUILD_HL_LIB, HDF5_BUILD_CPP_LIB, HDF5_BUILD_FORTRAN ======================================================================== @@ -628,326 +845,29 @@ Copy the contents of the file, both macro and option, into the UserMacros.cmake file. Then enable the option to the CMake configuration, build and test process. + ======================================================================== -VIII. Options for Platform Configuration Files +VIII. User Defined Compile Flags for HDF5 Libraries with CMake ======================================================================== -Below is the HDF518config.cmake and HDF5options.cmake ctest scripts. -Execute: - ctest -S HDF518config.cmake,BUILD_GENERATOR=xxx -C Release -VV -O hdf518.log -The same scripts can be used on Linux, Mac OSX or a Windows machine by -adding an option (${CTEST_SCRIPT_ARG}) to the platform configuration script. - - -############################################################################################# -### ${CTEST_SCRIPT_ARG} is of the form OPTION=VALUE ### -### BUILD_GENERATOR required [Unix, VS2017, VS201764, VS2015, VS201564, VS2013, VS201364] ### -### ctest -S HDF518config.cmake,BUILD_GENERATOR=VS201264 -C Release -VV -O hdf518.log ### -############################################################################################# - -cmake_minimum_required (VERSION 3.10) -############################################################################ -# Usage: -# ctest -S HDF518config.cmake,OPTION=VALUE -C Release -VV -O test.log -# where valid options for OPTION are: -# BUILD_GENERATOR - The cmake build generator: -# Unix * Unix Makefiles -# VS2017 * Visual Studio 15 2017 -# VS201764 * Visual Studio 15 2017 Win64 -# VS2015 * Visual Studio 14 2015 -# VS201564 * Visual Studio 14 2015 Win64 -# VS2013 * Visual Studio 12 2013 -# VS201364 * Visual Studio 12 2013 Win64 -# -# INSTALLDIR - root folder where hdf5 is installed -# CTEST_CONFIGURATION_TYPE - Release, Debug, etc -# CTEST_SOURCE_NAME - source folder -# STATIC_ONLY - Build/use static libraries -# FORTRAN_LIBRARIES - Build/use fortran libraries -# NO_MAC_FORTRAN - Yes to be SHARED on a Mac -############################################################################## - -set(CTEST_SOURCE_VERSION 1.8.19) -set(CTEST_SOURCE_VERSEXT "") - -############################################################################## -# handle input parameters to script. -#BUILD_GENERATOR - which CMake generator to use, required -#INSTALLDIR - HDF5-1.8 root folder -#CTEST_CONFIGURATION_TYPE - Release, Debug, RelWithDebInfo -#CTEST_SOURCE_NAME - name of source folder; HDF5-1.8 -#STATIC_ONLY - Default is YES -#FORTRAN_LIBRARIES - Default is NO -#NO_MAC_FORTRAN - set to TRUE to allow shared libs on a Mac -if (DEFINED CTEST_SCRIPT_ARG) - # transform ctest script arguments of the form - # script.ctest,var1=value1,var2=value2 - # to variables with the respective names set to the respective values - string (REPLACE "," ";" script_args "${CTEST_SCRIPT_ARG}") - foreach (current_var ${script_args}) - if ("${current_var}" MATCHES "^([^=]+)=(.+)$") - set ("${CMAKE_MATCH_1}" "${CMAKE_MATCH_2}") - endif () - endforeach () -endif () - -# build generator must be defined -if (NOT DEFINED BUILD_GENERATOR) - message (FATAL_ERROR "BUILD_GENERATOR must be defined - Unix, VS2017, or VS201764, VS2015, VS201564, VS2013, VS201364") -endif () - -################################################################### -### Following Line is one of [Release, RelWithDebInfo, Debug] ##### -set (CTEST_CONFIGURATION_TYPE "$ENV{CMAKE_CONFIG_TYPE}") -################################################################### - -if (NOT DEFINED INSTALLDIR) - if (WIN32) - set (INSTALLDIR "C:/Program Files/HDF_Group/HDF5/${CTEST_SOURCE_VERSION}") - else () - set (INSTALLDIR "${CTEST_SCRIPT_DIRECTORY}/HDF_Group/HDF5/${CTEST_SOURCE_VERSION}") - endif () -endif () -if (NOT DEFINED CTEST_CONFIGURATION_TYPE) - set (CTEST_CONFIGURATION_TYPE "Release") -endif () -if (NOT DEFINED CTEST_SOURCE_NAME) - set (CTEST_SOURCE_NAME "hdf5-${CTEST_SOURCE_VERSION}${CTEST_SOURCE_VERSEXT}") -endif () -if (NOT DEFINED STATIC_ONLY) - set (STATICONLYLIBRARIES "YES") -else () - set (STATICONLYLIBRARIES "NO") -endif () -if (NOT DEFINED FORTRAN_LIBRARIES) - set (FORTRANLIBRARIES "NO") -else () - set(FORTRANLIBRARIES "YES") -endif () - -set (CTEST_BINARY_NAME "build") -set (CTEST_DASHBOARD_ROOT "${CTEST_SCRIPT_DIRECTORY}") -if (WIN32) - set (CTEST_SOURCE_DIRECTORY "${CTEST_DASHBOARD_ROOT}\\${CTEST_SOURCE_NAME}") - set (CTEST_BINARY_DIRECTORY "${CTEST_DASHBOARD_ROOT}\\${CTEST_BINARY_NAME}") -else () - set (CTEST_SOURCE_DIRECTORY "${CTEST_DASHBOARD_ROOT}/${CTEST_SOURCE_NAME}") - set (CTEST_BINARY_DIRECTORY "${CTEST_DASHBOARD_ROOT}/${CTEST_BINARY_NAME}") -endif () - -################################################################### -######### Following describes compiler ############ -if (WIN32) - set (SITE_OS_NAME "Windows") - set (SITE_OS_VERSION "WIN7") - if (${BUILD_GENERATOR} STREQUAL "VS201764") - set (CTEST_CMAKE_GENERATOR "Visual Studio 15 2017 Win64") - set (SITE_OS_BITS "64") - set (SITE_COMPILER_NAME "vs2017") - set (SITE_COMPILER_VERSION "15") - elseif (${BUILD_GENERATOR} STREQUAL "VS2017") - set (CTEST_CMAKE_GENERATOR "Visual Studio 15 2017") - set (SITE_OS_BITS "32") - set (SITE_COMPILER_NAME "vs2017") - set (SITE_COMPILER_VERSION "15") - elseif (${BUILD_GENERATOR} STREQUAL "VS201564") - set (CTEST_CMAKE_GENERATOR "Visual Studio 14 2015 Win64") - set (SITE_OS_BITS "64") - set (SITE_COMPILER_NAME "vs2015") - set (SITE_COMPILER_VERSION "14") - elseif (${BUILD_GENERATOR} STREQUAL "VS2015") - set (CTEST_CMAKE_GENERATOR "Visual Studio 14 2015") - set (SITE_OS_BITS "32") - set (SITE_COMPILER_NAME "vs2015") - set (SITE_COMPILER_VERSION "14") - elseif (${BUILD_GENERATOR} STREQUAL "VS201364") - set (CTEST_CMAKE_GENERATOR "Visual Studio 12 2013 Win64") - set (SITE_OS_BITS "64") - set (SITE_COMPILER_NAME "vs2013") - set (SITE_COMPILER_VERSION "12") - elseif (${BUILD_GENERATOR} STREQUAL "VS2013") - set (CTEST_CMAKE_GENERATOR "Visual Studio 12 2013") - set (SITE_OS_BITS "32") - set (SITE_COMPILER_NAME "vs2013") - set (SITE_COMPILER_VERSION "12") - elseif (${BUILD_GENERATOR} STREQUAL "VS201264") - set (CTEST_CMAKE_GENERATOR "Visual Studio 11 2012 Win64") - set (SITE_OS_BITS "64") - set (SITE_COMPILER_NAME "vs2012") - set (SITE_COMPILER_VERSION "11") - elseif (${BUILD_GENERATOR} STREQUAL "VS2012") - set (CTEST_CMAKE_GENERATOR "Visual Studio 11 2012") - set (SITE_OS_BITS "32") - set (SITE_COMPILER_NAME "vs2012") - set (SITE_COMPILER_VERSION "11") - else () - message (FATAL_ERROR "Invalid BUILD_GENERATOR must be - Unix, VS2017, or VS201764, VS2015, VS201564, VS2013, VS201364") - endif () -## Set the following to unique id your computer ## - set (CTEST_SITE "WIN7${BUILD_GENERATOR}.XXXX") -else () - set (CTEST_CMAKE_GENERATOR "Unix Makefiles") -## Set the following to unique id your computer ## - if (APPLE) - set (CTEST_SITE "MAC.XXXX") - else () - set (CTEST_SITE "LINUX.XXXX") - endif () - if (APPLE) - execute_process (COMMAND xcrun --find cc OUTPUT_VARIABLE XCODE_CC OUTPUT_STRIP_TRAILING_WHITESPACE) - execute_process (COMMAND xcrun --find c++ OUTPUT_VARIABLE XCODE_CXX OUTPUT_STRIP_TRAILING_WHITESPACE) - set (ENV{CC} "${XCODE_CC}") - set (ENV{CXX} "${XCODE_CXX}") - set (CTEST_USE_LAUNCHERS 1) - set (RR_WARNINGS_COMMON "-Wno-format-nonliteral -Wno-cast-align -Wno-unused -Wno-unused-variable -Wno-unused-function -Wno-self-assign -Wno-unused-parameter -Wno-sign-compare") - set (RR_WARNINGS_C "${RR_WARNINGS_COMMON} -Wno-deprecated-declarations -Wno-uninitialized") - set (RR_WARNINGS_CXX "${RR_WARNINGS_COMMON} -Woverloaded-virtual -Wshadow -Wwrite-strings -Wc++11-compat") - set (RR_FLAGS_COMMON "-g -O0 -fstack-protector-all -D_FORTIFY_SOURCE=2") - set (RR_FLAGS_C "${RR_FLAGS_COMMON}") - set (RR_FLAGS_CXX "${RR_FLAGS_COMMON}") - set (ENV{CFLAGS} "${RR_WARNINGS_C} ${RR_FLAGS_C}") - set (ENV{CXXFLAGS} "${RR_WARNINGS_CXX} ${RR_FLAGS_CXX}") - endif () -endif () -################################################################### - -################################################################### -######### Following is for submission to CDash ############ -################################################################### -set (MODEL "Experimental") -################################################################### - -################################################################### -##### Following controls CDash submission ##### -#set (LOCAL_SUBMIT "TRUE") -##### Following controls test process ##### -#set (LOCAL_SKIP_TEST "TRUE") -#set (LOCAL_MEMCHECK_TEST "TRUE") -#set (LOCAL_COVERAGE_TEST "TRUE") -##### Following controls cpack command ##### -#set (LOCAL_NO_PACKAGE "TRUE") -##### Following controls source update ##### -#set (LOCAL_UPDATE "TRUE") -set (REPOSITORY_URL "https://git@bitbucket.hdfgroup.org/scm/hdffv/hdf5.git") -set (REPOSITORY_BRANCH "hdf5_1_8") - -#uncomment to use a compressed source file: *.tar on linux or mac *.zip on windows -#set (CTEST_USE_TAR_SOURCE "${CTEST_SOURCE_VERSION}${CTEST_SOURCE_VERSEXT}") -################################################################### - -################################################################### -if (${STATICONLYLIBRARIES}) - set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DBUILD_SHARED_LIBS:BOOL=OFF") - ######### Following describes computer ############ - ## following is optional to describe build ## - set (SITE_BUILDNAME_SUFFIX "STATIC") -endif () -################################################################### -#### fortran #### -if (${FORTRANLIBRARIES}) - set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_BUILD_FORTRAN:BOOL=ON") - ### enable Fortran 2003 depends on HDF5_BUILD_FORTRAN - set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_ENABLE_F2003:BOOL=ON") -else () - set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_BUILD_FORTRAN:BOOL=OFF") - ### enable Fortran 2003 depends on HDF5_BUILD_FORTRAN - set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_ENABLE_F2003:BOOL=OFF") -endif () - -### change install prefix -set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DCMAKE_INSTALL_PREFIX:PATH=${INSTALLDIR}") -set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DCTEST_CONFIGURATION_TYPE:STRING=$ENV{CMAKE_CONFIG_TYPE}") - -################################################################### - -if (WIN32) - set (BINFILEBASE "HDF5-${CTEST_SOURCE_VERSION}${CTEST_SOURCE_VERSEXT}-win${SITE_OS_BITS}") - include (${CTEST_SCRIPT_DIRECTORY}\\HDF5options.cmake) - include (${CTEST_SCRIPT_DIRECTORY}\\CTestScript.cmake) - if (EXISTS "${CTEST_BINARY_DIRECTORY}\\${BINFILEBASE}.exe") - file (COPY "${CTEST_BINARY_DIRECTORY}\\${BINFILEBASE}.exe" DESTINATION ${CTEST_SCRIPT_DIRECTORY}) - endif () - if (EXISTS "${CTEST_BINARY_DIRECTORY}\\${BINFILEBASE}.msi") - file (COPY "${CTEST_BINARY_DIRECTORY}\\${BINFILEBASE}.msi" DESTINATION ${CTEST_SCRIPT_DIRECTORY}) - endif () - if (EXISTS "${CTEST_BINARY_DIRECTORY}\\${BINFILEBASE}.zip") - file (COPY "${CTEST_BINARY_DIRECTORY}\\${BINFILEBASE}.zip" DESTINATION ${CTEST_SCRIPT_DIRECTORY}) - endif () -else () - set (BINFILEBASE "HDF5-${CTEST_SOURCE_VERSION}${CTEST_SOURCE_VERSEXT}") - include (${CTEST_SCRIPT_DIRECTORY}/HDF5options.cmake) - include (${CTEST_SCRIPT_DIRECTORY}/CTestScript.cmake) - if (APPLE) - if (EXISTS "${CTEST_BINARY_DIRECTORY}/${BINFILEBASE}-Darwin.dmg") - file (COPY "${CTEST_BINARY_DIRECTORY}/${BINFILEBASE}-Darwin.dmg" DESTINATION ${CTEST_SCRIPT_DIRECTORY}) - endif () - if (EXISTS "${CTEST_BINARY_DIRECTORY}/${BINFILEBASE}-Darwin.tar.gz") - file (COPY "${CTEST_BINARY_DIRECTORY}/${BINFILEBASE}-Darwin.tar.gz" DESTINATION ${CTEST_SCRIPT_DIRECTORY}) - endif () - if (EXISTS "${CTEST_BINARY_DIRECTORY}/${BINFILEBASE}-Darwin.sh") - file (COPY "${CTEST_BINARY_DIRECTORY}/${BINFILEBASE}-Darwin.sh" DESTINATION ${CTEST_SCRIPT_DIRECTORY}) - endif () - else () - if (CYGWIN) - if (EXISTS "${CTEST_BINARY_DIRECTORY}/${BINFILEBASE}-CYGWIN.sh") - file (COPY "${CTEST_BINARY_DIRECTORY}/${BINFILEBASE}-CYGWIN.sh" DESTINATION ${CTEST_SCRIPT_DIRECTORY}) - endif () - if (EXISTS "${CTEST_BINARY_DIRECTORY}/${BINFILEBASE}-CYGWIN.tar.gz") - file (COPY "${CTEST_BINARY_DIRECTORY}/${BINFILEBASE}-CYGWIN.tar.gz" DESTINATION ${CTEST_SCRIPT_DIRECTORY}) - endif () - else () - if (EXISTS "${CTEST_BINARY_DIRECTORY}/${BINFILEBASE}-Linux.sh") - file (COPY "${CTEST_BINARY_DIRECTORY}/${BINFILEBASE}-Linux.sh" DESTINATION ${CTEST_SCRIPT_DIRECTORY}) - endif () - if (EXISTS "${CTEST_BINARY_DIRECTORY}/${BINFILEBASE}-Linux.tar.gz") - file (COPY "${CTEST_BINARY_DIRECTORY}/${BINFILEBASE}-Linux.tar.gz" DESTINATION ${CTEST_SCRIPT_DIRECTORY}) - endif () - endif () - endif () -endif () - -HDF5options.cmake: -############################################################################################# -#### Change default configuration of options in config/cmake/cacheinit.cmake file ### -#### format: set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DXXX:YY=ZZZZ") ### -############################################################################################# - -### uncomment/comment and change the following lines for other configuration options - -############################################################################################# -#### alternate toolsets #### -#set(CMAKE_GENERATOR_TOOLSET "Intel C++ Compiler 17.0") - -############################################################################################# -#### ext libraries #### - -### ext libs from tgz -set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_ALLOW_EXTERNAL_SUPPORT:STRING=TGZ -DTGZPATH:PATH=${CTEST_SCRIPT_DIRECTORY}") -### ext libs from git -#set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_ALLOW_EXTERNAL_SUPPORT:STRING=GIT") -### ext libs on system -#set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DZLIB_LIBRARY:FILEPATH=some_location/lib/zlib.lib -DZLIB_INCLUDE_DIR:PATH=some_location/include") -#set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DSZIP_LIBRARY:FILEPATH=some_location/lib/szlib.lib -DSZIP_INCLUDE_DIR:PATH=some_location/include") - -### disable ext zlib building -#set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_ENABLE_Z_LIB_SUPPORT:BOOL=OFF") -### disable ext szip building -#set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_ENABLE_SZIP_SUPPORT:BOOL=OFF") -#set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_ENABLE_SZIP_ENCODING:BOOL=OFF") - -############################################################################################# -### disable test program builds - -#set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DBUILD_TESTING:BOOL=OFF") +Custom compiler flags can be added by defining the CMAKE_C_FLAGS and +CMAKE_CXX_FLAGS variables. +Using a cmake script: + set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -O2") +Defined on the configure line: + cmake -G "Visual Studio 12 2013" -DCMAKE_C_FLAGS:STRING=-O2 .. -############################################################################################# -### disable packaging +Debug symbols are enabled with configuration selections Debug or RelWithDebInfo. +The difference between Debug and RelWithDebInfo configurations is that +RelWithDebInfo optimizes the code similar to Release. It produces fully optimized +code, but also creates the symbol table and the debug metadata to give the +debugger input to map the execution back to the original code. +RelwithDebInfo configuration should not affect the performance when the code +is run without a debugger attached. -#set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_NO_PACKAGES:BOOL=ON") -### Create install package with external libraries (szip, zlib) -set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_PACKAGE_EXTLIBS:BOOL=ON") +The HDF5_ENABLE_COVERAGE option will add "-g -O0 -fprofile-arcs -ftest-coverage" +to CMAKE_C_FLAGS. -############################################################################################# ======================================================================== For further assistance, send email to help@hdfgroup.org diff --git a/release_docs/INSTALL_Cygwin.txt b/release_docs/INSTALL_Cygwin.txt index 5ebb503..41762ec 100644 --- a/release_docs/INSTALL_Cygwin.txt +++ b/release_docs/INSTALL_Cygwin.txt @@ -2,8 +2,8 @@ HDF5 Build and Install Instructions for Cygwin ************************************************************************ -This document is a instruction on how to build, test and install HDF5 libary on -Cygwin. See detailed information in hdf5/INSTALL. +This document is a instruction on how to build, test and install HDF5 libary on +Cygwin. See detailed information in hdf5/INSTALL. NOTE: hdf5 can be built with CMake, see the INSTALL_CMake.txt file for more guidance. @@ -12,16 +12,16 @@ Preconditions: 1. Installed Cygwin 1.7.25 or higher - To install the Cygwin net release, go to http://www.cygwin.com and + To install the Cygwin net release, go to http://www.cygwin.com and click on "setup-x86.exe" (32-bit installation) under the heading - "Current Cygwin DLL version". This will download a GUI - installer called setup-x86.exe which can be run to download a complete - Cygwin installation via the internet. Then follow the instructions + "Current Cygwin DLL version". This will download a GUI + installer called setup-x86.exe which can be run to download a complete + Cygwin installation via the internet. Then follow the instructions on each screen to install Cygwin. - Cygwin uses packages to manage installing various software. Users can + Cygwin uses packages to manage installing various software. Users can choose to install or uninstall certain packages by running setup.exe. - http://www.cygwin.com/packages/ provides detailed information about + http://www.cygwin.com/packages/ provides detailed information about Cygwin packages. Most required dependencies can be satisfied by installing all packages in @@ -31,32 +31,32 @@ Preconditions: 2. Compilers, Libraries and Utilities Installed 2.1 Compilers Supported - + The following compilers are supported by HDF5 and included in the Cygwin package system: gcc (4.7.3 and 4.9.2), which includes: gcc4-core : C compiler gcc4-g++ : C++ compiler gcc4-fortran : fortran compiler - + 2.1.1 Using Compilers Not Supported - + By default the current configuration uses vendor compilers; to use another compiler run the following commands before running - configure: - + configure: + setenv CC "foo -flags" setenv FC "fffoo -flags" - For example, if users want to use pgf90 as fortran compiler, then + For example, if users want to use pgf90 as fortran compiler, then setenv FC pgf90 See the configure help page (configure --help) for a list of environment variables that have an affect on building the library. - + 2.2 HDF5 External Library Dependencies 2.2.1 Zlib @@ -66,38 +66,38 @@ Preconditions: 2.2.2 Szip The HDF5 library has a predefined compression filter that uses the extended-Rice lossless compression algorithm for chunked - datatsets. For more information on Szip compression, license terms, + datatsets. For more information on Szip compression, license terms, and obtaining the Szip source code, see: https://portal.hdfgroup.org/display/HDF5/Szip+Compression+in+HDF+Products - - + + 2.3 Additional Utilities - + The following standard utilities are also required to build and test HDF5: - + bison : yacc implementation flex : flex utility make : make utility - + 2.4 Alternate Build Process - - Download the CMake package and follow the notes in the "INSTALL_CMake.txt" + + Download the CMake package and follow the notes in the "INSTALL_CMake.txt" file to build HDF5 with the CMake utilities. - - - + + + Build, Test and Install HDF5 on Cygwin -------------------------------------- 1. Get HDF5 source code package Users can download HDF5 source code package from HDF website - (http://hdfgroup.org). - + (http://hdfgroup.org). + 2. Unpacking the distribution The HDF5 source code is distributed in a variety of formats which - can be unpacked with the following commands, each of which creates + can be unpacked with the following commands, each of which creates an `hdf5-1.8.x' directory. 2.1 Non-compressed tar archive (*.tar) @@ -110,118 +110,118 @@ Build, Test and Install HDF5 on Cygwin 2.3 Bzip'd tar archive (*.tar.bz2) - $ bunzip2 < hdf5-1.8.x.tar.bz2 | tar xf - + $ bunzip2 < hdf5-1.8.x.tar.bz2 | tar xf - 2. Setup Environment In Cygwin, most compilers and setting are automatically detected during - the configure script. However, if you are building Fortran we recommend - that you explicitly set the "FC" variable in your environment to use the + the configure script. However, if you are building Fortran we recommend + that you explicitly set the "FC" variable in your environment to use the gfortran compiler. For example, issue the command: - + $ export FC=gfortran - -4. Configuring - - Notes: See detailed information in hdf5/release_docs/INSTALL, - part 5. Full installation instructions for source + +4. Configuring + + Notes: See detailed information in hdf5/release_docs/INSTALL, + part 5. Full installation instructions for source distributions - The host configuration file for cygwin i686-pc-cygwin is located - in the `config' directory and are based on architecture name, - vendor name, and operating system which are displayed near the + The host configuration file for cygwin i686-pc-cygwin is located + in the `config' directory and are based on architecture name, + vendor name, and operating system which are displayed near the beginning of the `configure' output. The host config file influences - the behavior of configure by setting or augmenting shell variables. - + the behavior of configure by setting or augmenting shell variables. + In short, To configure HDF5 C Library, using $ ./configure - + To configure HDF5 C/C++ Library, using $ ./configure --enable-cxx - + To configure HDF5 C/Fortran Library, using $ ./configure --enable-fortran - + To configure HDF5 C with Szip library, using $ ./configure --with-szlib="path to szlib" - - For example, if szip library was installed in the directory + + For example, if szip library was installed in the directory /cygdrive/c/szip, which is parent directory of "include" and - "lib", then the following command will configure HDF5 C library + "lib", then the following command will configure HDF5 C library with szip enabled: - + $ ./configure --with-szlib=/cygdrive/c/szip - + To configure HDF5 C without Zlib, - + To disable zlib, using $ ./configure --without-zlib - + Two ways to configure HDF5 C with specified Zlib - + Using $ ./configure --with-zlib=INCDIR,LIBDIR For example, if the zlib library is installed in /cygdrive/c/usr, which is the parent directory of directories - "include" and "lib", + "include" and "lib", $ ./configure --with-zlib=/cygdrive/c/usr/include,/cygdrive/c/usr/lib Through the CPPFLAGS and LDFLAGS Variables - - For example, if zlib was installed in the directory - /cygdrive/c/usr then using the following command to configure + + For example, if zlib was installed in the directory + /cygdrive/c/usr then using the following command to configure HDF5 with zib $ CPPFLAGS=-I/cygdrive/c/usr/include \ $ LDFLAGS=-L/cygdrive/c/usr/lib \ $ ./configure - To specify the installation directories, using + To specify the installation directories, using $ ./configure --prefix="path for installation" - - By default, HDF5 library, header files, examples, and + + By default, HDF5 library, header files, examples, and support programs will be installed in /usr/local/lib, /usr/local/include, /usr/local/doc/hdf5/examples, and - /usr/local/bin. To use a path other than /usr/local specify + /usr/local/bin. To use a path other than /usr/local specify the path with the `--prefix=PATH' switch as in the above command. - Combination of Switches + Combination of Switches - All of the above switches can be combined together. For - example, if users want to configure HDF5 C/C++/Fortran - library with szip library enabled, with zlib library at - /cygdrive/c/usr/, and install HDF5 into directory + All of the above switches can be combined together. For + example, if users want to configure HDF5 C/C++/Fortran + library with szip library enabled, with zlib library at + /cygdrive/c/usr/, and install HDF5 into directory /cygdrive/c/hdf5 using gcc/g++ as C/C++ compiler and gfortran as fortran compiler - + $ ./configure --with-szlib=/cygdrive/c/szip --with-zlib=/cygdrive/c/usr/include,/cygdrive/c/usr/lib --prefix=/cygdrive/c/hdf5 --enable-cxx - --enable-fortran + --enable-fortran <"If no more switches, then hit Enter"> Notes: The command format above is for readilibity. In practice, please type in the command above with at least one - space between each line, No "Enter" until users finish - the switches and want to run the configure. + space between each line, No "Enter" until users finish + the switches and want to run the configure. + - or do it through CPPFLAGS and LDFLAGS variables: - + $ CPPFLAGS=-I/cygdrive/c/usr/include \ $ LDFLAGS=-L/cygdrive/c/usr/lib \ @@ -229,32 +229,32 @@ Build, Test and Install HDF5 on Cygwin --with-szlib=/cygdrive/c/szip --prefix=/cygdrive/c/hdf5 --enable-cxx - --enable-fortran + --enable-fortran <"If no more switches, then hit Enter"> - + 5. Make and Make Check After configuration is done successfully, run the following series of commands to build, test and install HDF5 - + $ make > "output file name" $ make check > "output file name" - + Before run "make install", check output file for "make check", there should be no failures at all. 6. Make Install $ make install > "output file name" - - + + 7. Check installed HDF5 library - After step 6, go to your installation directory, there should be + After step 6, go to your installation directory, there should be three subdirectories: "bin" "include" and "lib". -8. Known Problems - +8. Known Problems + dt_arith tests may fail due to the use of fork. This is a known issue with cygwin on Windows. diff --git a/release_docs/INSTALL_Warnings.txt b/release_docs/INSTALL_Warnings.txt new file mode 100644 index 0000000..5fde45f --- /dev/null +++ b/release_docs/INSTALL_Warnings.txt @@ -0,0 +1,474 @@ +*********************************************************************** +* COMPILER WARNINGS OPTIONS +*********************************************************************** + + Table of Contents + +Section I: Managing Warnings +Section II: Default Warnings +Section III: All Warnings +Section IV: Group 0 Warnings +Section V: Group 1 Warnings +Section VI: Group 2 Warnings +Section VII: Group 3 Warnings +Section VIII: Group 4 Warnings +Section IX: Disable Warnings + +************************************************************************ + + +======================================================================== +I. Managing Warnings +======================================================================== +Compiler warnings are managed by setting the compiler flags variables. + +Autotools uses the H5_CFLAGS and H5_CXXFLAGS, both variables set the flags nearly + identical, along with H5_FCFLAGS for Fortran. Autotools uses the type + and version of the compiler to determine which warning flags are used. + However, there is an option, enable-developer-warnings, to enable extra + flags for developers. + +CMake uses the CMAKE_C_FLAGS and CMAKE_CXX_FLAGS, both sets are nearly + identical, along with CMAKE_Fortran_FLAGS for Fortran. CMake has a + minimum set of flags for GNU type compilers and for MSVC compilers. In + addition, CMake breaks the list of flags into groups. The groups for + GNU are roughly associated with the version of the compiler, while + the MSVC groups are associated with the warning levels for the + Microsoft compilers. The CMake option for enabling extra developer + warnings is HDF5_ENABLE_DEV_WARNINGS. + +Custom settings can be used by setting; + Environment variables H5_CFLAGS and H5_CXXFLAGS for Autotools + CMake defines CMAKE_C_FLAGS and CMAKE_CXX_FLAGS for CMake + + +======================================================================== +II. Default Warnings +======================================================================== + +-------------------------------------------------- +Autotools UNIX warnings added to H5_CFLAGS +-------------------------------------------------- + -std=c99 + + the following warning switches should not raise warnings by the current code + -pedantic + -Wall + -Wextra + -Wbad-function-cast + -Wc++-compat + -Wcast-align + -Wcast-qual + -Wconversion + -Wdeclaration-after-statement + -Wdisabled-optimization + -Wfloat-equal + -Wformat=2 + -Winit-self + -Winvalid-pch + -Wmissing-declarations + -Wmissing-include-dirs + -Wmissing-prototypes + -Wnested-externs + -Wold-style-definition + -Wpacked + -Wpointer-arith + -Wredundant-decls + -Wshadow + -Wstrict-prototypes + -Wswitch-default + -Wswitch-enum + -Wundef + -Wunused-macros + -Wunsafe-loop-optimizations + -Wwrite-strings + + enable-developer-warnings=ON + -Winline + -Waggregate-return + -Wmissing-format-attribute + -Wmissing-noreturn + enable-developer-warnings=OFF + -Wno-inline + -Wno-aggregate-return + -Wno-missing-format-attribute + -Wno-missing-noreturn + +IF GCC <= 4.3 + -Wno-long-long + -Wvolatile-register-var + -Wstrict-overflow + +IF GCC <= 4.4 + -Wno-long-long + -Wvolatile-register-var + -Wstrict-overflow + -Wlogical-op + -Wvla + +IF GCC <= 4.5 + -Wno-long-long + -Wvolatile-register-var + -Wstrict-overflow + -Wlogical-op + -Wvla + -Wlarger-than=2048 + -Wsync-nand + -Wframe-larger-than=16384 + -Wpacked-bitfield-compat + +IF GCC <= 4.6 + -Wno-long-long + -Wlogical-op + -Wvla + -Wlarger-than=2048 + -Wsync-nand + -Wframe-larger-than=16384 + -Wpacked-bitfield-compat + -Wstrict-aliasing + -Wstrict-overflow=5 + -Wjump-misses-init + -Wunsuffixed-float-constants + +IF GCC <= 4.7 + -Wno-long-long + -Wlogical-op + -Wvla + -Wlarger-than=2048 + -Wsync-nand + -Wframe-larger-than=16384 + -Wpacked-bitfield-compat + -Wstrict-aliasing + -Wstrict-overflow=5 + -Wjump-misses-init + -Wunsuffixed-float-constants + -Wdouble-promotion + -Wtrampolines + enable-developer-warnings=ON: + -Wsuggest-attribute=const + enable-developer-warnings=OFF: + -Wno-suggest-attribute=const + +IF GCC <= 4.8 + -Wlogical-op + -Wvla + -Wlarger-than=2048 + -Wsync-nand + -Wframe-larger-than=16384 + -Wpacked-bitfield-compat + -Wstrict-overflow=5 + -Wjump-misses-init + -Wunsuffixed-float-constants + -Wdouble-promotion + -Wtrampolines + -Wstack-usage=8192 + -Wvector-operation-performance + enable-developer-warnings=ON: + -Wsuggest-attribute=const + -Wsuggest-attribute=pure + -Wsuggest-attribute=noreturn + enable-developer-warnings=OFF: + -Wno-suggest-attribute=const + -Wno-suggest-attribute=pure + -Wno-suggest-attribute=noreturn + +IF GCC <= 4.9 + -Wlogical-op + -Wvla + -Wlarger-than=2048 + -Wsync-nand + -Wframe-larger-than=16384 + -Wpacked-bitfield-compat + -Wstrict-overflow=5 + -Wjump-misses-init + -Wdouble-promotion + -Wtrampolines + -Wstack-usage=8192 + -Wvector-operation-performance + enable-developer-warnings=ON: + -Wsuggest-attribute=const + -Wsuggest-attribute=pure + -Wsuggest-attribute=noreturn + -Wsuggest-attribute=format + enable-developer-warnings=OFF: + -Wno-suggest-attribute=const + -Wno-suggest-attribute=pure + -Wno-suggest-attribute=noreturn + -Wno-suggest-attribute=format + +IF GCC < 5 + -Wlogical-op + -Wvla + -Wlarger-than=2048 + -Wsync-nand + -Wframe-larger-than=16384 + -Wpacked-bitfield-compat + -Wstrict-overflow=5 + -Wjump-misses-init + -Wunsuffixed-float-constants + -Wdouble-promotion + -Wtrampolines + -Wstack-usage=8192 + -Wvector-operation-performance + -Wdate-time + enable-developer-warnings=ON: + -Wsuggest-attribute=const + -Wsuggest-attribute=pure + -Wsuggest-attribute=noreturn + -Wsuggest-attribute=format + enable-developer-warnings=OFF: + -Wno-suggest-attribute=const + -Wno-suggest-attribute=pure + -Wno-suggest-attribute=noreturn + -Wno-suggest-attribute=format + +IF GCC < 6 + -Wlogical-op + -Wvla + -Wlarger-than=2048 + -Wsync-nand + -Wframe-larger-than=16384 + -Wpacked-bitfield-compat + -Wstrict-overflow=5 + -Wjump-misses-init + -Wunsuffixed-float-constants + -Wdouble-promotion + -Wtrampolines + -Wstack-usage=8192 + -Wvector-operation-performance + -Wdate-time + -Warray-bounds=2 + -Wc99-c11-compat + enable-developer-warnings=ON: + -Wsuggest-attribute=const + -Wsuggest-attribute=pure + -Wsuggest-attribute=noreturn + -Wsuggest-attribute=format + enable-developer-warnings=OFF: + -Wno-suggest-attribute=const + -Wno-suggest-attribute=pure + -Wno-suggest-attribute=noreturn + -Wno-suggest-attribute=format + +IF GCC < 7 + -Wlogical-op + -Wvla + -Wlarger-than=2048 + -Wsync-nand + -Wframe-larger-than=16384 + -Wpacked-bitfield-compat + -Wstrict-overflow=5 + -Wjump-misses-init + -Wunsuffixed-float-constants + -Wdouble-promotion + -Wtrampolines + -Wstack-usage=8192 + -Wvector-operation-performance + -Wdate-time + -Warray-bounds=2 + -Wc99-c11-compat + -Wnull-dereference + -Wunused-const-variable + -Wduplicated-cond -Whsa + enable-developer-warnings=ON: + -Wsuggest-attribute=const + -Wsuggest-attribute=pure + -Wsuggest-attribute=noreturn + -Wsuggest-attribute=format + enable-developer-warnings=OFF: + -Wno-suggest-attribute=const + -Wno-suggest-attribute=pure + -Wno-suggest-attribute=noreturn + -Wno-suggest-attribute=format + + +-------------------------------------------- +CMake warnings added to CMAKE_C_FLAGS +-------------------------------------------- + +IF GNU GCC + -pedantic + -Wall + -Wextra + -Wbad-function-cast + -Wc++-compat + -Wcast-align + -Wcast-qual + -Wconversion + -Wdeclaration-after-statement + -Wdisabled-optimization + -Wfloat-equal + -Wformat=2 + -Winit-self + -Winvalid-pch + -Wmissing-declarations + -Wmissing-include-dirs + -Wmissing-prototypes + -Wnested-externs + -Wold-style-definition + -Wpacked + -Wpointer-arith + -Wredundant-decls + -Wshadow + -Wstrict-prototypes + -Wswitch-default + -Wswitch-enum + -Wundef + -Wunused-macros + -Wunsafe-loop-optimizations + -Wwrite-strings + + -fmessage-length=0 + HDF5_ENABLE_DEV_WARNINGS=ON + -Winline + -Waggregate-return + HDF5_ENABLE_DEV_WARNINGS=OFF + -Wno-unused-parameter + -Wno-inline + -Wno-aggregate-return + + +======================================================================== +III. All Warnings in CMake +======================================================================== + +Default: HDF5_ENABLE_DEV_WARNINGS:BOOL=OFF + For Visual Studio: + /W3 + +HDF5_ENABLE_ALL_WARNINGS:BOOL=ON + For Visual Studio: + /Wall + /wd4668 + + For GNU GCC + Group 0 flags + Group 1 flags + Group 2 flags + + +======================================================================== +IV. Group 0 Warnings in CMake +======================================================================== + +Default: HDF5_ENABLE_GROUPZERO_WARNINGS:BOOL=OFF + +HDF5_ENABLE_GROUPZERO_WARNINGS:BOOL=ON + For Visual Studio + /W1 + + For GNU GCC + Default Warnings + + +======================================================================== +V. Group 1 Warnings in CMake +======================================================================== + +Default: HDF5_ENABLE_GROUPONE_WARNINGS:BOOL=OFF + +HDF5_ENABLE_GROUPONE_WARNINGS:BOOL=ON + For Visual Studio + /W2 + + For GNU GCC + IF GCC >= 4.3 + -Wlogical-op + -Wvla + -Wlarger-than=2048 + IF GCC >= 4.4 + -Wsync-nand + -Wframe-larger-than=16384 + -Wpacked-bitfield-compat + IF GCC >= 4.5 + -Wstrict-overflow=5 + -Wjump-misses-init + -Wunsuffixed-float-constants + + +======================================================================== +VI. Group 2 Warnings in CMake +======================================================================== + +Default: HDF5_ENABLE_GROUPTWO_WARNINGS:BOOL=OFF + +HDF5_ENABLE_GROUPTWO_WARNINGS:BOOL=ON + For Visual Studio + /W3 + + For GNU GCC + IF GCC >= 4.6 + -Wdouble-promotion + -Wtrampolines + enable-developer-warnings=ON: + -Wsuggest-attribute=const + enable-developer-warnings=OFF: + -Wno-suggest-attribute=const + IF GCC >= 4.7 + -Wstack-usage=8192 + -Wvector-operation-performance + enable-developer-warnings=ON: + -Wsuggest-attribute=pure + -Wsuggest-attribute=noreturn + enable-developer-warnings=OFF: + -Wno-suggest-attribute=pure + -Wno-suggest-attribute=noreturn + IF GCC >= 4.8 + enable-developer-warnings=ON: + -Wsuggest-attribute=format + enable-developer-warnings=OFF: + -Wno-suggest-attribute=format + IF GCC >= 4.8 + -Wdate-time + + +======================================================================== +VII. Group 3 Warnings in CMake +======================================================================== + +Default: HDF5_ENABLE_GROUPTHREE_WARNINGS:BOOL=OFF + +HDF5_ENABLE_GROUPTHREE_WARNINGS:BOOL=ON + For Visual Studio + /W4 + + For GNU GCC + IF GCC >= 5.1 + -Warray-bounds=2 + -Wc99-c11-compat + + +======================================================================== +VIII. Group 4 Warnings in CMake +======================================================================== + +Default: HDF5_ENABLE_GROUPFOUR_WARNINGS:BOOL=OFF + +HDF5_ENABLE_GROUPFOUR_WARNINGS:BOOL=ON + For GNU GCC + IF GCC >= 6.0 + -Wnull-dereference + -Wunused-const-variable + -Wduplicated-cond + -Whsa + + +======================================================================== +IX. Disable Warnings in CMake +======================================================================== + +Default: HDF5_DISABLE_COMPILER_WARNINGS:BOOL=OFF + +HDF5_DISABLE_COMPILER_WARNINGS:BOOL=ON + For Visual Studio + HDF5_WARNINGS_BLOCKED:BOOL=ON + /W0 + + For GNU GCC + -w + + +======================================================================== +For further assistance, send email to help@hdfgroup.org +======================================================================== + diff --git a/release_docs/INSTALL_parallel b/release_docs/INSTALL_parallel index 23dc2a0..d3d7830 100644 --- a/release_docs/INSTALL_parallel +++ b/release_docs/INSTALL_parallel @@ -4,7 +4,7 @@ 0. Use Build Scripts -------------------- The HDF Group is accumulating build scripts to handle building parallel HDF5 -on various platforms (Cray, IBM, SGI, etc...). These scripts are being +on various platforms (Cray, IBM, SGI, etc...). These scripts are being maintained and updated continuously for current and future systems. The reader is strongly encouraged to consult the repository at, @@ -82,22 +82,19 @@ This allows for >2GB sized files on Linux systems and is only available with Linux kernels 2.4 and greater. -2.3. Unix HPC Clusters (for v1.8 and later) +2.3. Hopper (Cray XE6) (for v1.8 and later) ------------------------- -The following steps are generic instructions for building HDF5 on -several current HPC systems. The exact commands and scripts to use -will vary according to the scheduling software on the individual -system. Consult the system documentation to determine the details. +The following steps are for building HDF5 for the Hopper compute +nodes. They would probably work for other Cray systems but have +not been verified. Obtain the HDF5 source code: https://portal.hdfgroup.org/display/support/Downloads -In general HDF5 can be built on a login/front-end node provided it is -installed on a file system accessible by all compute nodes. If parallel -tests run by "make check" or "make check-p" will be run on compute -nodes in a batch job, the HDF5 build directory should also exist on a -file system accessible by all compute nodes. +The entire build process should be done on a MOM node in an interactive allocation and on a file system accessible by all compute nodes. +Request an interactive allocation with qsub: +qsub -I -q debug -l mppwidth=8 - create a build directory build-hdf5: mkdir build-hdf5; cd build-hdf5/ @@ -105,12 +102,12 @@ file system accessible by all compute nodes. - configure HDF5: RUNSERIAL="aprun -q -n 1" RUNPARALLEL="aprun -q -n 6" FC=ftn CC=cc /path/to/source/configure --enable-fortran --enable-parallel --disable-shared - RUNSERIAL and RUNPARALLEL tells the library how it should launch programs that are part of the build procedure. Note that the command names and the specific options will vary according to the batch system. + RUNSERIAL and RUNPARALLEL tell the library how it should launch programs that are part of the build procedure. - Compile HDF5: gmake -- Check HDF5: on most systems this should be run as a batch job on compute nodes. +- Check HDF5 gmake check - Install HDF5 @@ -120,8 +117,8 @@ The build will be in build-hdf5/hdf5/ (or whatever you specify in --prefix). To compile other HDF5 applications use the wrappers created by the build (build-hdf5/hdf5/bin/h5pcc or h5fc) -3. Detailed explanation ------------------------ +3. Detail explanation +--------------------- 3.1. Installation steps (Uni/Multiple processes modes) ----------------------- @@ -158,12 +155,16 @@ to run a parallel application on one processor and on many processors. If the compiler is `mpicc' and the user hasn't specified values for RUNSERIAL and RUNPARALLEL then configure chooses `mpiexec' from the same directory as `mpicc': - RUNSERIAL: /usr/local/mpi/bin/mpiexec -np 1 - RUNPARALLEL: /usr/local/mpi/bin/mpiexec -np $${NPROCS:=6} + RUNSERIAL: mpiexec -n 1 + RUNPARALLEL: mpiexec -n $${NPROCS:=6} The `$${NPROCS:=6}' will be substituted with the value of the NPROCS environment variable at the time `make check' is run (or the value 6). +Note that some MPI implementations (e.g. OpenMPI 4.0) disallow oversubscribing +nodes by default so you'll have to either set NPROCS equal to the number of +processors available (or fewer) or redefine RUNPARALLEL with appropriate +flag(s) (--oversubscribe in OpenMPI). 4. Parallel test suite ---------------------- diff --git a/release_docs/README_HDF5_CMake b/release_docs/README_HDF5_CMake new file mode 100644 index 0000000..fdfc998 --- /dev/null +++ b/release_docs/README_HDF5_CMake @@ -0,0 +1,24 @@ +This tar file contains + + build-unix.sh script to build HDF5 with CMake on unix machines + build-unix-hpc.sh script to build HDF5 with CMake on unix machines and run + tests with batch scripts (sbatch). + CTestScript.cmake + HDF5config.cmake CMake scripts for building HDF5 + HDF5options.cmake + hdf5-1.8.22 HDF5 1.8.22 source + LIBAEC.tar.gz source for building SZIP replacement + ZLib.tar.gz source for building ZLIB + hdf5_plugins.tar.gz source for building compression plugins + +For more information about building HDF5 with CMake, see USING_HDF5_CMake.txt in +hdf5-1.8.22/release_docs, or +https://portal.hdfgroup.org/display/support/Building+HDF5+with+CMake. + +For more information about building HDF5 with CMake on HPC machines, including +cross compiling on Cray XC40, see README_HPC in hdf5-1.8.22/release_docs. + + + + + diff --git a/release_docs/README_HPC b/release_docs/README_HPC new file mode 100644 index 0000000..bd16376 --- /dev/null +++ b/release_docs/README_HPC @@ -0,0 +1,206 @@ +************************************************************************ +* Using CMake to build and test HDF5 source on HPC machines * +************************************************************************ + + Contents + +Section I: Prerequisites +Section II: Obtain HDF5 source +Section III: Using ctest command to build and test +Section IV: Cross compiling +Section V: Manual alternatives +Section VI: Other cross compiling options + +************************************************************************ + +======================================================================== +I. Prerequisites +======================================================================== + 1. Create a working directory that is accessible from the compute nodes for + running tests; the working directory should be in a scratch space or a + parallel file system space since testing will use this space. Building + from HDF5 source in a 'home' directory typically results in test + failures and should be avoided. + + 2. Load modules for desired compilers, module for cmake version 3.12 or greater, + and set any needed environment variables for compilers (i.e., CC, FC, CXX). + Unload any problematic modules (i.e., craype-hugepages2M). + +======================================================================== +II. Obtain HDF5 source +======================================================================== +Obtain HDF5 source code from the HDF5 repository using a git command or +from a release tar file in a working directory: + + git clone https://github.com/HDFGroup/hdf5.git + [-b branch] [source directory] + +If no branch is specified, then the 'develop' version will be checked out. +If no source directory is specified, then the source will be located in the +'hdf5' directory. The CMake scripts expect the source to be in a directory +named hdf5-<version string>, where 'version string' uses the format '1.xx.xx'. +For example, for the current 'develop' version, the "hdf5" directory should +be renamed "hdf5-1.8.22", or for the first hdf5_1_8_22 pre-release version, +it should be renamed "hdf5-1.8.22-pre1". + +If the version number is not known a priori, the version string +can be obtained by running bin/h5vers in the top level directory of the source clone, and +the source directory renamed 'hdf5-<version string>'. + +Release or snapshot tar files may also be extracted and used. + +======================================================================== +III. Using ctest command to build and test +======================================================================== + +The ctest command [1]: + + ctest -S HDF5config.cmake,BUILD_GENERATOR=Unix -C Release -V -O hdf5.log + +will configure, build, test and package HDF5 from the downloaded source +after the setup steps outlined below are followed. + +CMake option variables are available to allow running test programs in batch +scripts on compute nodes and to cross-compile for compute node hardware using +a cross-compiling emulator. The setup steps will make default settings for +parallel or serial only builds available to the CMake command. + + 1. For the current 'develop' version the "hdf5" directory should be renamed + "hdf5-1.8.22". + + 2. Three cmake script files need to be copied to the working directory, or + have symbolic links to them, created in the working directory: + + hdf5-1.8.22/config/cmake/scripts/HDF5config.cmake + hdf5-1.8.22/config/cmake/scripts/CTestScript.cmake + hdf5-1.8.22/config/cmake/scripts/HDF5options.cmake + + should be copied to the working directory. + + 3. The resulting contents of the working directory are then: + + CTestScript.cmake + HDF5config.cmake + HDF5options.cmake + hdf5-1.8.22 + + Additionally, when the ctest command runs [1], it will add a build directory + in the working directory. + + 4. The following options (among others) can be added to the ctest + command [1], following '-S HDF5config.cmake,' and separated by ',': + + HPC=sbatch (or 'bsub' or 'raybsub') indicates which type of batch + files to use for running tests. If omitted, test + will run on the local machine or login node. + + KNL=true to cross-compile for KNL compute nodes on CrayXC40 + (see section IV) + + MPI=true enables parallel, disables c++, java, and threadsafe + + LOCAL_BATCH_SCRIPT_ARGS="--account=<account#>" to supply user account + information for batch jobs + + The HPC options will add BUILD_GENERATOR=Unix for the three HPC options. + An example ctest command for a parallel build on a system using sbatch is + + ctest -S HDF5config.cmake,HPC=sbatch,MPI=true -C Release -V -O hdf5.log + + Adding the option 'KNL=true' to the above list will compile for KNL nodes, + for example, on 'mutrino' and other CrayXC40 machines. + + Changing -V to -VV will produce more logging information in HDF5.log. + + More detailed CMake information can be found in the HDF5 source in + release_docs/INSTALL_CMake.txt. + +======================================================================== +IV. Cross-compiling +======================================================================== +For cross-compiling on Cray, set environment variables CC=cc, FC=ftn +and CXX=CC (for c++) after all compiler modules are loaded since switching +compiler modules may unset or reset these variables. + +CMake provides options for cross-compiling. To cross-compile for KNL hardware +on mutrino and other CrayXC40 machines, add HPC=sbatch,KNL=true to the +ctest command line. This will set the following options from the +config/cmake/scripts/HPC/sbatch-HDF5options.cmake file: + + set (COMPILENODE_HWCOMPILE_MODULE "craype-haswell") + set (COMPUTENODE_HWCOMPILE_MODULE "craype-mic-knl") + set (LOCAL_BATCH_SCRIPT_NAME "knl_ctestS.sl") + set (LOCAL_BATCH_SCRIPT_PARALLEL_NAME "knl_ctestP.sl") + set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DCMAKE_TOOLCHAIN_FILE:STRING=config/toolchain/crayle.cmake") + +On the Cray XC40 the craype-haswell module is needed for configuring, and the +craype-mic-knl module is needed for building to run on the KNL nodes. CMake +with the above options will swap modules after configuring is complete, +but before compiling programs for KNL. + +The sbatch script arguments for running jobs on KNL nodes may differ on CrayXC40 +machines other than mutrino. The batch scripts knl_ctestS.sl and knl_ctestP.sl +have the correct arguments for mutrino: "#SBATCH -p knl -C quad,cache". For +cori, another CrayXC40, that line is replaced by "#SBATCH -C knl,quad,cache". +For cori (and other machines), the values in LOCAL_BATCH_SCRIPT_NAME and +LOCAL_BATCH_SCRIPT_PARALLEL_NAME in the config/cmake/scripts/HPC/sbatch-HDF5options.cmake +file can be replaced by cori_knl_ctestS.sl and cori_knl_ctestS.sl, or the lines +can be edited in the batch files in hdf5-1.8.22/bin/batch. + +======================================================================== +V. Manual alternatives +======================================================================== +If using ctest is undesirable, one can create a build directory and run the cmake +configure command, for example + +"/projects/Mutrino/hpcsoft/cle6.0/common/cmake/3.12/bin/cmake" +-C "<working directory>/hdf5-1.8.22/config/cmake/cacheinit.cmake" +-DCMAKE_BUILD_TYPE:STRING=Release -DHDF5_BUILD_FORTRAN:BOOL=ON +-DHDF5_BUILD_JAVA:BOOL=OFF +-DCMAKE_INSTALL_PREFIX:PATH=<working directory>/HDF_Group/HDF5/1.8.22 +-DHDF5_ENABLE_Z_LIB_SUPPORT:BOOL=OFF -DHDF5_ENABLE_SZIP_SUPPORT:BOOL=OFF +-DHDF5_ENABLE_PARALLEL:BOOL=ON -DHDF5_BUILD_CPP_LIB:BOOL=OFF +-DHDF5_ENABLE_THREADSAFE:BOOL=OFF +-DHDF5_PACKAGE_EXTLIBS:BOOL=ON -DLOCAL_BATCH_TEST:BOOL=ON +-DMPIEXEC_EXECUTABLE:STRING=srun -DMPIEXEC_NUMPROC_FLAG:STRING=-n +-DMPIEXEC_MAX_NUMPROCS:STRING=6 +-DCMAKE_TOOLCHAIN_FILE:STRING=config/toolchain/crayle.cmake +-DLOCAL_BATCH_SCRIPT_NAME:STRING=knl_ctestS.sl +-DLOCAL_BATCH_SCRIPT_PARALLEL_NAME:STRING=knl_ctestP.sl -DSITE:STRING=mutrino +-DBUILDNAME:STRING=par-knl_GCC493-SHARED-Linux-4.4.156-94.61.1.16335.0.PTF.1107299-default-x86_64 +"-GUnix Makefiles" "" "<working directory>/hdf5-1.8.22" + +followed by make and batch jobs to run tests. + +To cross-compile on CrayXC40, run the configure command with the craype-haswell +module loaded, then switch to the craype-mic-knl module for the build process. + +Tests on machines using slurm can be run with + +"sbatch -p knl -C quad,cache ctestS.sl" + +or + +"sbatch -p knl -C quad,cache ctestP.sl" + +for parallel builds. + +Tests on machines using LSF will typically use "bsub ctestS.lsf", etc. + +======================================================================== +VI. Other cross compiling options +======================================================================== +Settings for two other cross-compiling options are also in the config/toolchain +files which do not seem to be necessary with the Cray PrgEnv-* modules + +1. HDF5_USE_PREGEN. This option, along with the HDF5_USE_PREGEN_DIR CMake + variable would allow the use of an appropriate H5Tinit.c file with type + information generated on a compute node to be used when cross compiling + for those compute nodes. The use of the variables in lines 110 and 111 + of HDF5options.cmake file seem to preclude needing this option with the + available Cray modules and CMake option. + +2. HDF5_BATCH_H5DETECT and associated CMake variables. This option when + properly configured will run H5detect in a batch job on a compute node + at the beginning of the CMake build process. It was also found to be + unnecessary with the available Cray modules and CMake options. diff --git a/release_docs/RELEASE.txt b/release_docs/RELEASE.txt index 2b54b44..e4889c2 100644 --- a/release_docs/RELEASE.txt +++ b/release_docs/RELEASE.txt @@ -1,39 +1,34 @@ -HDF5 version 1.8.21 released on 2018-06-04 +HDF5 version 1.8.22 released on 2021-02-05 ================================================================================ +Notice: HDF5 1.8.22 will be followed later in 2021 by HDF5 1.8.23, the final +release of HDF5 1.8. HDF5 1.10 and HDF5 1.12 are currently available. +Detailed information about these releases can be found at: +https://portal.hdfgroup.org/display/HDF5/Release+Specific+Information + INTRODUCTION ============ -This document describes the differences between HDF5-1.8.20 and -HDF5-1.8.21, and contains information on the platforms tested and -known problems in HDF5-1.8.21. -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.21 source code, documentation, and additional materials -can be found on the HDF5 web page at: - - https://support.hdfgroup.org/HDF5/ +This document describes the differences between this release and the previous +HDF5 release. It contains information on the platforms tested and known +problems in this release. For more details check the HISTORY*.txt files in the +HDF5 source. -The HDF5 1.8.21 release can be obtained from: +Note that documentation in the links below will be updated at the time of each +final release. - https://support.hdfgroup.org/HDF5/release/obtain518.html +Links to HDF5 documentation can be found on The HDF5 web page: -User documentation for 1.8.21 can be accessed directly at this location: + https://portal.hdfgroup.org/display/HDF5/HDF5 - https://support.hdfgroup.org/HDF5/doc1.8/ +The official HDF5 releases can be obtained from: -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: + https://portal.hdfgroup.org/display/support/HDF5+1.8.22 - https://support.hdfgroup.org/HDF5/doc/ADGuide/WhatsNew180.html +Changes from Release to Release and New Features in the HDF5-1.8.x release series +can be found at: -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.21 (current -release) versus Release 1.8.20 - - https://support.hdfgroup.org/HDF5/doc1.8/ADGuide/Changes.html + https://portal.hdfgroup.org/display/HDF5/HDF5+Application+Developer%27s+Guide If you have any questions or comments, please send them to the HDF Help Desk: @@ -45,451 +40,618 @@ CONTENTS - New Features - Support for New Platforms, Languages, and Compilers -- Bug Fixes since HDF5-1.8.20 +- Bug Fixes since HDF5-1.8.21 - Supported Platforms - Supported Configuration Features Summary - More Tested Platforms - Known Problems +- CMake vs. Autotools installations New Features ============ - Configuration + Configuration: ------------- - - CMake + - CMake option to build the HDF filter plugins project as an external project - Change minimum version to 3.10. + The HDF filter plugins project is a collection of registered compression + filters that can be dynamically loaded when needed to access data stored + in an hdf5 file. This CMake-only option allows the plugins to be built and + distributed with the hdf5 library and tools. Like the options for szip and + zlib, either a tgz file or a git repository can be specified for the source. - This change removes the need to support a copy of the FindMPI.cmake module, - which has been removed, along with its subfolder in the config/cmake_ext_mod - location. + The option was refactored to use the CMake FetchContent process. This allows + more control over the filter targets, but required external project command + options to be moved to a CMake include file, HDF5PluginCache.cmake. It also + allows the filter examples to be used as tests for operation of the + filter plugins. - (ADB - 2018/03/09) + (ADB - 2020/12/10, OESS-98) - - CMake + - CMake option to use MSVC naming conventions with MinGW - Add pkg-config file generation + HDF5_MSVC_NAMING_CONVENTION option enables using MSVC naming conventions + when using a MinGW toolchain - Added pkg-config file generation for the C, C++, HL, and HL C++ libraries. - In addition, builds on linux will create h5cXXX scripts that use the pkg-config - files. This is a limited implementation of a script like autotools h5cc. + (xan - 2020/10/30) - (ADB - 2018/03/08, HDFFV-4359) + - CMake option to statically link gcc libs with MinGW - - CMake + HDF5_MINGW_STATIC_GCC_LIBS allows statically linking libg/libstdc++ + with the MinGW toolchain - Refactor use of CMAKE_BUILD_TYPE for new variable, which understands - the type of generator in use. + (xan - 2020/10/30) - Added new configuration macros to use new HDF_BUILD_TYPE variable. This - variable is set correctly for the type of generator being used for the build. + - CMake option to build the HDF filter plugins project as an external project - (ADB - 2018/01/08, HDFFV-10385, HDFFV-10296) + The HDF filter plugins project is a collection of registered compression + filters that can be dynamically loaded when needed to access data stored + in an hdf5 file. This CMake-only option allows the plugins to be built and + distributed with the hdf5 library and tools. Like the options for szip and + zlib, either a tgz file or a git repository can be specified for the source. - C++ API - ------- - - The following C++ API wrappers have been added to class H5Location - + H5Lcreate_soft: - // Creates a soft link from link_name to target_name. - void link(const char *target_name, const char *link_name,...) - void link(const H5std_string& target_name,...) + The necessary options are (see the INSTALL_CMake.txt file): + HDF5_ENABLE_PLUGIN_SUPPORT + PLUGIN_TGZ_NAME or PLUGIN_GIT_URL + There are more options necessary for various filters and the plugin project + documents should be referenced. - + H5Lcreate_hard: - // Creates a hard link from new_name to curr_name. - void link(const char *curr_name, const Group& new_loc,...) - void link(const H5std_string& curr_name, const Group& new_loc,...) + (ADB - 2020/10/16, OESS-98) - // Creates a hard link from new_name to curr_name in the same location. - void link(const char *curr_name, const hid_t same_loc,...) - void link(const H5std_string& curr_name, const hid_t same_loc,...) + - Added CMake option to format source files - Note: previous version CommonFG::link will be deprecated. + HDF5_ENABLE_FORMATTERS option will enable creation of targets using the + pattern - HDF5_*_SRC_FORMAT - where * corresponds to the source folder + or tool folder. All sources can be formatted by executing the format target; + make format - + H5Lcopy: - // Copy an object from a group of file to another. - void copyLink(const char *src_name, const Group& dst,...) - void copyLink(const H5std_string& src_name, const Group& dst,...) + (ADB - 2020/09/24) - // Copy an object from a group of file to the same location. - void copyLink(const char *src_name, const char *dst_name,...) - void copyLink(const H5std_string& src_name,...) + - CMake option to link the generated Fortran MOD files into the include + directory. - + H5Lmove: - // Rename an object in a group or file to a new location. - void moveLink(const char* src_name, const Group& dst,...) - void moveLink(const H5std_string& src_name, const Group& dst,...) + The Fortran generation of MOD files by a Fortran compile can produce + different binary files between SHARED and STATIC compiles with different + compilers and/or different platforms. Note that it has been found that + different versions of Fortran compilers will produce incompatible MOD + files. Currently, CMake will locate these MOD files in subfolders of + the include directory and add that path to the Fortran library target + in the CMake config file, which can be used by the CMake find library + process. For other build systems using the binary from a CMake install, + a new CMake configuration can be used to copy the pre-chosen version + of the Fortran MOD files into the install include directory. - // Rename an object in a group or file to the same location. - void moveLink(const char* src_name, const char* dst_name,...) - void moveLink(const H5std_string& src_name,...) + The default will depend on the configuration of + BUILD_STATIC_LIBS and BUILD_SHARED_LIBS: + YES YES Default to SHARED + YES NO Default to STATIC + NO YES Default to SHARED + NO NO Default to SHARED + The defaults can be overriden by setting the config option + HDF5_INSTALL_MOD_FORTRAN to one of NO, SHARED, or STATIC - Note: previous version CommonFG::move will be deprecated. + (ADB - 2020/07/9, HDFFV-11116) - + H5Ldelete: - // Removes the specified link from this location. - void unlink(const char *link_name, - const LinkAccPropList& lapl = LinkAccPropList::DEFAULT) - void unlink(const H5std_string& link_name, - const LinkAccPropList& lapl = LinkAccPropList::DEFAULT) + - CMake option to use AEC (open source SZip) library instead of SZip - Note: An additional parameter is added to CommonFG::unlink and it - is moved to H5Location. + The open source AEC library is a replacement library for SZip. In + order to use it for hdf5 the libaec CMake source was changed to add + "-fPIC" and exclude test files. Autotools does not build the + compression libraries within hdf5 builds. CMake requires new option + USE_LIBAEC to compensate for the different files produced by AEC build. - (BMR - 2018/05/11 - HDFFV-10445) + (ADB - 2020/04/22, OESS-65) - - New property list subclasses + - CMake ConfigureChecks.cmake file now uses CHECK_STRUCT_HAS_MEMBER - Property list subclasses StrCreatPropList, LinkCreatPropList, and - AttrCreatPropList are added for the C property list classes - H5P_STRING_CREATE, H5P_LINK_CREATE, and H5P_ATTRIBUTE_CREATE. + Some handcrafted tests in HDFTests.c has been removed and the CMake + CHECK_STRUCT_HAS_MEMBER module has been used. - (BMR - 2018/05/11 - HDFFV-10445) + (ADB - 2020/03/24, TRILAB-24) - - Another argument, LinkCreatPropList& lcpl, is added to the following - functions for the use of link creation property list. - Group createGroup(const char* name, size_t size_hint = 0, - const LinkCreatPropList& lcpl = LinkCreatPropList::DEFAULT) - Group createGroup(const H5std_string& name, size_t size_hint = 0, - const LinkCreatPropList& lcpl = LinkCreatPropList::DEFAULT) + - Both build systems use same set of warnings flags - (BMR - 2018/05/11 - HDFFV-10445) + GNU C, C++ and gfortran warnings flags were moved to files in a config + sub-folder named gnu-warnings. Flags that only are available for a specific + version of the compiler are in files named with that version. + Clang C warnings flags were moved to files in a config sub-folder + named clang-warnings. + Intel C, Fortran warnings flags were moved to files in a config sub-folder + named intel-warnings. + There are flags in files named "error-xxx" with warnings that may + be promoted to errors. Some source files may still need fixes. + There are also pairs of files named "developer-xxx" and "no-developer-xxx" + that are chosen by the CMake option:HDF5_ENABLE_DEV_WARNINGS or the + configure option:--enable-developer-warnings. -Support for New Platforms, Languages, and Compilers -=================================================== + In addition, CMake no longer applies these warnings for examples. - - Added support for Visual Studio 2017 w/ Intel Fortran 18 on Windows 10 x64. + (ADB - 2020/03/24, TRILAB-192) - -Bug Fixes since HDF5-1.8.20 -=========================== + - Update CMake minimum version to 3.12 - - If an HDF5 file contains a filter pipeline message with a 'number of - filters' field that exceeds the maximum number of allowed filters, - the error handling code will attempt to dereference a NULL pointer. + Updated CMake minimum version to 3.12 and added version checks + for Windows features. - This issue was reported to The HDF Group as issue #CVE-2017-17505. + (ADB - 2020/02/05, TRILABS-142) - NOTE: The HDF5 C library cannot produce such a file. This condition - should only occur in a corrupt (or deliberately altered) file - or a file created by third-party software. + - Fixed CMake include properties for Fortran libraries - This problem arose because the error handling code assumed that - the 'number of filters' field implied that a dynamic array of that - size had already been created and that the cleanup code should - iterate over that array and clean up each element's resources. If - an error occurred before the array has been allocated, this will - not be true. + Corrected the library properties for Fortran to use the + correct path for the Fortran module files. - This has been changed so that the number of filters is set to - zero on errors. Additionally, the filter array traversal in the - error handling code now requires that the filter array not be NULL. + (ADB - 2020/02/04, HDFFV-11012) - (DER - 2018/02/06, HDFFV-10354) + - Added common warnings files for gnu and intel - - If an HDF5 file contains a filter pipeline message which contains - a 'number of filters' field that exceeds the actual number of - filters in the message, the HDF5 C library will read off the end of - the read buffer. + Added warnings files to use one common set of flags + during configure for both autotools and CMake build + systems. The initial implementation only affects a + general set of flags for gnu and intel compilers. - This issue was reported to The HDF Group as issue #CVE-2017-17506. + (ADB - 2020/01/17) - NOTE: The HDF5 C library cannot produce such a file. This condition - should only occur in a corrupt (or deliberately altered) file - or a file created by third-party software. + - Added new options to CMake for control of testing - The problem was fixed by passing the buffer size with the buffer - and ensuring that the pointer cannot be incremented off the end - of the buffer. A mismatch between the number of filters declared - and the actual number of filters will now invoke normal HDF5 - error handling. + Added CMake options (default ON); + HDF5_TEST_SERIAL AND/OR HDF5_TEST_PARALLEL + combined with: + HDF5_TEST_TOOLS + HDF5_TEST_EXAMPLES + HDF5_TEST_FORTRAN + HDF5_TEST_CPP - (DER - 2018/02/26, HDFFV-10355) + (ADB - 2020/01/15, HDFFV-11001) - - If an HDF5 file contains a malformed compound datatype with a - suitably large offset, the type conversion code can run off - the end of the type conversion buffer, causing a segmentation - fault. + - Added Clang sanitizers to CMake for analyzer support if compiler is clang. - This issue was reported to The HDF Group as issue #CVE-2017-17507. + Added CMake code and files to execute the Clang sanitizers if + HDF5_ENABLE_SANITIZERS is enabled and the USE_SANITIZER option + is set to one of the following: + Address + Memory + MemoryWithOrigins + Undefined + Thread + Leak + 'Address;Undefined' - NOTE: The HDF5 C library cannot produce such a file. This condition - should only occur in a corrupt (or deliberately altered) file - or a file created by third-party software. + (ADB - 2019/12/12, TRILAB-135) - THE HDF GROUP WILL NOT FIX THIS BUG AT THIS TIME + - Update CMake for VS2019 support - Fixing this problem would involve updating the publicly visible - H5T_conv_t function pointer typedef and versioning the API calls - which use it. We normally only modify the public API during - major releases, so this bug will not be fixed at this time. + CMake added support for VS2019 in version 3.15. Changes to the CMake + generator setting required changes to scripts. Also updated version + references in CMake files as necessary. - (DER - 2018/02/26, HDFFV-10356) + (ADB - 2019/11/18, HDFFV-10962) - - If an HDF5 file contains a malformed compound type which contains - a member of size zero, a division by zero error will occur while - processing the type. + - Add options to enable or disable building tools and tests - This issue was reported to The HDF Group as issue #CVE-2017-17508. + Configure options --enable-tests and --enable-tools were added for + autotools configure. These options are enabled by default, and can be + disabled with either --disable-tests (or tools) or --enable-tests=no + (or --enable-tools=no). Build time is reduced ~20% when tools are + disabled, 35% when tests are disabled, 45% when both are disabled. + Reenabling them after the initial build requires running configure + again with the option(s) enabled. - NOTE: The HDF5 C library cannot produce such a file. This condition - should only occur in a corrupt (or deliberately altered) file - or a file created by third-party software. + (DAP - 2019/07/24, HDFFV-9976) - Checking for zero before dividing fixes the problem. Instead of the - division by zero, the normal HDF5 error handling is invoked. + - Update CMake tests to use FIXTURES - (DER - 2018/02/26, HDFFV-10357) + CMake test fixtures allow setup/cleanup tests and other dependency + requirements as properties for tests. This is more flexible for + modern CMake code. - - If an HDF5 file contains a malformed symbol table node that declares - it contains more symbols than it actually contains, the library - can run off the end of the metadata cache buffer while processing - the symbol table node. + (ADB - 2019/07/23, HDFFV-10529) - This issue was reported to The HDF Group as issue #CVE-2017-17509. + - Windows PDB files are always installed - NOTE: The HDF5 C library cannot produce such a file. This condition - should only occur in a corrupt (or deliberately altered) file - or a file created by third-party software. + There are build configuration or flag settings for Windows that may not + generate PDB files. If those files are not generated then the install + utility will fail because those PDB files are not found. An optional + variable, DISABLE_PDB_FILES, was added to not install PDB files. - Performing bounds checks on the buffer while processing fixes the - problem. Instead of the segmentation fault, the normal HDF5 error - handling is invoked. + (ADB - 2019/07/17, HDFFV-10424) - (DER - 2018/03/12, HDFFV-10358) + - Add mingw CMake support with a toolchain file + There have been a number of mingw issues that have been linked under + HDFFV-10845. It has been decided to implement the CMake cross-compiling + technique of toolchain files. We will use a linux platform with the mingw + compiler stack for testing. Only the C language is fully supported, and + the error tests are skipped. The C++ language works for static but shared + builds have a shared library issue with the mingw Standard Exception Handling + library, which is not available on Windows. Fortran has a common cross-compile + problem with the fortran configure tests. - Configuration - ------------- - - Library + (ADB - 2019/07/12, HDFFV-10845, HDFFV-10595) + + - Windows PDB files are installed incorrectly - Moved the location of gcc attribute. + For static builds, the PDB files for windows should be installed next + to the static libraries in the lib folder. Also the debug versions of + libraries and PDB files are now correctly built using the default + CMAKE_DEBUG_POSTFIX setting. - The gcc attribute(no_sanitize), named as the macro HDF_NO_UBSAN, - was located after the function name. Builds with GCC 7 did not - indicate any problem, but GCC 8 issued errors. Moved the - attribute before the function name, as required. + (ADB - 2019/07/09, HDFFV-10581) - (ADB 2018/05/22, HDFFV-10473) + - Add option to build only shared libs - - CMake + A request was made to prevent building static libraries and only build + shared. A new option was added to CMake, ONLY_SHARED_LIBS, which will + skip building static libraries. Certain utility functions will build with + static libs but are not published. Tests are adjusted to use the correct + libraries depending on SHARED/STATIC settings. - Update CMake commands configuration. + (ADB - 2019/06/12, HDFFV-10805) - A number of improvements were made to the CMake commands. Most - changes simplify usage or eliminate unused constructs. Also, - some changes support better cross-platform support. + - Change tools tests to search the error stack - (ADB - 2018/02/01, HDFFV-10398) + There are some use cases which can cause the error stack of tools to be + different then the expected output. These tests now use grepTest.cmake; + this was changed to allow the error file to be searched for an expected string. - - CMake + (ADB - 2019/04/15, HDFFV-10741) - Correct usage of CMAKE_BUILD_TYPE variable. + - Add toolchain and cross-compile support - The use of the CMAKE_BUILD_TYPE is incorrect for multi-config - generators (Visual Studio and XCode) and is optional for single - config generators. Created a new macro to check - GLOBAL PROPERTY -> GENERATOR_IS_MULTI_CONFIG - Created two new HDF variable, HDF_BUILD_TYPE and HDF_CFG_BUILD_TYPE. - Defaults for these variables is "Release". + Added info on using a toolchain file to INSTALL_CMAKE.txt. A + toolchain file is also used in cross-compiling, which requires + CMAKE_CROSSCOMPILING_EMULATOR to be set. To help with cross-compiling + the fortran configure process, the HDF5UseFortran.cmake file macros + were improved. Fixed a Fortran configure file issue that incorrectly + used #cmakedefine instead of #define. - (ADB - 2018/01/10, HDFFV-10385) + (ADB - 2018/10/04, HDFFV-10594) - - CMake + - Add warnings flags for Intel compilers - Add replacement of fortran flags if using static CRT. + Identified Intel compiler specific warnings flags that should be used + instead of GNU flags. - Added TARGET_STATIC_CRT_FLAGS call to HDFUseFortran.cmake file in - config/cmake_ext_mod folder. + (ADB - 2018/10/04, TRILABS-21) - (ADB - 2018/01/08, HDFFV-10334) + - Add default rpath to targets + + Default rpaths should be set in shared executables and + libraries to allow the use of loading dependent libraries + without requiring LD_LIBRARY_PATH to be set. The default + path should be relative using @rpath on osx and $ORIGIN + on linux. Windows is not affected. + + (ADB - 2018/09/26, HDFFV-10594) Library ------- - - Utility function can not handle lowercase Windows drive letters + - Improved performance of H5Sget_select_elem_pointlist + + Modified library to cache the point after the last block of points + retrieved by H5Sget_select_elem_pointlist, so a subsequent call to the + same function to retrieve the next block of points from the list can + proceed immediately without needing to iterate over the point list. + + (NAF - 2021/01/19) - Added call to toupper function for drive letter. + - Added S3 and HDFS Virtual File Drivers (VFDs) to HDF5 - (ADB - 2017/12/18, HDFFV-10307) + These new VFDs have been added in HDF5-1.8.22. Instructions to + enable them when configuring HDF5 on Linux and Mac may be found at + https://portal.hdfgroup.org/display/HDF5/Virtual+File+Drivers+-+S3+and+HDFS. + + Installing on Windows requires CMake 3.13 and the following additional setup. + Install openssl library (with dev files); + from "Shining Light Productions". msi package preferred. + + PATH should have been updated with the installation dir. + set ENV variable OPENSSL_ROOT_DIR to the installation dir. + set ENV variable OPENSSL_CONF to the cfg file, likely %OPENSSL_ROOT_DIR%\bin\openssl.cfg + Install libcurl library (with dev files); + download the latest released version using git: https://github.com/curl/curl.git + + Open a Visual Studio Command prompt + change to the libcurl root folder + run the "buildconf.bat" batch file + change to the winbuild directory + nmake /f Makefile.vc mode=dll MACHINE=x64 + copy libcurl-vc-x64-release-dll-ipv6-sspi-winssl dir to C:\curl (installation dir) + set ENV variable CURL_ROOT to C:\curl (installation dir) + update PATH ENV variable to %CURL_ROOT%\bin (installation bin dir). + the aws credentials file should be in %USERPROFILE%\.aws folder + set the ENV variable "HDF5_ROS3_TEST_BUCKET_URL=https://s3.us-east-2.amazonaws.com/hdf5ros3" + + (ADB - 2019/09/12, HDFFV-10854) + + - Allow pre-generated H5Tinit.c and H5make_libsettings.c to be used. + + Rather than always running H5detect and generating H5Tinit.c and + H5make_libsettings.c, supply a location for those files with CMake variables + HDF5_USE_PREGEN and HDF5_USE_PREGEN_DIR. See release_docs/README_HPC + section VI "Other cross compiling options". + + (ADB - 2018/09/18, HDFFV-10332) + + + Parallel Library + ---------------- + - None Tools ----- - - h5repack + - None + + + High-Level APIs + --------------- + - None + + + Fortran API + ----------- + - Corrected INTERFACE INTENT(IN) to INTENT(OUT) for buf_size in h5fget_file_image_f. + + (MSB - 2020/2/18, HDFFV-11029) + + + C++ API + ------- + - None - h5repack changes the chunk parameters when a change of layout is not - specified and a filter is applied. + High-Level APIs + --------------- + - None - HDFFV-10297, HDFFV-10319 reworked code for h5repack and h5diff code - in the tools library. The check for an existing layout was incorrectly - placed into an if block and not executed. The check was moved into - the normal path of the function. - (ADB - 2018/02/21, HDFFV-10412) +Support for New Platforms, Languages, and Compilers +=================================================== - - h5dump + - Added support for macOS High Sierra 10.13.6 with Apple LLVM version 10.0.0 + (clang-1000.10.44.4) and gfortran GNU Fortran (GCC) 6.3.0 + - Added support for macOS Mojave 10.14.6 with Apple LLVM version 10.0.1 + (clang-1001.0.46.4) and gfortran GNU Fortran (GCC) 6.3.0 + - Added support for Intel icc/icpc/ifort version 19.0.4.233 20190416 + - Added support for MPICH 3.3 compiled with GCC 7.2.0 + - Added support for NAG Fortran Compiler Release 7.0(Yurakuchho) Build 7011 + - Added support for OpenMPI 4.0.0 compiled with GCC 7.2.0 + - Added support for Visual Studio 2019 w/ Intel Fortran 19 (cmake) + - Added support for Visual Studio 2019 w/ MSMPI 10.1 (cmake) - the tools library will hide the error stack during file open. - While this is preferable almost always, there are reasons to enable - display of the error stack when a tool will not open a file. Adding an - optional argument to the --enable-error-stack will provide this use case. - As an optional argument it will not affect the operation of the - --enable-error-stack. h5dump is the only tool to implement this change. +Bug Fixes since HDF5-1.8.21 +=========================== - (ADB - 2018/02/15, HDFFV-10384) + Configuration + ------------- + - Correct option for default API version - - h5dump + CMake options for default API version are not mutually exclusive. + Change the multiple BOOL options to a single STRING option with the + strings; v16, v18. - h5dump would output an indented blank line in the filters section. + (ADB - 2019/08/12, HDFFV-10879) - h5dump overused the h5tools_simple_prefix function, which is a - function intended to account for the data index (x,y,z) option. - Removed the function call for header information. + - Fixes Autotools determination of the stat struct having an st_blocks field - (ADB - 2018/01/25, HDFFV-10396) + A missing parenthesis in an autoconf macro prevented building the test + code used to determine if the stat struct contains the st_blocks field. + Now that the test functions correctly, the H5_HAVE_STAT_ST_BLOCKS #define + found in H5pubconf.h will be defined correctly on both the Autotools and + CMake. This #define is only used in the tests and does not affect the + HDF5 C library. - - h5repack + (DER - 2021/07/01, HDFFV-11201) - h5repack incorrectly searched internal object table for name. - h5repack would search the table of objects for a name, if the - name did not match it tried to determine if the name without a - leading slash would match. The logic was flawed! The table - stored names(paths) without a leading slash and did a strstr - of the table path to the name. - The assumption was that if there was a difference of one then - it was a match, however "pressure" would match "/pressure" as - well as "/pressure1", "/pressure2", etc. Changed logic to remove - any leading slash and then do a full compare of the name. + Library + ------- + - Fixed issues CVE-2018-14033 and CVE-2018-11206 - (ADB - 2018/01/18, HDFFV-10393) + h5dump aborted when buffer size was corrupted, causing buffer over-read. - - h5repack + Checks for reading past the end of the buffer were added to prevent + the crashes and h5dump now simply fails with an error message when + this error condition occurs. - h5repack failed to handle command line parameters for customer filters. + (BMR - 2020/12/16, HDFFV-10480 and HDFFV-11159) - User defined filter parameter conversions would fail when integers - were represented on the command line with character strings - larger than 9 characters. Increased local variable array for storing - the current command line parameter to prevent buffer overflows. + - Fixed a segmentation fault - (ADB - 2018/01/17, HDFFV-10392) + A segmentation fault occurred with a Mathworks corrupted file. - - h5diff + A detection of accessing a null pointer was added to prevent the problem. - h5diff seg faulted if comparing VL strings against fixed strings. + (BMR - 2020/12/14, HDFFV-11150) - Reworked solution for HDFFV-8625 and HDFFV-8639. Implemented the check - for string objects of same type in the diff_can_type function by - adding an if(tclass1 == H5T_STRING) block. This "if block" moves the - same check that was added for attributes to this function, which is - used by all object types. This function handles complex type structures. - Also added a new test file in h5diffgentest for testing this issue - and removed the temporary files used in the test scripts. + - Explicitly declared dlopen to use RTLD_LOCAL - (ADB - 2018/01/04, HDFFV-8745) + dlopen documentation states that if neither RTLD_GLOBAL nor + RTLD_LOCAL are specified, then the default behavior is unspecified. + The default on linux is usually RTLD_LOCAL while macos will default + to RTLD_GLOBAL. + (ADB - 2020/08/12, HDFFV-11127) - C++ API - ------- - - Removal of memory leaks + - Fixed issues CVE-2018-13870 and CVE-2018-13869 + + When a buffer overflow occurred because a name length was corrupted + and became very large, h5dump crashed on memory access violation. + + A check for reading past the end of the buffer was added to multiple + locations to prevent the crashes and h5dump now simply fails with an + error message when this error condition occurs. + + (BMR - 2020/7/31, HDFFV-11120 and HDFFV-11121) + + - Fixed the segmentation fault when reading attributes with multiple threads + + It was reported that the reading of attributes with variable length string + datatype will crash with segmentation fault particularly when the number of + threads is high (>16 threads). The problem was due to the file pointer that + was set in the variable length string datatype for the attribute. That file + pointer was already closed when the attribute was accessed. + + The problem was fixed by setting the file pointer to the current opened file pointer + when the attribute was accessed. Similar patch up was done before when reading + dataset with variable length string datatype. + + (VC - 2020/07/13, HDFFV-11080) + + - Fixed CVE-2018-17435 + + The tool h52gif produced a segfault when the size of an attribute + message was corrupted and caused a buffer overflow. + + The problem was fixed by verifying the attribute message's size + against the buffer size before accessing the buffer. h52gif was + also fixed to display the failure instead of silently exiting + after the segfault was eliminated. + + (BMR - 2020/6/19, HDFFV-10591) + + - Fixed user-created data access properties not existing in the property list + returned by H5Dget_access_plist. Thanks to Steven Varga for submitting a + reproducer and a patch. + + (CJH - 2019/12/09, HDFFV-10934) + + - Fixed a bug that could cause an error or cause fill values to be + incorrectly read from a dataset that was written to using H5Dwrite_chunk + if the dataset was not closed after writing. + + (NAF - 2019/03/06, HDFFV-10716) + + - Fixed a potential invalid memory access and failure that could occur when + decoding an unknown object header message (from a future version of the + library). + + (NAF - 2019/01/07) + + - Allow H5detect and H5make_libsettings to take a file as an argument. + + Rather than only writing to stdout, add a command argument to name + the file that H5detect and H5make_libsettings will use for output. + Without an argument, stdout is still used, so backwards compatibility + is maintained. + + (ADB - 2018/09/05, HDFFV-9059) + + + - Inappropriate linking with deprecated MPI C++ libraries + + HDF5 does not define *_SKIP_MPICXX in the public headers, so applications + can inadvertently wind up linking to the deprecated MPI C++ wrappers. + + MPICH_SKIP_MPICXX and OMPI_SKIP_MPICXX have both been defined in H5public.h + so this should no longer be an issue. HDF5 makes no use of the deprecated + MPI C++ wrappers. - A private function was inadvertently called, causing memory leaks. This - is now fixed. + (DER - 2019/09/17, HDFFV-10893) - (BMR - 2018/04/12 - User reported in email) - - Changes in exception classes + Parallel Library + ---------------- + - None - Some exception classes are reorganized to reflect the HDF5 object - hierarchy and allow customization. - DataSetIException -> LocationException -> Exception - DataTypeIException -> LocationException -> Exception - GroupIException -> LocationException -> Exception - AttributeIException -> LocationException -> Exception - FileIException -> GroupIException -> LocationException -> Exception - Member functions in H5Location and H5Object now throw specific exceptions - associated with the invoking objects. - (BMR - 2018/05/11) + Performance + ------------- + - None + + + Tools + ----- + - h5repack was fixed to repack the reference attributes properly. + The code line that checks if the update of reference inside a compound + datatype was misplaced outside the code block loop that carries out the + check. In consequence, the next attribute that is not the reference + type was repacked again as the reference type and caused the failure of + repacking. The fix is to move the corresponding code line to the correct + code block. + + (KY -2020/02/05, HDFFV-11014) + + + - h5repack was fixed to repack datasets with external storage + to other types of storage. + + New test added to repack files and verify the correct data using h5diff. + + (JS - 2019/09/25, HDFFV-10408) + (ADB - 2019/10/02, HDFFV-10918) + + + Fortran API + ----------- + - Added symbolic links libhdf5_hl_fortran.so to libhdf5hl_fortran.so and + libhdf5_hl_fortran.a to libhdf5hl_fortran.a in hdf5/lib directory for + autotools installs. These were added to match the name of the files + installed by CMmake and the general pattern of hl lib files. We will + change the names of the installed lib files to the matching name in + the next major release. + + (LRK - 2019/05/09, HDFFV-10596) + + + C++ API + ------- + - None - - H5Location::closeObjId is made static - (BMR - 2018/05/11) - - H5A wrappers in H5Location are removed as they have been in H5Object. - (BMR - 2018/05/11) + High-Level APIs: + --------------- + - None + + + Packet Table APIs: + ------------------ + - None Supported Platforms =================== -The following platforms are supported and have been tested for this release. -They are built with the configure process unless specified otherwise. - Linux 2.6.32-573.22.1.el6 GNU C (gcc), Fortran (gfortran), C++ (g++) - #1 SMP x86_64 GNU/Linux compilers: - (platypus/mayll) Version 4.4.7 20120313 - Versions 4.9.3, 5.3.0, 6.2.0 - PGI C, Fortran, C++ for 64-bit target on - x86-64; - Version 17.10-0 - Intel(R) C (icc), C++ (icpc), Fortran (icc) - compilers: - Version 17.0.4.196 Build 20160721 - MPICH 3.1.4 compiled with GCC 4.9.3 - OpenMPI 2.0.1 compiled with GCC 4.9.3 + Linux 3.10.0-1127.10.1.el7 gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-39) + #1 SMP ppc64 GNU/Linux g++ (GCC) 4.8.5 20150623 (Red Hat 4.8.5-39) + (echidna) GNU Fortran (GCC) 4.8.5 20150623 (Red Hat 4.8.5-39) - Linux 2.6.32-573.18.1.el6 gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-16) - #1 SMP ppc64 GNU/Linux g++ (GCC) 4.4.7 20120313 (Red Hat 4.4.7-16) - (ostrich) GNU Fortran (GCC) 4.4.7 20120313 (Red Hat 4.4.7-16) - IBM XL C/C++ V13.1 - IBM XL Fortran V15.1 + Linux 2.6.32-573.18.1.el6 IBM XL C/C++ V13.1 + #1 SMP ppc64 GNU/Linux IBM XL Fortran V15.1 + (ostrich) Linux 3.10.0-327.10.1.el7 GNU C (gcc), Fortran (gfortran), C++ (g++) #1 SMP x86_64 GNU/Linux compilers: - (kituo/moohan/jelly Version 4.8.5 20150623 (Red Hat 4.8.5-4) - Versions 4.9.3, 5.3.0, 6.2.0 + (jelly/kituo/moohan) Version 4.8.5 20150623 (Red Hat 4.8.5-39) + Versions 4.9.3, 5.3.0, 6.3.0, 7.2.0 + 8.3.0, 9.1.0, 10.1.0 Intel(R) C (icc), C++ (icpc), Fortran (icc) compilers: - Version 17.0.4.196 Build 20170411 - MPICH 3.1.4 compiled with GCC 4.9.3 - NAG Fortran Compiler Release 6.1(Tozai) Build 6116 - - SunOS 5.11 32- and 64-bit Sun C 5.12 SunOS_sparc - (emu) Sun Fortran 95 8.6 SunOS_sparc - Sun C++ 5.12 SunOS_sparc + Version 17.0.0.098 Build 20160721 + MPICH 3.3 compiled with GCC 7.2.0 + OpenMPI 4.0.0 compiled with GCC 7.2.0 + NAG Fortran Compiler Release 7.0(Yurakuchho) Build 7011 - Windows 7 Visual Studio 2015 w/ Intel Fortran 16 (cmake) + SunOS 5.11 11.4.5.12.5.0 Sun C 5.15 SunOS_sparc 2017/05/30 + 32- and 64-bit Studio 12.6 Fortran 95 8.8 SunOS_sparc 2017/05/30 + (hedgehog) Sun C++ 5.15 SunOS_sparc 2017/05/30 - Windows 7 x64 Visual Studio 2012 w/ Intel Fortran 15 (cmake) - Visual Studio 2013 w/ Intel Fortran 15 (cmake) - Visual Studio 2015 w/ Intel Fortran 16 (cmake) - Visual Studio 2015 w/ Intel C, Fortran 2017 (cmake) - Visual Studio 2015 w/ MSMPI 8 (cmake) + Windows 10 x64 Visual Studio 2015 w/ Intel Fortran 18 (cmake) + Visual Studio 2017 w/ Intel Fortran 19 (cmake) + Visual Studio 2019 w/ Intel Fortran 19 (cmake) + Visual Studio 2019 w/ MSMPI 10.1 (cmake) - Windows 10 Visual Studio 2015 w/ Intel Fortran 16 (cmake) + macOS High Sierra 10.13.6 Apple LLVM version 10.0.0 (clang-1000.10.44.4) + 64-bit gfortran GNU Fortran (GCC) 6.3.0 + (bear) Intel icc/icpc/ifort version 19.0.4.233 20190416 - Windows 10 x64 Visual Studio 2015 w/ Intel Fortran 16 (cmake) - Visual Studio 2017 w/ Intel Fortran 18 (cmake) - - Mac OS X Mavericks 10.9.5 Apple LLVM version 6.0 (clang-600.0.57) - 64-bit gfortran GNU Fortran (GCC) 4.9.2 - (wren/quail) Intel icc/icpc/ifort version 15.0.3 - - Mac OS X Yosemite 10.10.5 Apple LLVM version 6.1 (clang-602.0.53) - 64-bit gfortran GNU Fortran (GCC) 4.9.2 - (osx1010dev/osx1010test) Intel icc/icpc/ifort version 15.0.3 - - Mac OS X El Capitan 10.11.6 Apple LLVM version 7.3.0 (clang-703.0.29) - 64-bit gfortran GNU Fortran (GCC) 5.2.0 - (VM osx1011dev/osx1011test) Intel icc/icpc/ifort version 16.0.2 - - Mac OS Sierra 10.12.6 Apple LLVM version 8.1 (clang-802.0.42) - 64-bit gfortran GNU Fortran (GCC) 7.1.0 - (kite) Intel icc/icpc/ifort version 17.0.2 + macOS Mojave 10.14.6 Apple LLVM version 10.0.1 (clang-1001.0.46.4) + 64-bit gfortran GNU Fortran (GCC) 6.3.0 + (bobcat) Intel icc/icpc/ifort version 19.0.4.233 20190416 Tested Configuration Features Summary @@ -509,19 +671,13 @@ Platform C F90/ F90 C++ zlib SZIP parallel F2003 parallel SunOS 5.11 32-bit n y/y n y y y SunOS 5.11 64-bit n y/y n y y y -Windows 7 y y/y n y y y -Windows 7 x64 y y/y n y y y -Windows 7 Cygwin n y/n n y y y -Windows 7 x64 Cygwin n y/n n y y y Windows 10 y y/y n y y y Windows 10 x64 y y/y n y y y -Mac OS X Yosemite 10.10.5 64-bit n y/y n y y y Mac OS X El Capitan 10.11.6 64-bit n y/y n y y y Mac OS Sierra 10.12.6 64-bit n y/y n y y y -AIX 6.1 32- and 64-bit n y/n n y y y -CentOS 6.7 Linux 2.6.32 x86_64 GNU y y/y y y y y -CentOS 6.7 Linux 2.6.32 x86_64 Intel n y/y n y y y -CentOS 6.7 Linux 2.6.32 x86_64 PGI n y/y n y y y +Mac OS X High Sierra 10.13.6 64-bit n y/y n y y y +Mac OS X Mojave 10.14.6 64-bit n y/y n y y y +CentOS 7.2 Linux 2.10.0 x86_64 PGI n y/y n y y y CentOS 7.1 Linux 3.10.0 x86_64 GNU y y/y y y y y CentOS 7.1 Linux 3.10.0 x86_64 Intel n y/y n y y y Linux 2.6.32-573.18.1.el6.ppc64 n y/n n y y y @@ -530,21 +686,15 @@ Platform Shared Shared Shared Thread- C libs F90 libs C++ libs safe SunOS 5.11 32-bit y y y y SunOS 5.11 64-bit y y y y -Windows 7 y y y y -Windows 7 x64 y y y y -Windows 7 Cygwin n n n y -Windows 7 x64 Cygwin n n n y Windows 10 y y y y Windows 10 x64 y y y y -Mac OS X Yosemite 10.10.5 64-bit y n y y Mac OS X El Capitan 10.11.6 64-bit y n y y Mac OS Sierra 10.12.6 64-bit y n y y -AIX 6.1 32- and 64-bit y n n y -CentOS 6.7 Linux 2.6.32 x86_64 GNU y y y y -CentOS 6.7 Linux 2.6.32 x86_64 Intel y y y y -CentOS 6.7 Linux 2.6.32 x86_64 PGI y y y y -CentOS 7.1 Linux 3.10.0 x86_64 GNU y y y y -CentOS 7.1 Linux 3.10.0 x86_64 Intel y y y y +Mac OS X High Sierra 10.13.6 64-bit y n y y +Mac OS X Mojave 10.14.6 64-bit y n y y +CentOS 7.2 Linux 3.10.0 x86_64 PGI y y y y +CentOS 7.2 Linux 3.10.0 x86_64 GNU y y y y +CentOS 7.2 Linux 3.10.0 x86_64 Intel y y y y Linux 2.6.32-573.18.1.el6.ppc64 y y y y Compiler versions for each platform are listed in the preceding @@ -555,33 +705,110 @@ More Tested Platforms ===================== The following platforms are not supported but have been tested for this release. - Linux 2.6.32-573.22.1.el6 g95 (GCC 4.0.3 (g95 0.94!) + Linux 2.6.32-573.22.1.el6 GNU C (gcc), Fortran (gfortran), C++ (g++) + #1 SMP x86_64 GNU/Linux compilers: + (platypus) Version 4.4.7 20120313 + Versions 4.9.3, 5.3.0, 6.2.0 + PGI C, Fortran, C++ for 64-bit target on + x86-64; + Version 16.10-0 + Intel(R) C (icc), C++ (icpc), Fortran (icc) + compilers: + Version 17.0.0.196 Build 20160721 + MPICH 3.1.4 compiled with GCC 4.9.3 + OpenMPI 2.0.1 compiled with GCC 4.9.3 + + Linux 2.6.32-573.18.1.el6 gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-16) + #1 SMP ppc64 GNU/Linux g++ (GCC) 4.4.7 20120313 (Red Hat 4.4.7-16) + (ostrich) GNU Fortran (GCC) 4.4.7 20120313 (Red Hat 4.4.7-16) + + Linux 3.10.0-327.18.2.el7 GNU C (gcc) and C++ (g++) compilers + #1 SMP x86_64 GNU/Linux Version 4.8.5 20150623 (Red Hat 4.8.5-4) + (jelly) with NAG Fortran Compiler Release 6.1(Tozai) + GCC Version 7.1.0 + OpenMPI 2.1.6-GCC-7.2.0-2.29, + 3.1.3-GCC-7.2.0-2.29 + Intel(R) C (icc) and C++ (icpc) compilers + Version 17.0.0.098 Build 20160721 + with NAG Fortran Compiler Release 6.1(Tozai) + + Linux 3.10.0-327.10.1.el7 MPICH 3.1.4 compiled with GCC 4.9.3 #1 SMP x86_64 GNU/Linux - (mayll) + (moohan) + + Linux-3.10.0-1127.0.0.1chaos openmpi-4.0.0 + #1 SMP x86_64 GNU/Linux clang/3.9.0, 8.0.1 + (quartz) gcc/7.3.0, 8.1.0 + intel/16.0.4 + + Linux-4.14.0-115.10.1.1 spectrum-mpi/rolling-release + #1 SMP ppc64le GNU/Linux clang/coral-2018.08.08 + (lassen) gcc/7.3.1 + xl/2019.02.07 + + Linux-4.12.14-150.52-default cray-mpich/7.7.10 + #1 SMP x86_64 GNU/Linux gcc/7.3.0, 8.2.0 + (cori) intel/19.0.3 + + Linux-4.4.180-94.107-default cray-mpich/7.7.6 + # 1SMP x86_64 GNU/Linux gcc/8.3.0, 9.3.0 + (mutrino) intel/19.0.4 + + Fedora33 5.10.10-200.fc33.x86_64 + #1 SMP x86_64 GNU/Linux GNU gcc (GCC) 10.2.1 20201125 + (Red Hat 10.2.1-9) + GNU Fortran (GCC) 10.2.1 20201125 + (Red Hat 10.2.1-9) + clang version 11.0.0 (Fedora 11.0.0-2.fc33) + (cmake and autotools) + + Ubuntu20.10 5.8.0-41-generic-x86_64 + #46-Ubuntu SMP x86_64 GNU/Linux GNU gcc (GCC) 10.2.0-13ubuntu1 + GNU Fortran (GCC) 10.2.0-13ubuntu1 + (cmake and autotools) + + SUSE15sp2 5.3.18-22-default + #1 SMP x86_64 GNU/Linux GNU gcc (SUSE Linux) 7.5.0 + GNU Fortran (SUSE Linux) 7.5.0 + clang version 7.0.1 + (tags/RELEASE_701/final 349238) + (cmake and autotools) - Debian8.4.0 3.16.0-4-amd64 #1 SMP Debian 3.16.36-1 x86_64 GNU/Linux - gcc (Debian 4.9.2-10) 4.9.2 - GNU Fortran (Debian 4.9.2-10) 4.9.2 - (cmake and autotools) + Mac OS X El Capitan 10.11.6 Apple LLVM version 7.3.0 (clang-703.0.29) + 64-bit gfortran GNU Fortran (GCC) 5.2.0 + (VM osx1011dev/osx1011test) Intel icc/icpc/ifort version 16.0.2 - Fedora24 4.7.2-201.fc24.x86_64 #1 SMP x86_64 x86_64 x86_64 GNU/Linux - gcc (GCC) 6.1.1 20160621 (Red Hat 6.1.1-3) - GNU Fortran (GCC) 6.1.1 20160621 (Red Hat 6.1.1-3) - (cmake and autotools) + Mac OS Sierra 10.12.6 Apple LLVM version 8.1 (clang-802.0.42) + 64-bit gfortran GNU Fortran (GCC) 7.4.0 + (kite) Intel icc/icpc/ifort version 17.0.2 +l - CentOS 7.2 3.10.0-327.28.2.el7.x86_64 #1 SMP x86_64 x86_64 x86_64 GNU/Linux - gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-4) - GNU Fortran (GCC) 4.8.5 20150623 (Red Hat 4.8.5-4) - (cmake and autotools) - Ubuntu 16.04 4.4.0-38-generic #62-Ubuntu SMP x86_64 GNU/Linux - gcc (Ubuntu 5.4.0-6ubuntu1~16.04.2) 5.4.0 - GNU Fortran (Ubuntu 5.4.0-6ubuntu1~16.04.2) 5.4.0 - (cmake and autotools) + macOS Big Sur 11.1 Apple clang version 12.0.0 (clang-1200.0.32.28) + 64-bit gfortran GNU Fortran )Homebrew GCC 10.2.0) 10.2.0 + (BIGSUR-1) Intel icc/icpc/ifort version 2021.1 + + SunOS 5.11 11.3 Sun C 5.15 SunOS_sparc + 32- and 64-bit Sun Fortran 95 8.8 SunOS_sparc + (emu) Known Problems ============== + HDF5-1.8.22 binaries can replace the previous HDF5 version to run with + applications compiled and linked with HDF5-1.8.21 and possibly HDF5 versions + as early as 1.8.15. However, HDF5 checks versions in lib files against + versions in header files used to compile the application and will cause the + application to abort when they do not match. An environment variable + HDF5_DISABLE_VERSION_CHECK can be set to 2 to skip the check, to 1 to warn + but not abort, or to 0 for the default behavior, aborting when the HDF5 + version in the lib files does not match the version in the header files. + LRK - 2020/02/02 + + CMake files do not behave correctly with paths containing spaces. + Do not use spaces in paths because the required escaping for handling spaces + results in very complex and fragile build files. + ADB - 2019/05/07 The dynamically loaded plugin test libraries require undefined references to HDF5 functions to be resolved at runtime in order to function properly. @@ -595,6 +822,50 @@ Known Problems locations in .libs directories. This will be addressed in the next release when support for the Mac OS X 10.13 platform is added. + CPP ptable test fails on both VS2017 and VS2019 with Intel compiler, JIRA + issue: HDFFV-10628. This test will pass with VS2015 with Intel compiler. + + Various tests in dt_arith, fillval, and dtypes failed with core dump + during integer conversion on SunOS 5.11 with Sun C 5.15 SunOS_sparc in + 64-bit mode. It appears that these failures were caused by invalid + alignment, which is under investigation. + Known problems in previous releases can be found in the HISTORY*.txt files in the HDF5 source. Please report any new problems found to help@hdfgroup.org. + + +CMake vs. Autotools installations +================================= +While both build systems produce similar results, there are differences. +Each system produces the same set of folders on linux (only CMake works +on standard Windows); bin, include, lib and share. Autotools places the +COPYING and RELEASE.txt file in the root folder, CMake places them in +the share folder. + +The bin folder contains the tools and the build scripts. Additionally, CMake +creates dynamic versions of the tools with the suffix "-shared". Autotools +installs one set of tools depending on the "--enable-shared" configuration +option. + build scripts + ------------- + Autotools: h5c++, h5cc, h5fc + CMake: h5c++, h5cc, h5hlc++, h5hlcc + +The include folder holds the header files and the fortran mod files. CMake +places the fortran mod files into separate shared and static subfolders, +while Autotools places one set of mod files into the include folder. Because +CMake produces a tools library, the header files for tools will appear in +the include folder. + +The lib folder contains the library files, and CMake adds the pkgconfig +subfolder with the hdf5*.pc files used by the bin/build scripts created by +the CMake build. CMake separates the C interface code from the fortran code by +creating C-stub libraries for each Fortran library. In addition, only CMake +installs the tools library. The names of the szip libraries are different +between the build systems. + +The share folder will have the most differences because CMake builds include +a number of CMake specific files for support of CMake's find_package and support +for the HDF5 Examples CMake project. + diff --git a/release_docs/USING_CMake_Examples.txt b/release_docs/USING_CMake_Examples.txt index 9773e0f..41bdc21 100644 --- a/release_docs/USING_CMake_Examples.txt +++ b/release_docs/USING_CMake_Examples.txt @@ -22,7 +22,7 @@ I. Preconditions 1. We suggest you obtain the latest CMake for windows from the Kitware web site. The HDF5 1.8.x product requires a minimum CMake version - of 3.2.2. + of 3.12. If you are using VS2019, the minimum version is 3.15. 2. You have installed the HDF5 library built with CMake, by executing the HDF Install Utility (the *.msi file in the binary package for @@ -38,22 +38,29 @@ II. Building HDF5 Examples with CMake Files in the HDF5 install directory: HDF5Examples folder + CTestScript.cmake HDF518_Examples.cmake + HDF5_Examples_options.cmake Default installation process: Create a directory to run the examples, i.e. \test_hdf5. Copy HDF5Examples folder to this directory. - Copy HDF5_Examples.cmake to this directory. + Copy CTestScript.cmake to this directory. + Copy HDF518_Examples.cmake to this directory. + Copy HDF5_Examples_options.cmake to this directory. The default source folder is defined as "HDF5Examples". It can be changed with the CTEST_SOURCE_NAME script option. - The default installation folder is defined as "@CMAKE_INSTALL_PREFIX@". + The default installation folder is defined for the platform. It can be changed with the INSTALLDIR script option. + (Note: Windows has issues with spaces and paths -The path will need to + be set correctly.) The default ctest configuration is defined as "Release". It can be changed with the CTEST_CONFIGURATION_TYPE script option. Note that this must be the same as the value used with the -C command line option. The default build configuration is defined to build and use static libraries. - Shared libraries can be used with the STATIC_ONLY script option set to "NO". - Other options can be changed by editing the HDF518_Examples.cmake file. + + Shared libraries and other options can be changed by editing the + HDF5_Examples_options.cmake file. If the defaults are okay, execute from this directory: ctest -S HDF518_Examples.cmake -C Release -V -O test.log @@ -67,9 +74,15 @@ Default installation process: ======================================================================== -III. Other changes to the HDF518_Examples.cmake file +III. Defaults in the HDF5_Examples_options.cmake file ======================================================================== -Line 45-48: uncomment to use a source tarball or zipfile; - Add script option "TAR_SOURCE=MySource.tar". +#### DEFAULT: ### +#### BUILD_SHARED_LIBS:BOOL=OFF ### +#### HDF_BUILD_C:BOOL=ON ### +#### HDF_BUILD_CXX:BOOL=OFF ### +#### HDF_BUILD_FORTRAN:BOOL=OFF ### +#### BUILD_TESTING:BOOL=OFF ### +#### HDF_ENABLE_PARALLEL:BOOL=OFF ### +#### HDF_ENABLE_THREADSAFE:BOOL=OFF ### diff --git a/release_docs/USING_HDF5_CMake.txt b/release_docs/USING_HDF5_CMake.txt index 0261cae..cf1ade1 100644 --- a/release_docs/USING_HDF5_CMake.txt +++ b/release_docs/USING_HDF5_CMake.txt @@ -37,7 +37,7 @@ I. Preconditions 1. We suggest you obtain the latest CMake for windows from the Kitware web site. The HDF5 1.8.x product requires a minimum CMake version - of 3.10.1. + of 3.12. 2. You have installed the HDF5 library built with CMake, by executing the HDF Install Utility (the *.msi file in the binary package for @@ -180,7 +180,7 @@ Given the preconditions in section I, create a CMakeLists.txt file at the source root. Include the following text in the file: ########################################################## -cmake_minimum_required (VERSION 3.10) +cmake_minimum_required (VERSION 3.12) project (HDF5MyApp C CXX) set (LIB_TYPE STATIC) # or SHARED @@ -188,13 +188,13 @@ string(TOLOWER ${LIB_TYPE} SEARCH_TYPE) find_package (HDF5 NAMES hdf5 COMPONENTS C ${SEARCH_TYPE}) # find_package (HDF5) # Find non-cmake built HDF5 -INCLUDE_DIRECTORIES (${HDF5_INCLUDE_DIR}) +set_directory_properties(PROPERTIES INCLUDE_DIRECTORIES "${HDF5_INCLUDE_DIR}") set (LINK_LIBS ${LINK_LIBS} ${HDF5_C_${LIB_TYPE}_LIBRARY}) set (example hdf_example) add_executable (${example} ${PROJECT_SOURCE_DIR}/${example}.c) -TARGET_C_PROPERTIES (${example} ${LIB_TYPE} " " " ") +TARGET_C_PROPERTIES (${example} PRIVATE ${LIB_TYPE}) target_link_libraries (${example} ${LINK_LIBS}) enable_testing () @@ -225,228 +225,6 @@ Also available at the HDF web site is a CMake application framework template. You can quickly add files to the framework and execute the script to compile your application with an installed HDF5 binary. -======================================================================== -ctest use of HDF518_Examples.cmake and HDF5_Examples_options.cmake -======================================================================== - -cmake_minimum_required (VERSION 3.10) -############################################################################################################### -# This script will build and run the examples from a folder -# Execute from a command line: -# ctest -S HDF518_Examples.cmake,OPTION=VALUE -C Release -V -O test.log -############################################################################################################### - -set(CTEST_CMAKE_GENERATOR "@CMAKE_GENERATOR@") -if("@CMAKE_GENERATOR_TOOLSET@") - set(CMAKE_GENERATOR_TOOLSET "@CMAKE_GENERATOR_TOOLSET@") -endif() -set(CTEST_DASHBOARD_ROOT ${CTEST_SCRIPT_DIRECTORY}) - -# handle input parameters to script. -#INSTALLDIR - HDF5 root folder -#CTEST_CONFIGURATION_TYPE - Release, Debug, RelWithDebInfo -#CTEST_SOURCE_NAME - name of source folder; HDF5Examples -if(DEFINED CTEST_SCRIPT_ARG) - # transform ctest script arguments of the form - # script.ctest,var1=value1,var2=value2 - # to variables with the respective names set to the respective values - string(REPLACE "," ";" script_args "${CTEST_SCRIPT_ARG}") - foreach(current_var ${script_args}) - if("${current_var}" MATCHES "^([^=]+)=(.+)$") - set("${CMAKE_MATCH_1}" "${CMAKE_MATCH_2}") - endif() - endforeach() -endif() - -################################################################### -### Following Line is one of [Release, RelWithDebInfo, Debug] ##### -set(CTEST_CONFIGURATION_TYPE "$ENV{CMAKE_CONFIG_TYPE}") -if(NOT DEFINED CTEST_CONFIGURATION_TYPE) - set(CTEST_CONFIGURATION_TYPE "Release") -endif() -set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DCTEST_CONFIGURATION_TYPE:STRING=${CTEST_CONFIGURATION_TYPE}") -################################################################## - -if(NOT DEFINED INSTALLDIR) - set(INSTALLDIR "@CMAKE_INSTALL_PREFIX@") -endif() - -if(NOT DEFINED CTEST_SOURCE_NAME) - set(CTEST_SOURCE_NAME "HDF5Examples") -endif() - -if(NOT DEFINED HDF_LOCAL) - set(CDASH_LOCAL "NO") -else() - set(CDASH_LOCAL "YES") -endif() -if(NOT DEFINED CTEST_SITE) - set(CTEST_SITE "local") -endif() -if(NOT DEFINED CTEST_BUILD_NAME) - set(CTEST_BUILD_NAME "examples") -endif() -set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DSITE:STRING=${CTEST_SITE} -DBUILDNAME:STRING=${CTEST_BUILD_NAME}") - -#TAR_SOURCE - name of tarfile -#if (NOT DEFINED TAR_SOURCE) -# set (CTEST_USE_TAR_SOURCE "HDF5Examples-1.10.1-Source") -#endif () - -############################################################################################################### -if(WIN32) - set(SITE_OS_NAME "Windows") - set(ENV{HDF5_DIR} "${INSTALLDIR}/cmake") - set(CTEST_BINARY_NAME ${CTEST_SOURCE_NAME}\\build) - set(CTEST_SOURCE_DIRECTORY "${CTEST_DASHBOARD_ROOT}\\${CTEST_SOURCE_NAME}") - set(CTEST_BINARY_DIRECTORY "${CTEST_DASHBOARD_ROOT}\\${CTEST_BINARY_NAME}") -else() - set(ENV{HDF5_DIR} "${INSTALLDIR}/share/cmake") - set(ENV{LD_LIBRARY_PATH} "${INSTALLDIR}/lib") - set(CTEST_BINARY_NAME ${CTEST_SOURCE_NAME}/build) - set(CTEST_SOURCE_DIRECTORY "${CTEST_DASHBOARD_ROOT}/${CTEST_SOURCE_NAME}") - set(CTEST_BINARY_DIRECTORY "${CTEST_DASHBOARD_ROOT}/${CTEST_BINARY_NAME}") -endif() -if(${CDASH_LOCAL}) - set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DCDASH_LOCAL:BOOL=ON") -endif() -set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_PACKAGE_NAME:STRING=@HDF5_PACKAGE@@HDF_PACKAGE_EXT@") - -############################################################################################################### -# For any comments please contact help@hdfgroup.org -# -############################################################################################################### - -############################################################################################# -#### Change default configuration of options in config/cmake/cacheinit.cmake file ### -#### format for file: set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DXXX:YY=ZZZZ") ### -############################################################################################# -if(WIN32) - include(${CTEST_SCRIPT_DIRECTORY}\\HDF5_Examples_options.cmake) -else() - include(${CTEST_SCRIPT_DIRECTORY}/HDF5_Examples_options.cmake) -endif() - -#----------------------------------------------------------------------------- -set (CTEST_CMAKE_COMMAND "\"${CMAKE_COMMAND}\"") -## -------------------------- -if (CTEST_USE_TAR_SOURCE) - ## Uncompress source if tar or zip file provided - ## -------------------------- - if (WIN32) - message (STATUS "extracting... [${CMAKE_EXECUTABLE_NAME} -E tar -xvf ${CTEST_USE_TAR_SOURCE}.zip]") - execute_process (COMMAND ${CMAKE_EXECUTABLE_NAME} -E tar -xvf ${CTEST_DASHBOARD_ROOT}\\${CTEST_USE_TAR_SOURCE}.zip RESULT_VARIABLE rv) - else () - message (STATUS "extracting... [${CMAKE_EXECUTABLE_NAME} -E tar -xvf ${CTEST_USE_TAR_SOURCE}.tar]") - execute_process (COMMAND ${CMAKE_EXECUTABLE_NAME} -E tar -xvf ${CTEST_DASHBOARD_ROOT}/${CTEST_USE_TAR_SOURCE}.tar RESULT_VARIABLE rv) - endif () - - if (NOT rv EQUAL 0) - message (STATUS "extracting... [error-(${rv}) clean up]") - file (REMOVE_RECURSE "${CTEST_SOURCE_DIRECTORY}") - message (FATAL_ERROR "error: extract of ${CTEST_SOURCE_NAME} failed") - endif () -endif () - -#----------------------------------------------------------------------------- -## Clear the build directory -## -------------------------- -set (CTEST_START_WITH_EMPTY_BINARY_DIRECTORY TRUE) -if (EXISTS "${CTEST_BINARY_DIRECTORY}" AND IS_DIRECTORY "${CTEST_BINARY_DIRECTORY}") - ctest_empty_binary_directory (${CTEST_BINARY_DIRECTORY}) -else () - file (MAKE_DIRECTORY "${CTEST_BINARY_DIRECTORY}") -endif () - -# Use multiple CPU cores to build -include (ProcessorCount) -ProcessorCount (N) -if (NOT N EQUAL 0) - if (NOT WIN32) - set (CTEST_BUILD_FLAGS -j${N}) - endif () - set (ctest_test_args ${ctest_test_args} PARALLEL_LEVEL ${N}) -endif () -set (CTEST_CONFIGURE_COMMAND - "${CTEST_CMAKE_COMMAND} -C \"${CTEST_SOURCE_DIRECTORY}/config/cmake/cacheinit.cmake\" -DCMAKE_BUILD_TYPE:STRING=${CTEST_CONFIGURATION_TYPE} ${BUILD_OPTIONS} \"-G${CTEST_CMAKE_GENERATOR}\" \"${CTEST_SOURCE_DIRECTORY}\"" -) - -#----------------------------------------------------------------------------- -## -- set output to english -set ($ENV{LC_MESSAGES} "en_EN") - -#----------------------------------------------------------------------------- -configure_file (${CTEST_SOURCE_DIRECTORY}/config/cmake/CTestCustom.cmake ${CTEST_BINARY_DIRECTORY}/CTestCustom.cmake) -ctest_read_custom_files ("${CTEST_BINARY_DIRECTORY}") -## NORMAL process -## -------------------------- -ctest_start (Experimental) -ctest_configure (BUILD "${CTEST_BINARY_DIRECTORY}") -if (LOCAL_SUBMIT) - ctest_submit (PARTS Configure Notes) -endif () -ctest_build (BUILD "${CTEST_BINARY_DIRECTORY}" APPEND) -if (LOCAL_SUBMIT) - ctest_submit (PARTS Build) -endif () -ctest_test (BUILD "${CTEST_BINARY_DIRECTORY}" APPEND ${ctest_test_args} RETURN_VALUE res) -if (LOCAL_SUBMIT) - ctest_submit (PARTS Test) -endif () -if (res GREATER 0) - message (FATAL_ERROR "tests FAILED") -endif () -#----------------------------------------------------------------------------- -############################################################################################################## - -############################################################################################################## -#### HDF5_Examples_options.cmake ### -#### Change default configuration of options in config/cmake/cacheinit.cmake file ### -############################################################################################################## -############################################################################################# -#### Change default configuration of options in config/cmake/cacheinit.cmake file ### -#### format: set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DXXX:YY=ZZZZ") ### -#### DEFAULT: ### -#### BUILD_SHARED_LIBS:BOOL=OFF ### -#### HDF_BUILD_C:BOOL=ON ### -#### HDF_BUILD_CXX:BOOL=OFF ### -#### HDF_BUILD_FORTRAN:BOOL=OFF ### -#### BUILD_TESTING:BOOL=OFF ### -#### HDF_ENABLE_PARALLEL:BOOL=OFF ### -#### HDF_ENABLE_THREADSAFE:BOOL=OFF ### -############################################################################################# - -### uncomment/comment and change the following lines for other configuration options -### build with shared libraries -#set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DBUILD_SHARED_LIBS:BOOL=ON") - -############################################################################################# -#### languages #### -### disable C builds -#set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF_BUILD_C:BOOL=OFF") - -### enable C++ builds -#set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF_BUILD_CXX:BOOL=ON") - -### enable Fortran builds -#set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF_BUILD_FORTRAN:BOOL=ON") - -############################################################################################# -### enable parallel program builds -#set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF_ENABLE_PARALLEL:BOOL=ON") - -############################################################################################# -### enable threadsafe program builds -#set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF_ENABLE_THREADSAFE:BOOL=ON") - -############################################################################################# -### enable test program builds, requires reference files in testfiles subdirectory -#set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DBUILD_TESTING:BOOL=ON") -#set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DCOMPARE_TESTING:BOOL=ON") - -############################################################################################# - - ======================================================================== For further assistance, send email to help@hdfgroup.org diff --git a/release_docs/USING_HDF5_VS.txt b/release_docs/USING_HDF5_VS.txt index b098f12..3fd0453 100644 --- a/release_docs/USING_HDF5_VS.txt +++ b/release_docs/USING_HDF5_VS.txt @@ -12,34 +12,62 @@ be found in the USING_HDF5_CMake.txt file found in this folder. NOTE: Building applications with the dynamic/shared hdf5 libraries requires that the "H5_BUILT_AS_DYNAMIC_LIB" compile definition be used. -The following two sections are helpful if you choose to not use CMake to build +The following two sections are helpful if you do not use CMake to build your applications. Consult the Microsoft documentation for your product for more information. -======================================================================== -Using Visual Studio with HDF5 Libraries -======================================================================== +============================================================================================== +Using Visual Studio 2010 and above with HDF5 Libraries built with Visual Studio 2010 and above +============================================================================================== + + 1. Set up path for external libraries and headers + + The path settings will need to be in the project property sheets per project. + Go to "Project" and select "Properties", find "Configuration Properties", + and then "VC++ Directories". - 1. The HDF5 binary must match with your Visual Studio version + 1.1 If you are building on 64-bit Windows, find the "Platform" dropdown + and select "x64". + + 1.2 Add the header path to the "Include Directories" setting. + + 1.3 Add the library path to the "Library Directories" setting. + + 1.4 Select Linker->Input and beginning with the + "Additional Dependencies" line, enter the library names. The + external libraries should be listed first, followed by the HDF5 + library, and then optionally the HDF5 High Level, Fortran or C++ + libraries. For example, to compile a C++ application, enter: + + szip.lib zlib.lib hdf5.lib hdf5_cpp.lib + + +========================================================================== +Using Visual Studio 2008 with HDF5 Libraries built with Visual Studio 2008 +========================================================================== 2. Set up the path for external libraries and headers - Follow the Microsoft guidelines for adding third-party libraries. + Invoke Microsoft Visual Studio and go to "Tools" and select "Options", + find "Projects", and then "VC++ Directories". - 2.1 If you are building on 64-bit Windows, be sure the binary is - built for the your intended "Platform"; 64-bit or 32-bit. + 2.1 If you are building on 64-bit Windows, find the "Platform" dropdown + and select "x64". - 2.2 Add the header path (i.e. c:\Program Files\HDF_Group\HDF5\1.8.x\include) - to the included directories settings. + 2.2 Find the box "Show directories for", choose "Include files", add the + header path (i.e. c:\Program Files\HDF_Group\HDF5\1.8.x\include) + to the included directories. - 2.3 Add the library path (i.e. c:\Program Files\HDF_Group\HDF5\1.8.x\lib) + 2.3 Find the box "Show directories for", choose "Library files", add the + library path (i.e. c:\Program Files\HDF_Group\HDF5\1.8.x\lib) to the library directories. 2.4 If using Fortran libraries, you will also need to setup the path for the Intel Fortran compiler. - 2.5 Enter the library names into the linker "Additional Dependencies" line. - The external libraries should be listed first, followed by the HDF5 + 2.5 Select Project->Properties->Linker->Input and beginning with the + "Additional Dependencies" line, enter the library names. The + external libraries should be listed first, followed by the HDF5 library, and then optionally the HDF5 High Level, Fortran or C++ libraries. For example, to compile a C++ application, enter: @@ -52,13 +80,9 @@ Using Visual Studio with HDF5 Libraries 3.1 FAQ Many other common questions and hints are located online and being updated - in the HDF5 FAQ. For Windows-specific questions, please see: - - http://support.hdfgroup.org/HDF5/faq/windows.html - - For all other general questions, you can look in the general FAQ: + in the HDF Knowledge Base, please see: - http://support.hdfgroup.org/HDF5/HDF5-FAQ.html + https://portal.hdfgroup.org/display/knowledge/HDF+Knowledge+Base ************************************************************************ Please send email to help@hdfgroup.org for further assistance. |