diff options
Diffstat (limited to 'release_docs')
-rw-r--r-- | release_docs/COPYING | 13 | ||||
-rw-r--r-- | release_docs/HISTORY-1_0-1_8_0_rc3.txt | 8985 | ||||
-rw-r--r-- | release_docs/HISTORY-1_10.txt | 1367 | ||||
-rw-r--r-- | release_docs/HISTORY-1_8.txt | 12344 | ||||
-rw-r--r-- | release_docs/HISTORY-1_8_0-1_10_0.txt | 1742 | ||||
-rw-r--r-- | release_docs/INSTALL | 720 | ||||
-rw-r--r-- | release_docs/INSTALL_CMake.txt | 988 | ||||
-rw-r--r-- | release_docs/INSTALL_Cygwin.txt | 269 | ||||
-rw-r--r-- | release_docs/INSTALL_Windows.txt | 18 | ||||
-rw-r--r-- | release_docs/INSTALL_parallel | 382 | ||||
-rw-r--r-- | release_docs/RELEASE.txt | 730 | ||||
-rw-r--r-- | release_docs/USING_CMake_Examples.txt | 75 | ||||
-rw-r--r-- | release_docs/USING_HDF5_CMake.txt | 425 | ||||
-rw-r--r-- | release_docs/USING_HDF5_VS.txt | 91 |
14 files changed, 28149 insertions, 0 deletions
diff --git a/release_docs/COPYING b/release_docs/COPYING new file mode 100644 index 0000000..6497ace --- /dev/null +++ b/release_docs/COPYING @@ -0,0 +1,13 @@ + + Copyright by The HDF Group and + The Board of Trustees of the University of Illinois. + All rights reserved. + + The files and subdirectories in this directory are part of HDF5. + 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 + 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 new file mode 100644 index 0000000..964d374 --- /dev/null +++ b/release_docs/HISTORY-1_0-1_8_0_rc3.txt @@ -0,0 +1,8985 @@ +HDF5 HISTORY +============ +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 i +the HDF5 1.8.0 release). + +CONTENTS + +22. Changes from 1.6.0 to 1.8.0-rc3 +21. Release Information for hdf5-1.6.7 +20. Release Information for hdf5-1.6.6 +19. Release Information for hdf5-1.6.5 +18. Release Information for hdf5-1.6.4 +17. Release Information for hdf5-1.6.3 +16. Release Information for hdf5-1.6.2 +15. Release Information for hdf5-1.6.1 +14. Release Information for hdf5-1.6.0 +13. Release Information for hdf5-1.4.5 +12. Release Information for hdf5-1.4.4 +11. Release Information for hdf5-1.4.3 +10. Release Information for hdf5-1.4.2 +9. Release Information for hdf5-1.4.1 +8. Release Information for hdf5-1.4.0 +7. Release Information for hdf5-1.2.2 +6. Release Information for hdf5-1.2.1 +5. Release Information for hdf5-1.2.0 +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 + Second Alpha 1.0.0 Release + +[Search on the string '%%%%' for per-release section breaks.] + +%%%%1.8.0-rc3%%%% Changes from 1.6.0 to 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. +For more details check the HISTORY.txt file in the HDF5 source. + + +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: + http://www.hdfgroup.uiuc.edu/HDF5/doc_1.8pre/doc/ + +New features of the upcoming 1.8.0 release are described in +the "What's New in 1.8.0?" document: + http://www.hdfgroup.uiuc.edu/HDF5/doc_1.8pre/WhatsNew180.html + +New and modified APIs are described briefly in + http://www.hdfgroup.uiuc.edu/HDF5/doc_1.8pre/WhatsNew180.html +and will be listed in the "HDF5 Software Changes" document: + http://www.hdfgroup.uiuc.edu/HDF5/doc_1.8pre/doc/ADGuide/Changes.html + + + +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: + + help@hdfgroup.org + + +CONTENTS + +- New Features +- Support for new platforms and languages +- Bug Fixes since HDF5-1.6.0 +- Platforms Tested +- Known Problems + + +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. + - Changed default fortran compiler to g95 when gcc is used. - AKC + 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 + - 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 + - If both shared and static libraries are installed, now both will be + 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 + - Remove the flexible parallel code and the --enable-fphdf5 + 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. + - 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 + - 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 + - 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 + - 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 + 2. Decrease size of CVS tree by adding all.zip + 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. + - 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 + - Prefix default is changed from /usr/local to `pwd`/hdf5. + AKC - 2003/07/09 + + Library: + -------- + - Removed size restrictions on attributes, when using the "latest" + version of the file format. - QAK - 2007/02/21 + - 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 + 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 + 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. + - QAK - 2006/11/27 + - Added new H5Gget_info() routine to query the information about a + group by name. + - QAK - 2006/11/27 + - Added new H5Oget_info_by_idx() routine to query the information about + an object in a group according to the order within an index. + - QAK - 2006/11/26 + - Added new H5Oget_info() routine to query the information about an + object in a group by name. + - QAK - 2006/11/26 + - Added new H5Oopen_by_idx() routine to open an object in a group + according to the order within an index. + - QAK - 2006/11/20 + - Added new H5Literate() routine to iterate over links in a group + according to the order within an index. + - QAK - 2006/11/20 + - Added new H5Ldelete_by_idx() routine to delete a link according to + the order within an index. + - QAK - 2006/11/13 + - Added new H5Lget_val_by_idx() routine to query the value of a soft link + according to the order within an index. + - QAK - 2006/11/13 + - Added new H5Lget_name_by_idx() routine to query the name of a link + according to the order within an index. + - QAK - 2006/11/12 + - Added new H5Rget_name() routine to determine the name of the object + that a reference points to, as long as the object is still + reachable in the group hierarchy. + - QAK - 2006/11/10 + - Added new H5Lget_info_by_idx() routine to query the link information + according to the order within an index. + - QAK - 2006/11/10 + - Added feature to H5Iget_name to allow retrieving the name of any + object's ID, as long as the object is still reachable in the + group hierarchy. + - LA - 2006/11/01 + - Added External and User-defined links. + External links are links from one HDF5 file to another; they + require both the name of the file and a path within that file. + User-defined links allow users to supply callback functions + for link traversals, allowing links to exhibit essentially + any behavior. + External links are a kind of user-defined link, so their default + behavior can be overridden by the user. + -JML 2006/8/23 + - Added H5Oopen and H5Oclose for opening objects of unknown type + (as link callback functions do). + -JML 2006/8/23 + - Added H5Oopen_by_addr, H5Oincr_refcount, and H5Odecr_refcount for + opening objects by address. Be very careful with these! + -JML 2006/8/23 + - 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 + 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 + found a cycle (previously this defaulted to 16). + 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. + + "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>. + + 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. + + KY - 2006/02/16 + - 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 + datatype used in the implementation of irregular + 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, + please edit powerpc-ibm-aix5.x under 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 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 + 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 + or more processes to have no contributions to IO. + 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 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 + - 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 + - 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 + adjustment. The size can be increased and decreased(without + 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, + H5Eset_auto, H5Eget_auto. Their new equivalent functions are + called H5Epush_stack, H5Eprint_stack, H5Ewalk_stack, + 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 + binary buffer. SLU - 2004/07/21 + - 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 + - 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 + - SZIP always uses K13 compression. This flag no longer needs to + be set when calling H5Pset_szip. If the flag for CHIP + compression is set, it will be ignored (since the two are mutually + exclusive). JL/NF - 2004/6/30 + - A new API function H5Fget_name was added. It returns the name + of the file by object(file, group, data set, named data type, + attribute) ID. SLU - 2004/06/29 + - 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 + 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 + element) was added. SLU - 2004/3/24 + - Data type conversion(software) from integer to float was added. + SLU - 2004/3/13 + - Data type conversion(software) from float to integer was added. + 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 + - Added new 'compare' callback parameter to H5Pregister & H5Pinsert + routines. QAK - 2004/01/07 + - Data type conversion(hardware) between integers and floats was added. + SLU 2003/11/21 + - New function H5Iget_file_id() was added. It returns file ID given + an object(dataset, group, or attribute) ID. SLU 2003/10/29 + - Added new fields to the H5G_stat_t for more information about an + 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 - + 2003/09/24 + - Changed 'objno' field in H5G_stat_t structure from 'unsigned long[2]' + to 'haddr_t'. QAK - 2003/08/08 + - Changed 'fileno' field in H5G_stat_t structure from 'unsigned long[2]' + to 'unsigned long'. QAK - 2003/08/08 + - Changed 'hobj_ref_t' type from structure with array field to 'haddr_t'. + QAK - 2003/08/08 + - Object references (hobj_ref_t) can now be compared with the 'objno' + field in the H5G_stat_t struct for testing if two objects are the + same within a file. QAK - 2003/08/08 + - Switched over to new error API. SLU - 2003/07/25 + + 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. + - 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. + AKC - 2003/11/13 + - Added parallel test, test_mpio_1wMr, which tests if the + underlaying parallel I/O system is conforming to the POSIX + write/read requirement. AKC - 2003/11/12 + + Fortran Library: + ---------------- + - 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 2004/07/08 + - h5dwrite/read_f and h5awrite/read_f functions only accept dims parameter + 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). + 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. + EIP 2005/09/8 + + C++ Library: + ---------------- + - added support for shared C++ libraries. -JML 2005/09/20 + - 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. + H5::IdComponent::getHDFObjType + BMR - 2005/08/08 + + + 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 + - 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 + - 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 the new nbit and scaleoffset filters. + 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 + - h5repack: added support for reading and repacking by hyperslabs for + 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 + - 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 + - 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 + - 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 + - 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. + - 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 + - new tool, h5jam. See reference manual. 2004/10/08 + - h5repack.sh did not report errors encountered during tests. It does + now. AKC - 2004/04/02 + - Added the MPI-I/O and MPI-POSIX drivers to the list of VFL drivers + 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 + - Install the "h5cc" and "h5fc" tools as "h5pcc" and "h5pfc" + respectively if library is built in parallel mode. + WCW - 2003/11/04 + - Added metadata benchmark (perform/perf_meta). SLU - 2003/10/03 + - Changed output of "OID"s from h5dump from "<number>-<number>" to + "<number". This affects both the "regular" and XML output. + QAK - 2003/08/08 + - Changed output of file IDs and "OID"s from h5ls from + "<number>:<number>:<number>:<number>" to "<number>:<number>" + QAK - 2003/08/08 + + High-Level APIs: + ------ + - 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 + - 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 + 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 + 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 + 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 + + +Support for new platforms, languages and compilers. +======================================= + - Added support for Free-BSD on amd64 with GNU C and Fortran compilers + 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) + 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. + EIP - 2006/06/22 + - Added support for VAX floating numbers for Alpha Open VMS 7.3.2 + EIP - 2006/05/05 + - Fixed broken make.com files in tools directories + EIP - 2006/05/05 + - Added support for Alpha Open VMS 7.3.2 EIP - 2006/04/15 + - Added support for Cray X1. JML - 2005/10/03 + - PGI Fortran compiler is supported on Linux64 systems (x86_64) + EIP - 2004/08/19 + - Absoft compiler f95 v9.0 supported on Linux 2.4 + 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. + - HDF5 Fortran APIs are supported on MAC OSX with Absoft F95 compiler + version 8.2; set F9X environment varibale to f95, for example + setenv F9X f95 + Use --disable-shared --enable-static configure flags when Absoft + compiler is used. + EIP - 2004/07/27 + - HDF5 Fortran APIs are supported on MAC OSX with IBM XL Fortran + Compiler version 8.1 Use "--disable-shared --enable-static" + configure flags along with the "--enable-fortran" flag to build + Fortran library. EIP - 2004/01/07 + +Bug Fixes since HDF5-1.6.0 release +================================== + + Library + ------- + - 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 + correct object header information instead of issuing an error. + Previous "strict" file format interpretation can be enabled with + the "--enable-strict-format-checks" configure option. + QAK - 2008/01/13 + - Fixed several bugs with writing fill values for datasets that have + a variable-length datatype or component datatype. QAK - 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 system. + SLU - 2007/4/5 + - Fixed a bug in H5Sselect_valid() that caused an incorrect value to + be returned (0) instead of FAIL on error conditions such as the + selection or extent not being defined. CMC - 2007/01/17 + - Fixed the MULTI driver problem (Bug #731) that corruptted the data. + SLU - 2007/1/12 + - Fixed file corruption bug which could write an incorrect number of + messages to an object's header under certain circumstances. + Generally, the sequence of actions to generate this bug looks + like this: + - Create an object + - Close the file + - Re-open the file + - Add 2 (or more) attributes to the object + - Close the file + - Re-open the file + - Delete one of the attributes on the object + - Add a smaller attribute to the object + - Delete the smaller atttribute on the object + - Add a larger attribute on the object + + After this, the number of header messages stored for the object + will be off by one. Other sequences of modifying attributes on an + object could also trigger this bug. If you are opening an + object and the bottom few messages of the HDF5 error stack + resembles this, 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 + 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 + major(12): Object header layer + minor(40): Unable to load metadata into cache + + Specifically, "corrupt object header" is the best string to search + for in the HDF5 error stack output. + + If your files have been affected by this bug, or you are concerned + that your files might have been, please contact the HDF Helpdesk + at help@hdfgroup.org for a tool to detect and repair files + affected by this problem. QAK - 2006/6/16 + - Fixed various problems with retrieving names of objects, especially + with mounted files. QAK - 2005/12/25 + - Fixed core dump when closing root groups opened through two different + file handles that operate on the same actual file. QAK - 2005/10/02 + - Corrected errors when performing various operations on a group opened + by dereferencing an object reference. QAK - 2005/07/30 + - Fixed a bug with named datatypes where a copy of a named datatype + used to create a dataset would accidentally use the original + named datatype for the dataset's datatype. QAK - 2005/07/23 + - Made H5Fget_name() be consistent and always return name of actual + file the ID is in. (Instead of the name of the top file in a + file mounting hierarchy). QAK - 2005/07/19 + - Reworked internal file mounting semantics to hopefully eliminate + mounting problems. We now require that files that are mounting + together all have the same "file close degree". QAK - 2005/07/19 + - More bug fixes on holding open files that are mounted and have + IDs open. QAK - 2005/07/14 + - Don't unmount child files until the parent file actually closes. + (Previously, if an object is holding open a file, the child files + would get unmounted too early). QAK - 2005/07/05 + - 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 + - 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 + - Corrected memory leak and possible corruption when opening a group. + QAK - 2005/06/17 + - Added check for opaque datatype tags being too long (check against + H5T_OPAQUE_TAG_MAX, currently set to 256). QAK - 2005/06/14 + - Fixed various errors in maintaining names for open objects in the + face of unusual mount & unmount operations. QAK - 2005/06/08 + - "SEMI" and "STRONG" file close degree settings now apply only to the + 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 + - Fixed error in opening object in group that was opened in mounted + 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 - + 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 + - 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 + - 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. + 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 + - 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 + - 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 + - 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 equivalment 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 + - 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 + - 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 + - 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 + - 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 + - Fixed bug in H5Sset_extent_simple where setting maximum size to + 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 + - Calling H5Gcreate() on "/" or "." throws an error instead of + 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 + - Fixed bug where "resurrecting" a dataset was failing. + QAK - 2004/07/14 + - Fixed bug where incorrect data could be read from a chunked dataset + after it was extended. QAK - 2004/07/12 + - Fixed failure to read data back from file of compound type with + 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 + change it's starting address. QAK - 2004/06/09 + - Opaque datatype with no tag failed for some operations. Fixed. + 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 + - Fixed problem with fletcher32 filter when converting data of different + 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 + B-tree (used with groups and chunked datasets) to become corrupt + with the right sequence of deleted objects. QAK - 2004/01/19 + - Fixed small internal memory leaks of fill-value information. + QAK - 2004/01/13 + - Fixed bug that caused variable-length datatypes (strings or sequences) + used for datasets in files with objects that were unlinked to + fail to be read/written to a file. QAK - 2004/01/13 + - Detect situation where szip 'pixels per block' is larger than the + fastest changing dimension of a dataset's chunk size and disallow + this (due to limits in szip library). QAK - 2003/12/31 + - Fixed bug with flattened hyperslab selections that would generate + incorrect hyperslab information with certain high-dimensionality + combinations of start/stride/count/block information. + QAK - 2003/12/31 + - Fixed bug with variable-length datatypes used in compound datatypes. + SLU - 2003/12/29 + - Fixed bug in parallel I/O routines that would cause reads from + "short datasets" (datasets which were only partially written out) + to return invalid data. QAK & AKC - 2003/12/19 + - Fixed bug where scalar dataspaces for attributes were reporting as + simple dataspaces. QAK - 2003/12/13 + - Fixed problem with selection offsets of hyperslab selections in + chunked datasets causing the library to go into an infinite loop. + QAK - 2003/12/13 + - Fixed H5Giterate to avoid re-using index parameter after iteration + callback has been called (allows iteration callback to modify the + index parameter itself). QAK - 2003/12/06 + - Fixed various floating-point conversion problems, including a + change which could corrupt data when converting from double->float. + QAK - 2003/11/24 + - Changed "single process" metadata writing in library to collective + I/O by all processes, in order to guarantee correct data being + written with MPI-I/O. QAK - 2003/11/20 + - Fixed problems with fill values and variable-length types and also + I/O on VL values that were set to NULL. QAK - 2003/11/08 + - Fixed problems with MPI datatypes that caused ASCI Q machine to + hang. QAK - 2003/10/28 + - Removed HDF5_MPI_PREFER_DERIVED_TYPES environment variable support, + since it had no benefit. QAK - 2003/10/28 + - Single hyperslab selections (which were set with only one call to + H5Sselect_hyperslab) that had dimensions that could be "flattened" + 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)) + EIP - 2003/10/13 + - Fixed problems with accessing variable-length data datatypes on + Crays. QAK - 2003/10/10 + - Fixed potential file corruption bug when too many object header + messages (probably attributes, from a user perspective) were + inserted into an object header and certain other conditions were + met. QAK - 2003/10/08 + - Changed implementation of internal ID searching algorithm to avoid + O(n) behavior for many common cases. QAK - 2003/10/06 + - Allow partial parallel writing to compact datasets. QAK - 2003/10/06 + - Correctly create reference to shared datatype in attribute, instead + of making a copy of the shared datatype in the attribute. + QAK - 2003/10/01 + - Revert changes which caused files >2GB to fail when created with + MPI-I/O file driver on certain platforms. QAK - 2003/09/16 + - Allow compound datatypes to grow in size. SLU - 2003/09/10 + - Detect if a type is already packed before attempting to pack it + again or check if it is locked. SLU - 2003/09/10 + - Corrected bug when opening a file twice with read-only permission + for one open and then closing the read-only access file ID would + generate an error. QAK - 2003/09/10 + - Corrected bug in repeated calls to H5Pget_access_plist() which would + incorrectly manage reference counts of internal information and + eventually blow up. QAK - 2003/09/02 + - Return rank of the array datatype on successful call to + H5Tget_array_dims(). QAK - 2003/08/30 + - Corrected bug in H5Tdetect_class which was not correctly detecting + datatype classes of fields in nested compound datatypes in some + circumstances. QAK - 2003/08/30 + - Corrected bug in sieve buffer code which could cause loss of data + when a small dataset was created and deleted in quick succession. + QAK - 2003/08/27 + - Corrected bug in H5Gget_objname_by_idx which was not allowing NULL + for the name when just querying for the object name's length. + QAK - 2003/08/25 + - Corrected bug in variable-length string handling which could + generate a core dump on writing variable-length strings as part + of a compound datatype on certain architectures. QAK - 2003/08/25 + - Corrected bug in H5Tget_native_type which would incorrectly compute + the size of certain compound datatypes and also incorrectly + compute the offset of the last field for those compound datatypes. + QAK - 2003/08/25 + - Corrected bug in H5Tget_native_type which would drop string datatype + metadata (padding, etc.) QAK - 2003/08/25 + - Corrected bugs in H5Gget_num_objs, H5Gget_objname_by_idx and + H5Gget_objtype_by_idx to allow them to accept location IDs, not just + group IDs. QAK - 2003/08/21 + - Corrected bug when using scalar dataspace for memory selection and + operating on chunked dataset. QAK - 2003/08/18 + - Corrected bugs with multiple '/' characters in names for H5Glink + and H5Gunlink. QAK - 2003/08/16 + - Corrected bug with user blocks that didn't allow a user block to + be inserted in front of a file after the file was created. + QAK - 2003/08/13 + - Corrected errors with using point selections to access data in + chunked datasets. QAK - 2003/07/23 + - Corrected error with variable-length datatypes and chunked datasets + caused H5Dwrite to fail sometimes. QAK - 2003/07/19 + - Modified library and file format to support storing indexed storage + (chunked dataset) B-tree's with non-default internal 'K' values. + QAK - 2003/07/15 + - Returned H5T_BKG_TEMP support to library after it was accidentally + removed. QAK - 2003/07/14 + + Configuration + ------------- + - 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 + - Fixed the error that cause "make install" to fail because of the + macro definition syntax of "prefix?=..." AKC - 2003/07/22 + + Performance + ------------- + - Optimized I/O for enumerated datatypes that are a superset of source + enumerated datatype. QAK - 2005/03/19 + - More optimizations to inner loops of datatype conversions for + integers and floats which give a 10-50% speedup. QAK - 2003/11/07 + - Hoisted invariant 'if/else's out of inner datatype conversion loop for + integer and floating-point values, giving about a 20% speedup. + QAK - 2003/10/20 + + Tools + ----- + - Fixed h5dump regarding the display of blocks in hyperslab + 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 + - Fixed h5dump & h5ls to display attributes in "name" order, rather + 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 + - 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 + - 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 + - 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 + - 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 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 + ------------- + + + F90 APIs + -------- + - h5pget_driver_f was returning information that could not be + interpreted by fortran application program; fixed. EIP - 2005/04/10 + + +Platforms Tested +================ +Platforms marked with * were not tested for hdf5-1.8.0-rc* release +(This information is somewhat out of date and may be inaccurate. It will be + updated for a later release) + +* AIX 5.2 (32/64 bit) xlc 8.0.0.11 + xlC 8.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 + xlC 7.0.0.8 + xlf 09.01.0000.0007 +* Cray X1 water 3.0.35 Cray Standard C Version 5.4.0.7.4 + Cray Fortran 5.4.0.7.3 + Cray C++ 5.4.0.7.4 + FreeBSD 6.2-STABLE i386 gcc 3.4.6 [FreeBSD] 20060305 + (duty) g++ 3.4.6 [FreeBSD] 20060305 + gcc 4.2.1 20080123 + g++ 4.2.1 20080123 + gfortran 4.2.1 20070620 + FreeBSD 6.2-STABLE amd64 gcc 3.4.6 [FreeBSD] 20060305 + (liberty) g++ 3.4.6 [FreeBSD] 20060305 + gcc 4.2.1 20080123 + g++ 4.2.1 20080123 + gfortran 4.2.1 20080123 + +* HP-UX B.11.23 HP aC++/ANSI C B3910B A.06.00 + 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 + 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 + (osage) + Linux 2.6.9-42.0.10 gcc 3.4.6 20060404 + (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, 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 + SMP ia64 Intel(R) C++ 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 + Sun WorkShop 6 update 2 C++ 5.3 +* 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 + Xeon Linux 2.4.21-32.0.1.ELsmp-perfctr-lustre + (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 + 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 + + 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 + + +Supported Configuration Features Summary +(This table was not modified for 1.8.0-rc* release; for information contact help@hdfgroup.org) +======================================== + + In the tables below + y = tested and supported + n = not supported or not tested in this release + x = not working in this release + dna = does not apply + ( ) = footnote appears below second table + <blank> = testing incomplete on this feature or platform + +Platform C F90 F90 C++ zlib SZIP + parallel parallel +SunOS5.8 64-bit n y n y y y +SunOS5.8 32-bit n y n y y y +SunOS5.10 64-bit y(1) y n y y y +SunOS5.10 32-bit y(1) y n y y y +IRIX64_6.5 64-bit n y y y y y +IRIX64_6.5 32-bit n n n n y y +Cray XT3 (16) n n n n n n +AIX-5.2 & 5.3 32-bit y y y y y y +AIX-5.2 & 5.3 64-bit y y y y y y +Windows XP n y(15) n(15) y y y +Windows XP x64 n y(15) n(15) y y y +Windows Vista n n n y y y +Mac OS X 10.4 PowerPC n n +FreeBSD 4.11 n n n y y y +RedHat EL3 W (3) y(1a) y(10) y(1a) y y y +RedHat EL3 W Intel (3) n y n y y n +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 + Lustre Intel (3,6) n y n y y n +Linux 2.6 SuSE ia64 C + Intel (3,7) y y y y y n +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 +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 + + 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. + W or C indicates workstation or cluster, respectively. + + (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 + (9) With Compaq Visual Fortran 6.6c compiler. + (10) With PGI and Absoft compilers. + (11) PGI and Intel compilers for both C and Fortran + (12) AMD Opteron x86_64 + (13) ifort + (14) Yes with C and Fortran, but not with C++ + (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. + + + +Known Problems +============== +* 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, + 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 + 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. + + Change the following line in your code: + H5Pset_dxpl_mpio(xfer_plist, H5FD_MPIO_COLLECTIVE); + + to + H5Pset_dxpl_mpio(xfer_plist, H5FD_MPIO_INDEPENDENT); + + KY - 2007/08/24 + +* 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. +* 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 +* 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. +* 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 + HDF5 data generated on VAX. Scaleoffset filter only supports 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, we found that if more than two processes + contribute no IO and the application asks to do IO with collective, we found + 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 + 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 + 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 + 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. +* 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". 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 if there are many old /tmp/s.pedb.* 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 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 + flag "--instantiate=local" prior to the configure and build steps, as: + setenv CXX "pgCC --instantiate=local" for pgCC 5.02 and higher + + +* 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 + 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 this option. + + It is suggested that you don't use this option on these platforms + during configuration. + +* With the gcc 2.95.2 compiler, HDF 5 uses the `-ansi' flag during + compilation. The ANSI version of the compiler complains about not being + 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 Stream VFD was not tested yet under Windows. It is not supported + in the TFLOPS machine. + + +* The ./dsets tests failed in the TFLOPS machine if the test program, + dsets.c, is compiled with the -O option. The hdf5 library still works + correctly with the -O option. The test program works fine if it is + compiled with -O1 or -O0. Only -O (same as -O2) causes the test + program to fail. + +* Certain platforms give false negatives when testing h5ls: + - Cray J90 and Cray T90IEEE give errors during testing when displaying + some floating-point values. These are benign differences due to + 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 + 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: + ftp://www.hdfgroup.uiuc.edu/pub/outgoing/hdf5/hdf5-1.8.0-pre/PATCH/ + +* 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. 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 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) + +* On IA32 and IA64 systems, if you use a compiler other than GCC (such as + Intel's ecc or icc compilers), you will need to modify the generated + "libtool" program after configuration is finished. On or around line 104 of + the libtool file, there are lines which look like: + + # How to pass a linker flag through the compiler. + wl="" + + change these lines to this: + + # How to pass a linker flag through the compiler. + wl="-Wl," + + UPDATE: This is now done automatically by the configure script. However, if + you still experience a problem, you may want to check this line in the + libtool file and make sure that it has the correct value. + +* Information about building with PGI and Intel compilers is available in + 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 + any executable that was compiled with the parallel compilers. + + 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. + + 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 + 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. + + 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. + + #!/bin/csh + + set STDOUT_FILE=~/bin/serial_filter.stdout + set STDERR_FILE=~/bin/serial_filter.stderr + + rm -f $STDOUT_FILE $STDERR_FILE + + ($* > $STDOUT_FILE) >& $STDERR_FILE + + set RETURN_VALUE=$status + + cat $STDOUT_FILE + + tail +3 $STDERR_FILE + + 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 + "unsetenv RUNSERIAL" before running configure for a serial build. + + 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 + get the serial tests to run at all. + + In such cases, you will have to include the regular prefix in your + filter script. + +* H5Ocopy() does not copy reg_ref attributes correctly when shared-message + is turn on. The value of the reference in the destination attriubte is + wrong. This H5Ocopy problem will affect h5copy tool + +%%%%1.6.7%%%% Release Information for hdf5-1.6.7 (31/January/08) + +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 +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: + + ftp://ftp.hdfgroup.org/HDF5/docs/ + +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/ + +For more information, see the HDF5 home page: + + http://hdfgroup.org/products/hdf5/ + +If you have any questions or comments, please see the HDF Support page +for a list of available resources: + + http://hdfgroup.org/services/support.html + + +CONTENTS +======== +- New Features +- Support for New Platforms, Languages and Compilers +- Bug Fixes since HDF5-1.6.6 +- Documentation +- Platforms Tested +- Supported Configuration Features Summary +- Known Problems + + +New Features +============ + Configuration: + ------------------------- + '--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. + + Source code distribution + ======================== + Library: + -------- + 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 + removed. + + Parallel Library: + ----------------- + None + + Tools: + ------ + None + + F90 API: + -------- + None + + C++ API: + -------- + None + + +Support for New Platforms, Languages and Compilers +================================================== + +No new platorms, languages, or compilers are supported in this release. + + +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 + - 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 + correct object header information instead of issuing an error. + Previous "strict" file format interpretation can be enabled with + the "--enable-strict-format-checks" configure option. + QAK - 2008/01/13 + - Fixed bug in H5Epush() which was clearing the error stack before + pushing new error value. QAK - 2007/08/23 + - Fixed bug in H5Ewalk() which was not passing back the return value + from error stack walking callback. QAK - 2007/08/23 + + + Configuration + ------------- + None + + + Performance + ------------- + None + + + Tools + ----- + None + + + Documentation + ------------- + None + + + F90 API + ------- + None + + + C++ API + ------- + None + + +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: + + ftp://ftp.hdfgroup.org/HDF5/docs/ + + 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/ + + A listing of interface changes from release to release can be found + 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 + ENUM value H5FD_STREAM have been removed from the documentation. + + +Platforms Tested +================ + + AIX 5.2 (32/64 bit) xlc 8.0.0.11 + (datastar) xlC 8.0 + xlf 10.01.0000.0002 + + FreeBSD 6.2 (32- and 64-bit) gcc and g++3.4.6 + (duty and liberty) gcc and g++ 4.2.1 + + IRIX64 6.5 MIPSpro cc 7.4.4m + (ucar mop1 64 & n32) F90 MIPSpro 7.4.4m (64 only) + C++ MIPSpro cc 7.4.4m + + Linux 2.4.21-47.ELsmp #1 SMP gcc 3.2.3 + i686 i386 GNU/Linux + (osage) + + 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 + 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!) + + 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) + + 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 + (smirom) PGI C, Fortran, C++ Version 7.0-7 + for 64-bit target on x86-64 + tested for both 32- and 64-bit binaries + + Linux 2.6.5-7.287.3-sn2 #1 Intel(R) C++ Version 9.0 + Altix SMP ia64 Intel(R) Fortran Itanium(R) Version 9.0 + (cobalt) SGI MPI + + SunOS 5.8 32- and 64-bit Sun WorkShop 6 update 2 C 5.3 + (sol) Sun WorkShop 6 update 2 Fortran 95 6.2 + Sun WorkShop 6 update 2 C++ 5.3 + + 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 + + Xeon Linux 2.4.21-32.0.1.ELsmp-perfctr-lustre + (tungsten) Intel(R) C++ Version 9.0 + Intel(R) Fortran Compiler Version 9.0 + PGI C Version 6.0-5 + PGI C++ Version 6.0-5 + PGI Fortran Version 6.0-5 + gcc (GCC) 3.2.2 (Red Hat Linux 3.2.2-5) + + Xeon Linux 2.6.9-42.0.10.EL_lustre-1.4.10.1smp + (abe) Intel(R) C++ Version 10.0 + Intel(R) Fortran Compiler Version 10.0 + Open MPI 1.2.2 + + IA-64 Linux 2.4.21-309.tg1 #1 SMP + ia64 gcc (GCC) 3.2.2 + (NCSA tg-login) Intel(R) C++ Version 8.1 + Intel(R) Fortran Compiler Version 8.1 + mpich-gm-1.2.6..14-intel-r2 + + Windows XP Visual Studio 6.0 + Visual Studio .NET (with Intel Fortran 9.1) + Visual Studio 2005 (with Intel Fortran 9.1) + cygwin (gcc 3.4.4) + + Windows Vista Visual studio 2005 + MAC OS X Intel Darwin 8.10.1 + i686-apple-darwin8-gcc-4.0.1 (GCC) 4.0.1 + g95 0.91 + + +Supported Configuration Features Summary +======================================== + +Key: y = Tested and supported + n = Not supported or not tested in this release + C = Cluster + W = Workstation + ( ) = Footnote appears below second table + +Platform C F90 F90 C++ zlib SZIP + parallel parallel +Solaris2.8 32-bit n y n y n y +Solaris2.8 64-bit n y n n y y +Solaris2.10 32-bit n y n y y y +Solaris2.10 64-bit n y n n y y +IRIX64_6.5 32-bit n n n n y y +IRIX64_6.5 64-bit n y n n y y +WinXP Visual Studio 6.0 n n n y y y +WinXP CYGWIN n n n y y y +WinXP 2005 n y n y y y +WinXP .Net n y n y y y +WinVista 2005 n n n y y y +Mac OS X 10.4.10 n y n y y y +AIX-5.2 & 5.3 32- and 64-bit y y y y y y +FreeBSD 6.2 32- and 64-bit n n n y y y +RedHat Linux 2.4.21 W n n n n y n +RedHat Linux 2.6.9-42 i686 GNU (1) W y y y y y y +RedHat Linux 2.6.9-42 i686 Intel W n y n y y n +RedHat Linux 2.6.9-42 i686 PGI W n y n y y n +SuSE Linux 2.6.16 x86_64 GNU (1) W y y n y y y +SuSE Linux 2.6.16 x86_64 Intel W n y n y y n +SuSE Linux 2.6.16 x86_64 PGI W n y n y y n +RHEL 4 Linux 2.6.9 Xeon Lustre C n y n y y y +RedHat Linux 2.4 Xeon Lustre C n y n y y n +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, +compilers used are the system compilers. + +Footnotes: +(1) Fortran compiled with g95. + + +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, + 1) MPI_Get_element returns the wrong value. + 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 + IO instead. + + To avoid this problem, change the following line in your code: + H5Pset_dxpl_mpio(xfer_plist, H5FD_MPIO_COLLECTIVE); + + 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 + does not include the -lmpi properly. This will be fixed in the next + release. AKC - 2007/08/07. + +* On IRIX64 6.5 (UCAR SGI mop1), when testing HDF5 tools with an HDF5 shared + library, especially for h5repacktst and h52gifgentst, the following (or a + similar) error message may appear: + "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. + + 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. + + For 32-bit: + You may do this, under csh: + setenv LD_LIBRARYN32_PATH .......(existing paths):[full path of HDF5 + directory/test/.libs]:[full path of HDF5 directory/src/.libs] + + For 64-bit: + 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 + 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". AKC - 2007/7/12. + +* The Intel C Compiler for the Linux x86_64 platform (EM64T-based, v8.1) has + an optimization error in the datatypes conversion code. Before running + 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. + +* 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 + 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 + 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 + 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. + +* test/big fails sometimes with the message "Possible overlap with another + region." The test selects regions randomly, and this error occurs when + two regions overlap each other; it is a bug in the test and not in + 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 + 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 + +* 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 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 + to run poe without the debug socket. + +* The h5dump tests may fail to match the expected output on some platforms + (e.g. parallel jobs, Windows) where the error messages directed to + "stderr" do not appear in the "right order" with output from stdout. + This is not an error. + +* 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 Solaris are available in a static format. + + The --enable-static-exec configure flag also fails to correctly compile + on the IBM SP2 platform for the serial mode. The parallel mode works fine + with this option. + + 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. + +* Use the --disable-shared configure flag if building with an Absoft Fortran + compiler. + +* Information about building with PGI and Intel compilers is available in + INSTALL file sections 5.7 and 5.8. + +* In LANL QSC, the new cc compiler has problems converting small values of + 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 + system staff. + + All other tests have passed. + +* On at least one system, SDSC DataStar, the scheduler (in this case + 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 + many of the tool tests function by saving the output from test runs, + 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 + 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. + + Observe that the basic idea is to insert the script as the first item + on the command line which executes the test. The script then + executes the test and filters out the offending text before passing + it on. + + #!/bin/csh + + set STDOUT_FILE=~/bin/serial_filter.stdout + set STDERR_FILE=~/bin/serial_filter.stderr + + rm -f $STDOUT_FILE $STDERR_FILE + + ($* > $STDOUT_FILE) >& $STDERR_FILE + + set RETURN_VALUE=$status + + cat $STDOUT_FILE + + tail +3 $STDERR_FILE + + exit $RETURN_VALUE + + You get the HDF5 make files and test scripts 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 + "unsetenv RUNSERIAL" before running configure for a serial build. + + 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 + get the serial tests to run at all. + + In such cases, you will have to include the regular prefix in your + filter script. JM - 2004/9/15 + +%%%%1.6.6%%%% Release Information for hdf5-1.6.6 (16/August/08) + +HDF5 version 1.6.6 released on Thu Aug 16 11:17:10 CDT 2007 +================================================================================ + +INTRODUCTION +============ +This document describes the differences between HDF5-1.6.5 and +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) +ftp server (ftp.hdfgroup.org) in the directory: + + /HDF5/docs/ + +Documentation for the current release is also on the HDF web site: + + http://hdfgroup.org/HDF5/doc/ + +For more information, see the HDF5 home page at: + + http://hdfgroup.org/HDF5/ + +If you have any questions or comments, please send them to: + + help@hdfgroup.org + + +CONTENTS +======== +- New Features +- Support for New Platforms, Languages and Compilers +- Bug Fixes since HDF5-1.6.5 +- Documentation +- Platforms Tested +- Supported Configuration Features Summary +- Known Problems + + +New Features +============ + Configuration: + ------------------------- + - HDF5 now uses autoconf 2.61 to generate configure. MAM - 2007/7/25. + + Source code distribution + ======================== + Library: + -------- + - None + + 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. + 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. + PVN - 2007/03/01 + - 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 + large files. PVN - 2007/02/20 + - h5diff: Added printing of dataset dimensions along with dataset + name. + PVN - 2007/02/19 + + F90 API: + -------- + - None + + C++ API: + -------- + - Added support for Szip: DSetCreatPropList::setSzip - BMR 2007/01/24 + + +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 + (32- and 64-bit) + + +Bug Fixes since HDF5-1.6.5 Release +================================== + + Library + ------- + - Fixed several bugs with writing fill values for datasets that have + a variable-length datatype or component datatype. QAK - +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 + 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 + operation will occur on the root group of the file. + QAK - 2007/02/09 + - Fixed a bug in H5Sselect_valid() that caused an incorrect value to + be returned (0) instead of FAIL on error conditions such as the + selection or extent not being defined. CMC - 2007/01/05 + - 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 + 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 + messages to an object's header under certain circumstances. + Generally, the sequence of actions to generate this bug looks + like this: + - Create an object. + - Close the file. + - Re-open the file. + - Add 2 (or more) attributes to the object. + - Close the file. + - Re-open the file. + - Delete one of the attributes on the object. + - Add a smaller attribute to the object. + - Delete the smaller atttribute on the object. + - Add a larger attribute on the object. + + After this, the number of header messages stored for the object + will be off by one. Other sequences of modifying attributes on an + object could also trigger this bug. If you are opening an + object and the bottom few messages of the HDF5 error stack + 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 + 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 + major(12): Object header layer + minor(40): Unable to load metadata into cache + + Specifically, "corrupt object header" is the best string to search + for in the HDF5 error stack output. + + If your files have been affected by this bug, or you are concerned + that your files might have been, please contact the HDF Helpdesk + at help@hdfgroup.org for a tool to detect and repair files + affected by this problem. QAK - 2006/6/16 + + - Fixed various problems with retrieving names of objects, especially + with mounted files. QAK - 2005/12/25 + + Configuration + ------------- + - 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. + AKC - 007/5/9. + - 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 + + 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. + PVN - 2007/03/13 + - 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. + + F90 API + ------- + - None + + C++ API + ------- + - Changed + StrType::StrType(const size_t& size); + to + StrType::StrType(const int dummy, const size_t& size); + because the first one clashed with + StrType::StrType(const hid_t existing_id); - BMR 2007/05/03 + - 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) + IdComponent::void reference(void* ref, const char* name) + IdComponent::reference(void* ref, const H5std_string& name) + and will remove these incorrect member functions: + DataSet::Reference + DataType::Reference + Group::Reference + H5File::Reference + - Added wrappers for H5Rdereference as constructors: + DataSet(IdComponent& obj, void* ref); + Group(IdComponent& obj, void* ref); + DataType(IdComponent& obj, void* ref); + + +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 (ftp.hdfgroup.org) in the directory: + + /HDF5/docs/ + + Online documentation for the current release can be found on the THG + web site: + + http://hdfgroup.org/HDF5/doc/ + + +Platforms Tested +================ + + AIX 5.2 (32/64 bit) xlc 6.0.0.8 + (datastar) xlC 6.0.0.9 + xlf 8.1.1.7 + mpcc_r 6.0.0.8 + mpxlf_r 8.1.1.7 + + AIX 5.3 (32/64 bit) xlc 7.0.0.0 + (copper) xlC 7.0. + xlf 9.1.0.3 + + FreeBSD 6.2 (32- and 64-bit) gcc and g++3.4.6 + (duty and liberty) gcc and g++ 4.2.1 + + HP-UX B.11.23 HP aC++/ANSI C B3910B A.06.02 + (sirius) HP F90 v3.1 (32-bit only) + HP aC++/ANSI C B3910B A.06.02 + + IRIX64 6.5 MIPSpro cc 7.4.4m + (ucar mop1 64 & n32) F90 MIPSpro 7.4.4m (64 only) + C++ MIPSpro cc 7.4.4m + + Linux 2.4.21-47.ELsmp #1 SMP gcc 3.2.3 + i686 i386 GNU/Linux + (osage) + + 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 + 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!) + + 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 + + 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 + (smirom) PGI C, Fortran, C++ Version 6.2-5 + for 64-bit target on x86-64 + tested for both 32- and 64-bit binaries + + 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 + (See "Known Problems.") HP Fortran V5.5A-3548 + Compaq C++ V6.5-036 + MPIX200_64_r13.4 + + SunOS 5.8 32- and 64-bit Sun WorkShop 6 update 2 C 5.3 + (sol) Sun WorkShop 6 update 2 Fortran 95 6.2 + Sun WorkShop 6 update 2 C++ 5.3 + + 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 + + Xeon Linux 2.4.21-32.0.1.ELsmp-perfctr-lustre + (tungsten) Intel(R) C++ Version 9.0 + Intel(R) Fortran Compiler Version 9.0 + PGI C Version 6.0 + PGI C++ Version 6.0 + PGI Fortran Version 6.0 + gcc (GCC) 3.2.2 (Red Hat Linux 3.2.2-5) + + Xeon Linux 2.6.9-42.0.10.EL_lustre-1.4.10.1smp + (abe) Intel(R) C++ Version 10.0 + Intel(R) Fortran Compiler Version 10.0 + Open MPI 1.2.2 + + IA-64 Linux 2.4.21.SuSE_292.til1 + ia64 gcc (GCC) 3.2.2 + (NCSA tg-login) Intel(R) C++ Version 8.0 + Intel(R) Fortran Compiler Version 8.0 + mpich-gm-1.2.5..10-intel-r2 + + Windows XP Visual Studio 6.0 + Visual Studio .NET (with Intel Fortran 9.0) + Visual Studio 2005 (with Intel Fortran 9.0) + cygwin (gcc 3.4.4) + + MAC OS X Intel Darwin 8.10.1 + i686-apple-darwin8-gcc-4.0.1 (GCC) 4.0.1 + g95 0.91 + + +Supported Configuration Features Summary +======================================== + +Key: y = Tested and supported + n = Not supported or not tested in this release + C = Cluster + W = Workstation + ( ) = Footnote appears below second table + +Platform C F90 F90 C++ zlib SZIP + parallel parallel +Solaris2.8 32- and 64-bit n y n y y y +Solaris2.10 32- and 64-bit n y n y y y +IRIX64_6.5 32-bit n n n n y y +IRIX64_6.5 64-bit n y n n y y +HPUX11.23-32bit n y n y y y +HPUX11.23-64bit n n n y y y +WinXP Visual Studio 6.0 n n n y y y +WinXP CYGWIN n n n y y y +WinXP 2005 n y n y y y +WinXP .Net n y n y y y +Mac OS X 10.4.10 n y n y y y +AIX-5.2 & 5.3 32- and 64-bit y y y y y y +FreeBSD 6.2 32- and 64-bit n n n y y y +RedHat Linux 2.4.21 W n n n y y y +SuSE Linux 2.6.9-42 i686 GNU (1) W y y y y y y +SuSE Linux 2.6.9-42 i686 Intel W n y n y y y +SuSE Linux 2.6.9-42 i686 PGI W n y n y y y +SuSE Linux 2.6.16 x86_64 GNU (1) W y y y y y y +SuSE Linux 2.6.16 x86_64 Intel W n y n y y y +SuSE Linux 2.6.16 x86_64 PGI W n y n y y y +RHEL 4 Linux 2.6.9 Xeon Lustre C y y y y y y +RedHat Linux 2.4 Xeon Lustre C n y n y y y +SuSE Linux 2.4 ia64 C y y y y y y +SuSe Linux 2.6.16 SGI Altix ia64 n y n y y y +SuSe Linux 2.6.5 SGI Altix ia64 n y n y y y +OSF1 v5.1 y y y y y n + + +Platform Shared static- Thread- STREAM- + libraries(4) exec safe VFD +Solaris2.8 32- and 64-bit y n y y +Solaris2.10 32- and 64-bit y n y y +IRIX64_6.5 32-bit y n y y +IRIX64_6.5 64-bit y n y y +HPUX11.23-32bit y (3) n n y +HPUX11.23-64bit y (3) n n y +WinXP Visual Studio 6.0 y n n n +WinXP CYGWIN y n n n +WinXP 2005 y n n n +WinXP .Net y n n n +Mac OS X 10.4.10 y n n y +AIX-5.2 & 5.3 32- and 64-bit n n n y +FreeBSD 6.2 32- and 64-bit y n n y +RedHat Linux 2.4.21 W y n n y +SuSE Linux 2.6.9-42 i686 GNU (1) W y n y y +SuSE Linux 2.6.9-42 i686 Intel W y n n y +SuSE Linux 2.6.9-42 i686 PGI W n n n y +SuSE Linux 2.6.16 x86_64 GNU (1) W y n n y +SuSE Linux 2.6.16 x86_64 Intel W y n n y +SuSE Linux 2.6.16 x86_64 PGI W n n n y +RHEL 4 Linux 2.6.9 Xeon Lustre C y n n y +RedHat Linux 2.4 Xeon Lustre C y n n y +SuSE Linux 2.4 ia64 C y n n y +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, +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, + except on Windows where they are provided for C, C++, and Fortran. +(3) C++ works only with static libraries. + + +Known Problems +============== +* QSC (an HP alpha-based OSF1 cluster) does not create h5pfc correctly. It + does not include the -lmpi properly. This will be fixed in the next + release. AKC - 2007/08/07. + +* On IRIX64 6.5 (UCAR SGI mop1), when testing HDF5 tools with an HDF5 shared + library, especially for h5repacktst and h52gifgentst, the following (or + similar) error message may appear: + "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. + 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. + + For 32-bit: + You may do this, under csh: + setenv LD_LIBRARYN32_PATH .......(existing pathes):[full path of HDF5 + directory/test/.libs]:[full path of HDF5 directory/src/.libs] + + For 64-bit: + 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 + 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". AKC - 2007/7/12. + +* The Intel C Compiler for the Linux x86_64 platform (EM64T-based, v8.1) has + an optimization error in the datax types conversion code. Before running + 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. + +* 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 + 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 + 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 + 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. + +* test/big fails sometimes with the message "Possible overlap with another + region." The test selects regions randomly, and this error occurs when + two regions overlap each other; it is a bug in the test and not in + 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 + 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 + +* 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 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 + 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 + (e.g. parallel jobs, Windows) where the error messages directed to + "stderr" do not appear in the "right order" with output from stdout. + This is not an error. + +* 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 + 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 the IBM SP2 platform for the serial mode. The parallel mode works fine + with this option. + + 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 is not supported under Windows. + +* Use the --disable-shared configure flag if building with Absoft Fortran + compiler. + +* Information about building with PGI and Intel compilers is available in + INSTALL file sections 5.7 and 5.8. + +* In LANL QSC, the new cc compiler has problems converting small values of + 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 + system staff. + + All other tests have passed. + +* On at least one system, SDSC DataStar, the scheduler (in this case + 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 + many of the tool tests function by saving the output from test runs, + 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 + 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. + + Observe that the basic idea is to insert the script as the first item + on the command line which executes the test. The script then + executes the test and filters out the offending text before passing + it on. + + #!/bin/csh + + set STDOUT_FILE=~/bin/serial_filter.stdout + set STDERR_FILE=~/bin/serial_filter.stderr + + rm -f $STDOUT_FILE $STDERR_FILE + + ($* > $STDOUT_FILE) >& $STDERR_FILE + + set RETURN_VALUE=$status + + cat $STDOUT_FILE + + tail +3 $STDERR_FILE + + exit $RETURN_VALUE + + You get the HDF5 make files and test scripts 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 + "unsetenv RUNSERIAL" before running configure for a serial build. + + 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 + get the serial tests to run at all. + + In such cases, you will have to include the regular prefix in your + filter script. JM - 2004/9/15 + + +%%%%1.6.5%%%% Release Information for hdf5-1.6.5 (10/November/05) + + +HDF5 version 1.6.5 released on Thu Nov 10 18:17:53 CST 2005 +================================================================================ + +INTRODUCTION +============ +This document describes the differences between HDF5-1.6.4 and +HDF5-1.6.5. It contains information on the platforms tested and +known problems in HDF5-1.6.5. For more details, check the HISTORY.txt +file in the HDF5 source. + +The HDF5 documentation can be found on the NCSA ftp server +(ftp.ncsa.uiuc.edu) in the directory: + + /HDF/HDF5/docs/ + +Documentation for the current release is also on the HDF web site: + + http://hdf.ncsa.uiuc.edu/HDF5/doc/ + +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: + + hdfhelp@ncsa.uiuc.edu + + +CONTENTS +======== +- New Features +- Support for New Platforms, Languages and Compilers +- Bug Fixes since HDF5-1.6.4 +- Documentation +- Platforms Tested +- Supported Configuration Features Summary +- Known Problems + + +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 + + Source code distribution: + ------------------------- + - 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 + + 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 + - 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 + + 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 + + Tools: + ------ + - Removed obsolete pdb2hdf tool. JML - 2005/10/28 + - Sped up h5dump on files with large numbers of objects. + QAK - 2005/08/25 + + F90 API: + -------- + - Added missing h5tget_member_class_f function + EIP 2005/04/06 + 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 + + +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 + EIP 2005/10/05 + + + Configuration + ------------- + - Added support for Cray X1. JML 2005/10/03 + + +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 + 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 + file handles that operate on the same actual file. QAK - 2005/10/02 + - The ./dsets tests used to fail in the TFLOPS machine if the + test program, dsets.c, was compiled with the -O option. + The HDF5 library still worked correctly with the -O option. Only + the ./dsets failed. It is fixed. AKC - 2005/09/14 + - Corrected errors when performing various operations on a group opened + by dereferencing an object reference. QAK - 2005/07/30 + - Fixed a bug with named datatypes where a copy of a named datatype + used to create a dataset would accidentally use the original + named datatype for the dataset's datatype. QAK - 2005/07/23 + - Made H5Fget_name() to be consistent and always return name of actual + file the ID is in. (Instead of the name of the top file in a + file mounting hierarchy). QAK - 2005/07/19 + - Reworked internal file mounting semantics to hopefully eliminate + mounting problems. We now require that files that are mounting + together all have the same "file close degree". QAK - 2005/07/19 + - More bug fixes on holding open files that are mounted and have + IDs open. QAK - 2005/07/14 + - Dataset sieve buffer cache was inadvertantly disabled; it has been + re-enabled. QAK - 2005/07/08 + - Don't unmount child files until the parent file actually closes. + (Previously, if an object was holding open a file, the child files + would get unmounted too early). QAK - 2005/07/05 + - Fixed bug where unmounted files could cause the library to go into + an infinite loop when shutting down. QAK - 2005/06/30 + - 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 + - Corrected memory leak and possible corruption when opening a group. + QAK - 2005/06/17 + - Added check for opaque datatype tags being too long (check against + H5T_OPAQUE_TAG_MAX, currently set to 256). QAK - 2005/06/14 + - Fixed various errors in maintaining names for open objects in the + face of unusual mount & unmount operations. QAK - 2005/06/08 + - "SEMI" and "STRONG" file close degree settings now apply only to the + particular file ID being closed, instead of operating on all open + file IDs for a given file. QAK - 2005/06/01 + - Fixed error in opening object in a group that was opened in a mounted + file which has been unmounted. QAK - 2005/03/17 + + 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 + + Performance + ------------- + - Optimized I/O for enumerated datatypes that are a superset of a + source enumerated datatype. QAK - 2005/03/19 + + Tools + ----- + + 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 + + + + + +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 + 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 + AIX 5.2 (32/64 bit) xlc 6.0.0.8 + xlC 6.0.0.9 + xlf 8.1.1.7 + mpcc_r 6.0.0.8 + mpxlf_r 8.1.1.7 + AIX 5.2 (32/64 bit, LLNL frost) xlc 6.0.0.8 + xlC 6.0.0.8 + xlf 8.1.1.7 + mpcc_r 6.0.0.8 + mpxlf_r 8.1.1.7 + AIX 5.3 (32/64 bit) xlc 7.0.0.0 + xlC 7.0. + xlf 9.1.0.3 + Cray X1 water 3.0.35 Cray Standard C Version 5.4.0.7.4 + Cray Fortran 5.4.0.7.3 + Cray C++ 5.4.0.7.4 + 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 F90 v2.4 + HP ANSI C++ B3910B A.03.13 + HP-UX B.11.23 HP aC++/ANSI C B3910B A.06.00 + HP F90 v2.9 + HP aC++/ANSI C B3910B A.06.00 + IRIX64 6.5 (tesla -64) MIPSpro cc 7.4.2m + F90 MIPSpro 7.4.2m + C++ MIPSpro cc 7.4.2m + 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 + Linux 2.4.20-28.7 gcc 2.96 + (eirene, verbena) gcc 3.3.2 + 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 + 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 + 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 + HP Fortran V5.5A-3548 + 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 + 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 + SunOS 5.9 32,64 Sun C 5.6 2004/07/15 + (Solaris 2.9) Sun Fortran 95 8.0 2004/07/15 + Sun C++ 5.6 2004/07/15 + 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 + Xeon Linux 2.4.21-32.0.1.ELsmp-perfctr-lustre + (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 + Windows XP MSVC++.NET + MSVC++ 6.0 + Intel 8.1 C++ + MAC OS X Darwin 7.5 + gcc and g++ Apple Computer, Inc. GCC + version 1175, based on gcc version 3.3.2 + IBM XL Fortran version 8.1 + Absoft Fortran compiler v8.2 + + +Supported Configuration Features Summary +======================================== + +Key: y = tested and supported + n = not supported or not tested in this release + x = not working in this release + dna = does not apply + ( ) = footnote appears below second table + +Platform C F90 F90 C++ zlib SZIP + 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 +Solaris2.9 32-bit y(1) y y(1) y y y +Solaris2.10 64-bit y(1) y n y y y +Solaris2.10 32-bit y(1) y n y y y +IRIX64_6.5 64-bit y(2) y y y y y +IRIX64_6.5 32-bit y(2) n n n y y +HPUX11.00 y(1) y y y y y +HPUX11.23-32bit n y n y y y +HPUX11.23-64bit n n n y y y +OSF1 v5.1 y y y y y y +X1 y y y y y n +AIX-5.1, 5.2 & 5.3 32-bit y y y y y y +AIX-5.1, 5.2 & 5.3 64-bit y y y y y y +WinXP Visual Studio 6.0 n n(9) n y y y +WinXP .Net n n n y(8) y y +Mac OS X 10.3 n y(10) n y y y +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 +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 +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 +Solaris2.8 64-bit y x y y +Solaris2.8 32-bit y x y y +Solaris2.9 64-bit y x y y +Solaris2.9 32-bit y x y y +Solaris2.10 64-bit y x y y +Solaris2.10 32-bit y x y y +IRIX64_6.5 64-bit y y y y +IRIX64_6.5 32-bit y y y y +HPUX11.00 y x n y +HPUX11.23 y y n y +OSF1 v5.1 y y n y +X1 n y n y +AIX-5.1, 5.2 & 5.3 32-bit n y n y +AIX-5.1, 5.2 & 5.3 64-bit n y n y +WinXP Visual Studio 6.0 y y n n +WinXP .Net y y n n +Mac OS X 10.3 y y n y +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 +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 +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, +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. + W or C indicates workstation or cluster, respectively. + (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 + 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 + or use Compaq Visual Fortran 6.0. + (10) IBM XLF and 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 + (14) ifort + (15) Yes with C and Fortran, but not with C++ + (16) Only serial is ported. PFS does not work for PHDF5 yet. + FMB/EIP - 2005/11/10 + + +Known Problems +============== +* Intel Compilers for Linux x86_86 platforms (EM64T-based, v8.1) has + optimization error in the data types conversion code. Before running + 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 + 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 + 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 + 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 + 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 + 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. + +* test/big fails sometimes with the message "Possible overlap with another + region." The test selects regions randomly, and this error occurs when + two regions overlap each other; it is a bug in the test and not in + 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 it + has a "guard" statement in stdint.h that will #error and skip the rest + of the header file if C99 option is not used explicitly. Hardset + $CC to c99 will resolve the problem. AKC - 2004/12/13 + +* 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". 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 if there are many old /tmp/s.pedb.* 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. + +* 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 + "stderr" do not appear in the "right order" with output from stdout. + This is not an error. + +* 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 + 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 this option. + + 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 + 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/ + +* Use --disable-shared configure flag if building with Absoft Fortran + compiler. + +* Information about building with PGI and Intel compilers is available in + INSTALL file sections 5.7 and 5.8. + +* In LANL QSC, the new cc compiler has problems converting small values of + long long (absolute values less than 1**-308) to double. This triggers + the test/dtypes to report failure in the + Testing random sw long double -> double conversions + If -ieee is used, the converted doubles spread over the range 0.0 to 1**-308. + If -ieee is not used, the converted double values are mostly 0.0 but + occasionally as 1**-308. This has been reported to the system staff. + All other tests have passed. + +* Fortran release DLL randomly failed with Compaq Visual Fortran 6.6c on + 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 + 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. + +* On at least one system, SDSC DataStar, the scheduler (in this case + 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 + many of the tool tests function by saving the output from test runs, + 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 + 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. + + Observe that the basic idea is to insert the script as the first item + on the command line which executes the test. The script then + executes the test and filters out the offending text before passing + it on. + + #!/bin/csh + + set STDOUT_FILE=~/bin/serial_filter.stdout + set STDERR_FILE=~/bin/serial_filter.stderr + + rm -f $STDOUT_FILE $STDERR_FILE + + ($* > $STDOUT_FILE) >& $STDERR_FILE + + set RETURN_VALUE=$status + + cat $STDOUT_FILE + + tail +3 $STDERR_FILE + + exit $RETURN_VALUE + + You get the HDF make files and test scripts 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 + "unsetenv RUNSERIAL" before running configure for a serial build. + + 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 + get the serial tests to run at all. + + In such cases, you will have to include the regular prefix in your + filter script. + +%%%%1.6.4%%%% Release Information for hdf5-1.6.4 (15/March/05) + + +HDF5 version 1.6.4 released on Tue Mar 15 20:38:48 CST 2005 +================================================================================ + +INTRODUCTION +============ +This document describes the differences between HDF5-1.6.3 and +HDF5-1.6.4, and contains information on the platforms tested and +known problems in HDF5-1.6.4. For more details check the HISTORY.txt +file in the HDF5 source. + +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: + + hdfhelp@ncsa.uiuc.edu + + +CONTENTS +======== +- New Features +- Support for new platforms and languages +- Bug Fixes since HDF5-1.6.3 +- Documentation +- Platforms Tested +- Supported Configuration Features Summary +- Known Problems + + +New Features +============ + Source code distribution: + ------------------------- + + The High-Level (HL) C APIs were added to the source code distribution. + 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. + Use --disable-hl configure flag to disable the HL library. + + Library: + -------- + - 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 + adjustment. The size can be increased and decreased (without + cutting the last member). No API change is involved. SLU - + 2004/10/1 + - Removed PABLO support. 2005/01/20 EIP + + Parallel Library: + ----------------- + - Allow compressed, chunked datasets to be read in parallel. + QAK - 2004/10/04 + + Tools: + ------ + - New tool, h5jam. See HDF5 Reference Manual. 2004/10/08 + + F90 API: + -------- + No new features in this release. + + 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 + + +Support for new platforms, languages and compilers. +======================================= + + Configuration + ------------- + - Upgraded from GNU autoconf 2.53 to autoconf 2.59. JML - 2005/01/31 + + +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 + - 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 + - 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 + - Fixed segmentation fault when calling H5Fflush with an attribute that + 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 + - 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 problem where chunked datasets were not able to be deleted + 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 + + Performance + ------------- + 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 + + Documentation + ------------- + + F90 API + ------- + - On windows, previously Fortran DLL built and tested failed. + Now Fortran DLL has been built and tested successfully + with Dec Fortran 6.6c or Dec Fortran 6.0. + + C++ API + ------- + + +Documentation +============= + + HDF5 Library documentation + -------------------------- + No substantive changes to the structure or types of content in the + HDF5 Library documentation. + + Windows installation documentation + ---------------------------------- + 1. On Windows zlib has been updated to 1.2.2. You may find the binary at + 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 + 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 + 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 + AIX 5.2 (32/64 bit) xlc 6.0.0.8 + xlC 6.0.0.9 + xlf 8.1.1.7 + mpcc_r 6.0.0.8 + mpxlf_r 8.1.1.7 + AIX 5.2 (32/64 bit, LLNL frost) xlc 6.0.0.8 + xlC 6.0.0.8 + xlf 8.1.1.7 + mpcc_r 6.0.0.8 + mpxlf_r 8.1.1.7 + Cray T90 sn7001 10.0.0md Cray Standard C Version 6.4.0.3 + Cray Fortran Version 3.4.0.0 + Cray SV1 sn9617 10.0.1.2 Cray Standard C Version 6.6.0.3.6 + Cray Fortran Version 3.6.0.3.1 + 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 F90 v2.4 + HP ANSI C++ B3910B A.03.13 + MPIch 1.2.4 + IRIX64 6.5 (tesla -64) MIPSpro cc 7.4.2m + F90 MIPSpro 7.4.2m + C++ MIPSpro cc 7.4.2m + 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 + Linux 2.4.20-28.7 gcc 2.96 + (eirene, verbena) gcc 3.3.2 + 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 + 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 + 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 + HP Fortran V5.5A-3548 + 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 + 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 + SunOS 5.9 32,64 Sun C 5.6 2004/07/15 + (Solaris 2.9) Sun Fortran 95 8.0 2004/07/15 + Sun C++ 5.6 2004/07/15 + 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 + 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 + 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 + version 1175, based on gcc version 3.3.2 + IBM XL Fortran version 8.1 + Absoft Fortran compiler v8.2 + + +Supported Configuration Features Summary +======================================== + +Key: y = tested and supported + n = not supported or not tested in this release + x = not working in this release + dna = does not apply + ( ) = footnote appears below second table + +Platform C F90 F90 C++ zlib SZIP + 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 +Solaris2.9 32-bit y(1) y y(1) y y y +IRIX64_6.5 64-bit y(2) y y y y y +IRIX64_6.5 32-bit y(2) n n n y y +HPUX11.00 y(1) y y y y y +OSF1 v5.1 y y y y y y +T90 IEEE n y n n y n +SV1 y(5) y y(5) n y n +TFLOPS y(1) n n n y n +AIX-5.1 & 5.2 32-bit y y y y y y +AIX-5.1 & 5.2 64-bit y y y y y y +WinXP Visual Studio 6.0 n y(9) n y y y +WinXP .Net n n n y(8) y y +Mac OS X 10.3 n y(10) n y y y +FreeBSD 4.9 y(1) 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 +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 +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 +Solaris2.8 64-bit y x y y +Solaris2.8 32-bit y x y y +Solaris2.9 64-bit y x y y +Solaris2.9 32-bit y x y y +IRIX64_6.5 64-bit y y y y +IRIX64_6.5 32-bit y y y y +HPUX11.00 y x n y +OSF1 v5.1 y y n y +T90 IEEE n y n y +SV1 n y n y +TFLOPS n y n n +AIX-5.1 & 5.2 32-bit n y n y +AIX-5.1 & 5.2 64-bit n y n y +WinXP Visual Studio 6.0 y y n n +WinXP .Net y y n n +Mac OS X 10.3 y y n y +FreeBSD 4.9 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 +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 +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, +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. + W or C indicates workstation or cluster, respectively. + (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 + 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; + use '--disable-shared'. + (12) PGI and Intel compilers for both C and Fortran + (13) AMD Opteron x86_64 + (14) ifort + (15) Yes with C and Fortran, but not with C++ + FMB/EIP - 2005/03/15 + + +Known Problems +============== +* test/big fails sometimes with the message "Possible overlap with another + region." The test selects regions randomly, and this error occurs when + two regions overlap each other; it is an bug in the test and not in + HDF5. Since the error is triggered by a random situation, it will + usually disappear if the test is re-run. + +* Cray SV1 fails to correctly convert between floating-point and "long double" + for software conversion. Problem is being investigated. SLU - 2005/03/04 + +* Newer SGI MIPSpro compilers (version 7.4.x) support C99 features but it + has a "guard" statement in stdint.h that will #error and skip the rest + of the header file if C99 option is not used explicitly. Hardset + $CC to c99 will resolve the problem. AKC - 2004/12/13 + +* 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". 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 if there are many old /tmp/s.pedb.* 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 mean to run poe without the debug socket. + +* 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. + +* The h5dump tests may fail to match the expected output on some platforms + (e.g. parallel jobs, Windows) where the error messages directed to + "stderr" do not appear in the "right order" with output from stdout. + This is not an error. + +* 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 + 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 this option. + + It is suggested that you don't use this option on these platforms + during configuration. + +* The Stream VFD was not tested yet under Windows. It is not supported + in the TFLOPS machine. + +* The ./dsets tests failed in the TFLOPS machine if the test program, + dsets.c, is compiled with the -O option. The hdf5 library still works + correctly with the -O option. The test program works fine if it is + compiled with -O1 or -O0. Only -O (same as -O2) causes the test + program to fail. + +* Certain platforms give false negatives when testing h5ls: + - Cray T90IEEE give errors during testing when displaying + some floating-point values. These are benign differences due to + 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 + 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 + IF (total_error .ne. 0) CALL exit (total_error) + +* Use --disable-shared configure flag if building with Absoft Fortran + compiler + +* Information about building with PGI and Intel compilers is available in + INSTALL file sections 5.7 and 5.8 + +* In LANL QSC, the new cc compiler has problems converting small values of + long long (absolute values less than 1**-308) to double. This triggers + the test/dtypes to report failure in the + Testing random sw long double -> double conversions + If -ieee is used, the converted doubles spread over the range 0.0 to 1**-308. + If -ieee is not used, the converted double values are mostly 0.0 but + occasionally as 1**-308. This has been reported to the system staff. + All other tests have passed. + +* The C++ library's tests fails when compiling with PGI C++ compiler. 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 + setenv CXX "pgCC -tlocal" for others + +* Fortran release DLL randomly failed with compaq visual fortran 6.6c on + 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 + 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. + +* On at least one system, (SDSC DataStar), the scheduler (in this case + 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 + many of the tool tests function by saving the output from test runs, + 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 + 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. + + Observe that the basic idea is to insert the script as the first item + on the command line which executes the test. The script then + executes the test and filters out the offending text before passing + it on. + + #!/bin/csh + + set STDOUT_FILE=~/bin/serial_filter.stdout + set STDERR_FILE=~/bin/serial_filter.stderr + + rm -f $STDOUT_FILE $STDERR_FILE + + ($* > $STDOUT_FILE) >& $STDERR_FILE + + set RETURN_VALUE=$status + + cat $STDOUT_FILE + + tail +3 $STDERR_FILE + + exit $RETURN_VALUE + + You get the HDF make files and test scripts 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 + "unsetenv RUNSERIAL" before running configure for a serial build. + + 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 + get the serial tests to run at all. + + In such cases, you will have to include the regular prefix in your + filter script. + + +%%%%1.6.3%%%% Release Information for hdf5-1.6.3 (22/September/04) + +HDF5 version 1.6.3 released on Wed Sep 22 11:30:11 CDT 2004 +================================================================================ + + +INTRODUCTION + +This document describes the differences between HDF5-1.6.2 and +HDF5-1.6.3, and contains information on the platforms tested and +known problems in HDF5-1.6.3. For more details check the HISTORY.txt +file in the HDF5 source. + +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: + + hdfhelp@ncsa.uiuc.edu + +CONTENTS + +- New Features +- Support for new platforms and languages +- Bug Fixes since HDF5-1.6.2 +- Documentation +- Platforms Tested +- Supported Configuration Features Summary +- Known Problems + + +New Features +============ + + Configuration: + -------------- + - Added some initial support for making purify (or similar memory + checking products) happier by initializing buffers to zero and + disabling the internal free list code. To take advantage of this, + define 'H5_USING_PURIFY' in your CFLAGS when building the library. + QAK - 2004/07/23 + + - WINDOWS building,testing and installing improvements + + - On Windows, FORTRAN,C++ and C projects are merged into one zip file, + users can choose an option to build either FORTRAN or C++ or both + with basic C library.For detailed information, + please read INSTALL_Windows.txt. + + - On Windows, szip compression library with or without encoder can be easily + turned off or on when building HDF5. For detailed information, + please read INSTALL_Windows.txt, especially section V. + + - On Windows, an optional procedure for building,testing and installing + HDF5 from command line is provided. This procedure is supposed to be + convenient for experienced users, please read + INSTALL_windows_From_Command_Line.txt for details. + + - On Windows, an alternative short instruction document for building, + testing and installing HDF5 is provided. This instruction is supposed to + be convenient for general users, please read + INSTALL_Windows_Short.txt for details. + + - On Windows, h5repack,h5diff,h5ls and h5import tool tests have been added. + 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 + - HDF5 can now link to SZIP with or without szip's encoder. + The new API function H5Zget_filter_info can be used to check + szip's status. Attempting to assign szip to a dataset property + list or attempting to write with szip will generate an error if + szip's encoder is disabled. JL/NF - 2004/6/30 + - SZIP always uses K13 compression. This flag no longer needs to + be set when calling H5Pset_szip. If the flag for CHIP + compression is set, it will be ignored (since the two are mutually + exclusive). JL/NF - 2004/6/30 + - A new API function H5Fget_name was added. It returns the name + of the file by object(file, group, data set, named data type, + attribute) ID. SLU - 2004/06/29 + - A new API function H5Fget_filesize was added. It returns the + actual file size of the opened file. SLU - 2004/06/24 + - Added option that if $HDF5_DISABLE_VERSION_CHECK is set to 2, + will suppress all library version mismatch warning messages. + 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 + + - 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 + + + F90 API: + -------- + - added new subroutines: + h5fget_filesize_f + h5iget_file_id_f + 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 + + +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 + - HDF5 Fortran APIs are supported on Mac OSX with IBM XL Fortran + 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. + EIP - 2004/07/27 + +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 + - 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 + - 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 + - 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 + - Fixed memory overwrite when encoding "multi" file driver information + 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 + - 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 + - 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 + - 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 + - Fixed bug in H5Sset_extent_simple where setting maximum size to + 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 + - Calling H5Gcreate() on "/" or "." throws an error instead of + 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 + - Fixed bug where "resurrecting" a dataset was failing. + 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 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 + - 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 + - Opaque datatype with no tag failed for some operations. Fixed. + 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 + + Configuration + ------------- + - Fixed the long compile time of H5detect.c when v7.x Intel Compiler + is used with optimization NOT off. AKC - 2004/05/20 + + Performance + ------------- + + 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: + - The H5Pset_szip description in the RM has been expanded and + 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 + + F90 API + ------- + + 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 + +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. + - 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). + - 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/). + - 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). + - HDF5 Reference Manual + 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 + + Windows installation documentation + ---------------------------------- + - 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_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 + + + +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 + 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 + AIX 5.2 xlc 6.0.0.8 + xlC 6.0.0.8 + xlf 8.1.1.6 + mpcc_r 6.0.0.8 + mpxlf_r 8.1.1.6 + Cray T90 sn7001 10.0.0md Cray Standard C Version 6.4.0.3 + Cray Fortran Version 3.4.0.0 + Cray T3E sn6606 2.0.6.08 Cray Standard C Version 6.6.0.3 + Cray Fortran Version 3.6.0.3 + Cray SV1 sn9617 10.0.1.2 Cray Standard C Version 6.6.0.3.6 + 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 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 + Linux 2.4.18 gcc 2.96, 3.3.2 + g++ 3.3.2 + Intel(R) C++ Version 7.1 + Intel(R) Fortran Compiler Version 7.1 + PGI compilers (pgcc, pgf90, pgCC) version 5.0-2 + MPIch 1.2.4 + Absoft Fortran compiler v9.0 + Linux 2.4.20-8 gcc 3.3.2 + PGI compilers (pgcc, pgf90, pgCC) version 5.0-2 + 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.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 + + 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 + HP Fortran V5.5A-3548 + 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 + 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 + TFLOPS r1.0.4 v4.4.3 i386 pgcc Rel 3.1-4i with mpich-1.2.4 with + local modifications + IA-32 Linux 2.4.18 gcc 2.96 + Intel(R) C++ Version 7.0 + Intel(R) Fortran Compiler Version 7.0 + + Xeon Linux 2.4.20-31.9smp_perfctr_lustre + 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 + + 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 + + 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 + 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 + version 1175, based on gcc version 3.3.2 + IBM XL Fortran version 8.1 + Absoft Fortran compiler v8.2 + + + +Supported Configuration Features Summary +======================================== + +Key: y = tested and supported + n = not supported or not tested in this release + x = not working in this release + dna = does not apply + ( ) = footnote appears below second table + +Platform C F90 F90 C++ zlib SZIP + 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 +Solaris2.8 32-bit y y y (1) y y y +IRIX64_6.5 64-bit y (2) y y y y y +IRIX64_6.5 32-bit y (2) n n n y y +HPUX11.00 y (1) y y y y y +OSF1 v5.1 y y y y y y +T90 IEEE n y n n y n +T3E y (5) y y (5) n y n +SV1 y (5) y y (5) n y n +TFLOPS y (1) n n n y n +AIX-5.1 & 5.2 32-bit y y y y y y +AIX-5.1 & 5.2 64-bit y y y y y y +WinXP Visual Studio 6.0 n y (9) n y y y +WinXP .Net n n n y y y +WinXP Code Warrior n n n n y y +Win2000 Visual Studio 6.0 n y (10) n y y y +Win2000 Visual Studio Intel (6) n y n y y y +Win2000 .Net n n n y y y +Mac OS X 10.3 n y (11) n y y y +FreeBSD 4.9 y (1) n n y y y +RedHat 7 W (3) y (1) y (12) 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 +RedHat 8 & SuSe x86_64 gcc (3) n y (13) n y y y +Linux 2.4 Xeon C Lustre Intel (3,7) n y n y y y +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 +Solaris2.7 64-bit y x y y +Solaris2.7 32-bit y x y y +Solaris2.8 64-bit y x y y +Solaris2.8 32-bit y x y y +IRIX64_6.5 64-bit y y y y +IRIX64_6.5 32-bit y y y y +HPUX11.00 y x n y +OSF1 v5.1 y y n y +T90 IEEE n y n y +T3E n y n y +SV1 n y n y +TFLOPS n y n n +AIX-5.1 & 5.2 32-bit n y n y +AIX-5.1 & 5.2 64-bit n y n y +WinXP Visual Studio 6.0 y y n n +WinXP .Net y y n n +WinXP Code Warrior n y n n +Win2000 Visual Studio 6.0 y y n n +Win2000 Visual Studio Intel (6) y y n n +Win2000 .Net y y n n +Mac OS X 10.3 y y n y +FreeBSD 4.9 y y y y +RedHat 7 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 +RedHat 8 & SuSe x86_64 gcc (3) n y n y +Linux 2.4 Xeon C Lustre Intel (3,7) y y n y +Linux 2.4 SuSE ia64 C Intel (3,8) 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, +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 + W or C indicates workstation or cluster, respectively + (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 + 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 + (10) DEC Visual Fortran 6.0 + (11) IBM XLF and Absoft + (12) PGI, Absoft + (13) PGI + FMB/EIP - 2004/09/21 + + + +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/ + 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. + +* The h5dump tests may fail to match the expected output on some platforms + (e.g. parallel jobs, Windows) where the error messages directed to + "stderr" do not appear in the "right order" with output from stdout. + This is not an error. + +* 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 + 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 this option. + + It is suggested that you don't use this option on these platforms + during configuration. + +* The Stream VFD was not tested yet under Windows. It is not supported + in the TFLOPS machine. + +* The ./dsets tests failed in the TFLOPS machine if the test program, + dsets.c, is compiled with the -O option. The hdf5 library still works + correctly with the -O option. The test program works fine if it is + compiled with -O1 or -O0. Only -O (same as -O2) causes the test + program to fail. + +* Certain platforms give false negatives when testing h5ls: + - Cray J90 and Cray T90IEEE give errors during testing when displaying + some floating-point values. These are benign differences due to + 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 + 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 + IF (total_error .ne. 0) CALL exit (total_error) + +* On IA32 and IA64 systems, if you use a compiler other than GCC (such as + Intel's ecc or icc compilers), you will need to modify the generated + "libtool" program after configuration is finished. On or around line 104 of + the libtool file, there are lines which look like: + + # How to pass a linker flag through the compiler. + wl="" + + change these lines to this: + + # How to pass a linker flag through the compiler. + wl="-Wl," + + UPDATE: This is now done automatically by the configure script. However, if + you still experience a problem, you may want to check this line in the + libtool file and make sure that it has the correct value. + +* Information about building with PGI and Intel compilers is available in + INSTALL file sections 5.7 and 5.8 + +* In LANL QSC, the new cc compiler has problems converting small values of + long long (absolute values less than 1**-308) to double. This triggers + the test/dtypes to report failure in the + Testing random sw long double -> double conversions + If -ieee is used, the converted doubles spread over the range 0.0 to 1**-308. + If -ieee is not used, the converted double values are mostly 0.0 but + occasionally as 1**-308. This has been reported to the system staff. + All other tests have passed. + +* On at least one system, (SDSC DataStar), the scheduler (in this case + 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 + many of the tool tests function by saving the output from test runs, + 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 + 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. + + Observe that the basic idea is to insert the script as the first item + on the command line which executes the test. The script then + executes the test and filters out the offending text before passing + it on. + + #!/bin/csh + + set STDOUT_FILE=~/bin/serial_filter.stdout + set STDERR_FILE=~/bin/serial_filter.stderr + + rm -f $STDOUT_FILE $STDERR_FILE + + ($* > $STDOUT_FILE) >& $STDERR_FILE + + set RETURN_VALUE=$status + + cat $STDOUT_FILE + + tail +3 $STDERR_FILE + + exit $RETURN_VALUE + + You get the HDF make files and test scripts 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 + "unsetenv RUNSERIAL" before running configure for a serial build. + + 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 + get the serial tests to run at all. + + In such cases, you will have to include the regular prefix in your + filter script. + +%%%%1.6.2%%%% Release Information for hdf5-1.6.2 (12/February/04) + +HDF5 version 1.6.2 released on Thu Feb 12 14:18:13 CST 2004 +================================================================================ + + +INTRODUCTION + +This document describes the differences between HDF5-1.6.1 and +HDF5-1.6.2, and contains information on the platforms tested and +known problems in HDF5-1.6.2. For more details check the HISTORY.txt +file in the HDF5 source. + +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: + + hdfhelp@ncsa.uiuc.edu + +CONTENTS + +- New Features +- Support for new platforms and languages +- Bug Fixes since HDF5-1.6.1 +- Documentation +- Platforms Tested +- Supported Configuration Features Summary +- Known Problems + + +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 + + 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 + + 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 + - 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 + + 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 + - Added metadata benchmark (perform/perf_meta). SLU - 2003/10/03 + + C++ API: + -------- + + +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 + 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 + Libraries are available for Altix (Linux ia64) + +Bug Fixes since HDF5-1.6.1 release +================================== + + Library + ------- + - 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 + B-tree (used with groups and chunked datasets) to become corrupt + with the right sequence of deleted objects. QAK - 2004/01/19 + - Fixed small internal memory leaks of fill-value information. + QAK - 2004/01/13 + - Fixed bug that caused variable-length datatypes (strings or sequences) + used for datasets in files with objects that were unlinked to + fail to be read/written to a file. QAK - 2004/01/13 + - Detect situation where szip 'pixels per block' is larger than the + fastest changing dimension of a dataset's chunk size and disallow + this (due to limits in szip library). QAK - 2003/12/31 + - Fixed bug with flattened hyperslab selections that would generate + incorrect hyperslab information with certain high-dimensionality + combinations of start/stride/count/block information. + QAK - 2003/12/31 + - Fixed bug with variable-length datatypes used in compound datatypes. + SLU - 2003/12/29 + - Fixed bug in parallel I/O routines that would cause reads from + "short datasets" (datasets which were only partially written out) + to return invalid data. QAK & AKC - 2003/12/19 + - Fixed bug where scalar dataspaces for attributes were reporting as + simple dataspaces. QAK - 2003/12/13 + - Fixed problem with selection offsets of hyperslab selections in + chunked datasets causing the library to go into an infinite loop. + QAK - 2003/12/13 + - Fixed H5Giterate to avoid re-using index parameter after iteration + callback has been called (allows iteration callback to modify the + index parameter itself). QAK - 2003/12/06 + - Fixed various floating-point conversion problems, including a + change which could corrupt data when converting from double->float. + QAK - 2003/11/24 + - Changed "single process" metadata writing in library to collective + I/O by all processes, in order to guarantee correct data being + written with MPI-I/O. QAK - 2003/11/20 + - Fixed problems with fill values and variable-length types and also + I/O on VL values that were set to NULL. QAK - 2003/11/08 + - Fixed problems with MPI datatypes that caused ASCI Q machine to + hang. QAK - 2003/10/28 + - Removed HDF5_MPI_PREFER_DERIVED_TYPES environment variable support, + since it had no benefit. QAK - 2003/10/28 + - Single hyperslab selections (which were set with only one call to + H5Sselect_hyperslab) that had dimensions that could be "flattened" + but were interspersed with dimensions that could not be flattened + were not correctly handled, causing core dumps. QAK - 2003/10/25 + - Avoid metadata cache from preempting current dataset object header + when looking up information about the named datatype that the + dataset uses. QAK - 2003/10/20 + + Configuration + ------------- + - 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 + + Performance + ------------- + - More optimizations to inner loops of datatype conversions for + integers and floats which give a 10-50% speedup. QAK - 2003/11/07 + - Hoisted invariant 'if/else's out of inner datatype conversion loop for + integer and floating-point values, giving about a 20% speedup. + QAK - 2003/10/20 + + 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 + + Documentation + ------------- + + +Documentation +============= + + + +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 + 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 + Cray SV1 sn9617 10.0.1.2 Cray Standard C Version 6.6.0.2 + Cray Fortran Version 3.6.0.2 + Cray T90IEEE 10.0.0md Cray Standard C Version 6.4.0.3 + 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 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 + Linux 2.4.18 gcc 2.96, 3.3.2 + g++ 3.3.2 + Intel(R) C++ Version 7.1 + Intel(R) Fortran Compiler Version 7.1 + PGI compilers (pgcc, pgf90, pgCC) version 5.0-2 + MPIch 1.2.4 + Linux 2.4.20-8 gcc 3.3.2 + PGI compilers (pgcc, pgf90, pgCC) version 5.0-2 + 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.19-SMP x86_64 gcc (GCC) 3.2.2 (SuSE Linux) + g++ 3.2.2 + + 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 + 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 + 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 + TFLOPS r1.0.4 v4.4.2 i386 pgcc Rel 3.1-4i with mpich-1.2.4 with + local modifications + 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 + + 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 + + Windows 2000 (NT5.0) MSVC++ 6.0 + DEC Visual Fortran 6.0 + Intel C and F90 compilers version 7.1 + Code Warrior 8.0 + Windows XP MSVC++.NET + MAC OS X Darwin 7.2 + 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 +======================================== + +Key: y = tested and supported + n = not supported or not tested in this release + x = not working in this release + dna = does not apply + ( ) = footnote appears below second table + +Platform C C F90 F90 C++ Shared zlib + parallel parallel libraries (4) +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 +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 +OSF1 v5.1 y y y y y y y +T3E y y (5) y y (5) n n y +SV1 y y (5) y y (5) n n y +T90 IEEE y y (5) y y (5) n n y +TFLOPS n y (1) n n n n y +AIX-5.1 32-bit y y y y y n y +AIX-5.1 64-bit y y y y y n y +WinXP Visual Studio (7) y n n n y y y +WinXP Intel y n n n y y y +WinXP CW y n n n n n y +Win2000 Visual Studio y n y n y y y +Win2000 Intel y n y n y y y +Mac OS X 10.3 y n y n y y y +FreeBSD 4.9 y y (1) n n y y y +RedHat 7, 8 & 9 ia32 y y (1) y(PGI) n y y y + W gcc (3) +RedHat 7.3 ia32 W Intel (3) y n y n y n y +RedHat 7.3 ia32 W PGI (3) y n y n y n y +RedHat 7 ia32 C Intel (3) y n y n y n y +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) + + +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 +Solaris2.7 32-bit x y y n y y y +Solaris2.8 64-bit x y y n y y n +Solaris2.8 32-bit x y y n y y y +IRIX64_6.5 64-bit x y y y y y y +IRIX64_6.5 32-bit x y y y y y y +HPUX11.00 x n y n y y y +OSF1 v5.1 y n y n y y y +T3E y n n n y y y +SV1 y n n n y y y +T90 IEEE y n n n y y n +TFLOPS y n n n n n n +AIX-5.1 32-bit y n y n y y y +AIX-5.1 64-bit y n y n y y y +WinXP Visual Studio y n y n n y y +WinXP Intel y n y n n y y +WinXP CW y n y n n y y +Win2000 Visual Studio y n y n n y y +Win2000 Intel y n y n n y y +Mac OS X 10.3 y n y n y y n +FreeBSD 4.9 y y y n y y y +RedHat 7, 8 & 9 ia32 y y y n y y y + W gcc (3) +RedHat 7.3 ia32 W Intel (3) y n y n y n n +RedHat 7.3 ia32 W PGI (3) y n y n y n n +RedHat 7 ia32 C Intel (3) y n y n y y y +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) + + +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. + W or C indicates workstation or cluster, respectively. + (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 + utilities. + + +Known Problems +============== +* 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. + +* The h5dump tests may fail to match the expected output on some platforms + (e.g. parallel jobs, Windows) where the error messages directed to + "stderr" do not appear in the "right order" with output from stdout. + This is not an error. + +* 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 + 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 this option. + + It is suggested that you don't use this option on these platforms + during configuration. + +* The Stream VFD was not tested yet under Windows. It is not supported + in the TFLOPS machine. + + +* The ./dsets tests failed in the TFLOPS machine if the test program, + dsets.c, is compiled with the -O option. The hdf5 library still works + correctly with the -O option. The test program works fine if it is + compiled with -O1 or -O0. Only -O (same as -O2) causes the test + program to fail. + +* Certain platforms give false negatives when testing h5ls: + - Cray J90 and Cray T90IEEE give errors during testing when displaying + some floating-point values. These are benign differences due to + 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 + 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://hdf.ncsa.uiuc.edu/pub/outgoing/hdf5/hdf5-1.6.2/F90_source_for_Crays + +* 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 + IF (total_error .ne. 0) CALL exit (total_error) + +* On IA32 and IA64 systems, if you use a compiler other than GCC (such as + Intel's ecc or icc compilers), you will need to modify the generated + "libtool" program after configuration is finished. On or around line 104 of + the libtool file, there are lines which look like: + + # How to pass a linker flag through the compiler. + wl="" + + change these lines to this: + + # How to pass a linker flag through the compiler. + wl="-Wl," + + UPDATE: This is now done automatically by the configure script. However, if + you still experience a problem, you may want to check this line in the + libtool file and make sure that it has the correct value. + +* Information about building with PGI and Intel compilers is available in + INSTALL file sections 5.7 and 5.8 + +* In LANL QSC, the new cc compiler has problems converting small values of + long long (absolute values less than 1**-308) to double. This triggers + the test/dtypes to report failure in the + Testing random sw long double -> double conversions + If -ieee is used, the converted doubles spread over the range 0.0 to 1**-308. + If -ieee is not used, the converted double values are mostly 0.0 but + occassionaly as 1**-308. This has been reported to the system staff. + All other tests have passed. + +* On AIX 5.1 when 64-bit parallel C Library is built with zlib configured in, + compilation fails for H5Zdeflate.c. To bypass the problem, remove "const" + definition in front of H5Z_DEFLATE in H5Zpkg.h line 29. + +%%%%1.6.1%%%% Release Information for hdf5-1.6.1 (16/October/03) + +15. Release information for HDF5 version 1.6.1 +================================================ + +INTRODUCTION + +This document describes the differences between HDF5-1.6.0 and +HDF5-1.6.1, and contains information on the platforms tested and +known problems in HDF5-1.6.1. For more details check the HISTORY.txt +file in the HDF5 source. + +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: + + hdfhelp@ncsa.uiuc.edu + +CONTENTS + +- New Features +- Support for new platforms and languages +- Bug Fixes since HDF5-1.6.0 +- Documentation +- Platforms Tested +- Known Problems + + +New Features +============ + + Configuration: + -------------- + + Library: + -------- + - Added new fields to the H5G_stat_t for more information about an + 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 + + Parallel Library: + ----------------- + + Tools: + ------ + + C++ API: + -------- + - Added overloaded functions read and write to H5::Attribute. + BMR - 2003/04/21 + - Added an overloaded constructor H5::StrType so the need to separately + set the length of the string type can be eliminated. BMR - 2003/04/21 + - Added overloaded functions read and write to H5::DataSet. + BMR - 2003/04/27 + + The following items were added but not documented in previous releases: + + - On windows, any application, that uses the C++ API dll, must + include the name HDF5CPP_USEDLL in its project setting. (Feb 17, 2002) + BMR - 2003/10/10 + - Added missing default constructor H5::H5File. (Apr 26, 2002) + BMR - 2003/10/10 + - Added new member function H5::DataSet::fillMemBuf per the new C + API H5Dfill, which fills the elements in a selection for a memory + buffer with a fill value. (May 16, 2002) BMR - 2003/10/10 + - Added the new member function getMemberIndex to H5::EnumType + and H5::CompType to match the new C API H5Tget_member_index. Given + the name of a member of an enumeration or compound datatype, this + new function queries the index of the member. (May 16, 2002) + BMR - 2003/10/10 + - Added these member functions to H5::Group per the new C functions + H5Gget_num_objs, H5Gget_objname_by_idx and H5Gget_objtype_by_idx: + + getNumObjs: Returns the number of objects in the group. + + getObjnameByIdx: Retrieves the name of an object in a group, + given an index + + getObjTypeByIdx: Returns the type of an object in a group, + given an index + (Jan 20, 2003) BMR - 2003/10/10 + + +Support for new platforms, languages and compilers. +======================================= + - gcc 3.3.1 is supported on Linux. + + +Bug Fixes since HDF5-1.6.0 release +================================== + + Library + ------- + - Fixed incorrect datatype of the third parameter to the Fortran90 + h5pset(get)_cache_f functions (INTEGER to INTEGER(SIZE_T)) EIP - 2003/10/13 + - Fixed problems with accessing variable-length data datatypes on + Crays. QAK - 2003/10/10 + - Fixed potential file corruption bug when too many object header + messages (probably attributes, from a user perspective) were + inserted into an object header and certain other conditions were + met. QAK - 2003/10/08 + - Changed implementation of internal ID searching algorithm to avoid + O(n) behavior for many common cases. QAK - 2003/10/06 + - Allow partial parallel writing to compact datasets. QAK - 2003/10/06 + - Correctly create reference to shared datatype in attribute, instead + of making a copy of the shared datatype in the attribute. + QAK - 2003/10/01 + - Revert changes which caused files >2GB to fail when created with + MPI-I/O file driver on certain platforms. QAK - 2003/09/16 + - Allow compound datatypes to grow in size. SLU - 2003/09/10 + - Detect if a type is already packed before attempting to pack it + again or check if it is locked. SLU - 2003/09/10 + - Corrected bug when opening a file twice with read-only permission + for one open and then closing the read-only access file ID would + generate an error. QAK - 2003/09/10 + - Corrected bug in repeated calls to H5Pget_access_plist() which would + incorrectly manage reference counts of internal information and + eventually blow up. QAK - 2003/09/02 + - Return rank of the array datatype on successful call to + H5Tget_array_dims(). QAK - 2003/08/30 + - Corrected bug in H5Tdetect_class which was not correctly detecting + datatype classes of fields in nested compound datatypes in some + circumstances. QAK - 2003/08/30 + - Corrected bug in sieve buffer code which could cause loss of data + when a small dataset was created and deleted in quick succession. + QAK - 2003/08/27 + - Corrected bug in H5Gget_objname_by_idx which was not allowing NULL + for the name when just querying for the object name's length. + QAK - 2003/08/25 + - Corrected bug in variable-length string handling which could + generate a core dump on writing variable-length strings as part + of a compound datatype on certain architectures. QAK - 2003/08/25 + - Corrected bug in H5Tget_native_type which would incorrectly compute + the size of certain compound datatypes and also incorrectly + compute the offset of the last field for those compound datatypes. + QAK - 2003/08/25 + - Corrected bug in H5Tget_native_type which would drop string datatype + metadata (padding, etc.) QAK - 2003/08/25 + - Corrected bugs in H5Gget_num_objs, H5Gget_objname_by_idx and + H5Gget_objtype_by_idx to allow them to accept location IDs, not just + group IDs. QAK - 2003/08/21 + - Corrected bug when using scalar dataspace for memory selection and + operating on chunked dataset. QAK - 2003/08/18 + - Corrected bugs with multiple '/' characters in names for H5Glink + and H5Gunlink. QAK - 2003/08/16 + - Corrected bug with user blocks that didn't allow a user block to + be inserted in front of a file after the file was created. + QAK - 2003/08/13 + - Corrected errors with using point selections to access data in + chunked datasets. QAK - 2003/07/23 + - Corrected error with variable-length datatypes and chunked datasets + which caused H5Dwrite to fail sometimes. QAK - 2003/07/19 + - Modified library and file format to support storing indexed storage + (chunked dataset) B-tree's with non-default internal 'K' values. + QAK - 2003/07/15 + - Returned H5T_BKG_TEMP support to library after it was accidentally + removed. QAK - 2003/07/14 + + Configuration + ------------- + - Fixed the error that caused "make install" to fail because of the + macro definition syntax of "prefix?=..." AKC - 2003/07/22 + + Performance + ------------- + + Tools + ----- + - 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 + 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 + Fortran90 applications. FMB - 2003/10/15 + + +Documentation +============= + + 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. + + A PDF version of the RM will be posted on the HDF5 website + (at http://hdf.ncsa.uiuc.edu/HDF5/doc/PSandPDF/) approximately one week + after the release. + + +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 + 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 + Cray SV1 sn9617 10.0.1.2 Cray Standard C Version 6.6.0.2 + Cray Fortran Version 3.6.0.2 + Cray T90IEEE 10.0.1.01y Cray Standard C Version 6.4.0.2.3 + 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 F90 v2.4 + HP ANSI C++ B3910B A.03.13 + HP MPI 01.07.00.00 + IRIX 6.5 MIPSpro cc 7.3.1.2m + IRIX64 6.5 (64 & n32) MIPSpro cc 7.3.1.3m + F90 MIPSpro 7.3.1.3m (64 only) + MPIch 1.2.4 + Linux 2.4.18 gcc 2.96, 3.2.2, 3.3.1 + g++ 3.2.2, 3.2.3 + Intel(R) C++ Version 7.1 + Intel(R) Fortran Compiler Version 7.1 + PGI compilers (pgcc, pgf90, pgCC) version 4.0-2 + MPIch 1.2.4 + 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 + 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 + 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 + TFLOPS r1.0.4 v4.4.0 i386 pgcc Rel 3.1-4i with mpich-1.2.4 with + local modifications + 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 + Windows XP MSVC++.NET + MAC OS X Darwin 6.8 + gcc and g++ Apple Computer, Inc. GCC + version 1175, based on gcc version 3.1 + + + +Supported Configuration Features Summary +======================================== + + In the tables below + y = tested and supported + n = not supported or not tested in this release + x = not working in this release + dna = does not apply + ( ) = footnote appears below second table + +Platform C C F90 F90 C++ Shared zlib + parallel parallel libraries (4) +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 +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 +OSF1 v5.1 y y y y y y y +T3E y y (5) y y (5) n n y +SV1 y y (5) y y (5) n n y +T90 IEEE y y (5) y y (5) n n y +TFLOPS n y (1) n n n n y +AIX-5.1 32-bit y y y y y n y +AIX-5.1 64-bit y y y y y n y +WinXP (6) y n n n y y y +WinXP Intel y n n n y y y +Win2000 y n y n y y y +Win2000 Intel y n y n y y y +WinNT CW y n n n n n y +Mac OS X 10.2 y n n n y y y +FreeBSD y y (1) n n y y y +Linux 2.4 gcc (3) y y (1) y (PGI) n y y y +Linux 2.4 Intel (3) y n y n y n y +Linux 2.4 PGI (3) y n y n y n y +Linux 2.4 IA32 Intel y n y n y n y +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 + 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 +Solaris2.8 64-bit x y y n y y n +Solaris2.8 32-bit x y y n y y y +IRIX6.5 x n y n y y y +IRIX64_6.5 64-bit x y y y y y y +IRIX64_6.5 32-bit x y y y y y y +HPUX11.00 x n y n y y y +OSF1 v5.1 y n y n y y y +T3E y n n n y y y +SV1 y n n n y y y +T90 IEEE y n n n y y n +TFLOPS y n n n n n n +AIX-5.1 32-bit y n y n y y y +AIX-5.1 64-bit y n y n y y y +WinXP (6) y n y n n y y +WinXP Intel y n y n n y y +Win2000 y n y n n y y +Win2000 Intel y n y n n y y +WinNT CW y n y n n y y +Mac OS X 10.2 y n y n y y n +FreeBSD y y y n y y y +Linux 2.4 gcc (3) y y y n y y y +Linux 2.4 Intel (3) y n y n y n n +Linux 2.4 PGI (3) y n y n y n n +Linux 2.4 IA32 Intel y n y n y y y +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 + on Windows where they are provided for C and C++. + (5) Using mpt. + (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 + utilities. + Compiler versions for each platform are listed in the preceding + "Platforms Tested" table. + + + +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. +* 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 + "stderr" do not appear in the "right order" with output from stdout. + This is not an error. + +* 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 + 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 this option. + + It is suggested that you don't use this option on these platforms + during configuration. + +* With the gcc 2.95.2 compiler, HDF 5 uses the `-ansi' flag during + compilation. The ANSI version of the compiler complains about not being + 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 Stream VFD was not tested yet under Windows. It is not supported + in the TFLOPS machine. + + +* The ./dsets tests failed in the TFLOPS machine if the test program, + dsets.c, is compiled with the -O option. The hdf5 library still works + correctly with the -O option. The test program works fine if it is + compiled with -O1 or -O0. Only -O (same as -O2) causes the test + program to fail. + +* Certain platforms give false negatives when testing h5ls: + - Cray J90 and Cray T90IEEE give errors during testing when displaying + some floating-point values. These are benign differences due to + 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 + 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 + 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 + +* On IA32 and IA64 systems, if you use a compiler other than GCC (such as + Intel's ecc or icc compilers), you will need to modify the generated + "libtool" program after configuration is finished. On or around line 104 of + the libtool file, there are lines which look like: + + # How to pass a linker flag through the compiler. + wl="" + + change these lines to this: + + # How to pass a linker flag through the compiler. + wl="-Wl," + + UPDATE: This is now done automatically by the configure script. However, if + you still experience a problem, you may want to check this line in the + libtool file and make sure that it has the correct value. + +* 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 +================================================ + + +INTRODUCTION + +This document describes the differences between HDF5-1.4.* and +HDF5-1.6.0, and contains information on the platforms tested and +known problems in HDF5-1.6.0. For more details check the HISTORY.txt +file in the HDF5 source. + +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: + + hdfhelp@ncsa.uiuc.edu + +CONTENTS + +- New Features +- Support for new platforms and languages +- Bug Fixes since HDF5-1.4.0 +- Platforms Tested +- Known Problems + + +New Features +============ + +Configuration: +-------------- +The following flags have been added to the configuration script: +--enable-hdf5v1_4 Compile the HDF5 v1.4 compatibility interface +--enable-filters=all Turn on all internal I/O filters. One may also + specify a comma-separated list of filters or the + word no. The default is all internal I/O filters. +--with-mpe=DIR Use MPE instrumentation [default=no] +--with-szlib=DIR Use szlib library for external szlib I/O filter + [default=no] + +Library: +-------- + Summary: This release has the following new features that are not + available in 1.4.* releases + + 1. Generic properties to give application more control on I/O pipeline + 2. Time allocation and fill value properties + 3. New filters: external compression filter szip + internal shuffling and checksum filters + 4. Compact storage layout for datasets + 5. Redesigned I/O pipeline for better performance. + + For more information see + http://hdf.ncsa.uiuc.edu/HDF5/doc_resource/SZIP/index.html + http://hdf.ncsa.uiuc.edu/HDF5/doc/ADGuide.html + http://hdf.ncsa.uiuc.edu/HDF5/doc/ADGuide/Changes.html + + Complete list of changes: + + * Changed dataset modification time to _not_ be updated when raw data is + written to a dataset. The modification time is only updated when the + dataset's metadata is modified. QAK - 2003/06/10 + * Changed H5Sget_select_bounds to use 'hssize_t *' for start and end + parameters, instead of 'hsize_t *', to better match other parts of the + dataspace API. QAK - 2003/06/04 + * Changed raw data I/O to only access each chunk once, improving performance + in many situations with hyperslabs and large chunks or chunks with + filters. These improvements are currently limited to serial I/O, with + similar parallel I/O improvements forthcoming sometime in the future. + QAK - 2003/05/07 + * Added parameter to the MPI/POSIX driver. If GPFS is enabled (by + modifying the H5FDmpiposix.c file to uncomment the USE_GPFS_HINTS + macro), then this extra parameter will turn GPFS hints on and off + during runtime. BW - 2003/05/05 + * Added option to print 1-byte integer datasets as ASCII to h5dump. BW - + 2003/04/30 + * Added a new utility "h5fc". It can be used to compile easily Fortran + programs which use HDF5. It automatically uses the compiler the HDF5 + library was built with and links in any libraries HDF5 requires. + BW - 2003/04/10 + * Added new dataset creation property list functions for working with + 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. + 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 + 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 + 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 + * Functions H5Tget_native_type and H5Tis_variable_str are added. The first + one reconstructs a datatype based on native memory datatype. The second + one checks if a datatype is variable string. SLU - 2002/11/6 + * Added environment variable "HDF5_DISABLE_VERSION_CHECK", which disables + the version checking between the header files and the library linked into + an application if set to '1'. This should be used with caution, mis- + matched headers and library binaries can cause _serious_ problems. + QAK - 2002/10/15 + * Added new API function to get the name of an object in a file, using + an open ID (hid_t). QAK - 2002/10/14 + * Added API functions to return pointer to low-level file handle + (H5Fget_vfd_handle and H5FDget_vfd_handle) and related property list + setting functions(H5Pset_family_offset and H5Pset_multi_type). + SLU - 2002/09/30 + * Changed "H5P[set|get]_space_time" functions to "H5P[set|get]_alloc_time" + Unify all symbolic names for these functions to use "alloc time" instead + of other names. QAK - 2002/09/13 + * Added "H5D_SPACE_ALLOC_INCR" setting to H5D_SPACE_ALLOC_EARLY and + 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 + 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 + compact dataset. -SLU, 2002/8/20 + * Added 'closing' parameter to VFL 'flush' callback function and H5FDflush. + This allows the library to indicate that the file will be closed + immediately following the call to 'flush' and can be used to avoid actions + that are duplicated in the VFL 'close' callback function. QAK - 2002/05/20 + * Added feature to parallel chunk allocation routine to not write fill + values to chunks allocated if the user has set the "fill time" to never. + 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. + 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 + * Added new routine "H5Dfill" to fill a selection with a particular value + in memory. QAK - 2002/04/09 + * Improved performance of "regular" hyperslab I/O when using MPI-IO and the + datatype conversion is unneccessary. QAK - 2002/04/02 + * Improved performance of single hyperslab I/O when datatype conversion is + unneccessary. QAK - 2002/04/02 + * Added new "H5Sget_select_type" API function to determine which type of + selection is defined for a dataspace ("all", "none", "hyperslab" or + "point"). QAK - 2002/02/07 + * Added support to read/write portions of chunks directly, if they are + uncompressed and too large to cache. This should speed up I/O on chunked + datasets for a few more cases. QAK - 2002/01/31 + * Added H5Rget_obj_type() API function, which performs the same functionality + as H5Rget_object_type(), but requires the reference type as a parameter + 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 + 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 + 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. + * Removed H5P(get|set)_hyper_cache API function, since the property is no + longer used. + * Improved performance of non-contiguous hyperslabs (built up with + several hyperslab selection calls). + * Improved performance of single, contiguous hyperslabs when reading or + writing. + * As part of the transition to using generic properties everywhere, the + parameter of H5Pcreate changed from H5P_class_t to hid_t, as well + the return type of H5Pget_class changed from H5P_class_t to hid_t. + Further changes are still necessary and will be documented here as they + are made. + * Improved regular hyperslab I/O by about a factor of 6 or so. + * Modified the Pablo build procedure to permit building of the instrumented + library to link either with the Trace libraries as before or with the + Pablo Performance Caputure Facility. + * Added new F90 APIs for generic properties, new filters, and + time/space allocation properties. + * C++ API: + - Added two new member functions: Exception::getFuncName() and + Exception::getCFuncName() to provide the name of the member + function, where an exception is thrown. + - IdComponent::operator= becomes a virtual function because + DataType, DataSpace, and PropList provide their own + implementation. The new operator= functions invoke H5Tcopy, + H5Scopy, and H5Pcopy to make a copy of a datatype, dataspace, + and property list, respectively. + +Parallel Library: +----------------- + +Tools: +------ + * When the "-S" option for "simple" output is chosen, h5ls now displays + modification times of datasets in UTC instead of local time. + 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. + * 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. + When building with Absoft compiler, add -DH5_ABSOFT to + C compilation flags to get correct names of C functions + called by Fortran APIs. + + +Bug Fixes since HDF5-1.4.0 release +================================== + +Library +------- + * Don't attempt to perform collective I/O on chunked datasets with + parallel I/O. QAK - 2003/06/05 + * The library now correctly reuses space when objects are deleted in the + file. This should be handled correctly for every situation, except + datasets with variable-length datatypes are not returning the space they + use in the global heap currently. QAK - 2003/04/13 + * Fixed error in B-tree deletion routine which could cause groups to be + corrupted when objects are removed from them. + QAK - 2003/04/11 + * Fixed error in file space freeing code which could cause metadata to + fail to be written to the file. + QAK - 2003/04/11 + * -O caused errors in AIX 5.x platforms. Removed it from + --enable-production mode. AKC - 2003/03/31 + * Corrected memory/resource leaks in per-thread key information when + thread-safe operation was enabled. QAK - 2003/02/07 + * Improved error assertion for nil VL strings, making it fails with error + stack instead of just assertion failure. SLU - 2002/12/16 + * Added two new API functions: H5Zunregister & H5Zfilter_avail. + QAK - 2002/11/16 + * Add data shuffle filter(source code H5Zshuffle.c), the combination of the + shuffling and compression can make data compression better without suffering + much encoding and decoding CPU time for many application datasets(especially + 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, + 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 + * Partially fixed space allocation inefficiencies in the file by + improving our algorithms for re-using freed space. QAK - 2002/08/27 + * 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 + 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 + * Tweaked a few API functions to use 'size_t' instead of 'unsigned' or + 'hsize_t', which may cause errors in some cases. + + +Configuration +------------- + * Included the both the examples of fortran and c++ "make check-install" + testing. This tests the correctness of the h5fc command. AKC - 2003/04/22 + * When using gcc 3.x, we use -std=c99 instead of -ansi for compiling. + QAK - 2003/04/11 + * IA64 platform has its own configure setting and use Intel Compilers as + the default compilers (were gcc and pgf90 before.) This also eliminated + the segmentation fault in the fortran test. The missing reference of + "exit" is fixed too. AKC - 2003/04/02 + +Performance +------------- + * Improved dataset creation time by about 30% (relative to the 1.4.x + branch). + +Tools +----- + + * 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 + (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 +------------- + + + + + + +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 + 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 + mpt 2.2.0.0 + Cray SV1 sn9617 10.0.1.2 Cray Standard C Version 6.6.0.2 + mpt 2.2.0.0 + Cray Fortran Version 3.6.0.0.2 + Cray T90IEEE 10.0.1.01y Cray Standard C Version 6.4.0.2.3 + Cray Fortran Version 3.4.0.3 + 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 F90 v2.4 + HP ANSI C++ B3910B A.03.13 + MPIch 1.2.4 + IRIX 6.5 MIPSpro cc 7.30 + IRIX64 6.5 (64 & n32) MIPSpro cc 7.3.1.3m + F90 MIPSpro 7.3.1.3m (64 only) + MPIch 1.2.4 + Linux 2.4.18 gcc 2.96, 3.2.2, 3.2.3 + g++ 3.2.2, 3.2.3 + Intel(R) C++ Version 7.1 + Intel(R) Fortran Compiler Version 7.1 + PGI compilers (pgcc, pgf90, pgCC) version 4.0-2 + 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 + 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 + 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 + SunOS 5.8/64 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 + TFLOPS r1.0.4 v4.3.3 i386 pgcc Rel 3.1-4i with mpich-1.2.4 with + local modifications + 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 + Windows XP MSVC++.NET + MAC OS X Darwin 6.5 + gcc and g++ Apple Computer, Inc. GCC + version 1161, based on gcc version 3.1 + + + +Supported Configuration Features Summary +======================================== + + In the tables below + y = tested and supported + n = not supported or not tested in this release + x = not working in this release + dna = does not apply + ( ) = footnote appears below second table + +Platform C C F90 F90 C++ Shared zlib + parallel parallel libraries (4) +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 +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 +OSF1 v5.1 y y y y y y y +T3E y y (5) y y (5) n n y +SV1 y y (5) y y (5) n n y +T90 IEEE y y (5) y y (5) n n y +TFLOPS n y (1) n n n n y +AIX-5.1 32-bit y y y y y n y +AIX-5.1 64-bit y y y y y n y +WinXP (6) y n n n y y y +WinXP Intel y n n n y y y +Win2000 y n y n y y y +Win2000 Intel y n y n y y y +WinNT CW y n n n n n y +Mac OS X 10.2 y n n n y y y +FreeBSD y y (1) n n y y y +Linux 2.4 gcc (3) y y (1) y (PGI) n y y y +Linux 2.4 Intel (3) y n y n y n y +Linux 2.4 PGI (3) y n y n y n y +Linux 2.4 IA32 Intel y n y n y n y +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 + 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 +Solaris2.8 64-bit x y y n y y n +Solaris2.8 32-bit x y y n y y y +IRIX6.5 x n y n y y y +IRIX64_6.5 64-bit x y y y y y y +IRIX64_6.5 32-bit x y y y y y y +HPUX11.00 x n y n y y y +OSF1 v5.1 y n y n y y y +T3E y n n n y y y +SV1 y n n n y y y +T90 IEEE y n n n y y n +TFLOPS y n n n n n n +AIX-5.1 32-bit y n y n y y y +AIX-5.1 64-bit y n y n y y y +WinXP (6) y n y n n y y +WinXP Intel y n y n n y y +Win2000 y n y n n y y +Win2000 Intel y n y n n y y +WinNT CW y n y n n y y +Mac OS X 10.2 y n y n y y n +FreeBSD y y y n y y y +Linux 2.4 gcc (3) y y y n y y y +Linux 2.4 Intel (3) y n y n y n n +Linux 2.4 PGI (3) y n y n y n n +Linux 2.4 IA32 Intel y n y n y y y +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 + on Windows where they are provided for C and C++. + (5) Using mpt. + (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 + utilities. + Compiler versions for each platform are listed in the preceding + "Platforms Tested" table. + + + +Known Problems +============== + +* PGI C++ compiler fails when compiling the C++ library's tests. + Therefore, we cannot verify that the C++ library built with the PGI C++ + compiler is correct. + +* The h5dump tests may fail to match the expected output on some platforms + (e.g. parallel jobs, Windows) where the error messages directed to + "stderr" do not appear in the "right order" with output from stdout. + This is not an error. + +* 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 + 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 this option. + + It is suggested that you don't use this option on these platforms + during configuration. + +* With the gcc 2.95.2 compiler, HDF 5 uses the `-ansi' flag during + compilation. The ANSI version of the compiler complains about not being + 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 Stream VFD was not tested yet under Windows. It is not supported + in the TFLOPS machine. + + +* The ./dsets tests failed in the TFLOPS machine if the test program, + dsets.c, is compiled with the -O option. The hdf5 library still works + correctly with the -O option. The test program works fine if it is + compiled with -O1 or -O0. Only -O (same as -O2) causes the test + program to fail. + +* Certain platforms give false negatives when testing h5ls: + - Cray J90 and Cray T90IEEE give errors during testing when displaying + some floating-point values. These are benign differences due to + 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 + 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 + 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 + +* On IA32 and IA64 systems, if you use a compiler other than GCC (such as + Intel's ecc or icc compilers), you will need to modify the generated + "libtool" program after configuration is finished. On or around line 104 of + the libtool file, there are lines which look like: + + # How to pass a linker flag through the compiler. + wl="" + + change these lines to this: + + # How to pass a linker flag through the compiler. + wl="-Wl," + + UPDATE: This is now done automatically by the configure script. However, if + you still experience a problem, you may want to check this line in the + libtool file and make sure that it has the correct value. + +* Information about building with PGI and Intel compilers is available in + INSTALL file sections 5.7 and 5.8 +----------------------------------------------------------------------- +%%%%1.4.5%%%% Release Information for hdf5-1.4.5 (02/February/03) + + +13. Release information for HDF5 version 1.4.5 +============================================================================== + + +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 +HISTORY.txt file in the HDF5 source. + +The HDF5 documentation can be found on the NCSA ftp server +(ftp.ncsa.uiuc.edu) in the directory: + + /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: + + hdfhelp@ncsa.uiuc.edu + + +CONTENTS + +- New Features +- Bug Fixes since HDF5-1.4.4 +- Performance Improvements +- Documentation +- Platforms Tested +- Supported Configuration Features +- Known Problems + + +New Features +============ + o Configuration + ================ + * Added "unofficial support" for building with a C++ compiler (or at least + not failing badly when building with a C++ compiler). QAK - 2003/01/09 + * Added "unofficial support" for AIX 64bits. See INSTALL for configure + details. AKC - 2002/08/29 + * Added "--with-dmalloc" flag, to easily enable support for the 'dmalloc' + debugging malloc implementation. QAK - 2002/07/15 + + 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 + into an application if set to '1'. This should be used with caution, + mis-matched headers and library binaries can cause _serious_ problems. + QAK - 2002/10/15 + * Partially fixed space allocation inefficiencies in the file by + improving our algorithms for re-using freed space. QAK - 2002/08/27 + * API tracing has been improved. Nested API calls don't screw up the + 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 + time spent in each API function. + ttop -- turn on tracing but display only top-level + API calls. + + o APIs + ------ + * Several missing fortran APIs have been added to the library: + + 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 + + Functions h5dvlen_get_max_len_f, h5dwrite_vl_f, and h5dread_vl_f support + VL Length C APIs functionality for integer, real and string datatypes. + See HDF5 Reference Manual and HDF5 FORTRAN90 User's Notes for more + information and for the functions description. + + o Parallel library + ================== + * The MPI-posix virtual file driver makes gpfs_fcntl() hints to tell + the underlying GPFS file system to avoid prefetching byte range + tokens if USE_GPFS_HINTS is defined when this file is compiled. + This temporary solution is intended to be removed once the HDF5 + API supports the necessary functionality that makes it possible + for this sort of thing do be done at a higher software layer. + RPM - 2002/12/03 + * Added MPI-posix VFL driver. This VFL driver uses MPI functions to + coordinate actions, but performs I/O directly with POSIX sec(2) + (i.e. open/close/read/write/etc.) calls. This driver should _NOT_ + be used to access files that are not on a parallel filesystem. + The following API functions were added: + herr_t H5Pset_fapl_mpiposix(hid_t fapl_id, MPI_Comm comm); + herr_t H5Pget_fapl_mpiposix(hid_t fapl_id, MPI_Comm *comm/*out*/); + QAK - 2002/07/15 + + + + o Support for new platforms and languages + ========================================= + * 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 + + +Bug Fixes since HDF5-1.4.4 Release +================================== + * H5Fopen without the H5F_ACC_CREAT flag should not succeed in creating + a new file with the 'core' VFL driver. QAK - 2003/01/24 + * Corrected metadata caching bug in parallel I/O which could cause hangs + when chunked datasets were accessed with independent transfer mode. + QAK - 2003/01/23 + * Allow opening objects with unknown object header messages. + 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 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 + invoked for parallel I/O operations in collective mode. QAK - 2002/07/22 + * Fixed metadata corruption problem which could occur when many objects + are created in a file during parallel I/O. QAK - 2002/07/19 + * Fixed minor problem with configuration when users specified /usr/include + and /usr/lib for the --with-* options that some compilers can't + handle. BW - 2003/01/23 + + + +Documentation +============= + New PDF files are not available for this release. + + +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 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 F90 v2.4 + IRIX 6.5 MIPSpro cc 7.30 + IRIX64 6.5 (64 & n32) MIPSpro cc 7.3.1.3m + F90 MIPSpro 7.3.1.3m (64 only) + Linux 2.4.18 gcc 3.2.1 + g++ 3.2.1 + Intel(R) C++ Version 6.0 + Intel(R) Fortran Compiler Version 6.0 + PGI compilers (pgcc, pgf90, pgCC) version 4.0-2 + pgf90 3.2-4 + OSF1 V5.1 Compaq C V6.4-014 + 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 + 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 + 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 + Patch 109503-07 2001/08/11 + Sun WorkShop 6 update 1 C++ 5.2 Patch + 109508-04 2001/07/11 + TFLOPS r1.0.4 v4.3.3 i386 pgcc Rel 3.1-4i with mpich-1.2.4 with + local modifications + 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 + Windows XP .NET + Windows NT4.0 Code Warrior 6.0 + MAC OS X Darwin 6.2 + gcc and g++ Apple Computer, Inc. GCC + version 1161, based on gcc version 3.1 + + + +Supported Configuration Features Summary +======================================== + + In the tables below + y = tested and supported + n = not supported or not tested in this release + x = not working in this release + dna = does not apply + ( ) = footnote appears below second table + + + Platform C C F90 F90 C++ Shared zlib + parallel parallel libraries (5) + Solaris2.6 y n y n y y y + 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 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 + 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 + OSF1 v5.1 y n y n y y y + T3E (6) y n y n n n y + SV1 y n y n n n y + T90 IEEE y n y n n n y + TFLOPS n y (1) n n n n y + AIX-5.1 32-bit y y y y y n y + AIX-5.1 64-bit y y y y y n y + WinXP (7) y n n n y y y + WinNT/2000 y n y n y y y + WinNT CW y n n n n n y + Mac OS X 10.2 y n n n y y y + FreeBSD y y (1) n n y y y + Linux 2.2 y y (1) y y (1) y y y + Linux 2.4 gcc (3) y y (1) y n y y y + Linux 2.4 Intel (3) y n y n n n y + 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 + Solaris2.6 x y n n y + Solaris2.7 64-bit x y n n y + Solaris2.7 32-bit x y n n y + Solaris2.8 64-bit x n n n y + Solaris2.8 32-bit x y n n y + IRIX6.5 x n n n y + IRIX64_6.5 64-bit x y n y y + IRIX64_6.5 32-bit x y n y y + HPUX11.00 x n n n y + OSF1 v5.1 y n n n y + T3E (6) y n n n y + SV1 y n n n y + T90 IEEE y n n n y + TFLOPS y n n n n + AIX-5.1 32-bit y n n n y + AIX-5.1 64-bit y n n n y + WinXP (7) dna n n n n + WinNT/2000 dna n n n n + WinNT CW dna n n n n + Mac OS X 10.2 y n n n y + FreeBSD y y n n y + Linux 2.2 y y n n y + Linux 2.4 gcc (3) y y n n y + Linux 2.4 Intel (3) y n n n y + Linux 2.4 PGI (3) y n n n y + Linux 2.4 IA32 y n n n y + Linux 2.4 IA64 y n n n 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. + (4) No HDF4-related tools. + (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 + released at this time. + + +Known Problems +============== + + * 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 + complaining about EXEC function. Comment the call to EXEC subroutine + 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. + + * On Windows, h5dump may abort printing if a VL string is longer than 4096 + bytes due to a compiler problem. It'll be fixed in v1.6 release. + + * 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 + 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 + SV1 printf precision and the printf precision on other platforms. + + * The h5dump tests may fail to match the expected output on some + platforms (e.g. SP2 parallel, Windows) where the error messages + directed to "stderr" do not appear in the "right order" with output + from stdout. This is not an error. + + * 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 + 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 + 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 + for h5dump, gives segmentation fault. + + * On Windows platforms, C and Fortran tests fail with the debug DLL version + of the Library if built from all_withf90.zip file. + + * 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. + + * 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. + + * For configuration, building and testing with Intel and PGI compilers see + corresponding section in INSTALL file. + + +%%%%1.4.4%%%% Release Information for hdf5-1.4.4 (02/July/02) + +12. Release information for HDF5 version 1.4.4 +============================================================================== + +INTRODUCTION + +This document describes the differences between HDF5-1.4.3 and +HDF5-1.4.4, and contains information on the platforms tested and +known problems in HDF5-1.4.4. For more details check the HISTORY.txt +file in the HDF5 source. + +The HDF5 documentation can be found on the NCSA ftp server +(ftp.ncsa.uiuc.edu) in the directory: + + /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: + + hdfhelp@ncsa.uiuc.edu + + +CONTENTS + +- New Features +- Bug Fixes since HDF5-1.4.3 +- Performance Improvements +- Documentation +- Platforms Tested +- Supported Configuration Features +- Known Problems + + +New Features +============ + o Configuration + ================ + * 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 + 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 + 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 + with the new type; module subroutines that accept "dims" as an i + 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 + actual I/O calls made, improving performance. QAK - 2002/06/05 + * Improved internal metadata aggregation, which can reduce the number of + actual I/O calls made, improving performance. Additionally, this can + reduce the size of files produced. QAK - 2002/06/04 + * Improved internal metadata caching, which can reduce the number of + actual I/O calls made by a substantial amount, improving + performance. QAK - 2002/06/03 + + + o Parallel library + ================== + * Fixed bug in parallel I/O routines where a collective I/O which used + MPI derived types, followed by an independent I/O would cause the library + to hang. QAK 2002/06/24 + * Added environment variable flag to control whether creating MPI derived + types is preferred or not. This can affect performance, depending on + which way the MPI-I/O library is optimized. The default is set to + prefer MPI derived types for collective raw data transfers; setting the + HDF5_MPI_PREFER_DERIVED_TYPES environment variable to "0" (i.e.: + "setenv HDF5_MPI_PREFER_DERIVED_TYPES 0") changes the preference to avoid + using them whenever possible. QAK - 2002/06/19 + * Changed MPI I/O routines to avoid creating MPI derived types (and thus + needing to set the file view) for contiguous selections within datasets. + This should result in some performance improvement for those types of + selections. QAK - 2002/06/18 + * Changed MPI type support for collective I/O to be enabled by default. + This can be disabled by setting the HDF5_MPI_OPT_TYPES environment + variable to the value "0". QAK - 2002/06/14 + * Allowed chunks in chunked datasets to be cached when parallel file is + opened for read-only access (bug #709). QAK - 2002/06/10 + * Changed method for allocating chunked dataset blocks to only allocate + blocks that don't already exist, instead of attempting to create all the + blocks all the time. This improves performance for chunked + datasets. QAK - 2002/05/17 + * Allowed the call to MPI_File_sync to be avoided when the file is going to + immediately be closed, improving performance. QAK - 2002/05/13 + * Allowed the metadata writes to be shared among all processes, easing the + burden on process 0. QAK - 2002/05/10 + + + o Tools + ======= + * h5redeploy utility was added. It updates HDF5 compiler tools + after the HDF5 software has been installed in a new location. + + + o Support for new platforms and languages + ========================================= + * Parallel Fortran Library works now on HP-UX B.11.00 Sys V. + EIP - 2002/05/06 + * 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 + 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. + * 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. + + +Bug Fixes since HDF5-1.4.3 Release +================================== + * Fixed bug in chunking routines where they were using internal allocation + free routines, instead of malloc/free, preventing user filters from + working correctly. Chunks are now allocated/freed with malloc/free and + so should the chunks in user filters. QAK 2002/06/18 + * Fixed bug where regular hyperslab selection could get incorrectly + transferred when the number of elements in a row did not fit evenly + into the buffer provided. QAK 2002/06/12 + * Fixed bug (#499) which allowed an "empty" compound or enumerated datatype + (one with no members) to be used to create a dataset or to be committed + to a file. QAK - 2002/06/11 + * Fixed bug (#777) which allowed a compound datatype to be inserted into + itself. QAK - 2002/06/10 + * Fixed bug (#789) where creating 1-D dataset region reference caused the + 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 + 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 + * Fixed bug where an object's header could get corrupted in certain + obscure situations when many objects were created in the + file. QAK - 2002/05/31 + * Fixed bug where read/write intent in file IDs created with H5Freopen + was not being kept the same as the original file. QAK - 2002/05/14 + * Fixed bug where selection offsets were not being used when iterating + through point and hyperslab selections with + H5Diterate(). QAK - 2002/04/29 + * Fixed bug where the data for several level deep nested compound & + variable-length datatypes used for datasets were getting corrupted when + written to the file. QAK - 2002/04/17 + * Fixed bug where selection offset was being ignored for certain hyperslab + selections when optimized I/O was being performed. QAK - 2002/04/02 + * Fixed limitation in h5dumper with object names which reached over 1024 + characters in length. We can now handle arbitrarily larger sizes for + object names. BW - 2002/03/29 + * Fixed bug where variable-length string type did not behave as a + string. SLU - 2002/03/28 + * Fixed bug in H5Gget_objinfo() which was not setting the 'fileno' + of the H5G_stat_t struct. QAK - 2002/03/27 + * Fixed data corruption bug in hyperslab routines when contiguous + hyperslab that spans entire dimension and is larger than type + conversion buffer is attempted to be read. QAK - 2002/03/26 + + +Performance Improvements +======================== + This release of the HDF5 library has been extensively tuned to improve +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. + 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. + 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. + + +Documentation +============= + * Documentation was updated for the hdf5-1.4.4 release. + * 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 + http://hdf.ncsa.uiuc.edu/HDF5/doc/Tutor/. + * The "HDF5 Tutorial" is not distributed with this release. It is + available at http://hdf.ncsa.uiuc.edu/HDF5/doc/Tutor/. + + +Platforms Tested +================ + + AIX 4.3.3.0 (IBM SP powerpc) xlc 5.0.2.0 + mpcc_r 5.0.2.0 + xlf 07.01.0000.0002 + mpxlf 07.01.0000.0002 + 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 + 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 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 F90 v2.4 + 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 + IRIX64 6.5 (64 & n32) MIPSpro cc 7.3.1.3m + F90 MIPSpro 7.3.1.3m (64 only) + Linux 2.4.9-31smp gcc 2.95.3 + g++ 2.95.3 + Intel(R) C++ Version 6.0 + Intel(R) Fortran Compiler Version 6.0 + MPICH 1.2.2 + Linux 2.2.18smp gcc 2.95.2 + gcc 2.95.2 with mpich 1.2.1 + g++ 2.95.2 + pgf90 3.2-4 + OSF1 V5.1 Compaq C V6.4-014 + 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 + 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 + 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 + Patch 109503-07 2001/08/11 + Sun WorkShop 6 update 1 C++ 5.2 Patch + 109508-04 2001/07/11 + TFLOPS r1.0.4 v4.2.2 i386 pgcc Rel 3.1-4i with mpich-1.2.3 with + local modifications + IA-32 Linux 2.4.9 cc Intel 5.0.1 + 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 + Windows 2000 (NT5.0) MSVC++ 6.0 + DEC Visual Fortran 6.0 + Windows NT4.0 MSVC++ 6.0 + DEC Visual Fortran 6.0 + Windows NT4.0 Code Warrior 6.0 + + +Supported Configuration Features Summary +======================================== + + In the tables below + y = tested and supported + n = not supported or not tested in this release + x = not working in this release + ( ) = footnote appears below second table + + + Platform C C F90 F90 C++ Shared zlib Tools + parallel parallel libraries(5) + Solaris2.6 y n y n y y y y + Solaris2.7 64 y y (1) y n y y y y + Solaris2.7 32 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 + 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 n32 y y (2) n n n y y y + HPUX10.20 y n y n n y y y + HPUX11.00 y n y n n y y y + HPUX11 SysV y y y y n y y y + OSF1 v5.1 y n y n y y y y + T3E y y y y n n y y + SV1 y n y n n n y y + TFLOPS n y (1) n n n n y y (4) + AIX-4.3 y y y y y n y y + AIX-5.1 y y y y n n y y + WinNT/2000 y n y n y y y y + WinNT CW y n n n n n y y + FreeBSD y n n n y y y y + Linux 2.2 y y (1) y n y y y y + Linux 2.4 y y (1) n n y y y y + Linux 2.4 Intel(6) y n y n y n y y + Linux 2.4 IA32 y n y n n n y y + Linux 2.4 IA64 y n y n n n y y + + + Platform 1.2 static- Thread- SRB GASS STREAM- + compatibility exec safe VFD + Solaris2.6 y x y n n y + Solaris2.7 64 y x y n n y + Solaris2.7 32 y x y n n y + Solaris2.8 64 y y n n n y + Solaris2.8 32 y x y n n y + IRIX6.5 y x n n n y + IRIX64_6.5 64 y x y n y y + IRIX64_6.5 n32 y x y n y y + HPUX10.20 y y n n n y + HPUX11.00 y x n n n y + HPUX11 SysV y x n n n y + OSF1 v5.1 y y n n n y + T3E y y n n n y + SV1 y y n n n y + TFLOPS y y n n n n + AIX-4.3 y y (3) n n n y + AIX-5.1 y y n n n y + WinNT/2000 y y n n n n + WinNT CW n n n n n n + FreeBSD y y y n n y + Linux 2.2 y y y n n y + Linux 2.4 y y y n n y + Linux 2.4 Intel(6) y y n n n y + Linux 2.4 IA32 y y n n n y + Linux 2.4 IA64 y y n n n y + + + Footnotes: (1) Using mpich. + (2) Using mpt and mpich. + (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, + except on Windows where they are provided for all languages. + (6) Linux 2.4 with Intel compilers. + + +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 + 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 + SV1 printf precision and the printf precision on other platforms. + + * The h5dump tests may fail to match the expected output on some + platforms (e.g. SP2 parallel, Windows) where the error messages + directed to "stderr" do not appear in the "right order" with output + from stdout. This is not an error. + + * 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 + 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 + 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 + Intel's ecc or icc compilers), you will need to modify the generated + "libtool" program after configuration is finished. On or around line 104 + of the libtool file, there are lines which look like: + + # How to pass a linker flag through the compiler. + wl="" + + Change these lines to this: + + # How to pass a linker flag through the compiler. + wl="-Wl," + + * 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 + fortran/examples directory; to proceed, edit the work.pcl files in + those directories to contain two lines + + work.pc + ../src/work.pc + + * To build the Fortran library on IA64 use + setenv CC "ecc -DIA64" + setenv F9X "efc -cl,work.pcl" + before running configure and see the steps described above. + + +%%%%1.4.3%%%% Release Information for hdf5-1.4.3 (18/Februaru/02) + +11. Release information for HDF5 version 1.4.3 +============================================================================== + + +INTRODUCTION + +This document describes the differences between HDF5-1.4.2 and +HDF5-1.4.3, and contains information on the platforms tested and +known problems in HDF5-1.4.2. For more details check the HISTORY.txt +file in the HDF5 source. + +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: + + hdfhelp@ncsa.uiuc.edu + + +CONTENTS + +- New Features +- Bug Fixes since HDF5-1.4.2 +- Documentation +- Platforms Tested +- Supported Configuration Features +- Known Problems + + +New Features +============ + o Configuration + ================ + * Can use just enable-threadsafe if the C compiler has built-in pthreads + support. + + 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 + about 10%. + + o APIs + ------ + * Changed prototype for H5Awrite from: + H5Awrite(hid_t attr_id, hid_t type_id, void *buf) + to: + H5Awrite(hid_t attr_id, hid_t type_id, const void *buf) + * The H5Pset_fapl_split() accepts raw and meta file names similar to the + syntax of H5Pset_fapl_multi() in addition to what it used to accept. + + C++ API: + * Added operator= to class PredType + * Add the overloaded member function Attribute::getName to return + the attribute name's length as in C API. Note that the current + Attribute::getName, that returns "string", is still available. + * Following the change in the C library, the corresponding C++ API + is changed from: + void Attribute::write( const DataType& mem_type, void *buf ) + to: + void Attribute::write( const DataType& mem_type, const void *buf ) + + o Performance + ------------- + * Added perform programs to test the HDF5 library performance. Programs + are installed in directory perform/. + * Improved performance of byte-swapping during data conversions. + * Improved performance of single, contiguous hyperslabs when reading or + writing. + * Added support to read/write portions of chunks directly, if they are + uncompressed and too large to cache. This should speed up I/O on chunked + datasets for a few more cases. -QAK, 1/31/02 + + o Parallel Library + ================== + * Parallel C HDF5 now works on HP-UX platforms, Compaq clusters, + Linux clusters, Cplants (alpha-linux clusters). + + o Tools + ======= + * A helper script called ``h5cc'', which helps compilation of HDF5 + programs, is now distributed with HDF5. See the reference manual + for information on how to use this feature. + * The H5Dumper can now dump comments associated with groups. -WCW 01-05-02 + + o Support for new platforms and languages + ========================================= + * HDF5 C++ Library is supported on Windows platforms (shared and static) + * HDF5 F90 shared library is supported on Windows platforms. + * HDF5 C Library is supported on IA32 and IA64 platforms. + + + +Bug Fixes since HDF5-1.4.2 Release +================================== + + * Fixed a bug when reading chunked datasets where the edge of the dataset + would be incorrectly detected and generate an assertion failure. + * Fixed a bug where reading an entire dataset wasn't being handled + optimally when the dataset had unlimited dimensions. Dataset is read + in a single low-level I/O now, instead of being broken into separate + pieces internally. + * Fixed a bug where reading or writing chunked data which needed datatype + conversion could result in data values getting corrupted. + * Fixed a bug where appending a point selection to the current selection + would not actually append the point when there were no points defined + currently. + * Fixed a bug where 'or'ing a hyperslab with a 'none' selection would + fail. Now adds that hyperslab as the first hyperlab in the selection. + * Fixed a bug in the 'big' test where quota limits weren't being detected + properly if they caused close() to fail. + * Fixed a bug in internal B-tree code where a B-tree was not being copied + correctly. + * Fixed an off-by-one error in H5Sselect_valid when hyperslab selections + which would allow hyperslab selections which overlapped the edge of the + selection by one element as valid. + * Fixed the internal macros used to encode & decode file metadata, to avoid + an unaligned access warning on IA64 machines. + * Corrected behavior of H5Tinsert to not allow compound datatype fields to + be inserted past the end of the datatype. + * Retired the DPSS virtual file driver (--with-gridstorage configure + option). + * Fixed bug where variable-length datatypes for attributes was not working + correctly. + * Fixed bug where raw data re-allocated from the free-list would sometimes + overlap with the metadata accumulator and get corrupted. QAK - 1/23/02 + * Fixed bug where a preempted chunk in the chunk data could still be + used by an internal pointer and cause an assertion failure or core + dump. QAK - 2/13/02 + * Fixed bug where non-zero fill-value was not being read correctly from + certain chunked datasets when using an "all" or contiguous hyperslab + selection. QAK - 2/14/02 + + +Documentation +============= + * Documentation was updated for the hdf5-1.4.3 release. + * 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/ + + +Platforms Tested +================ + + AIX 4.3.3.0 (IBM SP powerpc) xlc 5.0.2.0 + mpcc_r 5.0.2.0 + xlf 07.01.0000.0002 + mpxlf 07.01.0000.0002 + 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) + 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 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 F90 v2.4 + 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 + IRIX64 6.5 (64 & n32) MIPSpro cc 7.3.1.2m + Linux 2.4.4 gcc 2.95.3 + g++ 2.95.3 + Linux 2.2.18smp gcc 2.95.2 + 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 + 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 + 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 + 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 + Patch 109503-07 2001/08/11 + Sun WorkShop 6 update 1 C++ 5.2 Patch + 109508-04 2001/07/11 + TFLOPS r1.0.4 v4.0.8 i386 pgcc Rel 3.1-4i with mpich-1.2.1 with + local modifications + 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 + for the Itanium(TM)-based applications, + Version 6.0 Beta, Build 20010905 + Windows 2000 (NT5.0) MSVC++ 6.0 + DEC Visual Fortran 6.0 + Windows NT4.0 MSVC++ 6.0 + DEC Visual Fortran 6.0 + Windows NT4.0 Code Warrior 6.0 + Windows 98 MSVC++ 6.0 + DEC Visual Fortran 6.0 + + +Supported Configuration Features Summary +======================================== + + In the tables below + y = tested and supported + n = not supported or not tested in this release + x = not working in this release + ( ) = footnote appears below second table + + + Platform C C F90 F90 C++ Shared zlib Tools + parallel parallel libraries + (5) + 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 + 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 + HPUX10.20 y n y n n y y y + HPUX11.00 y y y n n y y y + HPUX11 SysV y y y n n y y y + DECOSF y n y n y y y y + T3E y y y y n n y y + SV1 y n y n n n y y + TFLOPS y y (1) n n n n y y (4) + AIX-4.3 SP2 y y y y n n y n + AIX-4.3 SP3 y y y y y n y n + Win2000 y n y n y (6) y y y + Win98 y n y n y (6) y y y + WinNT y n y n y (6) y y y + WinNT CW y n n n n n y y + FreeBSD y n n n y y y y + Linux 2.2 y y (1) y n y y y y + Linux 2.4 y y (1) n n y y y y + + + 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 + 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 + HPUX10.20 n y n n n y + HPUX11.00 n x n n n y + HPUX11 SysV n x n n n y + DECOSF n y n n n y + T3E n y n n n y + SV1 n y n n n y + TFLOPS n y n n n n + AIX-4.3 SP2 n y (3) n n n y + AIX-4.3 SP3 n y n n n y + Win2000 n y n n n n + Win98 n y n n n n + WinNT n y n n n n + WinNT CW n n n n n n + FreeBSD n y y n n y + Linux 2.2 n y y n n y + Linux 2.4 n y y n n y + + + Footnotes: (1) Using mpich. + (2) Using mpt and mpich. + (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 + + +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 + 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 + SV1 printf precision and the printf precision on other platforms. + + + * The h5dump tests may fail to match the expected output in some + platforms (e.g. SP2 parallel, Windows) where the error messages + directed to "stderr" do not appear in the "right order" with output + from stdout. This is not an error. + + * 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 + 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 + HDF5_MPI_OPT_TYPES to a non-zero value such as 1. + + * 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 + -DIA64 to the compilation flags. + + * 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 + of the libtool file, there are lines which look like: + + # How to pass a linker flag through the compiler. + wl="" + + change the lines to this: + + # How to pass a linker flag through the compiler. + wl="-Wl," + + +%%%%1.4.2%%%% Release Information for hdf5-1.4.2 (31/July/01) + +10. Release Information for hdf5-1.4.2 +================================================================= + + +INTRODUCTION + +This document describes the differences between HDF5-1.4.1 and +HDF5-1.4.2, and contains information on the platforms tested and +known problems in HDF5-1.4.2. + +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: + + hdfhelp@ncsa.uiuc.edu + + +CONTENTS + +- New Features +- Bug Fixes since HDF5-1.4.1 +- Documentation +- Platforms Tested +- Supported Configuration Features +- Known Problems + + +New Features +============ + + * File sizes greater than 2GB are now supported on Linux systems with + version 2.4.x or higher kernels. + * Added a global string variable H5_lib_vers_info_g which holds the + HDF5 library version information. This can be used to identify + an hdf5 library or hdf5 application binary. + Also added a verification of the consistency between H5_lib_vers_info_g + and other version information in the source code. + * 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. + 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, + 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. + 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 + 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. + * 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 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 + test. + * Added a parallel HDF5 example examples/ph5example.c to illustrate + the basic way of using parallel HDF5. + * Added a new public macro, H5_VERS_INFO, which is a string holding + the HDF5 library version information. This string is also compiled + into all HDF5 binary code which helps to identify the version information + of the binary code. One may use the Unix strings command on the binary + file and looks for the pattern "HDF5 library version". + * 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 +================================== + + * Fixed bug with non-zero userblock sizes causing raw data to not + write correctly. + * 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 + 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 + 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 + enable or disable large file support on Linux. + * 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 + more than once. hdf5.h now includes H5public.h which includes + H5pubconf.h. Applications should #include hdf5.h which handles multiple + inclusion correctly. + * Fixed H5FDmpio.h to be C++ friendly by making Parallel HDF5 API's to be + external to C++. + * Fixed a bug in H5FD_mpio_flush() that might result in negative file seek + if both MPIO and Split-file drivers are used together. + + + +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 + 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" + 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 + versions. + + +Platforms Tested +================ + + AIX 4.3.3.0 (IBM SP powerpc) xlc 3.6.6.0 + mpcc_r 3.6.6.0 + xlf 07.01.0000.0002 + mpxlf 07.01.0000.0002 + AIX 4.3 (IBM SP RS6000) C for AIX Compiler, Version 5.0.2.0 + 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 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 F90 v2.4 + 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 + Linux 2.4.4 gcc 2.95.3 + g++ 2.95.3 + Linux 2.2.18smp gcc 2.95.2 + gcc 2.95.2 with mpich 1.2.1 + g++ 2.95.2 + 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 + 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 + 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 + 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 + 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 + local modifications + Windows 2000 (NT5.0) MSVC++ 6.0 + Windows NT4.0 MSVC++ 6.0 + DEC Visual Fortran 6.0 + Windows NT4.0 Code Warrior 6.0 + Windows 98 MSVC++ 6.0 + DEC Visual Fortran 6.0 + + +Supported Configuration Features Summary +======================================== + + In the tables below + y = tested and supported + n = not supported or not tested in this release + x = not working in this release + ( ) = footnote appears below second table + + + Platform C C F90 F90 C++ Shared zlib Tools + parallel parallel libraries + (5) + Solaris2.6 y n y n y y y y + Solaris2.7 y y (1) y n y y y y + Solaris2.8 64 y n n n y y y y + Solaris2.8 32 y n y n y y 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 + HPUX10.20 y n y n n y y y + HPUX11.00 y n y n n y y y + HPUX11 SysV y n y n n y y y + DECOSF y n y n n y y y + T3E y y y y n n y y + SV1 y n y n n n y y + TFLOPS y y (1) n n n n y y (4) + AIX-4.3 SP2 y y y y n n y n + AIX-4.3 SP3 y y y y n n y n + Win2000 y n n n n y y y + Win98 y n y n n y y y + WinNT y n y n n y y y + WinNT CW y n n n n n y y + FreeBSD y n n n y y y y + Linux 2.2 y y (1) y n y y y y + Linux 2.4 y y (1) n n y y y y + + + 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 + Solaris2.8 64 y y n n n y + Solaris2.8 32 y x n n n y + IRIX6.5 y x y n n y + IRIX64_6.5 64 y x n n n y + IRIX64_6.5 32 y x n n n y + HPUX10.20 y y n n n y + HPUX11.00 y x n n n y + HPUX11 SysV y x n n n y + DECOSF y y n n n y + T3E y y n n n y + SV1 y y n n n y + TFLOPS y y n n n n + AIX-4.3 SP2 y y (3) n n n y + AIX-4.3 SP3 y y n n n y + Win2000 y y n n n n + Win98 n y n n n n + WinNT y y n n n n + WinNT CW n n n n n n + FreeBSD y y n n n y + Linux 2.2 y y y n n y + Linux 2.4 y y y n n y + + + Footnotes: (1) Using mpich. + (2) Using mpt and mpich. + (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. + + +Known Problems +============== + + * 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 + SV1 printf precision and the printf precision on other platforms. + + * The h5dump tests may fail to match the expected output in some + platforms (e.g. SP2 parallel, Windows) where the error messages + directed to "stderr" do not appear in the "right order" with output + from stdout. This is not an error. + + * 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 + 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. + + * In some cases, and SDS with an UNLIMITED dimension that has not + been written (current size = 0) is not converted correctly. + + * After "make install" or "make install-doc" one may need to reload + the source from the tar file before doing another build. + + * 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 + HDF5_MPI_OPT_TYPES to a non-zero value such as 1. + +%%%%1.4.1%%%% Release Information for hdf5-1.4.1 (April/01) + +9. Release Information for hdf5-1.4.1 (April/01) +===================================================================== + + + + HDF5 Release 1.4.1 + + +INTRODUCTION + +This document describes the differences between HDF5-1.4.0 and +HDF5-1.4.1, and contains information on the platforms tested and +known problems in HDF5-1.4.1. + +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: + + hdfhelp@ncsa.uiuc.edu + + +CONTENTS + +- New Features +- Bug Fixes since HDF5-1.4.0 +- Documentation +- Platforms Tested +- Supported Configuration Features +- Known Problems + + +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. + + The XML conforms to the HDF5 Document Type Definition (DTD), which + is available at: + + http://hdf.ncsa.uiuc.edu/DTDs/HDF5-File.dtd + + The XML output is suitable for use with other tools, including the + Java Tools: + + http://hdf.ncsa.uiuc.edu/java-hdf5-html + + +Bug Fixes since HDF5-1.4.0 Release +================================== + + * h4toh5 utility: conversion of images is fixed + + Earlier releases of the h4toh5 utility produced images that did not + correctly conform 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 + incorrectly described.) For more information, please see: + + http://hdf.ncsa.uiuc.edu/HDF5/H5Image/ImageDetails.htm + + * Fixed bug with contiguous hyperslabs not being detected, causing + slower I/O than necessary. + * Fixed bug where non-aligned hyperslab I/O on chunked datasets was + causing errors during I/O + * The RCSID string in H5public.h was causing the C++ compiling problem + because when it was included multiple times, C++ did not like + multiple definitions of the same static variable. All occurance of + RCSID definition are removed since we have not used it consistently + before. + + +Documentation +============= + + 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 + 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 + 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. + + +Platforms Tested +================ + +Due to the nature of this release only C, C++ libraries and tools were tested. + + AIX 4.3.3.0 (IBM SP powerpc) xlc 3.6.6 + mpcc_r 3.6.6 + Cray T3E sn6711 2.0.5.47 Cray Standard C Version 6.5.0.0 + Cray SV1 10.0.0.8 Cray Standard C Version 6.5.0.0 + FreeBSD 4.3 gcc 2.95.2 + HP-UX B.10.20 HP C HP92453-01 A.10.32.30 + HP-UX B.11.00 HP C HP92453-01 A.11.01.20 + IRIX 6.5 MIPSpro cc 7.30 + IRIX64 6.5 (64 & n32) MIPSpro cc 7.3.1m + Linux 2.2.18smp gcc-2.95.2 + 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.7 WorkShop Compilers 5.0 98/12/15 C 5.0 + (Solaris 2.7) Workshop Compilers 5.0 98/12/15 C++ 5.0 + TFLOPS r1.0.4 v4.0 mpich-1.2.1 with local changes + Windows NT4.0, 2000 (NT5.0) MSVC++ 6.0 + Windows 98 MSVC++ 6.0 + + +Supported Configuration Features Summary +======================================== + + * See "Supported Configuration Features Summary" section for the HDF5 + 1.4.0 release in the HISTORY.txt file. + +Known Problems +============== + + * The h5dump tests may fail to match the expected output in some + platforms (e.g. SP2 parallel, Windows) where the error messages + directed to "stderr" do not appear in the "right order" with output + from stdout. This is not an error. + + * 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 + 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. + + * See "Known problems" section for the HDF5 1.4.0 release in the + HISTORY.txt file. + +%%%%1.4.0%%%% Release Information for hdf5-1.4.0 (2/22/01) + +8. Release Information for hdf5-1.4.0 +=================================================================== + + HDF5 Release 1.4.0 + + +INTRODUCTION + +This document describes the differences between HDF5-1.2.0 and +HDF5-1.4.0, and contains information on the platforms tested and +known problems in HDF5-1.4.0. For more details check the HISTORY.txt +file in the HDF5 source. + +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: + + hdfhelp@ncsa.uiuc.edu + + +CONTENTS + +- New Features +- h4toh5 Utility +- F90 Support +- C++ Support +- 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 +- Platforms Tested +- Supported Configuration Features +- Known Problems + + +New Features +============ + * The Virtual File Layer, VFL, was added to replace the old file + drivers. It also provides an API for user defined file drivers. + * New features added to snapshots. Use 'snapshot help' to see a + complete list of features. + * Improved configure to detect if MPIO routines are available when + parallel mode is requested. + * Added Thread-Safe support. Phase I implemented. See: + + http://hdf.ncsa.uiuc.edu/HDF5/papers/mthdf/MTHDFpaper.htm + + for more details. + * Added data sieve buffering to raw data I/O path. This is enabled + for all VFL drivers except the mpio & core drivers. Setting the + sieve buffer size is controlled with the new API function, + H5Pset_sieve_buf_size(), and retrieved with H5Pget_sieve_buf_size(). + * Added new Virtual File Driver, Stream VFD, to send/receive entire + HDF5 files via socket connections. + * As parts of VFL, HDF-GASS and HDF-SRB are also added to this + release. To find out details, please read INSTALL_VFL file. + * Increased maximum number of dimensions for a dataset (H5S_MAX_RANK) + from 31 to 32 to align with HDF4 & netCDF. + * Added 'query' function to VFL drivers. Also added 'type' parameter to + VFL 'read' & 'write' calls, so they are aware of the type of data + being accessed in the file. Updated the VFL document also. + * A new h4toh5 utility, to convert HDF4 files to analogous HDF5 files. + * Added a new array datatype to the datatypes which can be created. + Removed "array fields" from compound datatypes (use an array datatype + instead). + * Parallel HDF5 works correctly with mpich-1.2.1 on Solaris, SGI, Linux. + * You can now install the HDF5 documentation using the + ``make install-doc'' command. The documentation is installed in the + $(prefix)/doc directory where $(prefix) is the prefix specified by + the (optional) ``--prefix'' flag during configuration. + * HDF5 can operate correctly in the OpenMP environment in a limited way. + Check doc/html/TechNotes/openmp-hdf5.html for details. + + +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 + 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. + + 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 + 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 + --------------------------------------------- + + 1. Error handlings + + h4toh5 utility will print out an error message when an error occurs. + + 2. String Datatype + + HDF4 has no 'string' type. String valued data are usually defined as + an array of 'char' in HDF4. The h4toh5 utility will generally map + these to HDF5 'String' types rather than array of char, with the + following additional rules: + + * For the data of an HDF4 SDS, image, and palette, if the data is + declared 'DFNT_CHAR8' it will be assumed to be integer and will + 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 + 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. + + + 3. Compression, Chunking and External Storage + + Chunking is supported, but compression and external storage is not. + + An HDF4 object that uses chunking will be converted to an HDF5 file + with analogous chunked storage. + + An HDF4 object that uses compression will be converted to an + uncompressed HDF5 object. + + An HDF4 object that uses external storage will be converted to an + HDF5 object without external storage. + + 4. Memory Use + + This version of the h4toh5 utility copies data from HDF4 objects + in a single read followed by a single write to the HDF5 object. For + large objects, this requires a very large amount of memory, which may + be extremely slow or fail on some platforms. + + Note that a dataset that has only been partly written will + be read completely, including uninitialized data, and all the + data will be written to the HDF5 object. + + 5. Platforms + + The h4toh5 utility requires HDF5-1.4.0 and HDF4r1.4 + + 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 + --enable-fortran flag is specified during configuration. + + 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 + 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 + h5close_types. + + * The following subroutines are no longer available: + + h5pset_xfer_f + h5pget_xfer_f + h5pset_mpi_f + h5pget_mpi_f + h5pset_stdio_f + h5pget_stdio_f + h5pset_sec2_f + h5pget_sec2_f + h5pset_core_f + 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 + 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. + + +C++ Support +=========== + 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. + + +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 + www-pablo.cs.uiuc.edu/pub/Pablo.Release.5/HDFLibrary/hdf5_v1.4.tar.gz + + +Bug Fixes since HDF5-1.2.0 +========================== + +Library +------- + * The function H5Pset_mpi is renamed as H5Pset_fapl_mpio. + * Corrected a floating point number conversion error for the Cray J90 + platform. The error did not convert the value 0.0 correctly. + * Error was fixed which was not allowing dataset region references to + have their regions retrieved correctly. + * Corrected a bug that caused non-parallel file drivers to fail in + the parallel version. + * Added internal free-lists to reduce memory required by the library + and H5garbage_collect API function + * Fixed error in H5Giterate which was not updating the "index" + parameter correctly. + * Fixed error in hyperslab iteration which was not walking through the + correct sequence of array elements if hyperslabs were staggered in a + certain pattern + * Fixed several other problems in hyperslab iteration code. + * Fixed another H5Giterate bug which was causes groups with large + numbers of objects in them to misbehave when the callback function + returned non-zero values. + * Changed return type of H5Aiterate and H5A_operator_t typedef to be + herr_t, to align them with the dataset and group iterator functions. + * Changed H5Screate_simple and H5Sset_extent_simple to not allow + dimensions of size 0 with out the same dimension being unlimited. + * QAK - 4/19/00 - Improved metadata hashing & caching algorithms to + avoid many hash flushes and also remove some redundant I/O when + moving metadata blocks in the file. + * The "struct(opt)" type conversion function which gets invoked for + certain compound datatype conversions was fixed for nested compound + types. This required a small change in the datatype conversion + function API. + * Re-wrote lots of the hyperslab code to speed it up quite a bit. + * Added bounded garbage collection for the free lists when they run + out of memory and also added H5set_free_list_limits API call to + allow users to put an upper limit on the amount of memory used for + free lists. + * Checked for non-existent or deleted objects when dereferencing one + with object or region references and disallow dereference. + * "Time" datatypes (H5T_UNIX_D*) were not being stored and retrieved + from object headers correctly, fixed now. + * Fixed H5Dread or H5Dwrite calls with H5FD_MPIO_COLLECTIVE requests + that may hang because not all processes are transfer the same amount + of data. (A.K.A. prematured collective return when zero amount data + requested.) Collective calls that may cause hanging is done via the + corresponding MPI-IO independent calls. + * If configure with --enable-debug=all, couple functions would issue + warning messages to "stderr" that the operation is expensive time-wise. + This messed up applications (like testings) that did not expect the + extra output. It is changed so that the warning will be printed only + if the corresponding Debug key is set. + +Configuration +------------- + * The hdf5.h include file was fixed to allow the HDF5 Library to be + 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 + tests to link MPIO routines during the configuration stage, rather + than failing later as before. One can just do "./configure + --enable-parallel" if the MPI library is in the system library. + * Added support for pthread library and thread-safe option. + * The libhdf5.settings file shows the correct machine byte-sex. + * Added option "--enable-stream-vfd" to configure w/o the Stream VFD. + For Solaris, added -lsocket to the LIBS list of libraries. + +Tools +----- + * h5dump now accepts both short and long command-line parameters: + -h, --help Print a usage message and exit + -B, --bootblock Print the content of the boot block + -H, --header Print the header only; no data is displayed + -i, --object-ids Print the object ids + -V, --version Print version number and exit + -a P, --attribute=P Print the specified attribute + -d P, --dataset=P Print the specified dataset + -g P, --group=P Print the specified group and all members + -l P, --soft-link=P Print the value(s) of the specified soft link + -o F, --output=F Output raw data into file F + -t T, --datatype=T Print the specified named data type + -w #, --width=# Set the number of columns + + P - is the full path from the root group to the object. + T - is the name of the data type. + F - is a filename. + # - is an integer greater than 1. + * A change from the old way command line parameters were interpreted + is that multiple attributes, datasets, groups, soft-links, and + object-ids cannot be specified with just one flag but you have to + use a flag with each object. I.e., instead of doing this: + + h5dump -a /attr1 /attr2 foo.h5 + + do this: + + h5dump -a /attr1 -a /attr2 foo.h5 + + The cases are similar for the other object types. + * h5dump correctly displays compound datatypes. + * Corrected an error in h5toh4 which did not convert the 32bits + int from HDF5 to HDF4 correctly for the T3E platform. + * 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 + 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. + * h5dump displays opaque and bitfield data correctly. + * h5dump and h5ls can browse files created with the Stream VFD + (eg. "h5ls <hostname>:<port>"). + * h5dump has a new feature "-o <filename>" which outputs the raw data + of the dataset into ascii text file <filename>. + * h5toh4 used to converts hdf5 strings type to hdf4 DFNT_INT8 type. + Corrected to produce hdf4 DFNT_CHAR type instead. + * h5dump and h5ls displays array data correctly. + + +Bug Fixes since HDF5-1.4.0-beta2 +================================ + * 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. + * Cleaned up lots of warnings. + * Changed a few h5dump command line switches and added long versions of + the switches. + * Changed parameters for H5Tconvert, H5Pset_bufer and H5Pget_buffer from + size_t to hsize_t + * 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 + platforms. + + +Bug Fixes since HDF5-1.4.0 Release +================================== + + * Fixed bug with contiguous hyperslabs not being detected, causing + slower I/O than necessary. + * Fixed bug where non-aligned hyperslab I/O on chunked datasets was + causing errors during I/O + * Implemented XML support in h5dump. + + +Documentation +============= + * 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 + 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 + 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 + the User's Guide and the Reference Manual. + * 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 + mpcc_r 3.6.6 + Cray T3E sn6711 2.0.5.45 Cray Standard C Version 6.4.0.0 + Cray Fortran Version 3.4.0.2 + Cray SV1 sn9605 10.0.0.7 Cray Standard C Version 6.4.0.0 + Cray Fortran Version 3.4.0.2 + FreeBSD 4.2 gcc 2.95.2 + g++ 2.95.2 + HP-UX B.10.20 HP C HP92453-01 A.10.32.30 + HP-UX B.11.00 HP C HP92453-01 A.11.00.13 + IRIX 6.5 MIPSpro cc 7.30 + mpich-1.2.1 + IRIX64 6.5 (64 & n32) MIPSpro cc 7.3.1m + mpt.1.4.0.2 + mpich-1.2.1 + Linux 2.2.16-3smp gcc-2.95.2 + g++ 2.95.2 + pgf90 3.1-3 + 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 + (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 + SunOS 5.7 WorkShop Compilers 5.0 98/12/15 C 5.0 + (Solaris 2.7) WorkShop Compilers 5.0 99/10/25 Fortran 90 + 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 + (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 + Windows 98 MSVC++ 6.0 + + +Supported Configuration Features Summary +======================================== + In the tables below + y = tested and supported + n = not supported or not working in this release + ( ) = footnote appears below table + + Platform C C F90 F90 C++ Shared zlib Tools + parallel parallel libraries + Solaris2.6 y n y n y y y y + Solaris2.7 y y (1) y n y y y y + Solarisx86 y n n n n y y y + IRIX6.5 y y (1) n n n n 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 + HPUX10.20 y n n n n y y y + DECOSF y n y n n y y y + T3E y y y y n n y y + SV1 y n y n n n y y + TFLOPS y y (1) n n n n y y (4) + AIX-4.3 y y n n n n y n + Win2000 y n n n n y y y + Win98 y n n n n y y y + WinNT y n n n n y y y + FreeBSD y n n n y y y y + Linux y y (1) y n y y y y + + + Platform 1.2 static- Thread- SRB GASS STREAM- + compatibility exec safe VFD + Solaris2.6 y n n n n y + Solaris2.7 y n y n n y + Solarisx86 y n n n n y + IRIX6.5 y n y n n y + IRIX64_6.5 64 y n n n n y + IRIX64_6.5 32 y n n n n y + HPUX10.20 y y n n n y + DECOSF y y n n n y + T3E y y n n n y + SV1 y y n n n y + TFLOPS y y n n n n + AIX-4.3 y y (3) n n n y + Win2000 y y n n n n + Win98 y y n n n n + WinNT y y n n n n + FreeBSD y y n n n y + Linux y n y n n y + + Footnotes: (1) Using mpich. + (2) Using mpt and mpich. + (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 + being used in the host. + + * 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 Solaris are available in a static format. + + 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. + + The compilation fails if configured with --enable-static-exec on IRIX 6.5. + + 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. + + * testhdf5 got bus error with configuration options --prefix and --with-hdf4 + on IRIX 6.5. + + * With the gcc 2.95.2 compiler, HDF 5 uses the `-ansi' flag during + compilation. The ANSI version of the compiler complains about not being + 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 + fail if library is compiled using optimization of any level. + + * When building hdf5 tools and applications on windows platform, a linking + warning: defaultlib "LIBC" conflicts with use of other libs will appear + 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 + DLL convention on freeing memory. It seems that memory cannot be freed + across library or DLL. It is still under investigation. + + * HDF-GASS testings and testhdf5 in the test directory will get bus error if + 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. + + * Shared library option is broken for IBM SP and some Origin 2000 platforms. + One needs to run ./configure with '--disable-shared --enable-static'. + + * The ./dsets tests failed in the TFLOPS machine if the test program, + dsets.c, is compiled with the -O option. The hdf5 library still works + correctly with the -O option. The test program works fine if it is + compiled with -O1 or -O0. Only -O (same as -O2) causes the test + program to fail. + + * 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 + differences due to the difference in sizes of the objects created on + those platforms. h5ls appears to be dumping object references + correctly. + - Cray J90 give errors during testing when displaying + some floating-point values. These are benign differences due to 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 (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. + + 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 + incorrectly described.) For more information, please see: + + http://hdf.ncsa.uiuc.edu/HDF5/H5Image/ImageDetails.htm + +%%%%1.2.2%%%% Release Information for hdf5-1.2.2 (6/23/00) + +7. Release Information for hdf5-1.2.2 +================================================================= +INTRODUCTION + +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. + +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: + + hdfhelp@ncsa.uiuc.edu + + +CONTENTS + +- Features Added since HDF5-1.2.1 +- Bug Fixes since HDF5-1.2.1 +- Known Problems +- Platforms Tested + + +Features Added since HDF5-1.2.1 +=============================== + * Added internal free-lists to reduce memory required by the library and + H5garbage_collect API function. + * h5dump displays opaque and bitfield types. + * New features added to snapshots. Use 'snapshot help' to see a + complete list of features. + * Improved configure to detect if MPIO routines are available when + parallel mode is requested. + +Bug Fixes since HDF5-1.2.1 +========================== + * h5dump correctly displays compound datatypes, including simple and + nested compound types. + * h5dump correctly displays the committed copy of predefined types. + * Corrected an error in h5toh4 which did not convert the 32-bit + int from HDF5 to HDF4 correctly for the T3E platform. + * Corrected a floating point number conversion error for the + Cray J90 platform. The error did not convert the value 0.0 + correctly. + * Fixed error in H5Giterate which was not updating the "index" parameter + correctly. + * Fixed error in hyperslab iteration which was not walking through the + correct sequence of array elements if hyperslabs were staggered in a + certain pattern. + * Fixed several other problems in hyperslab iteration code. + * Fixed another H5Giterate bug which caused groups with large numbers + of objects in them to misbehave when the callback function returned + non-zero values. + * Changed return type of H5Aiterate and H5A_operator_t typedef to be + herr_t, to align them with the dataset and group iterator functions. + * Changed H5Screate_simple and H5Sset_extent_simple to not allow dimensions + of size 0 without the same dimension being unlimited. + * Improved metadata hashing & caching algorithms to avoid + many hash flushes and also removed some redundant I/O when moving metadata + blocks in the file. + * The libhdf5.settings file shows the correct machine byte-sex. + * The "struct(opt)" type conversion function which gets invoked for + certain compound datatype conversions was fixed for nested compound + types. This required a small change in the datatype conversion + function API. + +Known Problems +============== + +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. + +Platforms Tested +================ + + AIX 4.3.3 (IBM SP) 3.6.6 | binaries + mpicc using mpich 1.1.2 | are not + mpicc_r using IBM MPI-IO prototype | available + AIX 4.3.2.0 (IBM SP) xlc 5.0.1.0 + Cray J90 10.0.0.7 cc 6.3.0.2 + Cray T3E 2.0.5.29 cc 6.3.0.2 + 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) + 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 + mpicc(gcc-2.95.1) + gcc (egcs-2.91.66) + mpicc (egcs-2.91.66) + Linux 2.2.16 (RedHat 6.2) gcc 2.95.2 + + OSF1 V4.0 DEC-V5.2-040 + SunOS 5.6 cc WorkShop Compilers 5.0 no optimization + SunOS 5.7 cc WorkShop Compilers 5.0 + SolarisX86 SunOS 5.5.1 gcc version 2.7.2 with --disable-hsizet + TFLOPS 3.2.1 pgcc Rel 3.1-3i + mpich-1.1.2 with local changes + Windows NT4.0 sp5 MSVC++ 6.0 + Windows 98 MSVC++ 6.0 + Windows 2000 MSVC++ 6.0 + + + +%%%%1.2.1%%%% Release Information for hdf5-1.2.1 + +6. Release Information for hdf5-1.2.1 +================================================================ + + +Bug fixes since HDF5-1.2.0 +========================== + +Configuration +------------- + + * The hdf5.h include file was fixed to allow the HDF5 Library to be 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 tests to + link MPIO routines during the configuration stage, rather than failing + later as before. One can just do "./configure --enable-parallel" + if the MPI library is in the system library. + +Library +------- + + * Error was fixed which was not allowing dataset region references to have + their regions retrieved correctly. + * Added internal free-lists to reduce memory required by the library and + H5garbage_collect API function + * Fixed error in H5Giterate which was not updating the "index" parameter + correctly. + * Fixed error in hyperslab iteration which was not walking through the + correct sequence of array elements if hyperslabs were staggered in a + certain pattern + * Fixed several other problems in hyperslab iteration code. + +Tests +------ + + * Added additional tests for group and attribute iteration. + * Added additional test for staggered hyperslab iteration. + * Added additional test for random 5-D hyperslab selection. + +Tools +------ + + * Added an option, -V, to show the version information of h5dump. + * 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. + +Documentation +------------- + + * 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. + + + AIX 4.3.2 (IBM SP) 3.6.6 + Cray T3E 2.0.4.81 cc 6.3.0.1 + mpt.1.3 + FreeBSD 3.3-STABLE gcc 2.95.2 + HP-UX B.10.20 HP C HP92453-01 A.10.32 + 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) + + 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 + + OSF1 V4.0 DEC-V5.2-040 + SunOS 5.6 cc WorkShop Compilers 4.2 no optimization + SunOS 5.7 cc WorkShop Compilers 5.0 + TFLOPS 2.8 cicc (pgcc Rel 3.0-5i) + mpich-1.1.2 with local changes + Windows NT4.0 sp5 MSVC++ 6.0 + +Known Problems: +============== + +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 +=================================================================== + +A. Platforms Supported + ------------------- + +Operating systems listed below with compiler information and MPI library, if +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 + mpt.1.3 + + FreeBSD 3.2 gcc 2.95.1 + + HP-UX B.10.20 HP C HP92453-01 A.10.32 + gcc 2.8.1 + + 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) + + Linux 2.2.10 egcs-2.91.66 configured with + --disable-hsizet + lbraries: glibc2 + + OSF1 V4.0 DEC-V5.2-040 + + SunOS 5.6 cc WorkShop Compilers 4.2 + no optimization + 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 + + Windows NT4.0 intel MSVC++ 5.0 and 6.0 + + Windows NT alpha 4.0 MSVC++ 5.0 + + Windows 98 MSVC++ 5.0 + + +B. Known Problems + -------------- + +* NT alpha 4.0 + Dumper utiliy h5dump fails if linked with DLL. + +* SunOS 5.6 with C WorkShop Compilers 4.2 + Hyperslab selections will fail if library is compiled using optimization + of any level. + + +C. Changes Since Version 1.0.1 + --------------------------- + +1. Documentation + ------------- + +* More examples + +* Updated user guide, reference manual, and format specification. + +* Self-contained documentation for installations isolated from the + Internet. + +* HDF5 Tutorial was added to the documentation + +2. Configuration + ------------- + +* Better detection and support for MPI-IO. + +* Recognition of compilers with known code generation problems. + +* Support for various compilers on a single architecture (e.g., the + native compiler and the GNU compilers). + +* Ability to build from read-only media and with different compilers + and/or options concurrently. + +* Added a libhdf5.settings file which summarizes the configuration + information and is installed along with the library. + +* Builds a shared library on most systems that support it. + +* Support for Cray T3E, J90 and Windows/NT. + +3. Debugging + --------- + +* Improved control and redirection of debugging and tracing messages. + +4. Datatypes + --------- + +* Optimizations to compound datatype conversions and I/O operations. + +* Added nearly 100 optimized conversion functions for native datatypes + including support for non-aligned data. + +* Added support for bitfield, opaque, and enumeration types. + +* Added distinctions between signed and unsigned char types to the + list of predefined native hdf5 datatypes. + +* Added HDF5 type definitions for C9x types like int32_t. + +* Application-defined type conversion functions can handle non-packed + data. + +* Changed the H5Tunregister() function to use wildcards when matching + conversion functions. H5Tregister_hard() and H5Tregister_soft() + were combined into H5Tregister(). + +* Support for variable-length datatypes (arrays of varying length per + dataset element). Variable length strings currently supported only + as variable length arrays of 1-byte integers. + +5. Dataspaces + ---------- + +* New query functions for selections. + +* I/O operations bypass the stripmining loop and go directly to + storage for certain contiguous selections in the absense of type + conversions. In other cases the stripmining buffers are used more + effectively. + +* Reduced the number of I/O requests under certain circumstances, + improving performance on systems with high I/O latency. + +6. Persistent Pointers + ------------------- + +* Object (serial and parallel) and dataset region (serial only) + references are implemented. + +7. Parallel Support + ---------------- + +* Improved parallel I/O performance. + +* Supported new platforms: Cray T3E, Linux, DEC Cluster. + +* Use vendor supported version of MPIO on SGI O2K and Cray platforms. + +* Improved the algorithm that translates an HDF5 hyperslab selection + into an MPI type for better collective I/O performance. + +8. New API functions + ----------------- + + a. Property List Interface: + ------------------------ + + 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 + hyperslab blocks during I/O + 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 + datatype allocation + H5Pget_vlen_mem_manager - sets the memory manager for variable-length + datatype allocation + + b. Dataset Interface: + ------------------ + + 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 + + c. Dataspace Interface: + -------------------- + H5Sget_select_hyper_nblocks - get number 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 + in the current selection + H5Sget_select_elem_pointlist - get the list of element points + currently selected + H5Sget_select_bounds - gets the bounding box containing + the current selection + + d. Datatype Interface: + ------------------- + 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 + 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 + + e. Identifier Interface: + --------------------- + H5Iget_type - retrieve the type of an object + + f. Reference Interface: + -------------------- + 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 + 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) + + +9. Tools + ----- + +* 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, + +* Enhancements to h5dump: support new data types added since previous + versions. + +* h5toh4: An hdf5 to hdf4 converter. + + + +%%%%1.0.1%%%% Release Information for hdf5-1.0.1 + +4. Changes from Release 1.0.0 to Release 1.0.1 +===================================================================== + +* [Improvement]: configure sets up the Makefile in the parallel tests + suit (testpar/) correctly. + +* [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 + + Supported Features: + ------------------ + + HDF5 files are accessed according to the communicator and INFO + object defined in the property list set by H5Pset_mpi. + + Independent read and write accesses to fixed and extendable dimension + datasets. + + Collective read and write accesses to fixed dimension datasets. + + Supported Platforms: + ------------------- + + Intel Red + IBM SP2 + SGI Origin 2000 + + Changes In This Release: + ----------------------- + + o Support of Access to Extendable Dimension Datasets. + Extendable dimension datasets must use chunked storage methods. + A new function, H5Dextend, is created to extend the current + dimensions of a dataset. The current release requires the + MPI application must make a collective call to extend the + dimensions of an extendable dataset before writing to the + newly extended area. (The serial does not require the + call of H5Dextend. The dimensions of an extendable + dataset is increased when data is written to beyond the + current dimensions but within the maximum dimensions.) + The required collective call of H5Dextend may be relaxed + in future release. + + This release only support independent read and write accesses + to extendable datasets. Collective accesses to extendable + datasets will be implemented in future releases. + + o Collective access to fixed dimension datasets. + Collective access to a dataset can be specified in the transfer + property list argument in H5Dread and H5Dwrite. The current + release supports collective access to fixed dimension datasets. + Collective access to extendable datasets will be implemented in + future releases. + + o HDF5 files are opened according to Communicator and INFO object. + H5Dopen now records the communicator and INFO setup by H5Pset_mmpi + and pass them to the corresponding MPIO open file calls for + processing. + + o This release has been tested on IBM SP2, Intel Red and SGI Origin 2000 + systems. It uses the ROMIO version of MPIO interface for parallel + I/O supports. + + + +%%%%1.0.0%%%% Release Information for hdf5-1.0.0 + +3. Changes from the Beta 1.0.0 Release to Release 1.0.0 +==================================================================== + +* Added fill values for datasets. For contiguous datasets fill value + 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(). + +* Multiple hdf5 files can be "mounted" on one another to create a + larger virtual file. See H5Fmount(). + +* Object names can be removed or changed but objects are never + actually removed from the file yet. See H5Gunlink() and H5Gmove(). + +* Added a tuning mechanism for B-trees to insure that sequential + writes to chunked datasets use less overhead. See H5Pset_btree_ratios(). + +* Various optimizations and bug fixes. + + + +%%%%1.0.0 Beta%%%% Release Information for hdf5-1.0.0 Beta + +2. Changes from the Second Alpha 1.0.0 Release to the Beta 1.0.0 Release +========================================================================= + +* Strided hyperslab selections in dataspaces now working. + +* The compression API has been replaced with a more general filter + API. See doc/html/Filters.html for details. + +* Alpha-quality 2d ragged arrays are implemented as a layer built on + top of other hdf5 objects. The API and storage format will almost + certainly change. + +* More debugging support including API tracing. See Debugging.html. + +* C and Fortran style 8-bit fixed-length character string types are + supported with space or null padding or null termination and + translations between them. + +* Added function H5Fflush() to write all cached data immediately to + the file. + +* Datasets maintain a modification time which can be retrieved with + H5Gstat(). + +* The h5ls tool can display much more information, including all the + values of a dataset. + + + +%%%%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 + 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 + been renamed from `H5C' to `H5P'. + +* 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 + English abstract attached to a group). + +* The error handling API `H5E' has been completed. By default, when an + API function returns failure an error stack is displayed on the + standard error stream. The H5Eset_auto() controls the automatic + printing and H5E_BEGIN_TRY/H5E_END_TRY macros can temporarily + disable the automatic error printing. + +* 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 file sizes are `hsize_t'. + +* More data type conversions have been added although none of them are + fine tuned for performance. There are new converters from integer + to integer and float to float, but not between integers and floating + points. A bug has been fixed in the converter between compound + types. + +* The numbered types have been removed from the API: int8, uint8, + int16, uint16, int32, uint32, int64, uint64, float32, and float64. + Use standard C types instead. Similarly, the numbered types were + removed from the H5T_NATIVE_* architecture; use unnumbered types + which correspond to the standard C types like H5T_NATIVE_INT. + +* More debugging support was added. If tracing is enabled at + configuration time (the default) and the HDF5_TRACE environment + variable is set to a file descriptor then all API calls will emit + the function name, argument names and values, and return value on + that file number. There is an html document that describes this. + If appropriate debugging options are enabled at configuration time, + some packages will display performance information on stderr. + +* 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 + control meta and raw data caches, so I/O performance should be + improved from the first alpha release. + +* Group and attribute query functions have been implemented so it is + now possible to find out the contents of a file with no prior + knowledge. + +* External raw data storage allows datasets to be written by other + applications or I/O libraries and described and accessed through + HDF5. + +* 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 + time. + +* The configuration scripts have been modified to make it easier to + build debugging vs. production versions of the library. + +* The library automatically checks that the application was compiled + with the correct version of header files. + + + Parallel HDF5 Changes + +* Parallel support for fixed dimension datasets with contiguous or + chunked storages. Also, support unlimited dimension datasets which + must use chunk storage. No parallel support for compressed datasets. + +* Collective data transfer for H5Dread/H5Dwrite. Collective access + support for datasets with contiguous storage only, thus only fixed + dimension datasets for now. + +* H5Pset_mpi and H5Pget_mpi no longer have the access_mode + argument. It is taken over by the data-transfer property list + of H5Dread/H5Dwrite. + +* New functions H5Pset_xfer and H5Pget_xfer to handle the + specification of independent or collective data transfer_mode + in the dataset transfer properties list. The properties + list can be used to specify data transfer mode in the H5Dwrite + and H5Dread function calls. + +* Added parallel support for datasets with chunked storage layout. + When a dataset is extend in a PHDF5 file, all processes that open + the file must collectively call H5Dextend with identical new dimension + sizes. + + + 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 + +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 + 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_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 + hyperslab blocks during I/O + + 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 + 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 + + 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 + +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 + +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 + 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 + +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 + 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 + H5Sget_select_npoints - get number of points selected for I/O + 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 + + H5Sget_select_hyper_nblocks - get number 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 + in the current selection + + H5Sget_select_elem_pointlist - get the list of element points + currently selected + + 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 + 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 + 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 + +Filters + H5Tregister - register a conversion function + +Compression + H5Zregister - register new compression and uncompression + functions for a method specified by a method number + +Identifiers + + H5Iget_type - retrieve the type of an object + +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 + 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 + + diff --git a/release_docs/HISTORY-1_10.txt b/release_docs/HISTORY-1_10.txt new file mode 100644 index 0000000..03d0e3e --- /dev/null +++ b/release_docs/HISTORY-1_10.txt @@ -0,0 +1,1367 @@ +HDF5 History +============ + +This file contains development history of the HDF5 1.10 branch + +02. Release Information for hdf5-1.10.0-patch1 +01. Release Information for hdf5-1.10.0 + +[Search on the string '%%%%' for section breaks of each release.] + +%%%%1.10.0-patch1%%%% + + +HDF5 version 1.10.0-patch1 released on 2016-05-23 +================================================================================ + +INTRODUCTION + +This document describes the differences between HDF5-1.8 series and +HDF5 1.10.0 releases, and contains information on the platforms +tested. + +Links to HDF5 1.10.0 source code can be found on The HDF Group's +development FTP server at the following location: + + https://www.hdfgroup.org/HDF5/release/obtain5110.html + +User documentation can be accessed directly at this location: + + https://www.hdfgroup.org/HDF5/docNewFeatures/ + +For more information, see the HDF5 home page: + + https://www.hdfgroup.org/HDF5/ + +If you have any questions or comments, please send them to the HDF +Help Desk: + + help@hdfgroup.org + + + +CONTENTS + +- New Features +- Issues Addressed in this Release +- Supported Platforms +- Tested Configuration Features Summary +- More Tested Platforms +- Known Problems and Limitations + + + +New Features +============ +This release supports the following features: + + Configuration + ------------- + - API Compatibility with HDF5 1.8 Flag Was Added + + The 1.10 version of the HDF5 Library can be configured to operate + identically to the 1.8 library with the --with-default-api-version=v18 + configure flag. This allows existing code to be compiled with the 1.10 + library without requiring immediate changes to the application source + code. For addtional configuration options and other details, see + "API Compatibility Macros in HDF5" at + https://www.hdfgroup.org/HDF5/doc/RM/APICompatMacros.html. + + - Autotools Configuration Has Been Extensively Reworked + + The autotools configuration options have been updated to allow more + fine-grained control of the build options and to correct some bugs. + See configure --help for comprehensive information on each option. + + Specific changes: + + * --enable-debug and --enable-production are no longer accepted. + Use --enable-build-mode=(debug | production) instead. These set + appropriate defaults for symbols, optimizations, and other + configuration options. These defaults can be overridden by the + user. + + * Extra debug output messages are no longer enabled with + --enable-debug=<package list>. Use --enable-internal-debug=<pkg list> + instead. + + * A new --enable-symbols option allows symbols to be generated + independently of the build mode. --disable-symbols can be used + to strip symbols from the binary. + + * A new --enable-asserts option sets/unsets NDEBUG. This is + independent of the build mode. This also enables some extra + low-overhead debug checks in the library. + + * A new --enable-profiling option sets profiling flags. This is + independent of the build mode. + + * A new --enable-optimization option sets the optimization level. + This is independent of the build mode. + + * Many of these options can take a flags string that will be used + to build the library. This can be useful for specifying custom + optimization flags such as -Os and -Ofast. + + * gnu C++ and Fortran use configure sub-files that update the + build flags and turn on warnings. The increase in warnings when + building these wrapper libraries is due to these flag changes + and not to a decrease in code quality. + + * The option to clear file buffers has been removed. Any buffer that + will eventually be written to disk will now always be memset + to zero. This prevents the previous contents of the buffer from + being written to the disk if the buffer contents are not + completely overwritten, which has security implications. + + - LFS Changes + + The way the autotools handle large file support (LFS) has been + overhauled in this release. + + * We assume ftello and fseeko exist + + * We no longer explicitly use the *64 I/O functions. Instead, we + rely on a mapping provided by _FILE_OFFSET_BITS or its equivalent. + + * _LARGEFILE(64)_SOURCE is no longer exported via AM_CPPFLAGS. + + + + Parallel Library + ----------------- + - Collective Metadata I/O + + Calls for HDF5 metadata can result in many small reads and writes. + On metadata reads, collective metadata I/O can improve performance + by allowing the library to perform optimizations when reading the + metadata by having one rank read the data and broadcasting it to + all other ranks. + + Collective metadata I/O improves metadata write performance through + the construction of an MPI derived datatype that is then written + collectively in a single call. For more information, see + https://www.hdfgroup.org/HDF5/docNewFeatures/NewFeaturesCollectiveMetadataIoDocs.html. + + + + Library + -------- + - Concurrent Access to HDF5 Files - Single Writer/ Multple Reader (SWMR) + + The Single Writer/ Multiple Reader or SWMR feature enables users to + read data concurrently while writing it. Communications between the + processes and file locking are not required. The processes can run + on the same or on different platforms as long as they share a common + file system that is POSIX compliant. For more information, see the + Single-Writer/Multiple-Reader (SWMR) documentation at + https://www.hdfgroup.org/HDF5/docNewFeatures/NewFeaturesSwmrDocs.html. + + - Virtual Dataset (VDS) + + The VDS feature enables data to be accessed across HDF5 files + using standard HDF5 objects such as groups and datasets without + rewriting or rearranging the data. An HDF5 virtual dataset (VDS) + is an HDF5 dataset that is composed of source HDF5 datasets in + a predefined mapping. VDS can be used with the SWMR feature. For + documentation, check + https://www.hdfgroup.org/HDF5/docNewFeatures/NewFeaturesVirtualDatasetDocs.html. + + - Persistent Free File Space Tracking + + Usage patterns when working with an HDF5 file sometimes result in + wasted space within the file. This can also impair access times + when working with the resulting files. The new file space management + feature provides strategies for managing space in a file to improve + performance in both of these areas. For more information, see + https://www.hdfgroup.org/HDF5/docNewFeatures/NewFeaturesFileSpaceMgmtDocs.html. + + - Version 3 Metadata Cache + + The version 3 metadata cache moves management of metadata I/O from + the clients to the metadata cache proper. This change is essential for + SWMR and other features that have yet to be released. + + + + C++ Library + ------------ + - New Member Function Added to H5::ArrayType + + The assignment operator ArrayType::operator= was added because + ArrayType has pointer data members. + + (BMR - 2016/03/07, HDFFV-9562) + + + + Tools + ------ + - h5watch + + The h5watch tool allows users to output new records appended to + a dataset under SWMR access as it grows. The functionality is + similar to the Unix user command "tail" with the follow option, + which outputs appended data as the file grows. For more + information, see + https://www.hdfgroup.org/HDF5/docNewFeatures/NewFeaturesSwmrDocs.html#Tools. + + - h5format_convert + + The h5format_convert tool allows users to convert the indexing + type of a chunked dataset made with a 1.10.x version of the HDF5 + Library when the latest file format is used to the 1.8.x version 1 B-tree indexing + type. For example, datasets created using SWMR access, can be + converted to be accessed by the HDF5 1.18 library and tools. The + tool does not rewrite raw data, but it does rewrite HDF5 metadata. + + + + High-Level APIs + ---------------- + - H5DOappend + + The function appends data to a dataset along a specified dimension. + + + C Packet Table API + ------------------ + - Replacement of a Public Function with H5PTcreate + + The existing function H5PTcreate_fl limits applications so they + can use the deflate compression only. The public function + H5PTcreate has been added to replace H5PTcreate_fl. H5PTcreate + takes a property list identifier to provide flexibility on + creation properties. + + (BMR - 2016/03/04, HDFFV-8623) + + - New Public Functions: H5PTget_dataset and H5PTget_type + + Two accessor functions have been added. H5PTget_dataset returns + the identifier of the dataset associated with the packet table, + and H5PTget_type returns the identifier of the datatype used by + the packet table. + + (BMR, 2016/03/04, HDFFV-8623) + + - Regarding #ifdef VLPT_REMOVED + + The #ifdef VLPT_REMOVED blocks have been removed from the packet + table (PT) library source except for the following functions: + + H5PTis_varlen() has been made available again + + H5PTfree_vlen_readbuff() is now H5PTfree_vlen_buff() + + (BMR - 2016/03/04, HDFFV-442) + + C++ Packet Table API + -------------------- + - New Constructor Added to FL_PacketTable + + An overloaded constructor has been added to FL_PacketTable and + takes a property list identifier to provide flexibility on + creation properties. + + (BMR - 2016/03/08, HDFFV-8623) + + - New Public Functions + + Two accessor wrappers are added to class PacketTable. + PacketTable::GetDataset() returns the identifier of the dataset + associated with the packet table, and PacketTable::GetDatatype() + returns the identifier of the datatype that the packet table uses. + + (BMR - 2016/03/04, HDFFV-8623) + + - Member Functions with "char*" as an Argument + + Overloaded functions were added to provide the "const char*" + argument; the existing version will be deprecated in future + releases. + + (BMR - 2016/03/04, HDFFV-8623) + + - Regarding #ifdef VLPT_REMOVED + + The #ifdef VLPT_REMOVED blocks have been removed from the packet + table library source code except for the following functions: + + VL_PacketTable::IsVariableLength() was moved to PacketTable + + VL_PacketTable::FreeReadBuff() is now PacketTable::FreeBuff() + + (BMR - 2016/03/04, HDFFV-442) + + + + Java Wrapper Library + -------------------- + + The Java HDF5 JNI library has been integrated into the HDF5 repository. + The configure option is "--enable-java", and the CMake option is + HDF5_BUILD_JAVA:BOOL=ON. The package hierarchy has changed from the + HDF5 1.8 JNI, which was "ncsa.hdf.hdflib.hdf5", to HDF5 1.10, + "hdf.hdflib.hdf5". + + A number of new APIs were added including some for VDS and SWMR. + + + + Other Important Changes + ----------------------- + + The hid_t type was changed from 32-bit to a 64-bit value. + + + +Issues Addressed in this Release Since 1.10.0 +============================================= + + - h5diff would return from a compare attributes abnormally if one of the datatypes + was a vlen. This resulted in a memory leak as well as an incorrect report of + attribute comparison. + + Fixed. + (ADB - 2016/04/26, HDFFV-9784) + + - The JUnit-interface test may fail on Solaris platforms. The result of + a test for verifying the content of the error stack to stdout is + in a different order on Solaris then other platforms. + + This test is skipped on Solaris + (ADB - 2016/04/21, HDFFV-9734) + + - When building HDF5 with Java using CMake and specifying Debug for CMAKE_BUILD_TYPE, + there was a missing command argument for the tests of the examples. + + Fixed. + (ADB - 2016/04/21, HDFFV-9743) + + - Changed h5diff to print a warning when a dataset is virtual, enabling + the data to be compared. In addition h5repack failed to copy the data + of a virtual dataset to the new file. Function H5D__get_space_status changed + to correctly determine the H5D_space_status_t allocation value. + + CMake added the Fixed Array indexing tests that were only in the autotools + test scripts. + + Fixed and tests added for vds issues. + (ADB,NAF - 2016/04/21, HDFFV-9756) + + - CMake added the h5format_convert tool and tests that were only in the autotools + build and test scripts. The autotools test script was reworked to allow CMake + to execute the test suite in parallel. + + Also, h5clear tool and tests were added to the misc folder. + + Fixed. + (ADB - 2016/04/21, HDFFV-9766) + + - CMake added the h5watch tool and argument tests that were only in the autotools + build and test scripts. The POSIX only tests were not added to CMake. + + CMake HL tools files were refactored to move the CMake test scripts into each tool folder. + + Fixed. + (ADB - 2016/04/21, HDFFV-9770) + + - Configure fails to detect valid real KINDs on FreeBSD 9.3 (i386) with Fortran enabled. + + Fixed. Added the exponential option to SELECTED_REAL_KIND to distinguish + KINDs of same precision + (MSB - 2016/05/14,HDFFV-9912) + + + - Corrected the f90 H5AWRITE_F integer interface's buf to be INTENT(IN). + (MSB - 2016/05/14) + + - Configure fails in sed command on FreeBSD 9.3 (i386) with Fortran enabled. + + Fixed. + (MSB - 2016/05/14,HDFFV-9912) + + - Compile time error in H5f90global.F90 with IBM XL Fortran 14.1.0.13 on BG/Q with Fortran + enabled. + + Fixed. + (MSB - 2016/05/16,HDFFV-9917) + + - A cmake build with Fortran enabled does not install module h5fortkit + + Fixed. + (MSB - 2016/05/23,HDFFV-9923) + + +Issues Addressed in this Release Since alpha1 +============================================= + + - H5Pget_virtual_printf_gap, H5Pget_virtual_view, H5Pget_efile_prefix + + The correct access property list settings from the + H5Pget_virtual_printf_gap, H5Pget_virtual_view, and + H5Pget_efile_prefix function calls could not be retrieved + using H5Dget_access_plist(). + + Fixed. + + (DER and NAF - 2016/03/14, HDFFV-9716) + + - h5dump + + When h5dump was provided with the name of a non-existing file or + when optional arguments were the last option on the command line, + h5dump would segfault. + + Fixed. + + (ADB 2016/02/28 HDFFV-9639, HDFFV-9684) + + - No Error Message for Corrupt Metadata + + The HDF5 Library did not propagate an error when it encountered + corrupt metadata in an HDF5 file. The issue was fixed for a + specific file provided by a user. If you still see the problem, + please contact help@hdfgroup.org + + Fixed. + + (MC - 2016/02/18, HDFFV-9670) + + - Problem Reading Chunked Datasets with a String Datatype Larger + Than the Chunk Size in Bytes + + When the latest file format was used and when a chunked dataset + was created with a datatype with the size bigger than a chunk + size, the data could not be read back. The issue was reported + for chunked datasets with a string datatype and was confirmed + for other datatypes with the sizes bigger than the chunk size in + bytes. + + Fixed. + + (JM - 2016/02/13, HDFFV-9672) + + - Control over the Location of External Files + + Users were unable to specify the locations of external files. + + Two APIs - H5Pget_efile_prefix and H5Pset_efile_prefix - were + added so that users could specify the locations of external files. + + (DER - 2016/02/04, HDFFV-8740) + + + +Issues Addressed in this Release Since alpha0 +============================================= + - h5format_convert + + The h5format_convert tool did not downgrade the version of the + superblock. + + Fixed. The tool now will downgrade the version of the superblock. + + (EIP 2016/01/11) + + - Crashes with multiple threads: invalid pointers + + It was reported that alpha0 crashed when used with multiple + threads. The issue exists in the HDF5 Library versions 1.8 and + 1.9. The problem is related to a shared file pointer used in some + miscellaneous data structures. The thread-safe library exposed + paths in the library where a file pointer became invalid. + + The alpha1 release contains the fixes for the specific use case + as described in HDFFV-9643. We will keep working on identifying + and fixing other paths in the library with similar problems. + + (EIP - 2016/01/15, HDFFV-9643) + + + +Supported Platforms +=================== +The following platforms are supported and have been tested for this release. +They are built with the configure process unless specified otherwise. + + AIX 6.1 xlc/xlc_r 10.1.0.5 + (NASA G-ADA) xlC/xlC_r 10.1.0.5 + xlf90/xlf90_r 12.1.0.6 + + Linux 2.6.32-573.22.1.el6 GNU C (gcc), Fortran (gfortran), C++ (g++) + #1 SMP x86_64 GNU/Linux compilers: + (mayll/platypus) Version 4.4.7 20120313 (Red Hat 4.4.7-16) + Version 4.9.3, Version 5.2.0 + PGI C, Fortran, C++ for 64-bit target on + x86-64; + Version 15.7-0 + Intel(R) C (icc), C++ (icpc), Fortran (icc) + compilers: + Version 15.0.3.187 Build 20150407 + MPICH 3.1.4 compiled with GCC 4.9.3 + + Linux 2.6.32-573.18.1.el6.ppc64 gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-11) + #1 SMP ppc64 GNU/Linux g++ (GCC) 4.4.7 20120313 (Red Hat 4.4.7-11) + (ostrich) GNU Fortran (GCC) 4.4.7 20120313 (Red Hat 4.4.7-11) + 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) Version 4.8.5 20150623 (Red Hat 4.8.5-4) + Version 4.9.3, Version 5.2.0 + Intel(R) C (icc), C++ (icpc), Fortran (icc) + compilers: + Version 15.0.3.187 Build 20150407 + MPICH 3.1.4 compiled with GCC 4.9.3 + + 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 2012 w/ Intel Fortran 15 (cmake) + Visual Studio 2013 w/ Intel Fortran 15 (cmake) + Visual Studio 2015 w/ Intel Fortran 16 (cmake) + Cygwin(CYGWIN_NT-6.1 2.2.1(0.289/5/3) gcc(4.9.3) compiler and gfortran) + (cmake and autotools) + + 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) + + Windows 8.1 Visual Studio 2012 w/ Intel Fortran 15 (cmake) + Visual Studio 2013 w/ Intel Fortran 15 (cmake) + + Windows 8.1 x64 Visual Studio 2012 w/ Intel Fortran 15 (cmake) + 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 + (swallow/kite) Intel icc/icpc/ifort version 15.0.3 + + Mac OS X Mavericks 10.9.5 Apple clang/clang++ version 6.0 from Xcode 6.2 + 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 clang/clang++ version 6.0 from Xcode 7.0 + 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.4 Apple clang/clang++ version 7.3.0 from Xcode 7.3 + 64-bit gfortran GNU Fortran (GCC) 5.2.0 + (osx1010dev/osx1010test) Intel icc/icpc/ifort version 15.0.3 + + + +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/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 +Mac OS X Mavericks 10.9.5 64-bit n y/y n y y y +Mac OS X Yosemeti 10.10.5 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-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 +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 Mavericks 10.9.5 64-bit y n y y +Mac OS X Yosemeti 10.10.5 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-431.11.2.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.18-431.11.2.el6 g95 (GCC 4.0.3 (g95 0.94!) + #1 SMP x86_64 GNU/Linux + (platypus) + + Windows 7 Visual Studio 2008 (cmake) + + Windows 7 x64 Visual Studio 2008 (cmake) + + Windows 7 x64 Visual Studio 2010 (cmake) with SWMR using GPFS + + Windows 10 Visual Studio 2013 w/ Intel Fortran 15 (cmake) + + Windows 10 x64 Visual Studio 2013 w/ Intel Fortran 15 (cmake) + + Debian7.5.0 3.2.0-4-amd64 #1 SMP Debian 3.2.51-1 x86_64 GNU/Linux + gcc (Debian 4.7.2-5) 4.7.2 + GNU Fortran (Debian 4.7.2-5) 4.7.2 + (cmake and autotools) + + Fedora20 3.15.3-200.fc20.x86_64 #1 SMP x86_64 x86_64 x86_64 GNU/Linux + gcc (GCC) 4.8.3 20140624 (Red Hat 4.8.3-1) + GNU Fortran (GCC) 4.8.3 20140624 (Red Hat 4.8.3-1) + (cmake and autotools) + + SUSE 13.1 3.11.10-17-desktop #1 SMP PREEMPT x86_64 x86_64 x86_64 GNU/Linux + gcc (SUSE Linux) 4.8.1 + GNU Fortran (SUSE Linux) 4.8.1 + (cmake and autotools) + + Ubuntu 14.04 3.13.0-35-generic #62-Ubuntu SMP x86_64 GNU/Linux + 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.) + g++ (GCC) 4.9.2 20141030 (Cray Inc.) + + + +Known Problems and Limitations +============================== +This section contains the list of known problems and limitations introduced +in this release of HDF5. + +Note: this list is not exhaustive of all known issues discovered in HDF5 +software to date. For a list of significant problems and known workarounds +identified in past releases, please refer to: + +https://www.hdfgroup.org/HDF5/release/known_problems/ + +The HDF Group also maintains a JIRA issue-tracking database which is used to +capture all known issues which are too numerous to reasonably list in this +document. The HDF Group is taking steps to make our JIRA issue database +open to the public, and this section will refer to that database in a future +release. In the meantime, please contact help@hdfgroup.org if you come across +an issue not listed here or at the link above, and we will provide any +information about known workarounds that we have or add it to our list of +known issues if it is a new issue. + + - The flush/refresh test occasionally fails on OS X platforms. This is + being investigated but no fix or workaround is available at this time. + (DER - 2016/03/22, HDFFV-9731) + + - The VDS/SWMR test will fail with a segmentation fault if the library + is built with --enable-using-memchecker. The is due to a VDS shutdown + procedure freeing a shared resource too early when the memory + checker changes are built. This problem does not arise when the + memory checker changes are not used since the internal library free + lists behave differently. The memory checker configure option should + normally only be used under special circumstances so this should not + affect most users. Users should be aware that the --enable-using-memchecker + + VDS combination may cause a segfault, however, so Valgrind et al. may + have to be used with an HDF5 library built without the feature if this + proves to be a problem. + (DER - 2016/03/21, HDFFV-9732) + + - SWMR feature limitations + The SWMR feature will only work if an HDF5 file under SWMR access resides + on a file system that obeys POSIX write() ordering semantics. Because of + this, SWMR will not work on network file systems such as NFS or SMB/Windows + file shares since those systems do not guarantee write odering. SWMR + regression tests are likely to fail if run on a network file system. SWMR + is currently not tested on Windows though it can be tested manually + (some of the SWMR test programs are built by CMake), and there are no + obvious reasons for it to not work on NTFS or GPFS. + (EIP - 2016/03/20, HDFFV-9733) + + - VDS feature limitation + Currently, the path to a VDS source file is interpreted as relative to the + directory where the executable program runs and not to the HDF5 file with + the VDS dataset unless a full path to the source file is specified during + the mapping. + (EIP - 2016/03/20, HDFFV-9724) + + - The H5Lexists API changed behavior in HDF5-1.10 when used with a file handle + and root group name ("/"): + + H5Lexists(fileid, "/") + + In HDF5-1.8 it returns false (0) and in HDF5-1.10 it returns true (1). + The documentation will be updated with information regarding this change. + (LRK - 2016/03/30, HDFFV-8746) + + +%%%%1.10.0%%%% + +HDF5 version 1.10.0 released on 2016-03-30 +================================================================================ + + + +INTRODUCTION + +This document describes the differences between HDF5-1.8 series and +HDF5 1.10.0 releases, and contains information on the platforms +tested. + +Links to HDF5 1.10.0 source code can be found on The HDF Group's +development FTP server at the following location: + + https://www.hdfgroup.org/HDF5/release/obtain5110.html + +User documentation can be accessed directly at this location: + + https://www.hdfgroup.org/HDF5/docNewFeatures/ + +For more information, see the HDF5 home page: + + https://www.hdfgroup.org/HDF5/ + +If you have any questions or comments, please send them to the HDF +Help Desk: + + help@hdfgroup.org + + + +CONTENTS + +- New Features +- Issues Addressed in this Release +- Supported Platforms +- Tested Configuration Features Summary +- More Tested Platforms +- Known Problems and Limitations + + + +New Features +============ +This release supports the following features: + + Configuration + ------------- + - API Compatibility with HDF5 1.8 Flag Was Added + + The 1.10 version of the HDF5 Library can be configured to operate + identically to the 1.8 library with the --with-default-api-version=v18 + configure flag. This allows existing code to be compiled with the 1.10 + library without requiring immediate changes to the application source + code. For addtional configuration options and other details, see + "API Compatibility Macros in HDF5" at + https://www.hdfgroup.org/HDF5/doc/RM/APICompatMacros.html. + + - Autotools Configuration Has Been Extensively Reworked + + The autotools configuration options have been updated to allow more + fine-grained control of the build options and to correct some bugs. + See configure --help for comprehensive information on each option. + + Specific changes: + + * --enable-debug and --enable-production are no longer accepted. + Use --enable-build-mode=(debug | production) instead. These set + appropriate defaults for symbols, optimizations, and other + configuration options. These defaults can be overridden by the + user. + + * Extra debug output messages are no longer enabled with + --enable-debug=<package list>. Use --enable-internal-debug=<pkg list> + instead. + + * A new --enable-symbols option allows symbols to be generated + independently of the build mode. --disable-symbols can be used + to strip symbols from the binary. + + * A new --enable-asserts option sets/unsets NDEBUG. This is + independent of the build mode. This also enables some extra + low-overhead debug checks in the library. + + * A new --enable-profiling option sets profiling flags. This is + independent of the build mode. + + * A new --enable-optimization option sets the optimization level. + This is independent of the build mode. + + * Many of these options can take a flags string that will be used + to build the library. This can be useful for specifying custom + optimization flags such as -Os and -Ofast. + + * gnu C++ and Fortran use configure sub-files that update the + build flags and turn on warnings. The increase in warnings when + building these wrapper libraries is due to these flag changes + and not to a decrease in code quality. + + * The option to clear file buffers has been removed. Any buffer that + will eventually be written to disk will now always be memset + to zero. This prevents the previous contents of the buffer from + being written to the disk if the buffer contents are not + completely overwritten, which has security implications. + + - LFS Changes + + The way the autotools handle large file support (LFS) has been + overhauled in this release. + + * We assume ftello and fseeko exist + + * We no longer explicitly use the *64 I/O functions. Instead, we + rely on a mapping provided by _FILE_OFFSET_BITS or its equivalent. + + * _LARGEFILE(64)_SOURCE is no longer exported via AM_CPPFLAGS. + + + + Parallel Library + ----------------- + - Collective Metadata I/O + + Calls for HDF5 metadata can result in many small reads and writes. + On metadata reads, collective metadata I/O can improve performance + by allowing the library to perform optimizations when reading the + metadata by having one rank read the data and broadcasting it to + all other ranks. + + Collective metadata I/O improves metadata write performance through + the construction of an MPI derived datatype that is then written + collectively in a single call. For more information, see + https://www.hdfgroup.org/HDF5/docNewFeatures/NewFeaturesCollectiveMetadataIoDocs.html. + + + + Library + -------- + - Concurrent Access to HDF5 Files - Single Writer/ Multple Reader (SWMR) + + The Single Writer/ Multiple Reader or SWMR feature enables users to + read data concurrently while writing it. Communications between the + processes and file locking are not required. The processes can run + on the same or on different platforms as long as they share a common + file system that is POSIX compliant. For more information, see the + Single-Writer/Multiple-Reader (SWMR) documentation at + https://www.hdfgroup.org/HDF5/docNewFeatures/NewFeaturesSwmrDocs.html. + + - Virtual Dataset (VDS) + + The VDS feature enables data to be accessed across HDF5 files + using standard HDF5 objects such as groups and datasets without + rewriting or rearranging the data. An HDF5 virtual dataset (VDS) + is an HDF5 dataset that is composed of source HDF5 datasets in + a predefined mapping. VDS can be used with the SWMR feature. For + documentation, check + https://www.hdfgroup.org/HDF5/docNewFeatures/NewFeaturesVirtualDatasetDocs.html. + + - Persistent Free File Space Tracking + + Usage patterns when working with an HDF5 file sometimes result in + wasted space within the file. This can also impair access times + when working with the resulting files. The new file space management + feature provides strategies for managing space in a file to improve + performance in both of these areas. For more information, see + https://www.hdfgroup.org/HDF5/docNewFeatures/NewFeaturesFileSpaceMgmtDocs.html. + + - Version 3 Metadata Cache + + The version 3 metadata cache moves management of metadata I/O from + the clients to the metadata cache proper. This change is essential for + SWMR and other features that have yet to be released. + + + + C++ Library + ------------ + - New Member Function Added to H5::ArrayType + + The assignment operator ArrayType::operator= was added because + ArrayType has pointer data members. + + (BMR - 2016/03/07, HDFFV-9562) + + + + Tools + ------ + - h5watch + + The h5watch tool allows users to output new records appended to + a dataset under SWMR access as it grows. The functionality is + similar to the Unix user command "tail" with the follow option, + which outputs appended data as the file grows. For more + information, see + https://www.hdfgroup.org/HDF5/docNewFeatures/NewFeaturesSwmrDocs.html#Tools. + + - h5format_convert + + The h5format_convert tool allows users to convert the indexing + type of a chunked dataset made with a 1.10.x version of the HDF5 + Library when the latest file format is used to the 1.8.x version 1 B-tree indexing + type. For example, datasets created using SWMR access, can be + converted to be accessed by the HDF5 1.18 library and tools. The + tool does not rewrite raw data, but it does rewrite HDF5 metadata. + + + + High-Level APIs + ---------------- + - H5DOappend + + The function appends data to a dataset along a specified dimension. + + + C Packet Table API + ------------------ + - Replacement of a Public Function with H5PTcreate + + The existing function H5PTcreate_fl limits applications so they + can use the deflate compression only. The public function + H5PTcreate has been added to replace H5PTcreate_fl. H5PTcreate + takes a property list identifier to provide flexibility on + creation properties. + + (BMR - 2016/03/04, HDFFV-8623) + + - New Public Functions: H5PTget_dataset and H5PTget_type + + Two accessor functions have been added. H5PTget_dataset returns + the identifier of the dataset associated with the packet table, + and H5PTget_type returns the identifier of the datatype used by + the packet table. + + (BMR, 2016/03/04, HDFFV-8623) + + - Regarding #ifdef VLPT_REMOVED + + The #ifdef VLPT_REMOVED blocks have been removed from the packet + table (PT) library source except for the following functions: + + H5PTis_varlen() has been made available again + + H5PTfree_vlen_readbuff() is now H5PTfree_vlen_buff() + + (BMR - 2016/03/04, HDFFV-442) + + C++ Packet Table API + -------------------- + - New Constructor Added to FL_PacketTable + + An overloaded constructor has been added to FL_PacketTable and + takes a property list identifier to provide flexibility on + creation properties. + + (BMR - 2016/03/08, HDFFV-8623) + + - New Public Functions + + Two accessor wrappers are added to class PacketTable. + PacketTable::GetDataset() returns the identifier of the dataset + associated with the packet table, and PacketTable::GetDatatype() + returns the identifier of the datatype that the packet table uses. + + (BMR - 2016/03/04, HDFFV-8623) + + - Member Functions with "char*" as an Argument + + Overloaded functions were added to provide the "const char*" + argument; the existing version will be deprecated in future + releases. + + (BMR - 2016/03/04, HDFFV-8623) + + - Regarding #ifdef VLPT_REMOVED + + The #ifdef VLPT_REMOVED blocks have been removed from the packet + table library source code except for the following functions: + + VL_PacketTable::IsVariableLength() was moved to PacketTable + + VL_PacketTable::FreeReadBuff() is now PacketTable::FreeBuff() + + (BMR - 2016/03/04, HDFFV-442) + + + + Java Wrapper Library + -------------------- + + The Java HDF5 JNI library has been integrated into the HDF5 repository. + The configure option is "--enable-java", and the CMake option is + HDF5_BUILD_JAVA:BOOL=ON. The package hierarchy has changed from the + HDF5 1.8 JNI, which was "ncsa.hdf.hdflib.hdf5", to HDF5 1.10, + "hdf.hdflib.hdf5". + + A number of new APIs were added including some for VDS and SWMR. + + + + Other Important Changes + ----------------------- + + The hid_t type was changed from 32-bit to a 64-bit value. + + + +Issues Addressed in this Release Since alpha1 +============================================= + + - H5Pget_virtual_printf_gap, H5Pget_virtual_view, H5Pget_efile_prefix + + The correct access property list settings from the + H5Pget_virtual_printf_gap, H5Pget_virtual_view, and + H5Pget_efile_prefix function calls could not be retrieved + using H5Dget_access_plist(). + + Fixed. + + (DER and NAF - 2016/03/14, HDFFV-9716) + + - h5dump + + When h5dump was provided with the name of a non-existing file or + when optional arguments were the last option on the command line, + h5dump would segfault. + + Fixed. + + (ADB 2016/02/28 HDFFV-9639, HDFFV-9684) + + - No Error Message for Corrupt Metadata + + The HDF5 Library did not propagate an error when it encountered + corrupt metadata in an HDF5 file. The issue was fixed for a + specific file provided by a user. If you still see the problem, + please contact help@hdfgroup.org + + Fixed. + + (MC - 2016/02/18, HDFFV-9670) + + - Problem Reading Chunked Datasets with a String Datatype Larger + Than the Chunk Size in Bytes + + When the latest file format was used and when a chunked dataset + was created with a datatype with the size bigger than a chunk + size, the data could not be read back. The issue was reported + for chunked datasets with a string datatype and was confirmed + for other datatypes with the sizes bigger than the chunk size in + bytes. + + Fixed. + + (JM - 2016/02/13, HDFFV-9672) + + - Control over the Location of External Files + + Users were unable to specify the locations of external files. + + Two APIs - H5Pget_efile_prefix and H5Pset_efile_prefix - were + added so that users could specify the locations of external files. + + (DER - 2016/02/04, HDFFV-8740) + + + +Issues Addressed in this Release Since alpha0 +============================================= + - h5format_convert + + The h5format_convert tool did not downgrade the version of the + superblock. + + Fixed. The tool now will downgrade the version of the superblock. + + (EIP 2016/01/11) + + - Crashes with multiple threads: invalid pointers + + It was reported that alpha0 crashed when used with multiple + threads. The issue exists in the HDF5 Library versions 1.8 and + 1.9. The problem is related to a shared file pointer used in some + miscellaneous data structures. The thread-safe library exposed + paths in the library where a file pointer became invalid. + + The alpha1 release contains the fixes for the specific use case + as described in HDFFV-9643. We will keep working on identifying + and fixing other paths in the library with similar problems. + + (EIP - 2016/01/15, HDFFV-9643) + + + +Supported Platforms +=================== +The following platforms are supported and have been tested for this release. +They are built with the configure process unless specified otherwise. + + AIX 6.1 xlc/xlc_r 10.1.0.5 + (NASA G-ADA) xlC/xlC_r 10.1.0.5 + xlf90/xlf90_r 12.1.0.6 + + Linux 2.6.32-573.18.1.el6 GNU C (gcc), Fortran (gfortran), C++ (g++) + #1 SMP x86_64 GNU/Linux compilers: + (mayll/platypus) Version 4.4.7 20120313 (Red Hat 4.4.7-16) + Version 4.9.3, Version 5.2.0 + PGI C, Fortran, C++ for 64-bit target on + x86-64; + Version 15.7-0 + Intel(R) C (icc), C++ (icpc), Fortran (icc) + compilers: + Version 15.0.3.187 Build 20150407 + MPICH 3.1.4 compiled with GCC 4.9.3 + + Linux 2.6.32-504.8.1.el6.ppc64 gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-11) + #1 SMP ppc64 GNU/Linux g++ (GCC) 4.4.7 20120313 (Red Hat 4.4.7-11) + (ostrich) GNU Fortran (GCC) 4.4.7 20120313 (Red Hat 4.4.7-11) + 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) Version 4.8.5 20150623 (Red Hat 4.8.5-4) + Version 4.9.3, Version 5.2.0 + Intel(R) C (icc), C++ (icpc), Fortran (icc) + compilers: + Version 15.0.3.187 Build 20150407 + MPICH 3.1.4 compiled with GCC 4.9.3 + + 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 2012 w/ Intel Fortran 15 (cmake) + Visual Studio 2013 w/ Intel Fortran 15 (cmake) + Visual Studio 2015 w/ Intel Fortran 16 (cmake) + Cygwin(CYGWIN_NT-6.1 2.2.1(0.289/5/3) gcc(4.9.3) compiler and gfortran) + (cmake and autotools) + + 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) + + Windows 8.1 Visual Studio 2012 w/ Intel Fortran 15 (cmake) + Visual Studio 2013 w/ Intel Fortran 15 (cmake) + + Windows 8.1 x64 Visual Studio 2012 w/ Intel Fortran 15 (cmake) + 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 + (swallow/kite) Intel icc/icpc/ifort version 15.0.3 + + Mac OS X Mavericks 10.9.5 Apple clang/clang++ version 6.0 from Xcode 6.2.0 + 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 clang/clang++ version 6.0 from Xcode 7.0.0 + 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.3 Apple clang/clang++ version 7.0.2 from Xcode 7.0.2 + 64-bit gfortran GNU Fortran (GCC) 5.2.0 + (osx1010dev/osx1010test) Intel icc/icpc/ifort version 15.0.3 + + + +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/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 +Mac OS X Mavericks 10.9.5 64-bit n y/y n y y y +Mac OS X Yosemeti 10.10.5 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-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 +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 Mavericks 10.9.5 64-bit y n y y +Mac OS X Yosemeti 10.10.5 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-431.11.2.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.18-431.11.2.el6 g95 (GCC 4.0.3 (g95 0.94!) + #1 SMP x86_64 GNU/Linux + (platypus) + + Windows 7 Visual Studio 2008 (cmake) + + Windows 7 x64 Visual Studio 2008 (cmake) + + Windows 7 x64 Visual Studio 2010 (cmake) with SWMR using GPFS + + Windows 10 Visual Studio 2013 w/ Intel Fortran 15 (cmake) + + Windows 10 x64 Visual Studio 2013 w/ Intel Fortran 15 (cmake) + + Debian7.5.0 3.2.0-4-amd64 #1 SMP Debian 3.2.51-1 x86_64 GNU/Linux + gcc (Debian 4.7.2-5) 4.7.2 + GNU Fortran (Debian 4.7.2-5) 4.7.2 + (cmake and autotools) + + Fedora20 3.15.3-200.fc20.x86_64 #1 SMP x86_64 x86_64 x86_64 GNU/Linux + gcc (GCC) 4.8.3 20140624 (Red Hat 4.8.3-1) + GNU Fortran (GCC) 4.8.3 20140624 (Red Hat 4.8.3-1) + (cmake and autotools) + + SUSE 13.1 3.11.10-17-desktop #1 SMP PREEMPT x86_64 x86_64 x86_64 GNU/Linux + gcc (SUSE Linux) 4.8.1 + GNU Fortran (SUSE Linux) 4.8.1 + (cmake and autotools) + + Ubuntu 14.04 3.13.0-35-generic #62-Ubuntu SMP x86_64 GNU/Linux + 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.) + g++ (GCC) 4.9.2 20141030 (Cray Inc.) + + + +Known Problems and Limitations +============================== +This section contains the list of known problems and limitations introduced +in this release of HDF5. + +Note: this list is not exhaustive of all known issues discovered in HDF5 +software to date. For a list of significant problems and known workarounds +identified in past releases, please refer to: + +https://www.hdfgroup.org/HDF5/release/known_problems/ + +The HDF Group also maintains a JIRA issue-tracking database which is used to +capture all known issues which are too numerous to reasonably list in this +document. The HDF Group is taking steps to make our JIRA issue database +open to the public, and this section will refer to that database in a future +release. In the meantime, please contact help@hdfgroup.org if you come across +an issue not listed here or at the link above, and we will provide any +information about known workarounds that we have or add it to our list of +known issues if it is a new issue. + + - The JUnit-interface test may fail on Solaris platforms. The result of + a test for verifying the content of the error stack to stdout is + in a different order on Solaris then other platforms. Use make -i option + to test beyond the java/test folder. + (ADB - 2016/03/22, HDFFV-9734) + + - The flush/refresh test occasionally fails on OS X platforms. This is + being investigated but no fix or workaround is available at this time. + (DER - 2016/03/22, HDFFV-9731) + + - The VDS/SWMR test will fail with a segmentation fault if the library + is built with --enable-using-memchecker. The is due to a VDS shutdown + procedure freeing a shared resource too early when the memory + checker changes are built. This problem does not arise when the + memory checker changes are not used since the internal library free + lists behave differently. The memory checker configure option should + normally only be used under special circumstances so this should not + affect most users. Users should be aware that the --enable-using-memchecker + + VDS combination may cause a segfault, however, so Valgrind et al. may + have to be used with an HDF5 library built without the feature if this + proves to be a problem. + (DER - 2016/03/21, HDFFV-9732) + + - SWMR feature limitations + The SWMR feature will only work if an HDF5 file under SWMR access resides + on a file system that obeys POSIX write() ordering semantics. Because of + this, SWMR will not work on network file systems such as NFS or SMB/Windows + file shares since those systems do not guarantee write odering. SWMR + regression tests are likely to fail if run on a network file system. SWMR + is currently not tested on Windows though it can be tested manually + (some of the SWMR test programs are built by CMake), and there are no + obvious reasons for it to not work on NTFS or GPFS. + (EIP - 2016/03/20, HDFFV-9733) + + - VDS feature limitation + Currently, the path to a VDS source file is interpreted as relative to the + directory where the executable program runs and not to the HDF5 file with + the VDS dataset unless a full path to the source file is specified during + the mapping. + (EIP - 2016/03/20, HDFFV-9724) + + - When building HDF5 with Java using CMake and specifying Debug for CMAKE_BUILD_TYPE, + there is a missing command argument for the tests of the examples. + + This error can be avoided by not building Java with Debug, HDF5_BUILD_JAVA:BOOL=OFF, + or not building Examples, HDF5_BUILD_EXAMPLES:BOOL=OFF. + (LRK - 2016/03/30, HDFFV-9743) + + - The H5Lexists API changed behavior in HDF5-1.10 when used with a file handle + and root group name ("/"): + + H5Lexists(fileid, "/") + + In HDF5-1.8 it returns false (0) and in HDF5-1.10 it returns true (1). + The documentation will be updated with information regarding this change. + (LRK - 2016/03/30, HDFFV-8746) + diff --git a/release_docs/HISTORY-1_8.txt b/release_docs/HISTORY-1_8.txt new file mode 100644 index 0000000..4465d06 --- /dev/null +++ b/release_docs/HISTORY-1_8.txt @@ -0,0 +1,12344 @@ +HDF5 History +============ + +This file contains development history of HDF5 1.8 branch + +19. Release Information for hdf5-1.8.17 +18. Release Information for hdf5-1.8.16 +17. Release Information for hdf5-1.8.15 +16. Release Information for hdf5-1.8.14 +15. Release Information for hdf5-1.8.13 +14. Release Information for hdf5-1.8.12 +13. Release Information for hdf5-1.8.11 +12. Release Information for hdf5-1.8.10-patch1 +11. Release Information for hdf5-1.8.10 +10. Release Information for hdf5-1.8.9 +09. Release Information for hdf5-1.8.8 +08. Release Information for hdf5-1.8.7 +07. Release Information for hdf5-1.8.6 +06. Release Information for hdf5-1.8.5 +05. Release Information for hdf5-1.8.4 +04. Release Information for hdf5-1.8.3 +03. Release Information for hdf5-1.8.2 +02. Release Information for hdf5-1.8.1 +01. Release Information for hdf5-1.8.0 + +[Search on the string '%%%%' for section breaks of each release.] + +%%%%1.8.17%%%% + + +HDF5 version 1.8.17 released on 2016-05-10 +================================================================================ + +INTRODUCTION +============ + +This document describes the differences between HDF5-1.8.16 and +HDF5-1.8.17-*, and contains information on the platforms tested and +known problems in HDF5-1.8.17-*. +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.17 source code, documentation, and additional materials +can be found on the HDF5 web page at: + + http://www.hdfgroup.org/products/hdf5/ + +The HDF5 1.8.17 release can be obtained from: + + http://www.hdfgroup.org/HDF5/release/obtain5.html + +User documentation for 1.8.17 can be accessed directly at this location: + + http://www.hdfgroup.org/HDF5/doc/ + +New features in the HDF5-1.8.x release series, including brief general +descriptions of some new and modified APIs, are described in the "What's New +in 1.8.0?" document: + + http://www.hdfgroup.org/HDF5/doc/ADGuide/WhatsNew180.html + +All new and modified APIs are listed in detail in the "HDF5 Software Changes +from Release to Release" document, in the section "Release 1.8.17 (current +release) versus Release 1.8.16 + + http://www.hdfgroup.org/HDF5/doc/ADGuide/Changes.html + +If you have any questions or comments, please send them to the HDF Help Desk: + + help@hdfgroup.org + + + +CONTENTS +======== + +- New Features +- Support for New Platforms, Languages, and Compilers +- Bug Fixes since HDF5-1.8.16 +- Supported Platforms +- Supported Configuration Features Summary +- More Tested Platforms +- Known Problems + + + +New Features +============ + + Configuration + ------------- + - Cmakehdf5: Added Ability to Run Multiple Make Commands + + Added option --njobs to specify up to how many jobs to launch during + build (cmake) and testing (ctest). + + (AKC - 2015/12/13, HDFFV-9612) + + - Cmakehdf5: Added Szip Support and Verbose Option + + Added --with-szlib to support the Szip library; and + --enable/disable-verbose to display all CMake process output. + + (AKC - 2015/11/16, HDFFV-8932 and DAILYTEST-195) + + - CMake minimum is now 3.1.0. (ADB - 2015/11/14) + + - Large File System (LFS) Support has Changed in the Autotools + + We assume that fseeko and ftello exist. + + The *64 I/O functions and types are no longer explicitly used. + We now rely on a mapping provided by _FILE_OFFSET_BITS (or its + equivalent). + + _LARGEFILE(64)_SOURCE is no longer exposed via AM_CPPFLAGS. + + (DER - 2016/03/29, HDFFV-9626 and HDFFV-9541) + + + + Library + ------- + - New API Calls for Searching for External Dataset Storage + + API calls that determine the search path for dataset external + storage were added. H5Pset/get_efile_prefix() API calls were added + to the library. These functions give control over the search path + for dataset external storage that has been configured with + H5Pset_external(). + + Additionally, the HDF5_EXTFILE_PREFIX environment variable can be + used to control the search path. + + (DER - 2016/04/20, HDFFV-8740) + + + + Parallel Library + ---------------- + - None + + + + Tools + ----- + - None + + + + High-Level APIs + --------------- + + C Packet Table API + ------------------ + - Replacement of a Public Function with H5PTcreate + + The existing function H5PTcreate_fl limits applications so they + can use the deflate compression only. The public function + H5PTcreate has been added to replace H5PTcreate_fl. H5PTcreate + takes a property list identifier to provide flexibility on + creation properties. This also removes the following warning: + "deprecated conversion from string constant to "char*" + [-Wwrite-strings]". + + (BMR - 2016/04/25, HDFFV-9708, HDFFV-8615) + + - New Public Functions: H5PTget_dataset and H5PTget_type + + Two accessor functions have been added. H5PTget_dataset returns + the identifier of the dataset associated with the packet table, + and H5PTget_type returns the identifier of the datatype used by + the packet table. + + (BMR - 2016/04/25, HDFFV-8623 patch 3) + + - Regarding #ifdef VLPT_REMOVED + + The #ifdef VLPT_REMOVED blocks have been removed from the packet + table (PT) library source except for the following functions: + + H5PTis_varlen() has been made available again + + H5PTfree_vlen_readbuff() is now H5PTfree_vlen_buff() + + (BMR - 2016/04/25, HDFFV-442) + + C++ Packet Table API + -------------------- + - New Constructor in FL_PacketTable + + An overloaded constructor has been added to FL_PacketTable and + takes a property list identifier to provide flexibility on + creation properties such as compression. + + FL_PacketTable(hid_t fileID, const char* name, hid_t dtypeID, + hsize_t chunkSize = 0, hid_t plistID = H5P_DEFAULT) + + (BMR - 2016/04/25, HDFFV-8623 patch 5) + + - New Member Functions in PacketTable + + Two accessor wrappers were added to class PacketTable. + + PacketTable::GetDataset() returns the identifier of the dataset + associated with the packet table, and PacketTable::GetDatatype() + returns the identifier of the datatype that the packet table uses. + + (BMR - 2016/04/25, HDFFV-8623 patch 4) + + - New Member Functions with "char*" as an Argument + + Overloaded functions were added to provide the "const char*" + argument; the existing version will be deprecated in future + releases. This also removes the following warning: + "deprecated conversion from string constant to "char*" + [-Wwrite-strings]". + + (BMR - 2016/04/25, HDFFV-8623 patch 1, HDFFV-8615) + + - Regarding #ifdef VLPT_REMOVED + + The #ifdef VLPT_REMOVED blocks have been removed from the packet + table library source code except for the following functions: + + VL_PacketTable::IsVariableLength() was moved to PacketTable + + VL_PacketTable::FreeReadBuff() is now PacketTable::FreeBuff() + + (BMR - 2016/04/25, HDFFV-442) + + + + Fortran API + ----------- + - None + + + + C++ API + ------- + - New Member Function in DSetCreatPropList + + DSetCreatPropList::setNbit() was added to setup N-bit compression for + a dataset. + + (BMR - 2016/04/25, HDFFV-8623 patch 7) + + - New Overloaded "const" Member Functions in ArrayType + + The two following functions were added: + ArrayType::getArrayNDims() const + ArrayType::getArrayDims() const + to provide const version, and the non-const version was marked + deprecated. In-memory array information, ArrayType::rank and + ArrayType::dimensions, were removed. This is an implementation + detail and should not affect applications. + + (BMR, 2016/04/25, HDFFV-9725) + + - New member function added + + The assignment operator ArrayType::operator= is added because ArrayType + has pointer data members. + + (BMR, 2016/03/07, HDFFV-9562) + + +Support for New Platforms, Languages, and Compilers +=================================================== + - Mac OS X El Capitan 10.11.4 with compilers Apple clang/clang++ + version 7.3.0 from Xcode 7.3, gfortran GNU Fortran (GCC) 5.2.0 + and Intel icc/icpc/ifort version 16.0.2 + + + +Bug Fixes since HDF5-1.8.16 +=========================== + + Configuration + ------------- + - Updated Linux Language Level Flags to Match the Autotools. Removed + Linux-specific Flags from OS X. + + An addition to the flags simply being out of sync with the Autotools, + the Linux flags were used on OS X builds which led to symbols not being + found. Although this was non-fatal and compilation continued (implicit + definitions were used by the compiler and the symbols resolved at link + time), a large number of warnings were raised. + + Linux changes: + + * CHANGED: _POSIX_C_SOURCE (from 199605 to 200112L) + * ADDED: _GNU_SOURCE + * REMOVED: _BSD_SOURCE + * REMOVED: _DEFAULT_SOURCE + + (DER - 2015/12/08, HDFFV-9627) + + - The --enable-clear-file-buffers configure Option was Non-functional + so the Feature was Always Enabled (its default value). + + Regardless of the configure flag, the setting was always enabled when + the Autotools were used to configure HDF5. This was due to the "no" + option being processed after the "*" option in configure.ac so "*" + matched first. CMake was unaffected. + + The option now works correctly. + + NOTE that builders are always advised to leave this option enabled. + When disabled, buffers that are written to disk may contain the + memory's previous contents, which may include secure information. + The performance overhead of the feature (a single memset call per + allocation) is minimal. + + (DER - 2016/02/03, HDFFV-9676) + + - Added a patch to remove '"'s from arguments for MPI compilers that + were causing errors compiling H5lib_settings.c with SGI MPT. + + (LRK - 2016/04/20, HDFFV-9439) + + Library + ------- + - Fixed shared file pointer problem which caused a crash when running a + program provided by a user. + + (VC - 2016/04/01, HDFFV-9469) + + - Fixed some format string warnings that prevent compiling with + -Werror=format-security on gcc. + + These only appeared in error messages and would not cause problems + under normal operation. + + (DER - 2016/01/13, HDFFV-9640) + + - Fixed a library segmentation fault when accessing a corrupted + file provided by a user. + + (MSC - 2016/02/19, HDFFV-9670) + + + + Parallel Library + ---------------- + - None + + + + Performance + ------------- + - None + + + + Tools + ----- + - h5dump: Sub-setting Fixed for Dimensions Greater than Two + + When a dataset has more than two dimensions, sub-setting would + incorrectly calculate the data that needed to be displayed. + Added in block and stride calculations that account for dimensions + greater than two. NOTE: lines that have line breaks inserted + because of display length calculations may have index info that + is incorrect until the next dimension break. + + (ADB - 2016/03/07, HDFFV-9698) + + - h5dump: Issue with Argument Segmentation Fault + + When an argument with an optional value was at the end of the command + line with a value, h5dump would crash. Reworked check for remaining + arguments. + + (ADB - 2016/03/07, HDFFV-9570, HDFFV-9684) + + - h5dump: Issue with Default Fill Value + + Added all default cases of fill value to the display of fill value. + + (ADB -, 2016/03/07, HDFFV-9241) + + - h5dump: Clarified Help + + Clarified usage of -O F option in h5dump utility help. + + (ADB - 2016/03/07, HDFFV-9066) + + - h5dump: Issue with Double Free Fault + + Added a check for filename not null before calling free(). + + (ADB - 2016/01/27, HDFFV-9639) + + - VS2015 Release Changed how Timezone was Handled + + Created a function, HDget_timezone, in H5system.c. Replaced + timezone variable usage with function call. + + (ADB - 2015/11/02, HDFFV-9550) + + + + Fortran API + ----------- + - None + + + + C++ API + ------- + - Removal of Obsolete Methods + + The overloaded methods which had parameters that should be const + but were not have been removed. + + (BMR - 2016/01/13, HDFFV-9789) + + + + High-Level APIs: + --------------- + - Fixed Memory Leak in Packet Table API + + Applied user's patch to fix memory leak in the creation of a + packet table. + + (BMR - 2016/04/25, HDFFV-9700) + + + + Fortran High-Level APIs: + ------------------------ + - None + + + + Testing + ------- + - 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. + + AIX 6.1 xlc/xlc_r 10.1.0.5 + (NASA G-ADA) xlC/xlC_r 10.1.0.5 + xlf90/xlf90_r 12.1.0.6 + + 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 + Version 4.9.3, Version 5.2.0 + PGI C, Fortran, C++ for 64-bit target on + x86-64; + Version 15.7-0 + Intel(R) C (icc), C++ (icpc), Fortran (icc) + compilers: + Version 15.0.3.187 Build 20150407 + MPICH 3.1.4 compiled with GCC 4.9.3 + + Linux 2.6.32-504.8.1.el6.ppc64 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-229.14.1.el7 GNU C (gcc), Fortran (gfortran), C++ (g++) + #1 SMP x86_64 GNU/Linux compilers: + (kituo/moohan) Version 4.8.5 20150623 (Red Hat 4.8.5-4) + Version 5.2.0 + Intel(R) C (icc), C++ (icpc), Fortran (icc) + compilers: + Version 15.0.3.187 Build 20150407 + MPICH 3.1.4 compiled with GCC 4.9.3 + + 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 2012 w/ Intel Fortran 15 (cmake) + Visual Studio 2013 w/ Intel Fortran 15 (cmake) + Visual Studio 2015 (cmake) + Cygwin(CYGWIN_NT-6.1 2.2.1(0.289/5/3) gcc(4.9.3) compiler and gfortran) + (cmake and autotools) + + Windows 7 x64 Visual Studio 2012 w/ Intel Fortran 15 (cmake) + Visual Studio 2013 w/ Intel Fortran 15 (cmake) + Visual Studio 2015 (cmake) + + Windows 8.1 Visual Studio 2012 w/ Intel Fortran 15 (cmake) + Visual Studio 2013 w/ Intel Fortran 15 (cmake) + + Windows 8.1 x64 Visual Studio 2012 w/ Intel Fortran 15 (cmake) + 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 + (swallow/kite) Intel icc/icpc/ifort version 15.0.3 + + Mac OS X Mavericks 10.9.5 Apple clang/clang++ version 6.0 from Xcode 6.2 + 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 clang/clang++ version 6.1 from Xcode 7.0 + 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.4 Apple clang/clang++ version 7.3.0 from Xcode 7.3 + 64-bit gfortran GNU Fortran (GCC) 5.2.0 + (osx1011dev/ox1011test) Intel icc/icpc/ifort version 16.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/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 +Mac OS X Mavericks 10.9.5 64-bit n y/y n y y y +Mac OS X Yosemeti 10.10.5 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-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 +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 Mavericks 10.9.5 64-bit y n y y +Mac OS X Yosemeti 10.10.5 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-431.11.2.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.18-431.11.2.el6 g95 (GCC 4.0.3 (g95 0.94!) + #1 SMP x86_64 GNU/Linux + (platypus) + + Windows 7 Visual Studio 2008 (cmake) + + Windows 7 x64 Visual Studio 2008 (cmake) + + Windows 10 Visual Studio 2013 w/ Intel Fortran 15 (cmake) + + Windows 10 x64 Visual Studio 2013 w/ Intel Fortran 15 (cmake) + + Debian7.5.0 3.2.0-4-amd64 #1 SMP Debian 3.2.51-1 x86_64 GNU/Linux + gcc (Debian 4.7.2-5) 4.7.2 + GNU Fortran (Debian 4.7.2-5) 4.7.2 + (cmake and autotools) + + Fedora20 3.15.3-200.fc20.x86_64 #1 SMP x86_64 x86_64 x86_64 GNU/Linux + gcc (GCC) 4.8.3 20140624 (Red Hat 4.8.3-1) + GNU Fortran (GCC) 4.8.3 20140624 (Red Hat 4.8.3-1) + (cmake and autotools) + + SUSE 13.1 3.11.10-17-desktop #1 SMP PREEMPT x86_64 x86_64 x86_64 GNU/Linux + gcc (SUSE Linux) 4.8.1 + GNU Fortran (SUSE Linux) 4.8.1 + (cmake and autotools) + + Ubuntu 14.04 3.13.0-35-generic #62-Ubuntu SMP x86_64 GNU/Linux + 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.) + g++ (GCC) 4.9.2 20141030 (Cray Inc.) + + +Known Problems +============== +* On windows platforms in debug configurations, the VFD flush1 tests will fail + with the split and multi VFD drivers. These tests will display a modal debug + dialog which must be answered or wait for the test timeout to expire. + (ADB - 2014/06/23 - HDFFV-8851) + +* CLANG compiler with the options -fcatch-undefined-behavior and -ftrapv + catches some undefined behavior in the alignment algorithm of the macro DETECT_I + in H5detect.c (Issue 8147). Since the algorithm is trying to detect the alignment + of integers, ideally the flag -fcatch-undefined-behavior shouldn't to be used for + H5detect.c. In the future, we can separate flags for H5detect.c from the rest of + the library. (SLU - 2013/10/16) + +* Make provided by Solaris fails in "make check". Solaris users should use + gmake to build and install the HDF5 software. (AKC - 2013/10/08 - HDFFV-8534) + +* The C++ and FORTRAN bindings are not currently working on FreeBSD with the + native release 8.2 compilers (4.2.1), but are working with gcc 4.6 from the + ports (and probably gcc releases after that). + (QAK - 2012/10/19) + +* The following h5dump test case fails in BG/P machines (and potentially other + machines that use a command script to launch executables): + + h5dump --no-compact-subset -d "AHFINDERDIRECT::ah_centroid_t[0] it=0 tl=0" + tno-subset.h5 + + This is due to the embedded spaces in the dataset name being interpreted + by the command script launcher as meta-characters, thus passing three + arguments to h5dump's -d flag. The command passes if run by hand, just + not via the test script. + (AKC - 2012/05/03) + +* The STDIO VFD does not work on some architectures, possibly due to 32/64 + bit or large file issues. The basic STDIO VFD test is known to fail on + 64-bit SunOS 5.10 on SPARC when built with -m64 and 32-bit OS X/Darwin + 10.7.0. The STDIO VFD test has been disabled while we investigate and + a fix should appear in a future release. + (DER - 2011/10/14 - HDFFV-8235) + +* h5diff can report inconsistent results when comparing datasets of enum type + that contain invalid values. This is due to how enum types are handled in + the library and will be addressed in a future release. + (DER - 2011/10/14 - HDFFV-7527) + +* The links test can fail under the stdio VFD due to some issues with external + links. This will be investigated and fixed in a future release. + (DER - 2011/10/14 - HDFFV-7768) + +* After the shared library support was fixed for some bugs, it was discovered + that "make prefix=XXX install" no longer works for shared libraries. It + still works correctly for static libraries. Therefore, if you want to + install the HDF5 shared libraries in a location such as /usr/local/hdf5, + you need to specify the location via the --prefix option during configure + time. E.g, ./configure --prefix=/usr/local/hdf5 ... + (AKC - 2011/05/07 - HDFFV-7583) + +* The parallel test, t_shapesame, in testpar/, may run for a long time and may + be terminated by the alarm signal. If that happens, one can increase the + alarm seconds (default is 1200 seconds = 20 minutes) by setting the + environment variable, $HDF5_ALARM_SECONDS, to a larger value such as 3600 + (60 minutes). Note that the t_shapesame test may fail in some systems + (see the "While working on the 1.8.6 release..." problem below). If + it does, it will waste more time if $HDF5_ALARM_SECONDS is set + to a larger value. + (AKC - 2011/05/07) + +* Shared Fortran libraries are not quite working on AIX. While they are + generated when --enable-shared is specified, the fortran and hl/fortran + tests fail. the issue. HL and C++ shared libraries should now be + working as intended, however. + (MAM - 2011/04/20) + +* While working on the 1.8.6 release of HDF5, a bug was discovered that can + occur when reading from a dataset in parallel shortly after it has been + written to collectively. The issue was exposed by a new test in the parallel + HDF5 test suite, but had existed before that. We believe the problem lies with + certain MPI implementations and/or file systems. + + We have provided a pure MPI test program, as well as a standalone HDF5 + program, that can be used to determine if this is an issue on your system. + They should be run across multiple nodes with a varying number of processes. + These programs can be found at: + http://www.hdfgroup.org/ftp/HDF5/examples/known_problems/ + (NAF - 2011/01/19) + +* All the VFL drivers aren't backward compatible. In H5FDpublic.h, the + structure H5FD_class_t changed in 1.8. There is new parameter added to + get_eoa and set_eoa callback functions. A new callback function + get_type_map was added in. The public function H5FDrealloc was taken + out in 1.8. The problem only happens when users define their own driver + for 1.6 and try to plug in 1.8 library. Because there's only one user + complaining about it, we (Elena, Quincey, and I) decided to leave it as + it is (see bug report #1279). Quincey will make a plan for 1.10. + (SLU - 2010/02/02) + +* The --enable-static-exec configure flag will only statically link libraries + if the static version of that library is present. If only the shared version + of a library exists (i.e., most system libraries on Solaris, AIX, and Mac, + for example, only have shared versions), the flag should still result in a + successful compilation, but note that the installed executables will not be + fully static. Thus, the only guarantee on these systems is that the + executable is statically linked with just the HDF5 library. + (MAM - 2009/11/04) + +* A dataset created or rewritten with a v1.6.3 library or after cannot be read + with the v1.6.2 library or before when the Fletcher32 EDC filter is enabled. + There was a bug in the calculation of the Fletcher32 checksum in the + library before v1.6.3; the checksum value was not consistent between big- + endian and little-endian systems. This bug was fixed in Release 1.6.3. + However, after fixing the bug, the checksum value was no longer the same as + before on little-endian system. Library releases after 1.6.4 can still read + datasets created or rewritten with an HDF5 library of v1.6.2 or before. + (SLU - 2005/06/30) + + +%%%%1.8.16%%%% + + +HDF5 version 1.8.16 released on 2015-11-10 +================================================================================ + +INTRODUCTION +============ + +This document describes the differences between HDF5-1.8.15 and +HDF5-1.8.16, and contains information on the platforms tested and +known problems in HDF5-1.8.16. +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.16 source code, documentation, and additional materials +can be found on the HDF5 web page at: + + http://www.hdfgroup.org/products/hdf5/ + +The HDF5 1.8.16 release can be obtained from: + + http://www.hdfgroup.org/HDF5/release/obtain5.html + +User documentation for 1.8.16 can be accessed directly at this location: + + http://www.hdfgroup.org/HDF5/doc/ + +New features in the HDF5-1.8.x release series, including brief general +descriptions of some new and modified APIs, are described in the "What's New +in 1.8.0?" document: + + http://www.hdfgroup.org/HDF5/doc/ADGuide/WhatsNew180.html + +All new and modified APIs are listed in detail in the "HDF5 Software Changes +from Release to Release" document, in the section "Release 1.8.16 (current +release) versus Release 1.8.15": + + http://www.hdfgroup.org/HDF5/doc/ADGuide/Changes.html + +If you have any questions or comments, please send them to the HDF Help Desk: + + help@hdfgroup.org + + +CONTENTS +======== + +- New Features +- Support for New Platforms, Languages, and Compilers +- Bug Fixes since HDF5-1.8.15 +- Supported Platforms +- Supported Configuration Features Summary +- More Tested Platforms +- Known Problems + +New Features +============ + + Configuration and Build + ------------- + - The thread-safety + high-level library combination has been marked + as "unsupported" in the Autotools + + The global lock used by the thread-safety feature has never been + raised to the high-level library level, making it possible that + the library state could change if a context switch were to occur in + a high-level library call. Because of this, the combination of + thread-safety and high-level library is officially unsupported by + The HDF Group. + + In the past, although this combination has never been supported, this + was not enforced by the build systems. These changes will cause an + Autotools configure step to fail if --enable-threadsafe and + --enable-hl are combined unless additional options are specified. + Since the high-level library is built by default, this means that + these extra configuration options will need to be used any time + --enable-threadsafe is selected. + + To build with --enable-threadsafe, either: + + 1) Use --disable-hl to disable the high-level library (recommended) + + 2) Use --enable-unsupported to build the high-level library with + the thread-safety feature. + + (DER - 2015/09/10 HDFFV-8719) + + - Using CMake now builds both static and shared libraries. + + The CMake files have been updated to build both static and shared + libraries, with tools only built statically. The packaging of the + libraries and tools will include cmake-config files that allows + projects to choose either shared or static (default) libraries + to be found with the find_package command using the COMPONENTS + keyword and a list of components. The imported libraries will + include any interface specific settings and dependent libraries. + + The default setting for BUILD_SHARED_LIBS has changed from OFF + to ON, which builds both static and shared libraries. The static + libraries are always built because of tools requirements. + + (ADB - 2015/08/24 HDFFV-5881) + + - Inline functions now correctly annotated with Autotools builds. + + The method used to detect the appropriate inline markup scheme was + nonfunctional in Autotools builds. The Autotools have been modified + to correctly detect the compiler's inline markup symbol and apply it + to the source. Note that only a very small number of internal + functions are marked inline so this was not a very big change or + likely to significantly affect performance. + + As a part of this change, the H5_inline symbol no longer appears in + H5pubconf.h. + + (DER - 2015/08/13 HDFFV-9119, HDFFV-9421) + + - Removed obsolete/unmaintained files from config/ + + Several files were removed from the config directory. These files + represent old operating systems, were no longer necessary, and/or + were no longer maintained. configure.ac was updated to reflect the + removed files. + + Removed: + + craynv + dec-flags + hpux11.23 + ia64-linux-gnu + nec-superux14.1 + sv1-cray + x86_64-redstorm-linux-gnu + powerpc-ibm-aix5.x + + As a part of this work, a few lines that deal with locating the + sys/fpu.h header on SGI machines and some OSF/1 configure lines + were also removed. The Solaris config was also renamed to not have + a version number since the version number was ignored by configure + as it applies to all Solaris versions. + + (DER - 2015/09/04 HDFFV-9116) + + - Removed the FP_TO_INTEGER_OVERFLOW_WORKS macro/defines from the library + + This was for working around bugs in the Cray X1 compiler, which is no + longer supported. + + (DER - 2015/09/09 HDFFV-9191) + + - Removed the H5_SW_ULONG_TO_FP_BOTTOM_BIT_WORKS and + H5_FP_TO_ULLONG_BOTTOM_BIT_WORKS symbols and associated code. + + H5_SW_ULONG_TO_FP_BOTTOM_BIT_WORKS was a work-around on old 64-bit + SGI and Solaris systems. + + H5_FP_TO_ULLONG_BOTTOM_BIT_WORKS was a work-around for old PGI + compilers on Linux. + + Neither of these were used in any current library code and only appeared + in the dt_arith test. + + (DER - 2015/09/09 HDFFV-9187) + + - Removed CONVERT_DENORMAL_FLOAT symbol and associated code from the + library. + + This was only set in configure files for Cray and NEC computers. These + config files no longer exist so there is no effect on currently + supported platforms. + + (DER - 2015/09/09 HDFFV-9188) + + - Removed _BSD_SOURCE and _DEFAULT_SOURCE from configure.ac + + These are old BSD-compatibility symbols that are no longer needed by + the library. + + (DER - 2015/09/10 HDFFV-9079) + + - Removed HW_FP_TO_LLONG_NOT_WORKS symbol and associated code from the + library. + + This was part of a work-around for the VS.NET 2003 compiler, which is + no longer supported. + + (DER - 2015/09/10 HDFFV-9189) + + - Removed the BAD_LOG2_CODE_GENERATED symbol and associated code from the + library. + + This was an IRIX work-around. + + (DER - 2015/09/11 HDFFV-9195) + + - Decoupled shared object version numbers for wrapper libraries from the + shared object version number for the HDF5 library. These will be + maintained on an individual basis according to the interface changes + specific to these wrapper libraries. + + For HDF5 1.8.16 the shared object version numbers were changed from + 10.0.1 to 10.1.0 for the HDF5 library due to added APIs. For the C++ + wrapper library they were changed from 10.0.1 to 11.0.0 due to changes + in existing APIs. For all other wrapper libraries the versions were + changed from 10.0.1 to 10.0.2 because while the APIs had no changes + there have been changes in code that did not result in changes to their + interfaces. + + (LRK - 2015/10/28) + + Library + ------- + + - H5F_ACC_DEBUG flag for H5Fopen/create: functionality removed + + The symbol was used to emit some extra debugging information + for HDF Group developers in the multi VFD. The underlying + functionality has been removed due to disuse. The symbol + remains defined since it was visible in H5Fpublic.h but it + has been set to zero and has no effect anywhere in the library. + + (DER - 2015-05-02, HDFFV-1074) + + - New public API call: H5is_library_threadsafe() + + This API call indicates if the library was built with thread- + safety enabled. + + (DER - 2015-09-01, HDFFV-9496) + + Parallel Library + ---------------- + - None + + Tools + ----- + - None + + High-Level APIs + --------------- + - None + + Fortran API + ----------- + - None + + + C++ API + ------- + - Class H5::ObjCreatPropList is added for the object creation property + list class. + + Class H5::ObjCreatPropList is derived from H5::PropList and is a + baseclass of H5::DSetCreatPropList. Additional property list classes + will be derived from H5::ObjCreatPropList when they are added to the + library in future releases. + + (BMR, 2015/10/13, Part of HDFFV-9169) + + - New Wrappers for C Functions H5P[s/g]et_attr_phase_change and + H5P[s/g]et_attr_creation_order. + + Wrappers were added to class H5::ObjCreatPropList for the C Functions + H5Pset_attr_phase_change: H5::ObjCreatPropList::setAttrPhaseChange + H5Pget_attr_phase_change: H5::ObjCreatPropList::getAttrPhaseChange + H5Pset_attr_creation_order: H5::ObjCreatPropList::setAttrCrtOrder + H5Pget_attr_creation_order: H5::ObjCreatPropList::getAttrCrtOrder + + (BMR, 2015/10/13, Part of HDFFV-9167 and HDFFV-9169) + + +Support for New Platforms, Languages, and Compilers +=================================================== + - Added VS2015 with Intel Fortran 16 to supported Windows 7 platforms + + +Bug Fixes since HDF5-1.8.15 +=========================== + + Configuration + ------------- + + - CMake test for long long printf format improved + + The CMake configuration test for determining the printf format string + for printing a long long integer was fixed. The test would crash + when executed with VS2015. + + (ADB - 2015-10-21 HDFFV-9488) + + Library + ------- + - VS2015 removed global variable timezone + + The usage of the global variable timezone was modified for VS2015 by + adding an alias to Windows builds. + + (ADB - 2015-10-23 HDFFV-9550) + + - Fix potential error in H5Iclear_type + + If the ID type's close callback could close another ID of the same type, + H5Iclear_type could occasionally run into problems due to the inner + workings of the skip list package. This could potentially cause an + error on library shutdown without calling H5Iclear_type directly. This + issue has been fixed. + + (NAF - 2015-08-12) + + - Fix uninitialized memory in dataspace selection code + + When creating a dataspace with H5Screate and setting the extent with + H5Sextent_copy, the selection offset was not initialized, potentially + causing invalid I/O. There may be other cases where this happened. + Modified the library to always initialize the offset. + + (NAF - 2015-09-08) + + - Truncate file in H5Fflush() if EOA != EOF to avoid file + corruption in certain scenarios + + In the following scenario, the resulting HDF5 file would be + incorrectly corrupted because the truncate operation + was at some point wrongly moved out of the flush operation: + - Create a new file with a single dataset. + - Write parts of the dataset (make sure that some values at + the end of the dataset are not initialized). + - Flush the file. + - Crash the program. + - Try to open the file with h5dump or h5debug, but the + resulting file is corrupted. + + (MSC - 2015-06-15 HDFFV-9418) + + + Parallel Library + ---------------- + - + (XYZ - YYYY/MM/DD HDFFV-####) + + Performance + ------------- + - None + + Tools + ----- + - VS2015 changed the default format for printing of exponents + + VS2015 default format for exponents changed with the elimination + of the leading '0'. CMake now tests for the VS2015 compiler and + adjusts which reference files are used by tests. + + (ADB - 2015-10-23 HDFFV-9550) + + - Fixed h5repack with user-defined filters + + h5repack would throw a buffer overrun exception on Windows when + parsing a user-defined filter ID of 5 digits. A local variable in + the parse routine was not of sufficient size. + + (ADB - 2015/09/01 HDFFV-9515) + + Fortran API + ------------ + - None + + + C++ API + ------ + - Removed memory leaks + + The static global constant objects were changed to constant references + referencing dynamically allocated objects. This ensures that the clean-up + process in the C++ library occurs before the termination of the C library + and prevents memory leaks because the previous global constants were not + properly deleted before the C library termination. + + (BMR, 2015/10/13, HDFFV-9529) + + - Fixed the problem about identifiers being closed prematurely. + + The C++ library needs to increment the ID's reference counter when it is + duplicated in the form of C++ objects, but not when the ID is obtained + from a C function. With this approach, both problems, prematurely + closing ID's and memory leaks due to ID's not being closed, should be + eliminated. + + (BMR, 2015/10/15, HDFFV-7947) + + + High-Level APIs: + ------ + - None + + + Fortran High-Level APIs: + ------------------------ + - None + + + Testing + ------- + - 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. + + AIX 6.1 xlc/xlc_r 10.1.0.5 + (NASA G-ADA) xlC/xlC_r 10.1.0.5 + xlf90/xlf90_r 12.1.0.6 + + Linux 2.6.32-573.3.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.4, Version 5.2.0 + PGI C, Fortran, C++ for 64-bit target on + x86-64; + Version 15.7-0 + Intel(R) C (icc), C++ (icpc), Fortran (icc) + compilers: + Version 15.0.3.187 Build 20150407 + MPICH 3.1.4 compiled with GCC 4.9.3 + + Linux 2.6.32-504.8.1.el6.ppc64 gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-11) + #1 SMP ppc64 GNU/Linux g++ (GCC) 4.4.7 20120313 (Red Hat 4.4.7-11) + (ostrich) GNU Fortran (GCC) 4.4.7 20120313 (Red Hat 4.4.7-11) + IBM XL C/C++ V13.1 + IBM XL Fortran V15.1 + + Linux 3.10.0-229.14.1.el7 GNU C (gcc), Fortran (gfortran), C++ (g++) + #1 SMP x86_64 GNU/Linux compilers: + (kituo/moohan) Version 4.8.3 20140911 (Red Hat 4.8.3-9) + Version 5.2.0 + Intel(R) C (icc), C++ (icpc), Fortran (icc) + compilers: + Version 15.0.3.187 Build 20150407 + MPICH 3.1.4 compiled with GCC 4.9.3 + + 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 2012 w/ Intel Fortran 15 (cmake) + Visual Studio 2013 w/ Intel Fortran 15 (cmake) + Visual Studio 2015 w/ Intel Fortran 16 (cmake) + Cygwin(CYGWIN_NT-6.1 2.2.1(0.289/5/3) gcc(4.9.3) compiler and gfortran) + (cmake and autotools) + + 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) + + Windows 8.1 Visual Studio 2012 w/ Intel Fortran 15 (cmake) + Visual Studio 2013 w/ Intel Fortran 15 (cmake) + + Windows 8.1 x64 Visual Studio 2012 w/ Intel Fortran 15 (cmake) + 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 + (swallow/kite) Intel icc/icpc/ifort version 15.0.3 + + Mac OS X Mavericks 10.9.5 Apple clang/clang++ version 6.0 from Xcode 6.2.0 + 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 clang/clang++ version 6.0 from Xcode 7.0.0 + 64-bit gfortran GNU Fortran (GCC) 4.9.2 + (osx1010dev/osx1010test) Intel icc/icpc/ifort version 15.0.3 + +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/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 +Mac OS X Mavericks 10.9.5 64-bit n y/y n y y y +Mac OS X Yosemeti 10.10.5 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-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 +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 Mavericks 10.9.5 64-bit y n y y +Mac OS X Yosemeti 10.10.5 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-431.11.2.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.18-431.11.2.el6 g95 (GCC 4.0.3 (g95 0.94!) + #1 SMP x86_64 GNU/Linux + (platypus) + + Mac OS X El Capitan 10.11 Apple clang/clang++ version 7.0.0 from Xcode 7.0.1 + 64-bit gfortran GNU Fortran (GCC) 5.2.0 + (VM) + + Windows 7 Visual Studio 2008 (cmake) + + Windows 7 x64 Visual Studio 2008 (cmake) + + Windows 10 Visual Studio 2013 w/ Intel Fortran 15 (cmake) + + Windows 10 x64 Visual Studio 2013 w/ Intel Fortran 15 (cmake) + + Debian7.5.0 3.2.0-4-amd64 #1 SMP Debian 3.2.51-1 x86_64 GNU/Linux + gcc (Debian 4.7.2-5) 4.7.2 + GNU Fortran (Debian 4.7.2-5) 4.7.2 + (cmake and autotools) + + Fedora20 3.15.3-200.fc20.x86_64 #1 SMP x86_64 x86_64 x86_64 GNU/Linux + gcc (GCC) 4.8.3 20140624 (Red Hat 4.8.3-1) + GNU Fortran (GCC) 4.8.3 20140624 (Red Hat 4.8.3-1) + (cmake and autotools) + + SUSE 13.1 3.11.10-17-desktop #1 SMP PREEMPT x86_64 x86_64 x86_64 GNU/Linux + gcc (SUSE Linux) 4.8.1 + GNU Fortran (SUSE Linux) 4.8.1 + (cmake and autotools) + + Ubuntu 14.04 3.13.0-35-generic #62-Ubuntu SMP x86_64 GNU/Linux + 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.) + g++ (GCC) 4.9.2 20141030 (Cray Inc.) + + +Known Problems +============== +* On Windows platforms in debug configurations, the VFD flush1 tests will fail + with the split and multi VFD drivers. These tests will display a modal debug + dialog which must be answered or wait for the test timeout to expire. + (ADB - 2014/06/23 - HDFFV-8851) + +* CLANG compiler with the options -fcatch-undefined-behavior and -ftrapv + catches some undefined behavior in the alignment algorithm of the macro DETECT_I + in H5detect.c (Issue 8147). Since the algorithm is trying to detect the alignment + of integers, ideally the flag -fcatch-undefined-behavior shouldn't to be used for + H5detect.c. In the future, we can separate flags for H5detect.c from the rest of + the library. (SLU - 2013/10/16) + +* Make provided by Solaris fails in "make check". Solaris users should use + gmake to build and install the HDF5 software. (AKC - 2013/10/08 - HDFFV-8534) + +* The C++ and FORTRAN bindings are not currently working on FreeBSD with the + native release 8.2 compilers (4.2.1), but are working with gcc 4.6 from the + ports (and probably gcc releases after that). + (QAK - 2012/10/19) + +* The following h5dump test case fails in BG/P machines (and potentially other + machines that use a command script to launch executables): + + h5dump --no-compact-subset -d "AHFINDERDIRECT::ah_centroid_t[0] it=0 tl=0" + tno-subset.h5 + + This is due to the embedded spaces in the dataset name being interpreted + by the command script launcher as meta-characters, thus passing three + arguments to h5dump's -d flag. The command passes if run by hand, just + not via the test script. + (AKC - 2012/05/03) + +* The STDIO VFD does not work on some architectures, possibly due to 32/64 + bit or large file issues. The basic STDIO VFD test is known to fail on + 64-bit SunOS 5.10 on SPARC when built with -m64 and 32-bit OS X/Darwin + 10.7.0. The STDIO VFD test has been disabled while we investigate and + a fix should appear in a future release. + (DER - 2011/10/14 - HDFFV-8235) + +* h5diff can report inconsistent results when comparing datasets of enum type + that contain invalid values. This is due to how enum types are handled in + the library and will be addressed in a future release. + (DER - 2011/10/14 - HDFFV-7527) + +* The links test can fail under the stdio VFD due to some issues with external + links. This will be investigated and fixed in a future release. + (DER - 2011/10/14 - HDFFV-7768) + +* After the shared library support was fixed for some bugs, it was discovered + that "make prefix=XXX install" no longer works for shared libraries. It + still works correctly for static libraries. Therefore, if you want to + install the HDF5 shared libraries in a location such as /usr/local/hdf5, + you need to specify the location via the --prefix option during configure + time. E.g, ./configure --prefix=/usr/local/hdf5 ... + (AKC - 2011/05/07 - HDFFV-7583) + +* The parallel test, t_shapesame, in testpar/, may run for a long time and may + be terminated by the alarm signal. If that happens, one can increase the + alarm seconds (default is 1200 seconds = 20 minutes) by setting the + environment variable, $HDF5_ALARM_SECONDS, to a larger value such as 3600 + (60 minutes). Note that the t_shapesame test may fail in some systems + (see the "While working on the 1.8.6 release..." problem below). If + it does, it will waste more time if $HDF5_ALARM_SECONDS is set + to a larger value. + (AKC - 2011/05/07) + +* Shared Fortran libraries are not quite working on AIX. While they are + generated when --enable-shared is specified, the Fortran and HL/Fortran + tests fail. HL and C++ shared libraries should now be working as intended, + however. + (MAM - 2011/04/20) + +* While working on the 1.8.6 release of HDF5, a bug was discovered that can + occur when reading from a dataset in parallel shortly after it has been + written to collectively. The issue was exposed by a new test in the parallel + HDF5 test suite, but had existed before that. We believe the problem lies with + certain MPI implementations and/or file systems. + + We have provided a pure MPI test program, as well as a standalone HDF5 + program, that can be used to determine if this is an issue on your system. + They should be run across multiple nodes with a varying number of processes. + These programs can be found at: + http://www.hdfgroup.org/ftp/HDF5/examples/known_problems/ + (NAF - 2011/01/19) + +* All of the VFL drivers aren't backward compatible. In H5FDpublic.h, the + structure H5FD_class_t changed in 1.8. There is new parameter added to + get_eoa and set_eoa callback functions. A new callback function + get_type_map was added in. The public function H5FDrealloc was taken + out in 1.8. The problem only happens when users define their own driver + for 1.6 and try to plug in 1.8 library. Because there's only one user + complaining about it, we (Elena, Quincey, and I) decided to leave it as + it is (see bug report #1279). Quincey will make a plan for 1.10. + (SLU - 2010/02/02) + +* The --enable-static-exec configure flag will only statically link libraries + if the static version of that library is present. If only the shared version + of a library exists (i.e., most system libraries on Solaris, AIX, and Mac, + for example, only have shared versions), the flag should still result in a + successful compilation, but note that the installed executables will not be + fully static. Thus, the only guarantee on these systems is that the + executable is statically linked with just the HDF5 library. + (MAM - 2009/11/04) + +* A dataset created or rewritten with a v1.6.3 library or after cannot be read + with the v1.6.2 library or before when the Fletcher32 EDC filter is enabled. + There was a bug in the calculation of the Fletcher32 checksum in the + library before v1.6.3; the checksum value was not consistent between big- + endian and little-endian systems. This bug was fixed in Release 1.6.3. + However, after fixing the bug, the checksum value was no longer the same as + before on little-endian systems. 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.15%%%% + + +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. + +Links to the HDF5 source code, documentation, and additional materials +can be found on the HDF5 web page at: + + http://www.hdfgroup.org/products/hdf5/ + +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: + + http://www.hdfgroup.org/HDF5/doc/ + +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 + +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.14 +- Supported Platforms +- Supported Configuration Features Summary +- More Tested Platforms +- Known Problems + + +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. + + 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. + (AKC - 2014/12/09 HDFFV-8932) + + - Building Shared and Parallel Made Explicit + + When --enable-parallel is specified, configure used to disable + shared by default. + + Removed the restriction for building shared when parallel is + enabled. --disable-shared has to be used explicitly if user + wishes to disable shared libraries. + + (MSC - 2015/02/19 HDFFV-9069) + + - Inferring Parallel Compilers + + configure was trying to infer if a compiler is a parallel + compiler with MPI support and enable parallel even if the user + did not explicitly enable parallel. This should not happen. + + Disabled inferring parallel compilers to enable parallel HDF5 + build. --enable-parallel has to be used explicitly to build + parallel HDF5 regardless of the compiler type being used. + + (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 + + When configure detected that the CodeWarrior compiler was being used it + would define a symbol that caused a test in test/tfile.c to be skipped + due to a broken CodeWarrior open() command. + + Since this only masks the problem instead of fixing it and we don't + support CodeWarrior anyway, this functionality was removed. + + (DER - 2015/02/21, HDFFV-9080) + + - VMS Build/Test Files Have Been Removed + + HDF5 no longer supports VMS, and the files were getting out of date. + Since we have no access to a VMS machine, there is no way for us to + maintain them. + + A Subversion tag was created at: + + https://svn.hdfgroup.uiuc.edu/tags/vms_last_support_1_8 + + immediately before removing the files. + + (DER - 2015-02-26, HDFFV-9147) + + - Removal of --with-default-vfd configure Option + + In theory, this option was intended to allow setting a default + VFD that would be used by the library. In practice, the feature + only accepted the POSIX (SEC2) VFD (already the default) and + the stdio VFD (a demo VFD not intended for production use). The + inability to pass key VFD parameters at configure time limits the + full implementation of this feature, so it was retired. + + (DER - 2015-02-26, HDFFV-9081) + + - Direct VFD configure Behavior + + The configure options for Linux now allow the Direct VFD to build + without passing additional compiler options/defines like _GNU_SOURCE. + Passing --enable-direct-vfd is now all that is needed to enable + the feature. + + The Direct VFD is now disabled by default since it is intended for + specialized audiences. It was previously enabled by default, but the + configure script did not set correct POSIX levels, etc. making this + a moot point. + + Note that the Direct VFD can only be configured on Linux when + the O_DIRECT flag to open()/create() and posix_memalign() function + are available. This is unchanged from previous behavior. + + (DER - 2015-02-26, HDFFV-9057, 7567, 9088, 7566) + + - _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 + code requirements. + + (DER - 2015-03-08, HDFFV-9152) + + - Removed the --enable-filters Option from configure + + This option allowed the user to disable selected internal filters, + presumably to make the library smaller. It has been removed since + it saved little space (the internal filters are small with respect + to the overall library size) and was not generally extendible to + the library at large due to the large number of #ifdefs that would + be required. + + Note that this features applied to internal filters such as shuffle + and n-bit and not external filters like gzip or Szip. Those are still + enabled or disabled via their own configure options. + + (DER - 2015-03-08, HDFFV-9086) + + - Removed Obsolete Time Functionality from configure and the C Library + + The library contained some residual functionality from obsolete + time zone handling code. This has been removed, and the configure + checks for the time functions have been cleaned up. + + * Lumped all the time functionality together in configure.ac. + This was previously more spread out due to Solaris issues + with the ordering of certain checks. + + * Removed processing that handles __tm_gmtoff members of struct + tm. (libc-4) + + * Removed BSDgettimeofday(). (IRIX 5.3) + + * Removed timezone struct handling in gettimeofday() (considered + harmful). + + Note that the HDF5 Library stores timestamps in a platform-independent + manner, so old files can still be read. This only affects converting + system time to HDF5 timestamps. + + The library currently uses the tm_gmtoff member of the tm struct + (preferred, if available) or the timezone global variable to + construct HDF5 timestamps. + + (DER - 2015-03-09, HDFFV-9083 and 9085) + + - Added -D_DEFAULT_SOURCE to CPPFLAGS on Linux Systems + + This is the replacement for -D_BSD_SOURCE in versions of glibc since 2.19. + Since both are defined, it should work for all versions of glibc. Defining + both suppresses the warning about defining _BSD_SOURCE. + + (NAF - 2015-04-02, HDFFV-9079) + + Library + ------- + - Added Memory Allocation Functions that Use the Library's Allocator + + HDF5 filters may need to allocate or resize the buffer that is passed + to them from the library. If the filter has been compiled separately + from the library, it and the library may use different memory + allocation libraries for the (re)allocation and free calls. This can + cause heap corruption and crashes. This is particularly a problem on + Windows since each C run-time library is implemented as a separate + shared library, but can also show up on POSIX systems when debug or + high-performance allocation libraries are in use. + + Two new functions (H5allocate_memory() and H5resize_memory()) were + added to the HDF5 C library. These functions have the same semantics as + malloc/calloc and realloc, respectively. Their primary purpose is to + allow filter authors to allocate or resize memory using the same + memory allocation library as the HDF5 library. Filter authors are + highly encouraged to use these new functions in place of malloc, + calloc, and realloc. They should also use the H5free_memory() call when + freeing memory. + + Note that the filters provided with the library (zlib, szip, etc.) do + not experience the problems that these new functions are intended to + fix. This work only applies to third-party filters that are compiled + 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. + + 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 + 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 + 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 + disabled. + + (ADB - 2015-03-17, HDFFV-8520) + + Parallel Library + ---------------- + - MPI_Finalize and HDF5 Library Shutdown + + Calling HDF5 routines after MPI_Finalize has been closed should + not be done, since those routines might call MPI functions that + would not be possible to do after finalizing the MPI library. + + 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(). + + (MSC - 2015/02/25, HDFFV-883) + + Tools + ----- + - None + + High-Level APIs + --------------- + - None + + Fortran API + ----------- + - Added Global Variables + + These new global variables are equivalent to the C definitions + without the '_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) + + + C++ API + ------- + - New Wrappers for C Functions H5P[s/g]et_libver_bounds + + 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) + + - New Wrappers to Get the Object Header's Version + + 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; + + (BMR, 2015/04/06) + + - New DataType Constructor + + Added a DataType constructor that takes a PredType object, and this + constructor will invoke H5Tcopy to generate another datatype id + from a predefined datatype. + + (BMR, 2015/04/06) + + +Support for New Platforms, Languages, and Compilers +=================================================== + - 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) + +Bug Fixes since HDF5-1.8.14 +=========================== + + Configuration + ------------- + - Make uninstall generated "test: argument expected". + The error is due to $EXAMPLETOPDIR is used without setting a value first. + + Fixed by assign it with the proper value. + + (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 + displayed path instead is that it is difficult to pass the correct + path from CPack to the NSIS installer for display. + + Note that this was never a code issue - it was just a display + problem. The installer always did the right thing when updating the + environment variable. + + (DER - 2014/11/14, HDFFV-9016) + + 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() + 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 + + A bug in a text processing script caused API calls that return a + pointer to not receive error tracing macros/functionality. + + The bug has been corrected and error tracing functionality has been + added to the affected API calls. These functions will now correctly + print trace information when library errors are encountered. + + (DER - 2015/02/26, HDFFV-9141) + + - 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 + message) if the references are HADDR_UNDEF or uninitialized. + + (MSB - 2015/3/10, HDFFV-7959) + + - Fixed Bugs in H5Sextent_copy + + H5Sextent_copy would not free the previous extent, resulting in a memory + leak. Also, H5Sextent_copy would not update the number of elements + selected if the selection was "all", causing various problems. These + issues have been fixed. + + (NAF - 2015/04/02) + + + 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 + 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. + + (MSC - 2014/11/06, HDFFV-1027,8962,8963) + + - MPE Support + + Enabling MPE was causing HDF5 build to fail. Support for it was + 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/). + + (MSC - 2015/02/20, HDFFV-9135) + + Performance + ------------- + - None + + Tools + ----- + - h5repack crashed on enumerated 8-bit type. + + Previous version 1.8.14 introduced an error that caused the reading + of enumerated 8-bit type nested in compound type to fail. + + Fixed library code responsible for reading the particular type. + (AKC - 2015.03/31, HDFFV-8667) + + - h52gif crashed non-8bit images. + + h52gif crashed if instructed to convert images other than 8bit images. + + h52gif could handle only 8bit images. Added code to detect non-8bit + images and flag them as failure. Update tool document page to reflect + the limit. + (AKC - 2015/03/31, HDFFV-8957) + + - perform/benchpar.c retired. + + benchpar.c has not been built for a long time and its original purpose + is not needed any more. + (AKC - 2014/12/19, HDFFV-8156) + + - 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. + + (MSB - 2015/1/26, HDFFV-9049) + + - 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 + 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 + instead of the Fortran 90 API. + + SUBROUTINE h5tenum_insert_f(type_id, name, value, hdferr) + INTEGER(HID_T) , INTENT(IN) :: type_id + CHARACTER(LEN=*), INTENT(IN) :: name + TYPE(C_PTR) , INTENT(IN) :: value + INTEGER, INTENT(OUT) :: hdferr + + (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 + 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. + + (MSB - 2015/3/19, HDF5-239) + + - 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 + 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 + intended behavior of the C API. + + (MSB - 2015/3/16, HDFFV5-9162) + + C++ API + ------ + - 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) + + - Many Warnings Were Removed + + Many warnings such as conversion, unused variables, missing base + class initialization, and initializing base classes in wrong order + were removed. + + (BMR, 2015/04/06) + + - Functionality Deprecation + + The following two constructors of classes AbstractDs, IdComponent, + 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. + + (BMR, 2015-04-06) + + + High-Level APIs: + ------ + - Suppress Warnings from Flex/Bison-generated Code + + Warning suppression #pragmas, etc. have been added to H5LTparse.c and + H5LTanalyze.c. We have no control over this code since it's created by + a generator. + + (DER - 2015/03/08 - HDFFV-9149) + + - Changed hdf5_hl.h to Include the HDF5 Main Library "hdf5.h" + + User's no longer need to include both hdf5_hl.h and hdf5.h + + (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 + 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 + is a substring of an existing attribute. + + 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 + Fortran HL API. + + Fixed missing argument definition. + + (MSB - 2015/2/18, HDFFV-8559) + + + Testing + ------- + - 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. + + AIX 6.1 xlc/xlc_r 10.1.0.5 + (NASA G-ADA) xlC/xlC_r 10.1.0.5 + xlf90/xlf90_r 12.1.0.6 + + 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; + (jam) Version 4.1.2 20080704 (Red Hat 4.1.2-55) + Version 4.8.4, 4.9.2 + PGI C, Fortran, C++ Compilers for 32-bit + applications; + Version 14.10-0 + Intel(R) C, C++, Fortran Compiler for 32-bit + applications; + Version 15.0.1.133 (Build 20141023) + + Linux 2.6.18-371.6.1.el5 GNU C (gcc), Fortran (gfortran), C++ (g++) + #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; + 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 + x86-64; + Version 14.10-0 + Intel(R) C (icc), C++ (icpc), Fortran (icc) + compilers: + Version 15.0.1.133 Build 20141023 + + Linux 3.10.0-123.20.1.el7 GNU C (gcc), Fortran (gfortran), C++ (g++) + #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, + 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) + #1 SMP ppc64 GNU/Linux g++ (GCC) 4.4.7 20120313 (Red Hat 4.4.7-4) + (ostrich) GNU Fortran (GCC) 4.4.7 20120313 (Red Hat 4.4.7-4) + IBM XL C/C++ V13.1 + IBM XL Fortran V15.1 + + 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 2008 (cmake) + Visual Studio 2010 w/ Intel Fortran 14 (cmake) + Visual Studio 2012 w/ Intel Fortran 15 (cmake) + Visual Studio 2013 w/ Intel Fortran 15 (cmake) + Cygwin(CYGWIN_NT-6.1 1.7.34(0.285/5/3) gcc(4.9.2) compiler and gfortran) + (cmake and autotools) + + Windows 7 x64 Visual Studio 2008 (cmake) + 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) + + Windows 8.1 x64 Visual Studio 2012 w/ Intel Fortran 15 (cmake) + 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 + (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 + (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 + (osx1010dev/osx1010test) Intel icc/icpc/ifort version 15.0.1 + + +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/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 +Mac OS X Mavericks 10.9.5 64-bit n y/y n y y y +Mac OS X Yosemeti 10.10.2 64-bit n y/y n y y y +AIX 6.1 32- and 64-bit n y/n n y y y +CentOS 5.9 Linux 2.6.18-308 i686 GNU y y/y y y y y +CentOS 5.9 Linux 2.6.18-308 i686 Intel n y/y n y y y +CentOS 5.9 Linux 2.6.18-308 i686 PGI n y/y n y y y +CentOS 5.9 Linux 2.6.18 x86_64 GNU n y/y n y y y +CentOS 5.9 Linux 2.6.18 x86_64 Intel n y/y n y y y +CentOS 6.4 Linux 2.6.32 x86_64 GNU y y/y y y y y +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 +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 +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 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 +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 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 + +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.18-308.13.1.el5PAE MPICH mpich 3.1.3 compiled with + #1 SMP i686 i686 i386 gcc 4.9.2 and gfortran 4.9.2 + (jam) g95 (GCC 4.0.3 (g95 0.94!) + + 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!) + + FreeBSD 8.2-STABLE i386 gcc 4.5.4 [FreeBSD] 20110526 + (loyalty) gcc 4.6.1 20110527 + g++ 4.6.1 20110527 + gfortran 4.6.1 20110527 + + FreeBSD 8.2-STABLE amd64 gcc 4.5.4 [FreeBSD] 20110526 + (freedom) gcc 4.6.1 20110527 + g++ 4.6.1 20110527 + gfortran 4.6.1 20110527 + + Debian7.5.0 3.2.0-4-amd64 #1 SMP Debian 3.2.51-1 x86_64 GNU/Linux + gcc (Debian 4.7.2-5) 4.7.2 + GNU Fortran (Debian 4.7.2-5) 4.7.2 + (cmake and autotools) + + Fedora20 3.15.3-200.fc20.x86_64 #1 SMP x86_64 x86_64 x86_64 GNU/Linux + gcc (GCC) 4.8.3 20140624 (Red Hat 4.8.3-1) + GNU Fortran (GCC) 4.8.3 20140624 (Red Hat 4.8.3-1) + (cmake and autotools) + + SUSE 13.1 3.11.10-17-desktop #1 SMP PREEMPT x86_64 x86_64 x86_64 GNU/Linux + gcc (SUSE Linux) 4.8.1 + GNU Fortran (SUSE Linux) 4.8.1 + (cmake and autotools) + + Ubuntu 14.04 3.13.0-35-generic #62-Ubuntu SMP x86_64 GNU/Linux + 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.) + g++ (GCC) 4.9.2 20141030 (Cray Inc.) + + +Known Problems +============== +* On Windows platforms in debug configurations, the VFD flush1 tests will fail + with the split and multi VFD drivers. These tests will display a modal debug + dialog which must be answered or wait for the test timeout to expire. + (ADB - 2014/06/23 - HDFFV-8851) + +* CLANG compiler with the options -fcatch-undefined-behavior and -ftrapv + catches some undefined behavior in the alignment algorithm of the macro DETECT_I + in H5detect.c (Issue 8147). Since the algorithm is trying to detect the alignment + of integers, ideally the flag -fcatch-undefined-behavior shouldn't to be used for + H5detect.c. In the future, we can separate flags for H5detect.c from the rest of + the library. (SLU - 2013/10/16) + +* Make provided by Solaris fails in "make check". Solaris users should use + gmake to build and install the HDF5 software. (AKC - 2013/10/08 - HDFFV-8534) + +* The C++ and FORTRAN bindings are not currently working on FreeBSD with the + native release 8.2 compilers (4.2.1), but are working with gcc 4.6 from the + ports (and probably gcc releases after that). + (QAK - 2012/10/19) + +* The following h5dump test case fails in BG/P machines (and potentially other + machines that use a command script to launch executables): + + h5dump --no-compact-subset -d "AHFINDERDIRECT::ah_centroid_t[0] it=0 tl=0" + tno-subset.h5 + + This is due to the embedded spaces in the dataset name being interpreted + by the command script launcher as meta-characters, thus passing three + arguments to h5dump's -d flag. The command passes if run by hand, just + not via the test script. + (AKC - 2012/05/03) + +* The STDIO VFD does not work on some architectures, possibly due to 32/64 + bit or large file issues. The basic STDIO VFD test is known to fail on + 64-bit SunOS 5.10 on SPARC when built with -m64 and 32-bit OS X/Darwin + 10.7.0. The STDIO VFD test has been disabled while we investigate and + a fix should appear in a future release. + (DER - 2011/10/14 - HDFFV-8235) + +* h5diff can report inconsistent results when comparing datasets of enum type + that contain invalid values. This is due to how enum types are handled in + the library and will be addressed in a future release. + (DER - 2011/10/14 - HDFFV-7527) + +* The links test can fail under the stdio VFD due to some issues with external + links. This will be investigated and fixed in a future release. + (DER - 2011/10/14 - HDFFV-7768) + +* After the shared library support was fixed for some bugs, it was discovered + that "make prefix=XXX install" no longer works for shared libraries. It + still works correctly for static libraries. Therefore, if you want to + install the HDF5 shared libraries in a location such as /usr/local/hdf5, + you need to specify the location via the --prefix option during configure + time. E.g, ./configure --prefix=/usr/local/hdf5 ... + (AKC - 2011/05/07 - HDFFV-7583) + +* The parallel test, t_shapesame, in testpar/, may run for a long time and may + be terminated by the alarm signal. If that happens, one can increase the + alarm seconds (default is 1200 seconds = 20 minutes) by setting the + environment variable, $HDF5_ALARM_SECONDS, to a larger value such as 3600 + (60 minutes). Note that the t_shapesame test may fail in some systems + (see the "While working on the 1.8.6 release..." problem below). If + it does, it will waste more time if $HDF5_ALARM_SECONDS is set + to a larger value. + (AKC - 2011/05/07) + +* Shared Fortran libraries are not quite working on AIX. While they are + generated when --enable-shared is specified, the fortran and hl/fortran + tests fail. the issue. HL and C++ shared libraries should now be + working as intended, however. + (MAM - 2011/04/20) + +* While working on the 1.8.6 release of HDF5, a bug was discovered that can + occur when reading from a dataset in parallel shortly after it has been + written to collectively. The issue was exposed by a new test in the parallel + HDF5 test suite, but had existed before that. We believe the problem lies with + certain MPI implementations and/or file systems. + + We have provided a pure MPI test program, as well as a standalone HDF5 + program, that can be used to determine if this is an issue on your system. + They should be run across multiple nodes with a varying number of processes. + These programs can be found at: + http://www.hdfgroup.org/ftp/HDF5/examples/known_problems/ + (NAF - 2011/01/19) + +* All the VFL drivers aren't backward compatible. In H5FDpublic.h, the + structure H5FD_class_t changed in 1.8. There is new parameter added to + get_eoa and set_eoa callback functions. A new callback function + get_type_map was added in. The public function H5FDrealloc was taken + out in 1.8. The problem only happens when users define their own driver + for 1.6 and try to plug in 1.8 library. Because there's only one user + complaining about it, we (Elena, Quincey, and I) decided to leave it as + it is (see bug report #1279). Quincey will make a plan for 1.10. + (SLU - 2010/02/02) + +* The --enable-static-exec configure flag will only statically link libraries + if the static version of that library is present. If only the shared version + of a library exists (i.e., most system libraries on Solaris, AIX, and Mac, + for example, only have shared versions), the flag should still result in a + successful compilation, but note that the installed executables will not be + fully static. Thus, the only guarantee on these systems is that the + executable is statically linked with just the HDF5 library. + (MAM - 2009/11/04) + +* A dataset created or rewritten with a v1.6.3 library or after cannot be read + with the v1.6.2 library or before when the Fletcher32 EDC filter is enabled. + There was a bug in the calculation of the Fletcher32 checksum in the + library before v1.6.3; the checksum value was not consistent between big- + endian and little-endian systems. This bug was fixed in Release 1.6.3. + However, after fixing the bug, the checksum value was no longer the same as + before on little-endian system. Library releases after 1.6.4 can still read + datasets created or rewritten with an HDF5 library of v1.6.2 or before. + (SLU - 2005/06/30) + + +%%%%1.8.14%%%% + + +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. + +All new and modified APIs are listed in the "HDF5 Software Changes +from Release to Release" document along with details about previous +releases at: + + http://www.hdfgroup.org/HDF5/doc/ADGuide/Changes.html + +Links to the HDF5 1.8.14 source code, documentation, and additional materials +can be found on the HDF5 web page at: + + http://www.hdfgroup.org/products/hdf5/ + +The HDF5 1.8.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: + + http://www.hdfgroup.org/HDF5/doc/ + +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.13 +- Supported Platforms +- Supported Configuration Features Summary +- More Tested Platforms +- Known Problems + + +New Features +============ + + Configuration + ------------- + - 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 + + 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 + are fairly small. + + (MSC - 2014/08/22, HDFFV-8878) + + Tools + ----- + - None + + High-level APIs + --------------- + - None + + Fortran API + ----------- + - None + + C++ API + ------- + - Initialization of Object IDs + + 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 + PropList class, H5P_DEFAULT is used instead of H5I_INVALID_HID. + + (BMR - 2014/09/30, HDFFV-4259) + + + +Support for New Platforms, Languages, and Compilers +=================================================== + - None + +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. + + The shared libary interface version number ("soname") has been increased + on account of these changes. For a full list of the changed symbols, see + the interface compatibility report, which is available as a link off of + 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, + 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. + + (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 + test t_posix_compliant was not. + + 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. + + (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. + + (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 + 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 + 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 + will stop with an error message. + + (MSB - 2014/8/11, HDFFV-8883/HDFFV-889) + + + + 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 + were not being freed up correctly. + + 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 + + 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 + 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 + zero. + + 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) + + - H5Ldelete_by_idx() fails on non-existent group name. + (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. + + 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. + + Fixed driver and added a regression test. + + (MSC - 2014/07/03, HDFFV-8761) + + + Parallel Library + ---------------- + - None + + Performance + ------------- + - None + + Tools + ----- + - None + + Fortran API + ------- + - 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 + 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 + 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 + interoperability issues. + + 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 + 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, + H5FD_MPIO, H5FD_MULTI, H5FD_SEC2, and H5FD_STDIO. + + Other internal 'int' types where changed to 'hid_t'; these are + transparent to the user. + + (MSB - 2014/7/18, HDFFV-8748) + + C++ API + ------ + - Memory Leaks + + There were several potential memory leaks in the library due to + dynamically allocated strings not being freed when failure occurs. + + Applied user's patches to remove these potential memory leaks. + + (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. + + Removed this flag from the functions in H5File class. + + (BMR - 2014/09/29, HDFFV-8852) + + - Missing Flags in Documentation: H5F_ACC_RDONLY and H5F_ACC_RDWR + + 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 + files. + + (BMR - 2014/09/29, HDFFV-8852) + + High-level APIs: + ------ + - 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 + 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 + value if the name of the field is wrong. + + (MSB - 2014/09/29, HDFFV-8912) + + - 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, + and + (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 + 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 + buffer, but would exceed the end of the user buffer. + + H5LTdtype_to_text was changed to truncate the string if the user + buffer is too small. + + (MSB - 2014/9/29, HDFFV-8855) + + Fortran High-level APIs: + ------ + - See entry for HDFFV-8912 above. + + Testing + ------- + - A subtest in parallel h5diff (ph5diff) testing was bypassed for the + local Linux 32 machine due to unknown issue in the previous version of + Mpich. The failure no long exists in the current Mpich. Therefore the + bypass is removed. (AKC - 2014/11/03 HDFFV-8954) + + - Fixed incorrect exit code values (was -1) in testframe which is commonly + 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 + had some incorrect exit code values. Fixed the incorrect exit code + values. (AKC - 2014/07/22, HDFFV-8881) + +Supported Platforms +=================== +The following platforms are supported and have been tested for this release. +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 + + 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; + (jam) Version 4.1.2 20080704 (Red Hat 4.1.2-54) + Version 4.8.2 + PGI C, Fortran, C++ Compilers for 32-bit + applications; + Version 13.7-0 + Intel(R) C, C++, Fortran Compiler for 32-bit + applications; + Version 14.0.2 (Build 20140120) + + Linux 2.6.18-371.6.1.el5 GNU C (gcc), Fortran (gfortran), C++ (g++) + #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; + 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 + x86-64; + Version 13.7-0 + Intel(R) C (icc), C++ (icpc), Fortran (icc) + compilers: + Version 14.0.2 (Build 20140120) + + Linux 2.6.32-431.29.2.el6.ppc64 gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-4) + #1 SMP ppc64 GNU/Linux g++ (GCC) 4.4.7 20120313 (Red Hat 4.4.7-4) + (ostrich) GNU Fortran (GCC) 4.4.7 20120313 (Red Hat 4.4.7-4) + IBM XL C/C++ V13.1 + IBM XL Fortran V15.1 + + 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 2008 (cmake) + Visual Studio 2010 w/ Intel Fortran 14 (cmake) + Visual Studio 2012 w/ Intel Fortran 14 (cmake) + Visual Studio 2013 w/ Intel Fortran 14 (cmake) + Cygwin(CYGWIN_NT-6.1 1.7.32(0.274/5/3) gcc(4.8.3) compiler and gfortran) + (cmake and autotools) + + Windows 7 x64 Visual Studio 2008 (cmake) + 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) + + Windows 8.1 x64 Visual Studio 2012 w/ Intel Fortran 14 (cmake) + Visual Studio 2013 w/ Intel Fortran 14 (cmake) + + Mac OS X Lion 10.7.5 Apple clang/clang++ version 3.0 from Xcode 4.6.1 + 64-bit gfortran GNU Fortran (GCC) 4.8.2 + (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 + (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 + (wren) Intel icc/icpc/ifort version 14.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 +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 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 +Mac OS X Mountain Lion 10.8.5 64-bit n y/y n y y y +Mac OS X Mavericks 10.9.5 64-bit n y/y n y y ? +AIX 5.3 32- and 64-bit n y/n n y y y +CentOS 5.9 Linux 2.6.18-308 i686 GNU y y/y y y y y +CentOS 5.9 Linux 2.6.18-308 i686 Intel n y/y n y y y +CentOS 5.9 Linux 2.6.18-308 i686 PGI n y/y n y y y +CentOS 5.9 Linux 2.6.18 x86_64 GNU n y/y n y y y +CentOS 5.9 Linux 2.6.18 x86_64 Intel n y/y n y y y +CentOS 6.4 Linux 2.6.32 x86_64 GNU y y/y y y y y +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 +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 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 +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 + +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.18-308.13.1.el5PAE MPICH mpich 3.1.2 compiled with + #1 SMP i686 i686 i386 gcc 4.9.1 and gfortran 4.9.1 + (jam) g95 (GCC 4.0.3 (g95 0.94!) + + 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!) + + FreeBSD 8.2-STABLE i386 gcc 4.5.4 [FreeBSD] 20110526 + (loyalty) gcc 4.6.1 20110527 + g++ 4.6.1 20110527 + gfortran 4.6.1 20110527 + + FreeBSD 8.2-STABLE amd64 gcc 4.5.4 [FreeBSD] 20110526 + (freedom) gcc 4.6.1 20110527 + g++ 4.6.1 20110527 + gfortran 4.6.1 20110527 + + Debian7.5.0 3.2.0-4-amd64 #1 SMP Debian 3.2.51-1 x86_64 GNU/Linux + gcc (Debian 4.7.2-5) 4.7.2 + GNU Fortran (Debian 4.7.2-5) 4.7.2 + (cmake and autotools) + + Fedora20 3.15.3-200.fc20.x86_64 #1 SMP x86_64 x86_64 x86_64 GNU/Linux + gcc (GCC) 4.8.3 20140624 (Red Hat 4.8.3-1) + GNU Fortran (GCC) 4.8.3 20140624 (Red Hat 4.8.3-1) + (cmake and autotools) + + SUSE 13.1 3.11.10-17-desktop #1 SMP PREEMPT x86_64 x86_64 x86_64 GNU/Linux + gcc (SUSE Linux) 4.8.1 + GNU Fortran (SUSE Linux) 4.8.1 + (cmake and autotools) + + Ubuntu 14.04 3.13.0-35-generic #62-Ubuntu SMP x86_64 GNU/Linux + 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 + pgCC 13.6-0 64-bit target on x86-64 Linux -tp istanbul + + +Known Problems +============== +* On cygwin platforms the feature to load dynamic filter libraries only looks + for libraries with the a so extension. Support for cygwin cygxxx.dll libraries + is planned for the next release. + (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 + 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) + +* CLANG compiler with the options -fcatch-undefined-behavior and -ftrapv + catches some undefined behavior in the alignment algorithm of the macro DETECT_I + in H5detect.c (Issue 8147). Since the algorithm is trying to detect the alignment + of integers, ideally the flag -fcatch-undefined-behavior shouldn't to be used for + H5detect.c. In the future, we can separate flags for H5detect.c from the rest of + the library. (SLU - 2013/10/16) + +* Make provided by Solaris fails in "make check". Solaris users should use + gmake to build and install the HDF5 software. (AKC - 2013/10/08 - HDFFV-8534) + +* The h5dump and h5diff utilities occasionally produce different output + between Linux and Windows systems. This is caused by lower-level library + routines that fail to write fill values to the user's buffer when reading + unallocated chunks from datasets that have a fill value set to + H5D_FILL_VALUE_DEFAULT. Due to platform differences the return of + spurious data values has only been encountered on Windows 32-bit systems. + (Issue HDFFV-8247; JP - 2013/03/27) + +* The C++ and FORTRAN bindings are not currently working on FreeBSD with the + native release 8.2 compilers (4.2.1), but are working with gcc 4.6 from the + ports (and probably gcc releases after that). + (QAK - 2012/10/19) + +* The STDIO VFD does not work on some architectures, possibly due to 32/64 + bit or large file issues. The basic STDIO VFD test is known to fail on + 64-bit SunOS 5.10 on SPARC when built with -m64 and 32-bit OS X/Darwin + 10.7.0. The STDIO VFD test has been disabled while we investigate and + a fix should appear in a future release. + (DER - 2011/10/14 - HDFFV-8235) + +* h5diff can report inconsistent results when comparing datasets of enum type + that contain invalid values. This is due to how enum types are handled in + the library and will be addressed in a future release. + (DER - 2011/10/14 - HDFFV-7527) + +* The links test can fail under the stdio VFD due to some issues with external + links. This will be investigated and fixed in a future release. + (DER - 2011/10/14 - HDFFV-7768) + +* After the shared library support was fixed for some bugs, it was discovered + that "make prefix=XXX install" no longer works for shared libraries. It + still works correctly for static libraries. Therefore, if you want to + install the HDF5 shared libraries in a location such as /usr/local/hdf5, + you need to specify the location via the --prefix option during configure + time. E.g, ./configure --prefix=/usr/local/hdf5 ... + (AKC - 2011/05/07 - HDFFV-7583) + +* The parallel test, t_shapesame, in testpar/, may run for a long time and may + be terminated by the alarm signal. If that happens, one can increase the + alarm seconds (default is 1200 seconds = 20 minutes) by setting the + environment variable, $HDF5_ALARM_SECONDS, to a larger value such as 3600 + (60 minutes). Note that the t_shapesame test may fail in some systems + (see the "While working on the 1.8.6 release..." problem below). If + it does, it will waste more time if $HDF5_ALARM_SECONDS is set + to a larger value. + (AKC - 2011/05/07) + +* Shared Fortran libraries are not quite working on AIX. While they are + generated when --enable-shared is specified, the fortran and hl/fortran + tests fail. We are looking into the issue. HL and C++ shared libraries + should now be working as intended, however. + (MAM - 2011/04/20) + +* The --with-mpe configure option does not work with Mpich2. + (AKC - 2011/03/10) + +* While working on the 1.8.6 release of HDF5, a bug was discovered that can + occur when reading from a dataset in parallel shortly after it has been + written to collectively. The issue was exposed by a new test in the parallel + HDF5 test suite, but had existed before that. We believe the problem lies with + certain MPI implementations and/or file systems. + + We have provided a pure MPI test program, as well as a standalone HDF5 + program, that can be used to determine if this is an issue on your system. + They should be run across multiple nodes with a varying number of processes. + These programs can be found at: + http://www.hdfgroup.org/ftp/HDF5/examples/known_problems/ + (NAF - 2011/01/19) + +* All the VFL drivers aren't backward compatible. In H5FDpublic.h, the + structure H5FD_class_t changed in 1.8. There is new parameter added to + get_eoa and set_eoa callback functions. A new callback function + get_type_map was added in. The public function H5FDrealloc was taken + out in 1.8. The problem only happens when users define their own driver + for 1.6 and try to plug in 1.8 library. Because there's only one user + complaining about it, we (Elena, Quincey, and I) decided to leave it as + it is (see bug report #1279). Quincey will make a plan for 1.10. + (SLU - 2010/02/02) + +* The --enable-static-exec configure flag will only statically link libraries + if the static version of that library is present. If only the shared version + of a library exists (i.e., most system libraries on Solaris, AIX, and Mac, + for example, only have shared versions), the flag should still result in a + successful compilation, but note that the installed executables will not be + fully static. Thus, the only guarantee on these systems is that the + executable is statically linked with just the HDF5 library. + (MAM - 2009/11/04) + +* 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 + with the v1.6.2 library or before when the Fletcher32 EDC filter is enabled. + There was a bug in the calculation of the Fletcher32 checksum in the + library before v1.6.3; the checksum value was not consistent between big- + endian and little-endian systems. This bug was fixed in Release 1.6.3. + However, after fixing the bug, the checksum value was no longer the same as + before on little-endian system. Library releases after 1.6.4 can still read + datasets created or rewritten with an HDF5 library of v1.6.2 or before. + (SLU - 2005/06/30) + + +%%%%1.8.13%%%% + + +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 +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 +can be found on the HDF5 web page at: + + http://www.hdfgroup.org/products/hdf5/ + +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: + + http://www.hdfgroup.org/HDF5/doc/ + +New features in the HDF5-1.8.x release series, including brief general +descriptions of some new and modified APIs, are described in the "What's New +in 1.8.0?" document: + + http://www.hdfgroup.org/HDF5/doc/ADGuide/WhatsNew180.html + +All new and modified APIs are listed in detail in the "HDF5 Software Changes +from Release to Release" document, in the section "Release 1.8.13 (current +release) versus Release 1.8.12": + + http://www.hdfgroup.org/HDF5/doc/ADGuide/Changes.html + +If you have any questions or comments, please send them to the HDF Help Desk: + + help@hdfgroup.org + + +CONTENTS +======== + +- New Features +- Support for New Platforms, Languages, and Compilers +- Bug Fixes since HDF5-1.8.12 +- Supported Platforms +- Supported Configuration Features Summary +- More Tested Platforms +- Known Problems + + +New Features +============ + + Configuration + ------------- + - Autotools: Automake updated to 1.14.1 (ADB - 2014/04/08) + + - 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 + 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, + 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 + 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 + generating support questions. Application developers performing + parallel I/O should always use the MPI-IO VFD. + (QAK - 2014/03/28 HDFFV-8659) + + - Improved parallel I/O support to allow collective I/O on point + selections. (QAK - 2014/03/15) + + Tools + ----- + - None + + High-Level APIs + --------------- + - None + + Fortran API + ----------- + - Wrappers h5pset_file_image_f and h5pget_file_image_f were added to the + library. (MSB - 2014/1/2014) + + C++ API + ------- + - The following new features are added: + + Wrappers to class H5Object to get an object's name (HDFFV-8548). + ssize_t getObjName(char *obj_name, size_t buf_size = 0) + ssize_t getObjName(H5std_string& obj_name, size_t len = 0) + H5std_string getObjName() + + Wrappers to class H5CommonFG to get a child object's type from a + group or file (HDFFV-8367). + H5O_type_t childObjType(const H5std_string& objname) + H5O_type_t childObjType(const char* objname) + H5O_type_t childObjType(hsize_t index, + H5_index_t index_type=H5_INDEX_NAME, + H5_iter_order_t order=H5_ITER_INC, const char* objname=".") + + Wrappers to class DSetMemXferPropList for setting/getting a transform + property list (HDFFV-7907). + DSetMemXferPropList(const char* expression); + void setDataTransform(const char* expression) + void setDataTransform(const H5std_string& expression) + ssize_t getDataTransform(char* exp, size_t buf_size=0) + H5std_string getDataTransform() + + Wrapper to CompType for setting size to compound datatype (HDFFV-8642). + void setSize(size_t size) + + Overloaded functions to provide prototypes that declare constant + arguments const (HDFFV-3384). These include: + DataSet::fillMemBuf + DataSet::getVlenBufSize + DataSpace::extentCopy + DataType::commit + FileAccPropList::setSplit + H5File::getVFDHandle + + Additional overload to class H5Location to get a comment as a char* + ssize_t getComment(const char* name, size_t buf_size, char* comment) + + Additional overloads to class Attribute to get an attribute's name for + convenience: + ssize_t getName(char* attr_name, size_t buf_size=0) + ssize_t getName(H5std_string& attr_name, size_t buf_size=0) + (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) + + +Support for New Platforms, Languages, and Compilers +=================================================== + Mac OS X 10.6 Snow Leopard is not supported by Apple any more. In view of + the added support of Mac OS X 10.9, Mac OS X 10.6 is retired from HDF5 + 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 +=========================== + + Configuration + ------------- + - 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 + by the the szip and zlib filter build commands. (ADB - HDFFV-8695) + + - 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 + 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. + + 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 + information. (DER - 2014/04/11) + + - 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. + + 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 + ------- + - 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 + 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 + 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. + (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. + (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. + + 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 + 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 + 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 + 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 + (MSB - 2014/2/7 HDFFV-8651) + + Performance + ------------- + - None + + Tools + ----- + - The h5diff tool would report that a datafile compared with an exact + copy of the same datafile had differences. This was due to the issue + below of reading un-written chunks. This problem is also fixed. + (AKC - 2014/05/01 HDFFV-8637) + + - 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 + chunks. (JP - 2014/05/01 HDFFV-8247) + + - The compress option is retired from bin/release. + (AKC - 2014/04/25 HDFFV-8755) + + - 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. + + 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 + strings as "not comparable". We plan to enhance the tool to handle + strings of the different types in the future releases. + (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 + 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. + (MSB - 2014/3/31 HDFFV-8689) + + C++ API + ------ + - Added throw() to all exception destructors. Credit to Jason Newton + (nevion@gmail.com) for the patch. (BMR - 2014/4/15 HDFFV-8623) + - Changed the default value for H5Location::getComment from 256 to 0 + to conform to C function and because it makes more sense. + (BMR - 2014/4/15) + + High-Level APIs: + ------ + - None + + Fortran High-Level APIs: + ------ + - None + + Testing + ------- + - 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. + This saves much testing time. Fixes HDFFV-8554. (DER - 2014/04/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. + + AIX 5.3 xlc 10.1.0.5 + (NASA G-ADA) xlC 10.1.0.5 + xlf90 12.1.0.6 + 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; + (jam) Version 4.1.2 20080704 (Red Hat 4.1.2-54) + Version 4.8.2 + PGI C, Fortran, C++ Compilers for 32-bit + applications; + Version 13.7-0 + Intel(R) C, C++, Fortran Compiler for 32-bit + applications; + Version 14.0.2 (Build 20140120) + + Linux 2.6.18-371.6.1.el5 GNU C (gcc), Fortran (gfortran), C++ (g++) + #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 + x86-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 + x86-64; + Version 13.7-0 + Intel(R) C (icc), C++ (icpc), Fortran (icc) + compilers: + Version 14.0.2 (Build 20140120) + + Linux 2.6.32-431.11.2.el6.ppc64 gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-3) + #1 SMP ppc64 GNU/Linux g++ (GCC) 4.4.7 20120313 (Red Hat 4.4.7-3) + (ostrich) GNU Fortran (GCC) 4.4.7 20120313 (Red Hat 4.4.7-3) + IBM XL C/C++ V11.1 + IBM XL Fortran V13.1 + + 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 2008 w/ Intel Fortran 14 (cmake) + Visual Studio 2010 w/ Intel Fortran 14 (cmake) + Visual Studio 2012 w/ Intel Fortran 14 (cmake) + Cygwin(CYGWIN_NT-6.1 1.7.28(0.271/5/3) gcc(4.8.2) compiler and gfortran) + (cmake and autotools) + + 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) + + Mac OS X Lion 10.7.3 Apple clang/clang++ version 3.0 from Xcode 4.6.1 + 64-bit gfortran GNU Fortran (GCC) 4.6.2 + (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 + (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 + (wren/quail) Intel icc/icpc/ifort version 14.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 +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 y +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.3 64-bit n y/y n y y y +Mac OS X Mountain Lion 10.8.1 64-bit n y/y n y y y +Mac OS X Mavericks 10.9.1 64-bit n y/y n y y y +AIX 5.3 32- and 64-bit n y/n n y y y +CentOS 5.9 Linux 2.6.18-308 i686 GNU y y/y y y y y +CentOS 5.9 Linux 2.6.18-308 i686 Intel n y/y n y y y +CentOS 5.9 Linux 2.6.18-308 i686 PGI n y/y n y y y +CentOS 5.9 Linux 2.6.18 x86_64 GNU n y/y n y y y +CentOS 5.9 Linux 2.6.18 x86_64 Intel n y/y n y y y +CentOS 6.4 Linux 2.6.32 x86_64 GNU y y/y y y y y +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 +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 +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 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 +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 +OpenVMS IA64 V8.4 n n n n + +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.18-308.13.1.el5PAE MPICH mpich 3.1 compiled with + #1 SMP i686 i686 i386 gcc 4.8.2 and gfortran 4.8.2 + (jam) g95 (GCC 4.0.3 (g95 0.94!) + + 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!) + + FreeBSD 8.2-STABLE i386 gcc 4.5.4 [FreeBSD] 20110526 + (loyalty) gcc 4.6.1 20110527 + g++ 4.6.1 20110527 + gfortran 4.6.1 20110527 + + FreeBSD 8.2-STABLE amd64 gcc 4.5.4 [FreeBSD] 20110526 + (freedom) gcc 4.6.1 20110527 + g++ 4.6.1 20110527 + gfortran 4.6.1 20110527 + + Debian7.1.0 3.2.0-4-amd64 #1 SMP Debian 3.2.51-1 x86_64 GNU/Linux + gcc (Debian 4.7.2-5) 4.7.2 + GNU Fortran (Debian 4.7.2-5) 4.7.2 + (cmake and autotools) + + Fedora20 3.11.10-301.fc20.x86_64 #1 SMP x86_64 x86_64 x86_64 GNU/Linux + gcc (GCC) 4.8.2 20131212 (Red Hat 4.8.2-7) + GNU Fortran (GCC) 4.8.2 20130603 (Red Hat 4.8.2-7) + (cmake and autotools) + + SUSE 13.1 3.11.6-4-desktop #1 SMP PREEMPT x86_64 x86_64 x86_64 GNU/Linux + gcc (SUSE Linux) 4.8.1 + GNU Fortran (SUSE Linux) 4.8.1 + (cmake and autotools) + + Ubuntu 13.10 3.11.0-13-generic #20-Ubuntu SMP x86_64 GNU/Linux + 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 + pgCC 12.5-0 64-bit target on x86-64 Linux -tp shanghai + + +Known Problems +============== +* When reading or writing a dataset (H5Dread/H5Dwrite) with a large selection + size (e.g., 2GB ~= 500 million of 4 bytes integers or floating point + numbers), some I/O systems may not be able to process it correctly. + We advise users to find out system limits before using large selections. If + I/O size limits exist, application should use HDF5 partial I/O capabilities + (e.g., H5Sselect_hyperslab(...)) to divide large requests into smaller sizes. + In this case we also advise users not to use chunk storage sizes larger that + 2GB since the HDF5 library performs I/O on the entire chunk. We will work + on the HDF5 library to divide large data requests to smaller I/O requests. + (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. + (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. + (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 + 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 + either do not use parallel make or install Gnu Make to build the library. + (AKC 2014/04/08 HDFFV-8738) + +* 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. Since the algorithm is trying to detect the alignment + of integers, ideally the flag -fcatch-undefined-behavior should not to be + used for H5detect.c. In the future, we can separate flags for H5detect.c + from the rest of the library. (SLU - 2013/10/16 HDFFV-8147) + +* Make provided by Solaris fails in "make check". Solaris users should use + gmake to build and install the HDF5 software. (AKC - 2013/10/08 - HDFFV-8534) + +* On OpenVMS, two soft conversion functions (H5T__conv_i_f and H5T__conv_f_i) + have bugs. They convert data between floating-point numbers and integers. + But the library's default is hard conversion. The user should avoid + explicitly enabling soft conversion between floating-point numbers and + integers. (Issue VMS-8; SLU - 2013/09/19) + +* 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) + +* When building using the Cray compilers on Cray machines, HDF5 + configure mistakenly thinks the compiler is an intel compiler and + sets the -std=c99 flag which breaks configure on Cray. To build HDF5 + properly on a Cray machine, please consult with the instructions in + 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 + 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 + 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 + knows this identifier, try to compile the following simple C++ program: + #include<stdio.h> + + int main(void) + { + printf("%s\n", __func__); + return 0; + } + (SLU - 2012/11/5) + +* The C++ and FORTRAN bindings are not currently working on FreeBSD with the + native release 8.2 compilers (4.2.1), but are working with gcc 4.6 from the + ports (and probably gcc releases after that). + (QAK - 2012/10/19) + +* The following h5dump test case fails in BG/P machines (and potentially other + machines that use a command script to launch executables): + + h5dump --no-compact-subset -d "AHFINDERDIRECT::ah_centroid_t[0] it=0 tl=0" + tno-subset.h5 + + This is due to the embedded spaces in the dataset name being interpreted + by the command script launcher as meta-characters, thus passing three + arguments to h5dump's -d flag. The command passes if run by hand, just + not via the test script. + (AKC - 2012/05/03) + +* On hopper, the build failed when RUNSERIAL and RUNPARALLEL are set + to aprun -np X, because the H5lib_settings.c file was not generated + properly. Not setting those environment variables works, because + configure was able to automatically detect that it's a Cray system + and used the proper launch commands when necessary. + (MSC - 2012/04/18) + +* The data conversion test dt_arith.c fails in "long double" to integer + conversion on Ubuntu 11.10 (3.0.0.13 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 + "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 + gcc 4.7.2. + +* The STDIO VFD does not work on some architectures, possibly due to 32/64 + bit or large file issues. The basic STDIO VFD test is known to fail on + 64-bit SunOS 5.10 on SPARC when built with -m64 and 32-bit OS X/Darwin + 10.7.0. The STDIO VFD test has been disabled while we investigate and + a fix should appear in a future release. + (DER - 2011/10/14 - HDFFV-8235) + +* h5diff can report inconsistent results when comparing datasets of enum type + that contain invalid values. This is due to how enum types are handled in + the library and will be addressed in a future release. + (DER - 2011/10/14 - HDFFV-7527) + +* The links test can fail under the stdio VFD due to some issues with external + links. This will be investigated and fixed in a future release. + (DER - 2011/10/14 - HDFFV-7768) + +* After the shared library support was fixed for some bugs, it was discovered + that "make prefix=XXX install" no longer works for shared libraries. It + still works correctly for static libraries. Therefore, if you want to + install the HDF5 shared libraries in a location such as /usr/local/hdf5, + you need to specify the location via the --prefix option during configure + time. E.g, ./configure --prefix=/usr/local/hdf5 ... + (AKC - 2011/05/07 - HDFFV-7583) + +* The parallel test, t_shapesame, in testpar/, may run for a long time and may + be terminated by the alarm signal. If that happens, one can increase the + alarm seconds (default is 1200 seconds = 20 minutes) by setting the + environment variable, $HDF5_ALARM_SECONDS, to a larger value such as 3600 + (60 minutes). Note that the t_shapesame test may fail in some systems + (see the "While working on the 1.8.6 release..." problem below). If + it does, it will waste more time if $HDF5_ALARM_SECONDS is set + to a larger value. + (AKC - 2011/05/07) + +* The C++ and FORTRAN bindings are not currently working on FreeBSD. + (QAK - 2011/04/26) + +* Shared Fortran libraries are not quite working on AIX. While they are + generated when --enable-shared is specified, the fortran and hl/fortran + tests fail. We are looking into the issue. HL and C++ shared libraries + should now be working as intended, however. + (MAM - 2011/04/20) + +* The --with-mpe configure option does not work with Mpich2. + (AKC - 2011/03/10) + +* While working on the 1.8.6 release of HDF5, a bug was discovered that can + occur when reading from a dataset in parallel shortly after it has been + written to collectively. The issue was exposed by a new test in the parallel + HDF5 test suite, but had existed before that. We believe the problem lies with + certain MPI implementations and/or file systems. + + We have provided a pure MPI test program, as well as a standalone HDF5 + program, that can be used to determine if this is an issue on your system. + They should be run across multiple nodes with a varying number of processes. + These programs can be found at: + http://www.hdfgroup.org/ftp/HDF5/examples/known_problems/ + (NAF - 2011/01/19) + +* All the VFL drivers aren't backward compatible. In H5FDpublic.h, the + structure H5FD_class_t changed in 1.8. There is new parameter added to + get_eoa and set_eoa callback functions. A new callback function + get_type_map was added in. The public function H5FDrealloc was taken + out in 1.8. The problem only happens when users define their own driver + for 1.6 and try to plug in 1.8 library. Because there's only one user + complaining about it, we (Elena, Quincey, and I) decided to leave it as + it is (see bug report #1279). Quincey will make a plan for 1.10. + (SLU - 2010/02/02) + +* The --enable-static-exec configure flag will only statically link libraries + if the static version of that library is present. If only the shared version + of a library exists (i.e., most system libraries on Solaris, AIX, and Mac, + for example, only have shared versions), the flag should still result in a + successful compilation, but note that the installed executables will not be + fully static. Thus, the only guarantee on these systems is that the + executable is statically linked with just the HDF5 library. + (MAM - 2009/11/04) + +* 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. + +* A dataset created or rewritten with a v1.6.3 library or after cannot be read + with the v1.6.2 library or before when the Fletcher32 EDC filter is enabled. + There was a bug in the calculation of the Fletcher32 checksum in the + library before v1.6.3; the checksum value was not consistent between big- + endian and little-endian systems. This bug was fixed in Release 1.6.3. + However, after fixing the bug, the checksum value was no longer the same as + before on little-endian system. Library releases after 1.6.4 can still read + datasets created or rewritten with an HDF5 library of v1.6.2 or before. + (SLU - 2005/06/30) + + +%%%%1.8.12%%%% + + +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 +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 +can be found on the HDF5 web page at: + + http://www.hdfgroup.org/products/hdf5/ + +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: + + http://www.hdfgroup.org/HDF5/doc/ + +New features in the HDF5-1.8.x release series, including brief general +descriptions of some new and modified APIs, are described in the "What's New +in 1.8.0?" document: + + http://www.hdfgroup.org/HDF5/doc/ADGuide/WhatsNew180.html + +All new and modified APIs are listed in detail in the "HDF5 Software Changes +from Release to Release" document, in the section "Release 1.8.12 (current +release) versus Release 1.8.11": + + http://www.hdfgroup.org/HDF5/doc/ADGuide/Changes.html + +If you have any questions or comments, please send them to the HDF Help Desk: + + help@hdfgroup.org + + +CONTENTS +======== + +- New Features +- Support for New Platforms, Languages, and Compilers +- Bug Fixes since HDF5-1.8.11 +- Supported Platforms +- Supported Configuration Features Summary +- More Tested Platforms +- Known Problems + + +New Features +============ + + Configuration + ------------- + - Added a configuration option to change the default plugin path. + The configure option is --with-default-plugindir=location. + 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 + 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 + (ADB - 2013/09/04). + - 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 + from display. HDFFV-8134 (ADB - 2013/08/01). + + High-Level APIs + --------------- + - None + + Fortran API + ----------- + - None + + C++ API + ------- + - Added tutorial examples to C++/examples. They can be installed by + "make install-examples" and, in the installed directory, they can be + executed by running the script file run-c++-ex.sh. (BMR - 2013/09/28) + - A new class, H5::H5Location, is added to represent the location concept + in the C library. It is a base class to H5::H5File and H5::H5Ojbect, + whose member functions are moved into H5::H5Location. H5::H5File can + now inherent those functions. As a result, an H5::H5File object can have + 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) + - 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) + - Added a number of overloaded functions for convenience. (BMR - 2013/09/27) + + +Support for New Platforms, Languages, and Compilers +=================================================== + - None + +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. + (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) + + Library + ------- + - 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 + configure. (ADB - 2013/06/05 HDFFV-8437) + + Parallel Library + ---------------- + - None + + Performance + ------------- + - None + + Tools + ----- + - 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 + 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. + (LRK - 2013-09-23 - HDFFV-8141) + + F90 API + ------- + - None + + C++ API + ------ + - None + + High-Level APIs: + ------ + - None + + Fortran High-Level APIs: + ------ + - None + + Testing + ------- + - test/big sometimes failed with the message of "file selection+offset not + within extent". This has been fixed. (AKC - 2013/09/28 HDFFV-8271). + - tools/h5diff/testh5diff.sh is run in every "make check", even after it + has passed in the previous run. It should not run again if there are no + code changes. Fixed. (AKC - 2013/07/19 HDFFV-8392) + +Supported Platforms +=================== +The following platforms are supported and have been tested for this release. +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 + + 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; + (jam) Version 4.1.2 20080704 (Red Hat 4.1.2-54) + Version 4.8.1 + PGI C, Fortran, C++ Compilers for 32-bit + applications; + Version 13.7-0 + Intel(R) C, C++, Fortran Compiler for 32-bit + applications; + Version 13.1.3 (Build 20130607) + + Linux 2.6.18-308.16.1.el5 GNU C (gcc), Fortran (gfortran), C++ (g++) + #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 + x86-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 + x86-64; + Version 13.7-0 + Intel(R) C (icc), C++ (icpc), Fortran (icc) + compilers: + Version 13.1.3 (Build 20130607) + + Linux 2.6.32-358.18.1.el6.ppc64 gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-3) + #1 SMP ppc64 GNU/Linux g++ (GCC) 4.4.7 20120313 (Red Hat 4.4.7-3) + (ostrich) GNU Fortran (GCC) 4.4.7 20120313 (Red Hat 4.4.7-3) + IBM XL C/C++ V11.1 + IBM XL Fortran V13.1 + + 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 2008 w/ Intel Fortran 11 (cmake) + Visual Studio 2010 w/ Intel Fortran 12 (cmake) + Visual Studio 2012 w/ Intel Fortran 13 (cmake) + Cygwin(CYGWIN_NT-6.1 1.7.15(0.260/5/3) gcc(4.5.3) compiler and gfortran) + (cmake and autotools) + + Windows 7 x64 Visual Studio 2008 w/ Intel Fortran 11 (cmake) + Visual Studio 2010 w/ Intel Fortran 12 (cmake) + Visual Studio 2012 w/ Intel Fortran 13 (cmake) + + Windows 8.1 Visual Studio 2012 w/ Intel Fortran 13 (cmake) + + Windows 8.1 x64 Visual Studio 2012 w/ Intel Fortran 13 (cmake) + + Mac OS X Snow Leopard 10.6.8 gcc i686-apple-darwin11-llvm-gcc-4.2 (GCC) 4.2.1 from Xcode 3.2.6 + Darwin Kernel Version 10.8.0 g++ i686-apple-darwin11-llvm-g++-4.2 (GCC) 4.2.1 from Xcode 3.2.6 + 64-bit gfortran GNU Fortran (GCC) 4.6.2 + (fred) Intel C (icc), Fortran (ifort), C++ (icpc) + 12.1 Build 20120928 + + Mac OS X Lion 10.7.3 Apple clang/clang++ version 3.0 from Xcode 4.6.1 + 64-bit gfortran GNU Fortran (GCC) 4.6.2 + (duck) Intel icc/icpc/ifort version 13.0.3 + + 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 + (wren) Intel icc/icpc/ifort version 13.0.3 + + OpenVMS IA64 V8.4 HP C V7.3-018 + HP Fortran V8.2-104939-50H96 + HP C++ V7.4-004 + +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 +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/n n y y y +Windows 8.1 n y/y n y y y +Windows 8.1 x64 n y/y n y y y +Mac OS X Snow Leopard 10.6.8 64-bit n y/y n y y y +Mac OS X Lion 10.7.3 64-bit n y/y n y y y +Mac OS X Mountain Lion 10.8.1 64-bit n y/y n y y y +AIX 5.3 32- and 64-bit n y/n n y y y +CentOS 5.9 Linux 2.6.18-308 i686 GNU y y/y y y y y +CentOS 5.9 Linux 2.6.18-308 i686 Intel n y/y n y y y +CentOS 5.9 Linux 2.6.18-308 i686 PGI n y/y n y y y +CentOS 5.9 Linux 2.6.18 x86_64 GNU y y/y y y y y +CentOS 5.9 Linux 2.6.18 x86_64 Intel n y/y n y y y +CentOS 5.9 Linux 2.6.18 x86_64 PGI n y/y n y y y +CentOS 6.4 Linux 2.6.32 x86_64 GNU n y/y n y y y +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 +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 +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 +OpenVMS IA64 V8.4 n n n n + +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.18-308.13.1.el5PAE MPICH mpich2-1.4.1p1 compiled with + #1 SMP i686 i686 i386 gcc 4.1.2 and gfortran 4.1.2 + (jam) g95 (GCC 4.0.3 (g95 0.94!) + + 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 + gfortran 4.6.1 20110527 + + FreeBSD 8.2-STABLE amd64 gcc 4.5.4 [FreeBSD] 20110526 + (freedom) gcc 4.6.1 20110527 + g++ 4.6.1 20110527 + gfortran 4.6.1 20110527 + + Debian7.1.0 3.2.0-4-amd64 #1 SMP Debian 3.2.46-1 x86_64 GNU/Linux + gcc (Debian 4.7.2-5) 4.7.2 + GNU Fortran (Debian 4.7.2-5) 4.7.2 + (cmake and autotools) + + Fedora19 3.11.1-200.fc19.x86_64 #1 SMP x86_64 x86_64 x86_64 GNU/Linux + gcc (GCC) 4.8.1 20130603 (Red Hat 4.8.1-1) + GNU Fortran (GCC) 4.8.1 20130603 (Red Hat 4.8.1-1) + (cmake and autotools) + + 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 + (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 + pgCC 12.5-0 64-bit target on x86-64 Linux -tp shanghai + + +Known Problems +============== +* Several HDF5 command-line tools and tests leave behind generated files + that are not cleaned up with "make clean" or "make distclean" when software + 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. + (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 + next release. (SLU - 2013/10/16) + +* Running make check for the tools can fail in the tools tests if make was not + run prior. The tests for the tools use other tools in the tests, therefore + all the tools should be built before testing the tools. (ADB - 2013/10/09) + +* Make provided by Solaris fails in "make check". Solaris users should use + gmake to build and install HDF5 software. (AKC - 2013/10/08 - HDFFV-8534) + +* On OpenVMS, two soft conversion functions (H5T__conv_i_f and H5T__conv_f_i) + have bugs. They convert data between floating-point numbers and integers. + But the library's default is hard conversion. The user should avoid + explicitly enabling soft conversion between floating-point numbers and + integers. (Issue VMS-8; SLU - 2013/09/19) + +* 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) + +* When building using the Cray compilers on Cray machines, HDF5 + configure mistakenly thinks the compiler is an intel compiler and + sets the -std=c99 flag which breaks configure on Cray. To build HDF5 + properly on a Cray machine, please consult with the instructions in + INSTALL_parallel for building on Hopper. + (MSC - 2013/04/26 - HDFFV-8429) + +* The h5dump and h5diff utilities occasionally produce different output + between Linux and Windows systems. This is caused by lower-level library + routines that fail to write fill values to the user's buffer when reading + unallocated chunks from datasets that have a fill value set to + H5D_FILL_VALUE_DEFAULT. Due to platform differences the return of + 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 + 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 + 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 + knows this identifier, try to compile the following simple C++ program: + #include<stdio.h> + + int main(void) + { + printf("%s\n", __func__); + return 0; + } + (SLU - 2012/11/5) + +* The C++ and FORTRAN bindings are not currently working on FreeBSD with the + native release 8.2 compilers (4.2.1), but are working with gcc 4.6 from the + ports (and probably gcc releases after that). + (QAK - 2012/10/19) + +* The following h5dump test case fails in BG/P machines (and potentially other + machines that use a command script to launch executables): + + h5dump --no-compact-subset -d "AHFINDERDIRECT::ah_centroid_t[0] it=0 tl=0" + tno-subset.h5 + + This is due to the embedded spaces in the dataset name being interpreted + by the command script launcher as meta-characters, thus passing three + arguments to h5dump's -d flag. The command passes if run by hand, just + not via the test script. + (AKC - 2012/05/03) + +* On hopper, the build failed when RUNSERIAL and RUNPARALLEL are set + to aprun -np X, because the H5lib_settings.c file was not generated + properly. Not setting those environment variables works, because + configure was able to automatically detect that it is a Cray system + and used the proper launch commands when necessary. + (MSC - 2012/04/18) + +* The data conversion test dt_arith.c fails in "long double" to integer + conversion on Ubuntu 11.10 (3.0.0.13 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 + "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 + gcc 4.7.2. + +* The STDIO VFD does not work on some architectures, possibly due to 32/64 + bit or large file issues. The basic STDIO VFD test is known to fail on + 64-bit SunOS 5.10 on SPARC when built with -m64 and 32-bit OS X/Darwin + 10.7.0. The STDIO VFD test has been disabled while we investigate and + a fix should appear in a future release. + (DER - 2011/10/14 - HDFFV-8235) + +* h5diff can report inconsistent results when comparing datasets of enum type + that contain invalid values. This is due to how enum types are handled in + the library and will be addressed in a future release. + (DER - 2011/10/14 - HDFFV-7527) + +* The links test can fail under the stdio VFD due to some issues with external + links. This will be investigated and fixed in a future release. + (DER - 2011/10/14 - HDFFV-7768) + +* After the shared library support was fixed for some bugs, it was discovered + that "make prefix=XXX install" no longer works for shared libraries. It + still works correctly for static libraries. Therefore, if you want to + install the HDF5 shared libraries in a location such as /usr/local/hdf5, + you need to specify the location via the --prefix option during configure + time. E.g, ./configure --prefix=/usr/local/hdf5 ... + (AKC - 2011/05/07 - HDFFV-7583) + +* The parallel test, t_shapesame, in testpar/, may run for a long time and may + be terminated by the alarm signal. If that happens, one can increase the + alarm seconds (default is 1200 seconds = 20 minutes) by setting the + environment variable, $HDF5_ALARM_SECONDS, to a larger value such as 3600 + (60 minutes). Note that the t_shapesame test may fail in some systems + (see the "While working on the 1.8.6 release..." problem below). If + it does, it will waste more time if $HDF5_ALARM_SECONDS is set + to a larger value. + (AKC - 2011/05/07) + +* The C++ and FORTRAN bindings are not currently working on FreeBSD. + (QAK - 2011/04/26) + +* Shared Fortran libraries are not quite working on AIX. While they are + generated when --enable-shared is specified, the fortran and hl/fortran + tests fail. We are looking into the issue. HL and C++ shared libraries + should now be working as intended, however. + (MAM - 2011/04/20) + +* The --with-mpe configure option does not work with Mpich2. + (AKC - 2011/03/10) + +* While working on the 1.8.6 release of HDF5, a bug was discovered that can + occur when reading from a dataset in parallel shortly after it has been + written to collectively. The issue was exposed by a new test in the parallel + HDF5 test suite, but had existed before that. We believe the problem lies with + certain MPI implementations and/or file systems. + + We have provided a pure MPI test program, as well as a standalone HDF5 + program, that can be used to determine if this is an issue on your system. + They should be run across multiple nodes with a varying number of processes. + These programs can be found at: + http://www.hdfgroup.org/ftp/HDF5/examples/known_problems/ + (NAF - 2011/01/19) + +* All the VFL drivers aren't backward compatible. In H5FDpublic.h, the + structure H5FD_class_t changed in 1.8. There is new parameter added to + get_eoa and set_eoa callback functions. A new callback function + get_type_map was added in. The public function H5FDrealloc was taken + out in 1.8. The problem only happens when users define their own driver + for 1.6 and try to plug in 1.8 library. Because there's only one user + complaining about it, we (Elena, Quincey, and I) decided to leave it as + it is (see bug report #1279). Quincey will make a plan for 1.10. + (SLU - 2010/02/02) + +* The --enable-static-exec configure flag will only statically link libraries + if the static version of that library is present. If only the shared version + of a library exists (i.e., most system libraries on Solaris, AIX, and Mac, + for example, only have shared versions), the flag should still result in a + successful compilation, but note that the installed executables will not be + fully static. Thus, the only guarantee on these systems is that the + executable is statically linked with just the HDF5 library. + (MAM - 2009/11/04) + +* 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. + +* A dataset created or rewritten with a v1.6.3 library or after cannot be read + with the v1.6.2 library or before when the Fletcher32 EDC filter is enabled. + There was a bug in the calculation of the Fletcher32 checksum in the + library before v1.6.3; the checksum value was not consistent between big- + endian and little-endian systems. This bug was fixed in Release 1.6.3. + However, after fixing the bug, the checksum value was no longer the same as + before on little-endian system. Library releases after 1.6.4 can still read + datasets created or rewritten with an HDF5 library of v1.6.2 or before. + (SLU - 2005/06/30) + + +%%%%1.8.11%%%% + + +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 +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 +can be found on the HDF5 web page at: + + http://www.hdfgroup.org/products/hdf5/ + +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: + + http://www.hdfgroup.org/HDF5/doc/ + +New features in the HDF5-1.8.x release series, including brief general +descriptions of some new and modified APIs, are described in the "What's New +in 1.8.0?" document: + + http://www.hdfgroup.org/HDF5/doc/ADGuide/WhatsNew180.html + +All new and modified APIs are listed in detail in the "HDF5 Software Changes +from Release to Release" document, in the section "Release 1.8.11 (current +release) versus Release 1.8.10": + + http://www.hdfgroup.org/HDF5/doc/ADGuide/Changes.html + +If you have any questions or comments, please send them to the HDF Help Desk: + + help@hdfgroup.org + + +CONTENTS +======== + +- New Features +- Support for New Platforms, Languages, and Compilers +- Bug Fixes since HDF5-1.8.10 +- Supported Platforms +- Supported Configuration Features Summary +- More Tested Platforms +- Known Problems + + +New Features +============ + + Configuration + ------------- + - Libtool version number is changed to 8.0.0 because there are API + changes. See below for details. (AKC - 2013/05/07 HDFFV-8435) + - Mac OS X 10.7 (Lion) and 10.8 (Mountain Lion) uses clang/clang++ as the + default C and C++ compilers. (AKC - 2013/04/19 HDFFV-8245) + - CMake minimum is now 2.8.10. (ADB 2013/1/14) + - 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 + 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. + (NAF - 2013/02/05) + - 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 + is a complement to the -o or --output option, which redirects the data to + a file. HDFFV-8229 (ADB - 2013/2/25) + + High-Level APIs + --------------- + - 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) + + Fortran API + ----------- + - 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, + 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 + ------- + - None + + +Support for New Platforms, Languages, and Compilers +=================================================== + - SunOS 5.11 (emu) 32-bit and 64-bit with Sun C/C++ 5.12 compiler and + Sun Fortran 95 8.6 compiler. + - Visual Studio 2012 w/ Intel Fortran 13 on Windows 7 + - g95 released new version recently and is tested in this release. + +Bug Fixes since HDF5-1.8.10 +========================== + + Configuration + ------------- + - 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. + 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. + Fixes HDFFV-8227 (ADB 2013/03/04) + - 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 + 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 + > 2 GB. + Fixes HDFFV-8124 and HDFFV-8158 (DER 2013/01/07) + - Fixed a bug where unintialized memory was read during variable-length + type conversion. This caused segfaults in netCDF. Fixes HDFFV-8159. + (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. + Fixes HDFFV-8296. (DER 2013/03/30) + + Parallel Library + ---------------- + - None + + Performance + ------------- + - None + + 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>. + 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 + dataset (size < 1K) to contiguous layout. HDFFV-8214 (JKM 2013/03/26) + - 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 + 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. + 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) + - The following h5stat test case failed in BG/P machines (and potentially + 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 + (AKC - 2012/11/30) + - h5diff: Improved speed when comparing HDF5 files with lots of + 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 + ------- + - 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. + + C++ API + ------ + - 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. + (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 + (MSB- 2013/2/10) + + Fortran High-Level APIs: + ------ + - None + + Testing + ------- + - In some Mac systems, testlibinfo.sh failed with this error: + Check file ../src/.libs/libhdf5.7.dylib + strings: object: ../src/.libs/libhdf5.7.dylib malformed object \ + (unknown load command 15) + The strings command of Mac systems inspects library files, and older + versions of strings may not know newer library formats, resulting + in errors. Fixed by sending the library file as stdin to the strings + command to avoid this problem. (AKC - 2013/03/08 HDFFV-8305) + - Fixed a typo in the ERROR macro in test/testhdf5.h. It segmentation + faulted when used before. (AKC - 2013/02/12 HDFFV-8267) + +Supported Platforms +=================== +The following platforms are supported and have been tested for this release. +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 + + 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; + (jam) Version 4.1.2 20080704 (Red Hat 4.1.2-54) + Version 4.6.3 + PGI C, Fortran, C++ Compilers for 32-bit + applications; + Version 11.9-0 + Version 12.5-0 + Intel(R) C, C++, Fortran Compiler for 32-bit + applications; + Version 12.1 (Build 20110811) + Version 12.1 (Build 20120212) + + Linux 2.6.18-308.16.1.el5 GNU C (gcc), Fortran (gfortran), C++ (g++) + #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 + x86-64; + Version 11.9-0 + Version 12.5-0 + Intel(R) C, C++, Fortran Compilers for + applications running on Intel(R) 64; + Version 12.1 (Build 20110811) + Version 12.1 (Build 20120212) + + Linux 2.6.32-358.2.1.el6 GNU C (gcc), Fortran (gfortran), C++ (g++) + #1 SMP x86_64 GNU/Linux compilers: + (platypus) Version 4.4.7 20120313 + Intel(R) C (icc), C++ (icpc), Fortran (icc) + compilers: + Version 12.1 20120212 + + Linux 2.6.32-358.2.1.el6.ppc64 gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-3) + #1 SMP ppc64 GNU/Linux g++ (GCC) 4.4.7 20120313 (Red Hat 4.4.7-3) + (ostrich) GNU Fortran (GCC) 4.4.7 20120313 (Red Hat 4.4.7-3) + IBM XL C/C++ V11.1 + IBM XL Fortran V13.1 + + 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 2008 w/ Intel Fortran 11 (cmake) + Visual Studio 2010 w/ Intel Fortran 12 (cmake) + Visual Studio 2012 w/ Intel Fortran 13 (cmake) + Cygwin(CYGWIN_NT-6.1 1.7.15(0.260/5/3) gcc(4.5.3) compiler and gfortran) + (cmake and autotools) + + Windows 7 x64 Visual Studio 2008 w/ Intel Fortran 11 (cmake) + Visual Studio 2010 w/ Intel Fortran 12 (cmake) + Visual Studio 2012 w/ Intel Fortran 13 (cmake) + Cygwin(CYGWIN_NT-6.1 1.7.15(0.260/5/3) gcc(4.5.3) compiler and gfortran) + (cmake and autotools) + + Mac OS X Snow Leopard 10.6.8 gcc i686-apple-darwin11-llvm-gcc-4.2 (GCC) 4.2.1 from Xcode 3.2.6 + Darwin Kernel Version 10.8.0 g++ i686-apple-darwin11-llvm-g++-4.2 (GCC) 4.2.1 from Xcode 3.2.6 + 64-bit gfortran GNU Fortran (GCC) 4.6.2 + (fred) Intel C (icc), Fortran (ifort), C++ (icpc) + 12.1 Build 20120928 + + Mac OS X Lion 10.7.3 Apple clang/clang++ version 3.0 from Xcode 4.6.1 + 64-bit gfortran GNU Fortran (GCC) 4.6.2 + (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 + (wren) Intel icc/icpc/ifort version 13.0.1.119 + + +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 +Solaris2.11 32-bit n y/y n y y y +Solaris2.11 64-bit n y/n 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 +Mac OS X Snow Leopard 10.6.8 64-bit n y/y n y y y +Mac OS X Lion 10.7.3 64-bit n y/y n y y y +Mac OS X Mountain Lion 10.8.1 64-bit n y/y n y y y +AIX 5.3 32- and 64-bit n y/n n y y y +CentOS 5.9 Linux 2.6.18-308 i686 GNU y y/y y y y y +CentOS 5.9 Linux 2.6.18-308 i686 Intel n y/y n y y y +CentOS 5.9 Linux 2.6.18-308 i686 PGI n y/y n y y y +CentOS 5.9 Linux 2.6.18 x86_64 GNU y y/y y y y y +CentOS 5.9 Linux 2.6.18 x86_64 Intel n y/y n y y y +CentOS 5.9 Linux 2.6.18 x86_64 PGI n y/y n y y y +CentOS 6.4 Linux 2.6.32 x86_64 GNU n y/n n y y y +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 +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 +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 + +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.18-308.13.1.el5PAE MPICH mpich2-1.4.1p1 compiled with + #1 SMP i686 i686 i386 gcc 4.1.2 and gfortran 4.1.2 + (jam) g95 (GCC 4.0.3 (g95 0.94!) + + 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 + gfortran 4.6.1 20110422 + + FreeBSD 8.2-STABLE amd64 gcc 4.2.1 [FreeBSD] 20070719 + (freedom) gcc 4.6.1 20110422 + g++ 4.6.1 20110422 + gfortran 4.6.1 20110422 + + Debian6.0.7 2.6.32-5-amd64 #1 SMP x86_64 GNU/Linux + gcc (Debian 4.4.5-8) 4.4.5 + GNU Fortran (Debian 4.4.5-8) 4.4.5 + (cmake and autotools) + + Fedora18 3.7.9-205.fc18.x86_64 #1 SMP x86_64 x86_64 x86_64 GNU/Linux + gcc (GCC) 4.7.2 20121109 (Red Hat 4.7.2-8) + GNU Fortran (GCC) 4.7.2 20120507 (Red Hat 4.7.2-8) + (cmake and autotools) + + 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 + (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 + pgCC 12.5-0 64-bit target on x86-64 Linux -tp shanghai + + +Known Problems +============== + +* When building using the Cray compilers on Cray machines, HDF5 + configure mistakenly thinks the compiler is an intel compiler and + sets the -std=c99 flag which breaks configure on Cray. To build HDF5 + properly on a Cray machine, please consult with the instructions in + INSTALL_parallel for building on Hopper. + (MSC - 2013/04/26 - HDFFV-8429) + +* The h5dump and h5diff utilities occasionally produce different output + between Linux and Windows systems. This is caused by lower-level library + routines that fail to write fill values to the user's buffer when reading + unallocated chunks from datasets that have a fill value set to + H5D_FILL_VALUE_DEFAULT. Due to platform differences the return of + 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 + 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 + 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 + knows this identifier, try to compile the following simple C++ program: + #include<stdio.h> + + int main(void) + { + printf("%s\n", __func__); + return 0; + } + (SLU - 2012/11/5) + +* The C++ and FORTRAN bindings are not currently working on FreeBSD with the + native release 8.2 compilers (4.2.1), but are working with gcc 4.6 from the + ports (and probably gcc releases after that). + (QAK - 2012/10/19) + +* The following h5dump test case fails in BG/P machines (and potentially other + machines that use a command script to launch executables): + + h5dump --no-compact-subset -d "AHFINDERDIRECT::ah_centroid_t[0] it=0 tl=0" + tno-subset.h5 + + This is due to the embedded spaces in the dataset name being interpreted + by the command script launcher as meta-characters, thus passing three + arguments to h5dump's -d flag. The command passes if run by hand, just + not via the test script. + (AKC - 2012/05/03) + +* On hopper, the build failed when RUNSERIAL and RUNPARALLEL are set + to aprun -np X, because the H5lib_settings.c file was not generated + properly. Not setting those environment variables works, because + configure was able to automatically detect that it's a Cray system + and used the proper launch commands when necessary. + (MSC - 2012/04/18) + +* The data conversion test dt_arith.c fails in "long double" to integer + conversion on Ubuntu 11.10 (3.0.0.13 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 + "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 + gcc 4.7.2. + +* The STDIO VFD does not work on some architectures, possibly due to 32/64 + bit or large file issues. The basic STDIO VFD test is known to fail on + 64-bit SunOS 5.10 on SPARC when built with -m64 and 32-bit OS X/Darwin + 10.7.0. The STDIO VFD test has been disabled while we investigate and + a fix should appear in a future release. + (DER - 2011/10/14 - HDFFV-8235) + +* h5diff can report inconsistent results when comparing datasets of enum type + that contain invalid values. This is due to how enum types are handled in + the library and will be addressed in a future release. + (DER - 2011/10/14 - HDFFV-7527) + +* The links test can fail under the stdio VFD due to some issues with external + links. This will be investigated and fixed in a future release. + (DER - 2011/10/14 - HDFFV-7768) + +* After the shared library support was fixed for some bugs, it was discovered + that "make prefix=XXX install" no longer works for shared libraries. It + still works correctly for static libraries. Therefore, if you want to + install the HDF5 shared libraries in a location such as /usr/local/hdf5, + you need to specify the location via the --prefix option during configure + time. E.g, ./configure --prefix=/usr/local/hdf5 ... + (AKC - 2011/05/07 - HDFFV-7583) + +* The parallel test, t_shapesame, in testpar/, may run for a long time and may + be terminated by the alarm signal. If that happens, one can increase the + alarm seconds (default is 1200 seconds = 20 minutes) by setting the + environment variable, $HDF5_ALARM_SECONDS, to a larger value such as 3600 + (60 minutes). Note that the t_shapesame test may fail in some systems + (see the "While working on the 1.8.6 release..." problem below). If + it does, it will waste more time if $HDF5_ALARM_SECONDS is set + to a larger value. + (AKC - 2011/05/07) + +* The C++ and FORTRAN bindings are not currently working on FreeBSD. + (QAK - 2011/04/26) + +* Shared Fortran libraries are not quite working on AIX. While they are + generated when --enable-shared is specified, the fortran and hl/fortran + tests fail. We are looking into the issue. HL and C++ shared libraries + should now be working as intended, however. + (MAM - 2011/04/20) + +* The --with-mpe configure option does not work with Mpich2. + (AKC - 2011/03/10) + +* While working on the 1.8.6 release of HDF5, a bug was discovered that can + occur when reading from a dataset in parallel shortly after it has been + written to collectively. The issue was exposed by a new test in the parallel + HDF5 test suite, but had existed before that. We believe the problem lies with + certain MPI implementations and/or file systems. + + We have provided a pure MPI test program, as well as a standalone HDF5 + program, that can be used to determine if this is an issue on your system. + They should be run across multiple nodes with a varying number of processes. + These programs can be found at: + http://www.hdfgroup.org/ftp/HDF5/examples/known_problems/ + (NAF - 2011/01/19) + +* The library's test dt_arith.c showed a compiler's rounding problem on + Cygwin when converting from unsigned long long to long double. The + library's own conversion works fine. We defined a macro for Cygwin to + skip this test until we can solve the problem. + (SLU - 2010/05/05 - HDFFV-1264) + +* All the VFL drivers aren't backward compatible. In H5FDpublic.h, the + structure H5FD_class_t changed in 1.8. There is new parameter added to + get_eoa and set_eoa callback functions. A new callback function + get_type_map was added in. The public function H5FDrealloc was taken + out in 1.8. The problem only happens when users define their own driver + for 1.6 and try to plug in 1.8 library. Because there's only one user + complaining about it, we (Elena, Quincey, and I) decided to leave it as + it is (see bug report #1279). Quincey will make a plan for 1.10. + (SLU - 2010/02/02) + +* The --enable-static-exec configure flag will only statically link libraries + if the static version of that library is present. If only the shared version + of a library exists (i.e., most system libraries on Solaris, AIX, and Mac, + for example, only have shared versions), the flag should still result in a + successful compilation, but note that the installed executables will not be + fully static. Thus, the only guarantee on these systems is that the + executable is statically linked with just the HDF5 library. + (MAM - 2009/11/04) + +* 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. + +* A dataset created or rewritten with a v1.6.3 library or after cannot be read + with the v1.6.2 library or before when the Fletcher32 EDC filter is enabled. + There was a bug in the calculation of the Fletcher32 checksum in the + library before v1.6.3; the checksum value was not consistent between big- + endian and little-endian systems. This bug was fixed in Release 1.6.3. + However, after fixing the bug, the checksum value was no longer the same as + before on little-endian system. Library releases after 1.6.4 can still read + datasets created or rewritten with an HDF5 library of v1.6.2 or before. + (SLU - 2005/06/30) + + +%%%%1.8.10-patch1%%%% + + +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 +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 +can be found on the HDF5 web page at: + + http://www.hdfgroup.org/products/hdf5/ + +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: + + http://www.hdfgroup.org/HDF5/doc/ + +New features in the HDF5-1.8.x release series, including brief general +descriptions of some new and modified APIs, are described in the "What's New +in 1.8.0?" document: + + http://www.hdfgroup.org/HDF5/doc/ADGuide/WhatsNew180.html + +All new and modified APIs are listed in detail in the "HDF5 Software Changes +from Release to Release" document, in the section "Release 1.8.10 (current +release) versus Release 1.8.9": + + http://www.hdfgroup.org/HDF5/doc/ADGuide/Changes.html + +If you have any questions or comments, please send them to the HDF Help Desk: + + help@hdfgroup.org + + +CONTENTS +======== + +- New Features +- Support for New Platforms, Languages, and Compilers +- Bug Fixes since HDF5-1.8.10 +- Bug Fixes since HDF5-1.8.9 +- Supported Platforms +- Supported Configuration Features Summary +- More Tested Platforms +- Known Problems + + +New Features +============ + + Configuration + ------------- + - 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/21) + + Library + ------- + - Updated to latest autotools and changed all hard *.sh scripts to + configure managed *.sh.in files. Removed overloading of autotools + TESTS variable by examples and tests. Renamed configure.in to + configure.ac. (ADB - 2012/08/23 - HDFFV-8129) + - The data sieve buffer size was set for all the datasets in the file. It + could waste memory if any dataset size is smaller than the sieve buffer + 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. + (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. + (ADB - 2012/07/19 HDFFV-721) + + High-Level APIs + --------------- + - None + + Fortran 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. + (EIP - 2012/06/23) + + C++ API + ------- + - None + + +Support for New Platforms, Languages, and Compilers +=================================================== + - None + +Bug Fixes since HDF5-1.8.10 +=========================== + 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 that their + parameter types imply. + Fixes HDFFV-7975 and HDFFV-8240 (DER - 07 JAN 2013) + - Fixed a bug in the core VFD that cause failures when opening files > 2 GB. + Fixes HDFFV-8124 and HDFFV-8158 (DER - 07 JAN 2013) + + Tools + ----- + - The following h5stat test case failed in BG/P machines (and potentially + 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 (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 + from fixing an attribute related bug for 1.8.7 release in the past. + HDFFV-8145 (JKM 2012/12/13) + + Testing + ------- + - None + +Bug Fixes since HDF5-1.8.9 +========================== + + Configuration + ------------- + - Fixed configure --enable-production to not use -O optimization for Lion + and Mountain Lion systems when gcc (i686-apple-darwin11-llvm-gcc-4.2 + (GCC) 4.2.1) is used. Somehow the -O optimization will cause some of + 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. + (AKC 2012/09/27) + + Library + ------- + - Fixed a memory leak exposed when inserting/removing a property + from a property list several times. HDFFV-8022. (MSC 2012/05/18) + - The file_image test will fail in the "initial file image and callbacks in + the core VFD" sub-test if the source directory is read-only as the test + fails to create its test files in the build directory. This has been + fixed. HDFFV-8009 (AKC - 2012/07/06) + + + Parallel Library + ---------------- + - The MPI-POSIX VFD was updated to include the POSIX and Windows + correctness features added that had already been added to the other VFDs. + HDFFV-8058/7845. (DER 2012/09/17) + + Performance + ------------- + - Removed program perform/benchpar from the enable-build-all list. The + program will be retired or moved to another location. HDFFV-8156 + (AKC 2012/10/01) + - Retired program perform/mpi-perf. Its purpose has been incorporated + into h5perf. (AKC 2012/09/21) + + Tools + ----- + - h5repack: "h5repack -f NONE file1.h5 out.h5" command failed if + 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 + 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. + HDFFV-5919 (JKM 2012/09/10) + - 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 + 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 + 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. + HDFFV-8105 (AKC 2012/07/22) + - 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 + (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 + 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. + 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. + (EIP - 2012/06/23) + + - Fixed a problem writing/reading control characters to a dataset; writing + a string containing alerts, backspace, carriage_return, form_feed, + horizontal_tab, vertical_tab, or new_line is now tested and working. + (MSB - 2012/09/01) + + - Corrected the integer type of H5S_UNLIMITED_F to HSIZE_T (MSB - 2012/09/01) + + - Corrected the number of continuation lines in the src files + to be less than 32 lines for F95 compliance. (MSB - 2012/10/01) + + C++ API + ------ + - None + + High-Level APIs: + ------ + + - 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 + 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 + error. + + Fortran High-Level APIs: + ------ + - None + +Supported Platforms +=================== + AIX 5.3 xlc 10.1.0.5 + (NASA G-ADA) xlC 10.1.0.5 + xlf90 12.1.0.6 + + 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; + (jam) Version 4.1.2 20080704 (Red Hat 4.1.2-52) + Version 4.6.3 + PGI C, Fortran, C++ Compilers for 32-bit + applications; + Version 11.9-0 + Intel(R) C, C++, Fortran Compiler for 32-bit + applications; + Version 12.1 + MPICH mpich2-1.4.1p1 compiled with + gcc 4.1.2 and gfortran 4.1.2 + + Linux 2.6.18-308.16.1.el5 GNU C (gcc), Fortran (gfortran), C++ (g++) + #1 SMP x86_64 GNU/Linux compilers for 32-bit applications; + (koala) Version 4.1.2 20080704 (Red Hat 4.1.2-52) + Version 4.6.3 + PGI C, Fortran, C++ for 64-bit target on + x86-64; + Version 11.9-0 + Version 12.5-0 + 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 + (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 + ch5.x86_64 GNU/Linux Version 12.1.5.339 + (LLNL Aztec) + + IBM Blue Gene/P XL C for Blue Gene/P, bgxlc V9.0 + (LLNL uDawn) XL C++ for Blue Gene/P, bgxlC V9.0 + XL Fortran for Blue Gene/P, bgxlf90 V11.1 + + SunOS 5.10 32- and 64-bit Sun C 5.9 Sun OS_sparc Patch 124867-16 + (linew) Sun Fortran 95 8.3 Sun OS_sparc Patch 127000-13 + Sun C++ 5.9 Sun OS_sparc Patch 124863-26 + Sun C 5.11 SunOS_sparc + Sun Fortran 95 8.5 SunOS_sparc + Sun C++ 5.11 SunOS_sparc + + Windows XP Visual Studio 2008 w/ Intel Fortran 10.1 (project files) + + Windows XP x64 Visual Studio 2008 w/ Intel Fortran 10.1 (project files) + + Windows 7 Visual Studio 2008 w/ Intel Fortran 11.1 (cmake) + Visual Studio 2010 w/ Intel Fortran 12 (cmake) + Cygwin(CYGWIN_NT-6.1 1.7.15(0.260/5/3) gcc(4.5.3) compiler and gfortran) + (cmake and autotools) + + Windows 7 x64 Visual Studio 2008 w/ Intel Fortran 11.1 (cmake) + Visual Studio 2010 w/ Intel Fortran 12 (cmake) + Cygwin(CYGWIN_NT-6.1 1.7.15(0.260/5/3) gcc(4.5.3) compiler and gfortran) + (cmake and autotools) + + Mac OS X Snow Leopard 10.6.8 gcc i686-apple-darwin11-llvm-gcc-4.2 (GCC) 4.2.1 from Xcode 3.2.6 + Darwin Kernel Version 10.8.0 g++ i686-apple-darwin11-llvm-g++-4.2 (GCC) 4.2.1 from Xcode 3.2.6 + (fred) gfortran GNU Fortran (GCC) 4.6.2 + Intel C (icc), Fortran (ifort), C++ (icpc) + 12.1.0.038 Build 20110811 + + Mac OS X Snow Leopard 10.6.8 gcc i686-apple-darwin11-llvm-gcc-4.2 (GCC) 4.2.1 from Xcode 3.2.6 + Darwin Kernel Version 10.8.0 g++ i686-apple-darwin11-llvm-g++-4.2 (GCC) 4.2.1 from Xcode 3.2.6 + Intel 32-bit gfortran GNU Fortran (GCC) 4.6.1 + (tejeda) Intel C (icc), Fortran (ifort), C++ (icpc) + 12.1.0.038 Build 20110811 + + Mac OS X Lion 10.7.3 gcc i686-apple-darwin11-llvm-gcc-4.2 (GCC) 4.2.1 from Xcode 4.2.1 + 32- and 64-bit g++ i686-apple-darwin11-llvm-g++-4.2 (GCC) 4.2.1 from Xcode 4.2.1 + (duck) gfortran GNU Fortran (GCC) 4.6.2 + + 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 + + +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 +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 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 +Mac OS X Mountain Lion 10.8.1 64-bit n y/n n y y n +AIX 5.3 32- and 64-bit y y/n y y y y +CentOS 5.5 Linux 2.6.18-308 i686 GNU y y/y y y y y +CentOS 5.5 Linux 2.6.18-308 i686 Intel n y/y n y y y +CentOS 5.5 Linux 2.6.18-308 i686 PGI n y/y n y y y +CentOS 5.5 Linux 2.6.18 x86_64 GNU y y/y y y y y +CentOS 5.5 Linux 2.6.18 x86_64 Intel n y/y n y y y +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 +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 + +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. + + FreeBSD 8.2-STABLE i386 gcc 4.2.1 [FreeBSD] 20070719 + (loyalty) gcc 4.6.1 20110422 + g++ 4.6.1 20110422 + gfortran 4.6.1 20110422 + + FreeBSD 8.2-STABLE amd64 gcc 4.2.1 [FreeBSD] 20070719 + (freedom) gcc 4.6.1 20110422 + g++ 4.6.1 20110422 + gfortran 4.6.1 20110422 + + Debian6.0.3 2.6.32-5-686 #1 SMP i686 GNU/Linux + gcc (Debian 4.4.5-8) 4.4.5 + GNU Fortran (Debian 4.4.5-8) 4.4.5 + (cmake and autotools) + + Debian6.0.3 2.6.32-5-amd64 #1 SMP x86_64 GNU/Linux + gcc (Debian 4.4.5-8) 4.4.5 + GNU Fortran (Debian 4.4.5-8) 4.4.5 + (cmake and autotools) + + Fedora17 3.5.2-1.fc17.i6866 #1 SMP i686 i686 i386 GNU/Linux + gcc (GCC) 4.7.0 20120507 (Red Hat 4.7.0-5) + GNU Fortran (GCC) 4.7.0 20120507 (Red Hat 4.7.0-5) + (cmake and autotools) + + Fedora17 3.5.2-1.fc17.x86_64 #1 SMP x86_64 x86_64 x86_64 GNU/Linux + gcc (GCC) 4.7.0 20120507 (Red Hat 4.7.0-5) + GNU Fortran (GCC) 4.7.0 20120507 (Red Hat 4.7.0-5) + (cmake and autotools) + + SUSE 12.2 3.4.6-2.10-desktop #1 SMP PREEMPT i686 i686 i386 GNU/Linux + gcc (SUSE Linux) 4.7.1 + GNU Fortran (SUSE Linux) 4.7.1 + (cmake and autotools) + + 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 + (cmake and autotools) + + Ubuntu 12.04 3.2.0-29-generic #46-Ubuntu SMP i686 GNU/Linux + gcc (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3 + GNU Fortran (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3 + (cmake and autotools) + + Ubuntu 12.04 3.2.0-29-generic #46-Ubuntu SMP x86_64 GNU/Linux + gcc (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3 + 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 +============== +* The C++ and FORTRAN bindings are not currently working on FreeBSD with the + native release 8.2 compilers (4.2.1), but are working with gcc 4.6 from the + ports (and probably gcc releases after that). + (QAK - 2012/10/19) + +* The following h5dump test case fails in BG/P machines (and potentially other + machines that use a command script to launch executables): + + h5dump --no-compact-subset -d "AHFINDERDIRECT::ah_centroid_t[0] it=0 tl=0" + tno-subset.h5 + + This is due to the embedded spaces in the dataset name being interpreted + by the command script launcher as meta-characters, thus passing three + arguments to h5dump's -d flag. The command passes if run by hand, just + not via the test script. + (AKC - 2012/05/03) + +* On hopper, the build failed when RUNSERIAL and RUNPARALLEL are set + to aprun -np X, because the H5lib_settings.c file was not generated + properly. Not setting those environment variables works, because + configure was able to automatically detect that it's a Cray system + and used the proper launch commands when necessary. + (MSC - 2012/04/18) + +* The data conversion test dt_arith.c fails in "long double" to integer + conversion on Ubuntu 11.10 (3.0.0.13 kernal) with GCC 4.6.1 if the library + is built with optimization -O3 or -O2. The older GCC (4.5) or newer kernal + (3.2.2 on Fedora) doesn't have the problem. Users should lower the + optimization level (-O1 or -O0) by defining CFLAGS in the command line of + "configure" like: + + CFLAGS=-O1 ./configure + + This will overwrite the library's default optimization level. + (SLU - 2012/02/07 - HDFFV-7829) + +* The STDIO VFD does not work on some architectures, possibly due to 32/64 + bit or large file issues. The basic STDIO VFD test is known to fail on + 64-bit SunOS 5.10 on SPARC when built with -m64 and 32-bit OS X/Darwin + 10.7.0. The STDIO VFD test has been disabled while we investigate and + a fix should appear in a future release. + (DER - 2011/10/14 - HDFFV-8235) + +* h5diff can report inconsistent results when comparing datasets of enum type + that contain invalid values. This is due to how enum types are handled in + the library and will be addressed in a future release. + (DER - 2011/10/14 - HDFFV-7527) + +* The links test can fail under the stdio VFD due to some issues with external + links. This will be investigated and fixed in a future release. + (DER - 2011/10/14 - HDFFV-7768) + +* After the shared library support was fixed for some bugs, it was discovered + that "make prefix=XXX install" no longer works for shared libraries. It + still works correctly for static libraries. Therefore, if you want to + install the HDF5 shared libraries in a location such as /usr/local/hdf5, + you need to specify the location via the --prefix option during configure + time. E.g, ./configure --prefix=/usr/local/hdf5 ... + (AKC - 2011/05/07 - HDFFV-7583) + +* The parallel test, t_shapesame, in testpar/, may run for a long time and may + be terminated by the alarm signal. If that happens, one can increase the + alarm seconds (default is 1200 seconds = 20 minutes) by setting the + environment variable, $HDF5_ALARM_SECONDS, to a larger value such as 3600 + (60 minutes). Note that the t_shapesame test may fail in some systems + (see the "While working on the 1.8.6 release..." problem below). If + it does, it will waste more time if $HDF5_ALARM_SECONDS is set + to a larger value. + (AKC - 2011/05/07) + +* The C++ and FORTRAN bindings are not currently working on FreeBSD. + (QAK - 2011/04/26) + +* Shared Fortran libraries are not quite working on AIX. While they are + generated when --enable-shared is specified, the fortran and hl/fortran + tests fail. We are looking into the issue. HL and C++ shared libraries + should now be working as intended, however. + (MAM - 2011/04/20) + +* The --with-mpe configure option does not work with Mpich2. + (AKC - 2011/03/10) + +* While working on the 1.8.6 release of HDF5, a bug was discovered that can + occur when reading from a dataset in parallel shortly after it has been + written to collectively. The issue was exposed by a new test in the parallel + HDF5 test suite, but had existed before that. We believe the problem lies with + certain MPI implementations and/or file systems. + + We have provided a pure MPI test program, as well as a standalone HDF5 + program, that can be used to determine if this is an issue on your system. + They should be run across multiple nodes with a varying number of processes. + These programs can be found at: + http://www.hdfgroup.org/ftp/HDF5/examples/known_problems/ + (NAF - 2011/01/19) + +* The library's test dt_arith.c showed a compiler's rounding problem on + Cygwin when converting from unsigned long long to long double. The + library's own conversion works fine. We defined a macro for Cygwin to + skip this test until we can solve the problem. + (SLU - 2010/05/05 - HDFFV-1264) + +* All the VFL drivers aren't backward compatible. In H5FDpublic.h, the + structure H5FD_class_t changed in 1.8. There is new parameter added to + get_eoa and set_eoa callback functions. A new callback function + get_type_map was added in. The public function H5FDrealloc was taken + out in 1.8. The problem only happens when users define their own driver + for 1.6 and try to plug in 1.8 library. Because there's only one user + complaining about it, we (Elena, Quincey, and I) decided to leave it as + it is (see bug report #1279). Quincey will make a plan for 1.10. + (SLU - 2010/02/02) + +* The --enable-static-exec configure flag will only statically link libraries + if the static version of that library is present. If only the shared version + of a library exists (i.e., most system libraries on Solaris, AIX, and Mac, + for example, only have shared versions), the flag should still result in a + successful compilation, but note that the installed executables will not be + fully static. Thus, the only guarantee on these systems is that the + executable is statically linked with just the HDF5 library. + (MAM - 2009/11/04) + +* 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. + +* A dataset created or rewritten with a v1.6.3 library or after cannot be read + with the v1.6.2 library or before when the Fletcher32 EDC filter is enabled. + There was a bug in the calculation of the Fletcher32 checksum in the + library before v1.6.3; the checksum value was not consistent between big- + endian and little-endian systems. This bug was fixed in Release 1.6.3. + However, after fixing the bug, the checksum value was no longer the same as + before on little-endian system. Library releases after 1.6.4 can still read + datasets created or rewritten with an HDF5 library of v1.6.2 or before. + (SLU - 2005/06/30) + + +%%%%1.8.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 +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 +can be found on the HDF5 web page at: + + http://www.hdfgroup.org/products/hdf5/ + +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: + + http://www.hdfgroup.org/HDF5/doc/ + +New features in the HDF5-1.8.x release series, including brief general +descriptions of some new and modified APIs, are described in the "What's New +in 1.8.0?" document: + + http://www.hdfgroup.org/HDF5/doc/ADGuide/WhatsNew180.html + +All new and modified APIs are listed in detail in the "HDF5 Software Changes +from Release to Release" document, in the section "Release 1.8.10 (current +release) versus Release 1.8.9": + + http://www.hdfgroup.org/HDF5/doc/ADGuide/Changes.html + +If you have any questions or comments, please send them to the HDF Help Desk: + + help@hdfgroup.org + + +CONTENTS +======== + +- New Features +- Support for New Platforms, Languages, and Compilers +- Bug Fixes since HDF5-1.8.9 +- Supported Platforms +- Supported Configuration Features Summary +- More Tested Platforms +- Known Problems + + +New Features +============ + + Configuration + ------------- + - None + + Library + ------- + - Updated to latest autotools and changed all hard *.sh scripts to + configure managed *.sh.in files. Removed overloading of autotools + TESTS variable by examples and tests. Renamed configure.in to + configure.ac. (ADB - 2012/08/23 - HDFFV-8129) + - The data sieve buffer size was set for all the datasets in the file. It + could waste memory if any dataset size is smaller than the sieve buffer + 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. + (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. + (ADB - 2012/07/19 HDFFV-721) + + High-Level APIs + --------------- + - None + + Fortran 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. + (EIP - 2012/06/23) + + C++ API + ------- + - None + + +Support for New Platforms, Languages, and Compilers +=================================================== + - None + +Bug Fixes since HDF5-1.8.9 +========================== + + Configuration + ------------- + - Fixed configure --enable-production to not use -O optimization for Lion + and Mountain Lion systems when gcc (i686-apple-darwin11-llvm-gcc-4.2 + (GCC) 4.2.1) is used. Somehow the -O optimization will cause some of + 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. + (AKC 2012/09/27) + + Library + ------- + - Fixed a memory leak exposed when inserting/removing a property + from a property list several times. HDFFV-8022. (MSC 2012/05/18) + - The file_image test will fail in the "initial file image and callbacks in + the core VFD" sub-test if the source directory is read-only as the test + fails to create its test files in the build directory. This has been + fixed. HDFFV-8009 (AKC - 2012/07/06) + + + Parallel Library + ---------------- + - The MPI-POSIX VFD was updated to include the POSIX and Windows + correctness features added that had already been added to the other VFDs. + HDFFV-8058/7845. (DER 2012/09/17) + + Performance + ------------- + - Removed program perform/benchpar from the enable-build-all list. The + program will be retired or moved to another location. HDFFV-8156 + (AKC 2012/10/01) + - Retired program perform/mpi-perf. Its purpose has been incorporated + into h5perf. (AKC 2012/09/21) + + Tools + ----- + - h5repack: "h5repack -f NONE file1.h5 out.h5" command failed if + 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 + 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. + HDFFV-5919 (JKM 2012/09/10) + - 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 + 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 + 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. + HDFFV-8105 (AKC 2012/07/22) + - 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 + (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 + 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. + 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. + (EIP - 2012/06/23) + + - Fixed a problem writing/reading control characters to a dataset; writing + a string containing alerts, backspace, carriage_return, form_feed, + horizontal_tab, vertical_tab, or new_line is now tested and working. + (MSB - 2012/09/01) + + - Corrected the integer type of H5S_UNLIMITED_F to HSIZE_T (MSB - 2012/09/01) + + - Corrected the number of continuation lines in the src files + to be less than 32 lines for F95 compliance. (MSB - 2012/10/01) + + C++ API + ------ + - None + + High-Level APIs: + ------ + + - 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 + 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 + error. + + Fortran High-Level APIs: + ------ + - None + +Supported Platforms +=================== + AIX 5.3 xlc 10.1.0.5 + (NASA G-ADA) xlC 10.1.0.5 + xlf90 12.1.0.6 + + 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; + (jam) Version 4.1.2 20080704 (Red Hat 4.1.2-52) + Version 4.6.3 + PGI C, Fortran, C++ Compilers for 32-bit + applications; + Version 11.9-0 + Intel(R) C, C++, Fortran Compiler for 32-bit + applications; + Version 12.1 + MPICH mpich2-1.4.1p1 compiled with + gcc 4.1.2 and gfortran 4.1.2 + + Linux 2.6.18-308.16.1.el5 GNU C (gcc), Fortran (gfortran), C++ (g++) + #1 SMP x86_64 GNU/Linux compilers for 32-bit applications; + (koala) Version 4.1.2 20080704 (Red Hat 4.1.2-52) + Version 4.6.3 + PGI C, Fortran, C++ for 64-bit target on + x86-64; + Version 11.9-0 + Version 12.5-0 + 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 + (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 + ch5.x86_64 GNU/Linux Version 12.1.5.339 + (LLNL Aztec) + + IBM Blue Gene/P XL C for Blue Gene/P, bgxlc V9.0 + (LLNL uDawn) XL C++ for Blue Gene/P, bgxlC V9.0 + XL Fortran for Blue Gene/P, bgxlf90 V11.1 + + SunOS 5.10 32- and 64-bit Sun C 5.9 Sun OS_sparc Patch 124867-16 + (linew) Sun Fortran 95 8.3 Sun OS_sparc Patch 127000-13 + Sun C++ 5.9 Sun OS_sparc Patch 124863-26 + Sun C 5.11 SunOS_sparc + Sun Fortran 95 8.5 SunOS_sparc + Sun C++ 5.11 SunOS_sparc + + Windows XP Visual Studio 2008 w/ Intel Fortran 10.1 (project files) + + Windows XP x64 Visual Studio 2008 w/ Intel Fortran 10.1 (project files) + + Windows 7 Visual Studio 2008 w/ Intel Fortran 11.1 (cmake) + Visual Studio 2010 w/ Intel Fortran 12 (cmake) + Cygwin(CYGWIN_NT-6.1 1.7.15(0.260/5/3) gcc(4.5.3) compiler and gfortran) + (cmake and autotools) + + Windows 7 x64 Visual Studio 2008 w/ Intel Fortran 11.1 (cmake) + Visual Studio 2010 w/ Intel Fortran 12 (cmake) + Cygwin(CYGWIN_NT-6.1 1.7.15(0.260/5/3) gcc(4.5.3) compiler and gfortran) + (cmake and autotools) + + Mac OS X Snow Leopard 10.6.8 gcc i686-apple-darwin11-llvm-gcc-4.2 (GCC) 4.2.1 from Xcode 3.2.6 + Darwin Kernel Version 10.8.0 g++ i686-apple-darwin11-llvm-g++-4.2 (GCC) 4.2.1 from Xcode 3.2.6 + (fred) gfortran GNU Fortran (GCC) 4.6.2 + Intel C (icc), Fortran (ifort), C++ (icpc) + 12.1.0.038 Build 20110811 + + Mac OS X Snow Leopard 10.6.8 gcc i686-apple-darwin11-llvm-gcc-4.2 (GCC) 4.2.1 from Xcode 3.2.6 + Darwin Kernel Version 10.8.0 g++ i686-apple-darwin11-llvm-g++-4.2 (GCC) 4.2.1 from Xcode 3.2.6 + Intel 32-bit gfortran GNU Fortran (GCC) 4.6.1 + (tejeda) Intel C (icc), Fortran (ifort), C++ (icpc) + 12.1.0.038 Build 20110811 + + Mac OS X Lion 10.7.3 gcc i686-apple-darwin11-llvm-gcc-4.2 (GCC) 4.2.1 from Xcode 4.2.1 + 32- and 64-bit g++ i686-apple-darwin11-llvm-g++-4.2 (GCC) 4.2.1 from Xcode 4.2.1 + (duck) gfortran GNU Fortran (GCC) 4.6.2 + + 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 + + +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 +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 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 +Mac OS X Mountain Lion 10.8.1 64-bit n y/n n y y n +AIX 5.3 32- and 64-bit y y/n y y y y +CentOS 5.5 Linux 2.6.18-308 i686 GNU y y/y y y y y +CentOS 5.5 Linux 2.6.18-308 i686 Intel n y/y n y y y +CentOS 5.5 Linux 2.6.18-308 i686 PGI n y/y n y y y +CentOS 5.5 Linux 2.6.18 x86_64 GNU y y/y y y y y +CentOS 5.5 Linux 2.6.18 x86_64 Intel n y/y n y y y +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 +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 + +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. + + FreeBSD 8.2-STABLE i386 gcc 4.2.1 [FreeBSD] 20070719 + (loyalty) gcc 4.6.1 20110422 + g++ 4.6.1 20110422 + gfortran 4.6.1 20110422 + + FreeBSD 8.2-STABLE amd64 gcc 4.2.1 [FreeBSD] 20070719 + (freedom) gcc 4.6.1 20110422 + g++ 4.6.1 20110422 + gfortran 4.6.1 20110422 + + Debian6.0.3 2.6.32-5-686 #1 SMP i686 GNU/Linux + gcc (Debian 4.4.5-8) 4.4.5 + GNU Fortran (Debian 4.4.5-8) 4.4.5 + (cmake and autotools) + + Debian6.0.3 2.6.32-5-amd64 #1 SMP x86_64 GNU/Linux + gcc (Debian 4.4.5-8) 4.4.5 + GNU Fortran (Debian 4.4.5-8) 4.4.5 + (cmake and autotools) + + Fedora17 3.5.2-1.fc17.i6866 #1 SMP i686 i686 i386 GNU/Linux + gcc (GCC) 4.7.0 20120507 (Red Hat 4.7.0-5) + GNU Fortran (GCC) 4.7.0 20120507 (Red Hat 4.7.0-5) + (cmake and autotools) + + Fedora17 3.5.2-1.fc17.x86_64 #1 SMP x86_64 x86_64 x86_64 GNU/Linux + gcc (GCC) 4.7.0 20120507 (Red Hat 4.7.0-5) + GNU Fortran (GCC) 4.7.0 20120507 (Red Hat 4.7.0-5) + (cmake and autotools) + + SUSE 12.2 3.4.6-2.10-desktop #1 SMP PREEMPT i686 i686 i386 GNU/Linux + gcc (SUSE Linux) 4.7.1 + GNU Fortran (SUSE Linux) 4.7.1 + (cmake and autotools) + + 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 + (cmake and autotools) + + Ubuntu 12.04 3.2.0-29-generic #46-Ubuntu SMP i686 GNU/Linux + gcc (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3 + GNU Fortran (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3 + (cmake and autotools) + + Ubuntu 12.04 3.2.0-29-generic #46-Ubuntu SMP x86_64 GNU/Linux + gcc (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3 + 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 +============== +* The following h5stat test case fails in BG/P machines (and potentially other + 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) + +* The C++ and FORTRAN bindings are not currently working on FreeBSD with the + native release 8.2 compilers (4.2.1), but are working with gcc 4.6 from the + ports (and probably gcc releases after that). + (QAK - 2012/10/19) + +* The following h5dump test case fails in BG/P machines (and potentially other + machines that use a command script to launch executables): + + h5dump --no-compact-subset -d "AHFINDERDIRECT::ah_centroid_t[0] it=0 tl=0" + tno-subset.h5 + + This is due to the embedded spaces in the dataset name being interpreted + by the command script launcher as meta-characters, thus passing three + arguments to h5dump's -d flag. The command passes if run by hand, just + not via the test script. + (AKC - 2012/05/03) + +* On hopper, the build failed when RUNSERIAL and RUNPARALLEL are set + to aprun -np X, because the H5lib_settings.c file was not generated + properly. Not setting those environment variables works, because + configure was able to automatically detect that it's a Cray system + and used the proper launch commands when necessary. + (MSC - 2012/04/18) + +* The data conversion test dt_arith.c fails in "long double" to integer + conversion on Ubuntu 11.10 (3.0.0.13 kernal) with GCC 4.6.1 if the library + is built with optimization -O3 or -O2. The older GCC (4.5) or newer kernal + (3.2.2 on Fedora) doesn't have the problem. Users should lower the + optimization level (-O1 or -O0) by defining CFLAGS in the command line of + "configure" like: + + CFLAGS=-O1 ./configure + + This will overwrite the library's default optimization level. + (SLU - 2012/02/07 - HDFFV-7829) + +* The STDIO VFD does not work on some architectures, possibly due to 32/64 + bit or large file issues. The basic STDIO VFD test is known to fail on + 64-bit SunOS 5.10 on SPARC when built with -m64 and 32-bit OS X/Darwin + 10.7.0. The STDIO VFD test has been disabled while we investigate and + a fix should appear in a future release. + (DER - 2011/10/14 - HDFFV-8235) + +* h5diff can report inconsistent results when comparing datasets of enum type + that contain invalid values. This is due to how enum types are handled in + the library and will be addressed in a future release. + (DER - 2011/10/14 - HDFFV-7527) + +* The links test can fail under the stdio VFD due to some issues with external + links. This will be investigated and fixed in a future release. + (DER - 2011/10/14 - HDFFV-7768) + +* After the shared library support was fixed for some bugs, it was discovered + that "make prefix=XXX install" no longer works for shared libraries. It + still works correctly for static libraries. Therefore, if you want to + install the HDF5 shared libraries in a location such as /usr/local/hdf5, + you need to specify the location via the --prefix option during configure + time. E.g, ./configure --prefix=/usr/local/hdf5 ... + (AKC - 2011/05/07 - HDFFV-7583) + +* The parallel test, t_shapesame, in testpar/, may run for a long time and may + be terminated by the alarm signal. If that happens, one can increase the + alarm seconds (default is 1200 seconds = 20 minutes) by setting the + environment variable, $HDF5_ALARM_SECONDS, to a larger value such as 3600 + (60 minutes). Note that the t_shapesame test may fail in some systems + (see the "While working on the 1.8.6 release..." problem below). If + it does, it will waste more time if $HDF5_ALARM_SECONDS is set + to a larger value. + (AKC - 2011/05/07) + +* The C++ and FORTRAN bindings are not currently working on FreeBSD. + (QAK - 2011/04/26) + +* Shared Fortran libraries are not quite working on AIX. While they are + generated when --enable-shared is specified, the fortran and hl/fortran + tests fail. We are looking into the issue. HL and C++ shared libraries + should now be working as intended, however. + (MAM - 2011/04/20) + +* The --with-mpe configure option does not work with Mpich2. + (AKC - 2011/03/10) + +* While working on the 1.8.6 release of HDF5, a bug was discovered that can + occur when reading from a dataset in parallel shortly after it has been + written to collectively. The issue was exposed by a new test in the parallel + HDF5 test suite, but had existed before that. We believe the problem lies with + certain MPI implementations and/or file systems. + + We have provided a pure MPI test program, as well as a standalone HDF5 + program, that can be used to determine if this is an issue on your system. + They should be run across multiple nodes with a varying number of processes. + These programs can be found at: + http://www.hdfgroup.org/ftp/HDF5/examples/known_problems/ + (NAF - 2011/01/19) + +* The library's test dt_arith.c showed a compiler's rounding problem on + Cygwin when converting from unsigned long long to long double. The + library's own conversion works fine. We defined a macro for Cygwin to + skip this test until we can solve the problem. + (SLU - 2010/05/05 - HDFFV-1264) + +* All the VFL drivers aren't backward compatible. In H5FDpublic.h, the + structure H5FD_class_t changed in 1.8. There is new parameter added to + get_eoa and set_eoa callback functions. A new callback function + get_type_map was added in. The public function H5FDrealloc was taken + out in 1.8. The problem only happens when users define their own driver + for 1.6 and try to plug in 1.8 library. Because there's only one user + complaining about it, we (Elena, Quincey, and I) decided to leave it as + it is (see bug report #1279). Quincey will make a plan for 1.10. + (SLU - 2010/02/02) + +* The --enable-static-exec configure flag will only statically link libraries + if the static version of that library is present. If only the shared version + of a library exists (i.e., most system libraries on Solaris, AIX, and Mac, + for example, only have shared versions), the flag should still result in a + successful compilation, but note that the installed executables will not be + fully static. Thus, the only guarantee on these systems is that the + executable is statically linked with just the HDF5 library. + (MAM - 2009/11/04) + +* 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. + +* A dataset created or rewritten with a v1.6.3 library or after cannot be read + with the v1.6.2 library or before when the Fletcher32 EDC filter is enabled. + There was a bug in the calculation of the Fletcher32 checksum in the + library before v1.6.3; the checksum value was not consistent between big- + endian and little-endian systems. This bug was fixed in Release 1.6.3. + However, after fixing the bug, the checksum value was no longer the same as + before on little-endian system. Library releases after 1.6.4 can still read + datasets created or rewritten with an HDF5 library of v1.6.2 or before. + (SLU - 2005/06/30) + + +%%%%1.8.9%%%% + + +HDF5 version 1.8.9 released on 2012-05-09 +================================================================================ + +INTRODUCTION +============ + +This document describes the differences between HDF5-1.8.8 and +HDF5 1.8.9. It also contains information on the platforms tested and +known problems in HDF5-1.8.9. + +For more details, see the files HISTORY-1_0-1_8_0_rc3.txt +and HISTORY-1_8.txt in the release_docs/ directory of the HDF5 source. + +Links to the HDF5 1.8.9 source code, documentation, and additional materials +can be found on the HDF5 web page at: + + http://www.hdfgroup.org/products/hdf5/ + +The HDF5 1.8.9 release can be obtained from: + + http://www.hdfgroup.org/HDF5/release/obtain5.html + +User documentation for 1.8.9 can be accessed directly at this location: + + http://www.hdfgroup.org/HDF5/doc/ + +New features in the HDF5-1.8.x release series, including brief general +descriptions of some new and modified APIs, are described in the "What's New +in 1.8.0?" document: + + http://www.hdfgroup.org/HDF5/doc/ADGuide/WhatsNew180.html + +All new and modified APIs are listed in detail in the "HDF5 Software Changes +from Release to Release" document, in the section "Release 1.8.9 (current +release) versus Release 1.8.8": + + http://www.hdfgroup.org/HDF5/doc/ADGuide/Changes.html + +If you have any questions or comments, please send them to the HDF Help Desk: + + help@hdfgroup.org + + +CONTENTS +======== + +- New Features +- Support for New Platforms, Languages, and Compilers +- Bug Fixes since HDF5-1.8.8 +- Platforms Tested +- Supported Configuration Features Summary +- Known Problems + + +New Features +============ + + Configuration + ------------- + - None + + Library + ------- + - Added new feature to merge committed datatypes when copying objects, + using new H5O_COPY_MERGE_COMMITTED_DTYPE_FLAG, modified by new API + routines: H5Padd_merge_committed_dtype_path(), + H5Pfree_merge_committed_dtype_paths(), H5Pset_mcdt_search_cb() and + H5Pget_mcdt_search_cb(). (QAK - 2012/03/30) + - Added new feature which allows working with files in memory in the + same ways files are worked with on disk. New API routines include + H5Pset_file_image, H5Pget_file_image, H5Pset_file_image_callbacks, + H5Pget_file_image_callbacks, H5Fget_file_image, and + H5LTopen_file_image. (QAK - 2012/04/17) + + Parallel Library + ---------------- + - Corrected memory allocation error in MPI datatype construction code. + (QAK - 2012/04/23) + - Add two new routines to set/get the atomicity parameter in the + MPI library to perform atomic operations. Some file systems (for + example PVFS2) do not support atomic updates, so those routines + would not be supported. (MSC - 2012/03/27 - HDFFV-7961) + + Tools + ----- + - h5repack: Added ability to set the metadata block size of the output + file, with the '-M'/'--metadata_block_size' command line parameter. + (QAK - 2012/03/30) + - h5stat: Added ability to display a summary of the file space usage for a + file, with the '-S'/'--summary' command line parameter. (QAK - 2012/03/28) + - h5dump: Added capability for "-a" option to show attributes containing "/" + by using an escape character. For example, for a dataset "/dset" + containing attribute "speed(m/h)", use "h5dump -a "/dset/speed(\/h)" + to show the content of the attribute. (PC - 2012/03/12 - HDFFV-7523) + - h5dump: Added ability to apply command options across multiple files using a + wildcard in the filename. Unix example; "h5dump -H -d Dataset1 tarr*.h5". + Cross platform example; "h5dump -H -d Dataset1 tarray1.h5 tarray2.h5 tarray3.h5". + (ADB - 2012/03/12 - HDFFV-7876). + - h5dump: Added new option --no-compact-subset. This option will not + interpret the '[' character as starting the compact form of + subsetting. This is useful when the "h5dump error: unable to + open dataset "datset_name"" message is output because a dataset + name contains a '[' character. (ADB - 2012/03/05 - HDFFV-7689). + - h5repack: Improved performance for big chunked datasets (size > 128MB) + when used with the layout (-l) or compression (-f) options. + Before this change, repacking datasets with chunks with a large first + dimension would take extremely long. For example, repacking a dataset + with chunk dimensions of 1024x5x1 might take many hours to process + while changing a dataset with chunk dimensions set to 1x5x1024 + might take under an hour. After this change, processing the dataset + with chunk dimensions of 1024x5x1 takes about 15 minutes, and processing + a dataset with chunk dimensions of 1x5x1024 takes about 14 minutes. + (JKM - 2012/03/01 - HDFFV-7862) + + High-Level APIs + --------------- + - New API: H5LTpath_valid (Fortran: h5ltpath_valid_f) checks + if a path is correct, determines if a link resolves to a valid + object, and checks that the link does not dangle. (MSB - 2012/03/15) + + Fortran API + ----------- + + - Added for the C API the Fortran wrapper: + h5ocopy_f (MSB - 2012/03/22) + + C++ API + ------- + - None + + +Support for New Platforms, Languages, and Compilers +=================================================== + - None + +Bug Fixes since HDF5-1.8.8 +========================== + + Configuration + ------------- + - Fixed Makefile issue in which "-Wl," was not properly specified + prior to -rpath when building parallel Fortran libraries with + an Intel compiler. (MAM - 2012/03/26) + - Makefiles generated by other packages using h5cc as the compiler + no longer error when 'make' is invoked more than once in order + to 'rebuild' after changes to source. (MAM - 2012/03/26) + - Added code to display the version information of XL Fortran and C++ + in the summary of configure. (AKC - 2012/02/28 - HDFFV-7793) + - Updated all CMakeLists.txt files to indicate the minimum CMake version is + the current standard of 2.8.6 (ADB - 2011/12/05 - HDFFV-7854) + + Library + ------- + - Windows and STDIO correctness changes have been propagated from the SEC2 + and old Windows drivers to the STDIO VFD. (DER - 2012/03/30 - HDFFV-7917) + - Fixed an error that would occur when copying an object with attribute + creation order tracked and indexed. (NAF - 2012/03/28 - HDFFV-7762) + - Fixed a bug in H5Ocopy(): When copying an opened object, call the + object's flush class action to ensure that cached data is flushed so + that H5Ocopy will get the correct data. (VC - 2012/03/27 - HDFFV-7853) + - The istore test will now skip the sparse 50x50x50 test when the VFD does + not support sparse files on that platform. The most important platforms + on which this will be skipped are Windows (NTFS sparse files are not + supported) and Mac OS-X (HFS sparse files are not supported). This + fixes CTest timeout issues on Windows. (DER - 2012/03/27 - HDFFV-7769) + - Windows and POSIX correctness changes have been propagated from the SEC2 + VFD to the Core VFD. This mainly affects file operations on the + driver's backing store and fixes a problem on Windows where large files + could not be read. (DER - 2012/03/27 - HDFFV-7916 - HDFFV-7603) + - When an application tries to write or read many small data chunks and + runs out of memory, the library had a segmentation fault. The fix is to + return the error stack with proper information. + (SLU - 2012/03/23 - HDFFV-7785) + - H5Pset_data_transform had a segmentation fault in some cases like x*-100. + It works correctly now and handles other cases like 100-x or 2/x. + (SLU - 2012/03/15 - HDFFV-7922) + - Fixed rare corruption bugs that could occur when using the new object + header format. (NAF - 2012/03/15 - HDFFV-7879) + - Fixed an error that occurred when creating a contiguous dataset with a + zero-sized dataspace and space allocation time set to 'early'. + (QAK - 2012/03/12) + - Changed Windows thread creation to use _beginthread() instead of + CreateThread(). Threads created by the latter can be killed in + low-memory situations. (DER - 2012/02/10 - HDFFV-7780) + - Creating a dataset in a read-only file caused a segmentation fault when + the file is closed. It's fixed. The attempt to create a dataset will + fail with an error indicating the file is read-only. + (SLU - 2012/01/25 - HDFFV-7756) + - Fixed a segmentation fault that could occur when shrinking a dataset + with chunks larger than 1 MB. (NAF - 2011/11/30 - HDFFV-7833) + - Fixed a bug that could cause H5Oget_info to return the wrong address + after copying a committed (named) datatype. (NAF - 2011/11/14) + - The library allowed the conversion of strings between ASCII and UTF8 + We have corrected it to report an error under this situation. + (SLU - 2011/11/8 - HDFFV-7582) + - Fixed a segmentation fault when the library tried to shrink the size + of a compound datatype through H5Tset_size immediately after the + datatype was created. (SLU - 2011/11/4 - HDFFV-7618) + + Parallel Library + ---------------- + - None + + Tools + ----- + - h5unjam: Fixed a segmentation fault that occurred when h5unjam was used + with the -V (show version) option. (JKM - 2012/04/19 - HDFFV-8001) + - h5repack: Fixed a failure that occurred when repacking the chunk size + of a specified chunked dataset with unlimited max dims. + (JKM - 2012/04/11 - HDFFV-7993) + - h5diff: Fixed a failure when comparing groups. Before the fix, if an + object in a group was compared with an object in another group where + both had the same name but the object type was different, then h5diff + would fail. After the fix, h5diff detects such cases as non-comparable + and displays appropriate error messages. + (JKM - 2012/03/28 - HDFFV-7644) + - h5diff: If unique objects exist only in one file and if h5diff is set to + exclude the unique objects with the --exclude-path option, then h5diff + might miss excluding some objects. This was fixed to correctly exclude + objects. (JKM - 2012/03/20 - HDFFV-7837) + - h5diff: When two symbolic dangling links are compared with the + --follow-symlinks option, the result should be the same. This worked when + comparing two files, but didn't work when comparing two objects. + h5diff now works when comparing two objects. + (JKM - 2012/03/09 - HDFFV-7835) + - h5dump: Added the tools library error stack to properly catch error + information generated within the library. (ADB - 2012/03/12 - HDFFV-7958) + - h5dump: Changed the process where an open link used to fail. Now dangling + links no longer throw error messages. (ADB - 2012/03/12 - HDFFV-7839) + - h5dump: Refactored code to remove duplicated functions. Split XML + functions from DDL functions. Corrected indentation and formatting + errors. Also fixed subsetting counting overflow (HDFFV-5874). Verified + all tools call tools_init() in main. The USER_BLOCK data now correctly + displays within the SUPER_BLOCK info. NOTE: WHITESPACE IN THE OUTPUT + HAS CHANGED. (ADB - 2012/02/17 - HDFFV-7560) + - h5diff: Fixed to prevent from displaying error stack message when + comparing two dangling symbolic links with the follow-symlinks option. + (JKM - 2012/01/13 - HDFFV-7836) + - h5repack: Fixed a memory leak that occurred with the handling of + variable length strings in attributes. + (JKM - 2012/01/10 - HDFFV-7840) + - h5ls: Fixed a segmentation fault that occurred when accessing region + reference data in an attribute. (JKM - 2012/01/06 - HDFFV-7838) + + F90 API + ------- + - None + + C++ API + ------ + - None + + High-Level APIs: + ------ + - None + + Fortran High-Level APIs: + ------ + - h5ltget_attribute_string_f: The h5ltget_attribute_string_f used to return + the C NULL character in the returned character buffer. The returned + charactor buffer now does not return the C NULL character; the buffer + is blank-padded if needed. (MSB - 2012/03/23) + + +Platforms Tested +================ +The following platforms and compilers have been tested for this release. + + AIX 5.3 xlc 10.1.0.5 + (NASA G-ADA) xlC 10.1.0.5 + xlf90 12.1.0.6 + + FreeBSD 8.2-STABLE i386 gcc 4.2.1 [FreeBSD] 20070719 + (loyalty) g++ 4.2.1 [FreeBSD] 20070719 + gcc 4.6.1 20110422 + g++ 4.6.1 20110422 + gfortran 4.6.1 20110422 + + FreeBSD 8.2-STABLE amd64 gcc 4.2.1 [FreeBSD] 20070719 + (freedom) g++ 4.2.1 [FreeBSD] 20070719 + gcc 4.6.1 20110422 + g++ 4.6.1 20110422 + gfortran 4.6.1 20110422 + + Linux 2.6.18-194.3.1.el5PAE GNU C (gcc), Fortran (gfortran), C++ (g++) + #1 SMP i686 i686 i386 compilers for 32-bit applications; + (jam) Version 4.1.2 20080704 (Red Hat 4.1.2-52) + Version 4.5.2 + PGI C, Fortran, C++ Compilers for 32-bit + applications; + Version 11.8-0 + Version 11.9-0 + Intel(R) C, C++, Fortran Compiler for 32-bit + applications; + Version 12.0 + Version 12.1 + MPICH mpich2-1.3.1 compiled with + gcc 4.1.2 and gfortran 4.1.2 + + Linux 2.6.18-308.1.1.el5 GNU C (gcc), Fortran (gfortran), C++ (g++) + #1 SMP x86_64 GNU/Linux compilers for 32-bit applications; + (koala) Version 4.1.2 20080704 (Red Hat 4.1.2-52) + Version 4.5.2 + PGI C, Fortran, C++ for 64-bit target on + x86-64; + Version 11.9-0 (64-bit) + Version 11.8-0 (32-bit) + Intel(R) C, C++, Fortran Compilers for + applications running on Intel(R) 64; + Version 12.0 + Version 12.1 + MPICH mpich2-1.3.1 compiled with + gcc 4.1.2 and gfortran 4.1.2 + + Linux 2.6.32-220.7.1.el6.ppc64 gcc (GCC) 4.4.6 20110731 (Red Hat 4.4.6-3) + #1 SMP ppc64 GNU/Linux g++ (GCC) 4.4.6 20110731 + (ostrich) GNU Fortran (GCC) 4.4.6 20110731 (Red Hat 4.4.6-3) + + Linux 2.6.18-108chaos Intel C, C++, Fortran Compilers Version 11.1 + #1 SMP x86_64 GNU/Linux + (LLNL Aztec) + + IBM Blue Gene/P XL C for Blue Gene/P, bgxlc V9.0 + (LLNL uDawn) XL C++ for Blue Gene/P, bgxlC V9.0 + XL Fortran for Blue Gene/P, bgxlf0 V11.1 + + SunOS 5.10 32- and 64-bit Sun C 5.9 Sun OS_sparc Patch 124867-16 + (linew) Sun Fortran 95 8.3 Sun OS_sparc Patch 127000-13 + Sun C++ 5.9 Sun OS_sparc Patch 124863-26 + Sun C 5.11 SunOS_sparc + Sun Fortran 95 8.5 SunOS_sparc + Sun C++ 5.11 SunOS_sparc + + SGI Altix UV Intel(R) C, Fortran Compilers + SGI ProPack 7 Linux Version 11.1 20100806 + 2.6.32.24-0.2.1.2230.2.PTF- SGI MPT 2.02 + default #1 SMP + (NCSA ember) + + Dell NVIDIA Cluster Intel(R) C, Fortran Compilers + Red Hat Enterprise Linux 6 Version 12.0.4 20110427 + 2.6.32-131.4.1.el6.x86_64 mvapich2 1.7rc1-intel-12.0.4 + (NCSA forge) + + Windows XP Visual Studio 2008 w/ Intel Fortran 10.1 (project files) + Visual Studio 2008 w/ Intel Fortran 11.1 (cmake) + Visual Studio 2010 w/ Intel Fortran 12 (cmake) + + Windows XP x64 Visual Studio 2008 w/ Intel Fortran 10.1 (project files) + Visual Studio 2008 w/ Intel Fortran 11.1 (cmake) + Visual Studio 2010 w/ Intel Fortran 12 (cmake) + + Windows 7 Visual Studio 2008 w/ Intel Fortran 11.1 (cmake) + Visual Studio 2010 w/ Intel Fortran 12 (cmake) + Cygwin(1.7.9 native gcc(4.5.3) compiler and gfortran) + + Windows 7 x64 Visual Studio 2008 w/ Intel Fortran 11.1 (cmake) + Visual Studio 2010 w/ Intel Fortran 12 (cmake) + Cygwin(1.7.9 native gcc(4.5.3) compiler and gfortran) + + Mac OS X Snow Leopard 10.6.8 i686-apple-darwin10-gcc-4.2.1 (GCC) 4.2.1 (gcc) + Darwin Kernel Version 10.8.0 i686-apple-darwin10-g++-4.2.1 (GCC) 4.2.1 (g++) + Intel 64-bit (Apple Inc. build 5666) (dot 3) + (fred) GNU Fortan (GCC) 4.6.1 (gfortran) + Intel C (icc), Fortran (ifort), C++ (icpc) + 12.1.0.038 Build 20110811 + + Mac OS X Snow Leopard 10.6.8 i686-apple-darwin10-gcc-4.2.1 (GCC) 4.2.1 (gcc) + Darwin Kernel Version 10.8.0 i686-apple-darwin10-g++-4.2.1 (GCC) 4.2.1 (g++) + Intel 32-bit (Apple Inc. build 5666) (dot 3) + (tejeda) GNU Fortran (GCC) 4.6.1 (gfortran) + Intel C (icc), Fortran (ifort), C++ (icpc) + 12.1.0.038 Build 20110811 + + Mac OS X Lion 10.7.3 GCC 4.2.1 gcc + 32- and 64-bit GNU Fortran (GCC) 4.6.1 gfortran + (duck) GCC 4.2.1. g++ + + Debian6.0.3 2.6.32-5-686 #1 SMP i686 GNU/Linux + gcc (Debian 4.4.5-8) 4.4.5 + GNU Fortran (Debian 4.4.5-8) 4.4.5 + + Debian6.0.3 2.6.32-5-amd64 #1 SMP x86_64 GNU/Linux + gcc (Debian 4.4.5-8) 4.4.5 + GNU Fortran (Debian 4.4.5-8) 4.4.5 + + Fedora16 3.2.9-2.fc16.i6866 #1 SMP i686 i686 i386 GNU/Linux + gcc (GCC) 4.6.2 20111027 (Red Hat 4.6.2-1) + GNU Fortran (GCC) 4.6.2 20111027 (Red Hat 4.6.2-1) + + Fedora16 3.2.9-2.fc16.x86_64 #1 SMP x86_64 x86_64 x86_64 GNU/Linux + gcc (GCC) 4.6.2 20111027 (Red Hat 4.6.2-1) + GNU Fortran (GCC) 4.6.2 20111027 (Red Hat 4.6.2-1) + + SUSE 12.1 3.1.9-1.4-desktop #1 SMP PREEMPT i686 i686 i386 GNU/Linux + gcc (SUSE Linux) 4.6.2 + GNU Fortran (SUSE Linux) 4.6.2 + + SUSE 12.1 3.1.9-1.4-desktop #1 SMP PREEMPT x86_64 x86_64 x86_64 GNU/Linux + gcc (SUSE Linux) 4.6.2 + GNU Fortran (SUSE Linux) 4.6.2 + + Ubuntu 11.10 3.0.0-16-generic #29-Ubuntu SMP i686 GNU/Linux + gcc (Ubuntu/Linaro 4.6.1-9ubuntu3) 4.6.1 + GNU Fortran (Ubuntu/Linaro 4.6.4-9ubuntu3) 4.6.1 + + Ubuntu 11.10 3.0.0-16-generic #29-Ubuntu SMP x86_64 GNU/Linux + gcc (Ubuntu/Linaro 4.6.1-9ubuntu3) 4.6.1 + GNU Fortran (Ubuntu/Linaro 4.6.1-9ubuntu3) 4.6.1 + + Cray Linux Environment (CLE) PrgEnv-pgi 2.2.74 + hopper.nersc.gov pgcc 11.9-0 64-bit target on x86-64 Linux -tp k8e + pgf90 11.9-0 64-bit target on x86-64 Linux -tp k8e + pgCC 11.9-0 64-bit target on x86-64 Linux -tp k8e + + +Tested Configuration Features Summary +===================================== + + In the tables below + y = tested + n = not tested in this release + C = Cluster + W = Workstation + x = not working in this release + dna = does not apply + ( ) = footnote appears below second table + <blank> = testing incomplete on this feature or platform + +Platform C F90 F90 C++ zlib SZIP + parallel parallel +Solaris2.10 32-bit n y n y y y +Solaris2.10 64-bit n y n y y y +Windows XP n y(4) n y y y +Windows XP x64 n y(4) n y y y +Windows Vista n y(4) n y y y +Windows Vista x64 n y(4) n y y y +Mac OS X Snow Leopard 10.6.8 32-bit n y n y y n +Mac OS X Snow Leopard 10.6.8 64-bit n y n y y y +Mac OS X Lion 10.7.3 32-bit n y n y y n +Mac OS X Lion 10.7.3 64-bit n y n y y y +AIX 5.3 32- and 64-bit y y y y y y +FreeBSD 8.2-STABLE 32&64 bit n x n x y y +CentOS 5.5 Linux 2.6.18-194 i686 GNU (1)W y y(2) y y y y +CentOS 5.5 Linux 2.6.18-194 i686 Intel W n y n y y y +CentOS 5.5 Linux 2.6.18-194 i686 PGI W n y n y y y +CentOS 5.5 Linux 2.6.18 x86_64 GNU (1) W y y(3) y y y y +CentOS 5.5 Linux 2.6.18 x86_64 Intel W n y n y y y +CentOS 5.5 Linux 2.6.18 x86_64 PGI W n y n y y y +Linux 2.6.32-220.7.1.el6.ppc64 n y n y y y +SGI ProPack 7 Linux 2.6.32.24 y y y y y y +Red Hat Enterprise Linux 6 y y y y y y +CLE hopper.nersc.gov y y(3) y y y n + + +Platform Shared Shared Shared Thread- + C libs F90 libs C++ libs safe +Solaris2.10 32-bit y y y y +Solaris2.10 64-bit n n n n +Windows XP y y(4) y n +Windows XP x64 y y(4) y n +Windows Vista y y(4) y y +Windows Vista x64 y y(4) y y +Mac OS X Snow Leopard 10.6.8 32-bit y n y n +Mac OS X Snow Leopard 10.6.8 64-bit y n y n +Mac OS X Lion 10.7.3 32-bit y n y y +Mac OS X Lion 10.7.3 64-bit y n y y +AIX 5.3 32- and 64-bit n n n y +FreeBSD 8.2-STABLE 32&64 bit y x x y +CentOS 5.5 Linux 2.6.18-194 i686 GNU (1)W y y(2) y y +CentOS 5.5 Linux 2.6.18-194 i686 Intel W y y y n +CentOS 5.5 Linux 2.6.18-194 i686 PGI W y y y n +CentOS 5.5 Linux 2.6.18 x86_64 GNU (1) W y y y y +CentOS 5.5 Linux 2.6.18 x86_64 Intel W y y y n +CentOS 5.5 Linux 2.6.18 x86_64 PGI W y y y n +Linux 2.6.32-220.7.1.el6.ppc64 y y y n +SGI ProPack 7 Linux 2.6.32.24 y y y n +Red Hat Enterprise Linux 6 y y y n +CLE hopper.nersc.gov n n n n + + (1) Fortran compiled with gfortran. + (2) With PGI and Absoft compilers. + (3) With PGI compiler for Fortran. + (4) Using Visual Studio 2008 w/ Intel Fortran 10.1 (Cygwin shared libraries are not supported) + (5) C and C++ shared libraries will not be built when Fortran is enabled. + Compiler versions for each platform are listed in the preceding + "Platforms Tested" table. + + +Known Problems +============== +* The h5repacktst test fails on AIX 32-bit because the test uses more + memory than the default amount. The failure message typically looks like: + + "time: 0551-010 The process was stopped abnormally. Try again." + + This is an issue with the test only and does not represent a problem with + the library. To allow the test to pass, request more memory when testing + via appropriate command such as: + + $ env LDR_CNRTL=MAXDATA=0x20000000@DSA make check + + (AKC - 2012/05/09 - HDFFV-8016) + +* The file_image test will fail in the "initial file image and callbacks in + the core VFD" sub-test if the source directory is read-only as the test + fails to create its test files in the build directory. This will be + resolved in a future release. + (AKC - 2012/05/05 - HDFFV-8009) + +* The dt_arith test reports several errors involving "long double" on + Mac OS X 10.7 Lion when any level of optimization is enabled. The test does + not fail in debug mode. This will be addressed in a future release. + (SLU - 2012/05/08) + +* The following h5dump test case fails in BG/P machines (and potentially other + machines that use a command script to launch executables): + + h5dump --no-compact-subset -d "AHFINDERDIRECT::ah_centroid_t[0] it=0 tl=0" + tno-subset.h5 + + This is due to the embedded spaces in the dataset name being interpreted + by the command script launcher as meta-characters, thus passing three + arguments to h5dump's -d flag. The command passes if run by hand, just + not via the test script. + (AKC - 2012/05/03) + +* The ph5diff (parallel h5diff) tool can intermittently hang in parallel mode + when comparing two HDF5 files that contain objects with the same names but + with different object types. + (JKM - 2012/04/27) + +* On hopper, the build failed when RUNSERIAL and RUNPARALLEL are set + to aprun -np X, because the H5lib_settings.c file was not generated + properly. Not setting those environment variables works, because + configure was able to automatically detect that it's a Cray system + and used the proper launch commands when necessary. + (MSC - 2012/04/18) + +* The data conversion test dt_arith.c fails in "long double" to integer + conversion on Ubuntu 11.10 (3.0.0.13 kernal) with GCC 4.6.1 if the library + is built with optimization -O3 or -O2. The older GCC (4.5) or newer kernal + (3.2.2 on Fedora) doesn't have the problem. Users should lower the + optimization level (-O1 or -O0) by defining CFLAGS in the command line of + "configure" like: + + CFLAGS=-O1 ./configure + + This will overwrite the library's default optimization level. + (SLU - 2012/02/07 - HDFFV-7829) + +* The STDIO VFD does not work on some architectures, possibly due to 32/64 + bit or large file issues. The basic STDIO VFD test is known to fail on + 64-bit SunOS 5.10 on SPARC when built with -m64 and 32-bit OS X/Darwin + 10.7.0. The STDIO VFD test has been disabled while we investigate and + a fix should appear in a future release. + (DER - 2011/10/14) + +* h5diff can report inconsistent results when comparing datasets of enum type + that contain invalid values. This is due to how enum types are handled in + the library and will be addressed in a future release. + (DER - 2011/10/14 - HDFFV-7527) + +* The links test can fail under the stdio VFD due to some issues with external + links. This will be investigated and fixed in a future release. + (DER - 2011/10/14 - HDFFV-7768) + +* After the shared library support was fixed for some bugs, it was discovered + that "make prefix=XXX install" no longer works for shared libraries. It + still works correctly for static libraries. Therefore, if you want to + install the HDF5 shared libraries in a location such as /usr/local/hdf5, + you need to specify the location via the --prefix option during configure + time. E.g, ./configure --prefix=/usr/local/hdf5 ... + (AKC - 2011/05/07 - HDFFV-7583) + +* The parallel test, t_shapesame, in testpar/, may run for a long time and may + be terminated by the alarm signal. If that happens, one can increase the + alarm seconds (default is 1200 seconds = 20 minutes) by setting the + environment variable, $HDF5_ALARM_SECONDS, to a larger value such as 3600 + (60 minutes). Note that the t_shapesame test may fail in some systems + (see the "While working on the 1.8.6 release..." problem below). If + it does, it will waste more time if $HDF5_ALARM_SECONDS is set + to a larger value. + (AKC - 2011/05/07) + +* The C++ and FORTRAN bindings are not currently working on FreeBSD. + (QAK - 2011/04/26) + +* Shared Fortran libraries are not quite working on AIX. While they are + generated when --enable-shared is specified, the fortran and hl/fortran + tests fail. We are looking into the issue. HL and C++ shared libraries + should now be working as intended, however. + (MAM - 2011/04/20) + +* The --with-mpe configure option does not work with Mpich2. + (AKC - 2011/03/10) + +* While working on the 1.8.6 release of HDF5, a bug was discovered that can + occur when reading from a dataset in parallel shortly after it has been + written to collectively. The issue was exposed by a new test in the parallel + HDF5 test suite, but had existed before that. We believe the problem lies with + certain MPI implementations and/or file systems. + + We have provided a pure MPI test program, as well as a standalone HDF5 + program, that can be used to determine if this is an issue on your system. + They should be run across multiple nodes with a varying number of processes. + These programs can be found at: + http://www.hdfgroup.org/ftp/HDF5/examples/known_problems/ + (NAF - 2011/01/19) + +* The library's test dt_arith.c showed a compiler's rounding problem on + Cygwin when converting from unsigned long long to long double. The + library's own conversion works fine. We defined a macro for Cygwin to + skip this test until we can solve the problem. + (SLU - 2010/05/05 - HDFFV-1264) + +* All the VFL drivers aren't backward compatible. In H5FDpublic.h, the + structure H5FD_class_t changed in 1.8. There is new parameter added to + get_eoa and set_eoa callback functions. A new callback function + get_type_map was added in. The public function H5FDrealloc was taken + out in 1.8. The problem only happens when users define their own driver + for 1.6 and try to plug in 1.8 library. Because there's only one user + complaining about it, we (Elena, Quincey, and I) decided to leave it as + it is (see bug report #1279). Quincey will make a plan for 1.10. + (SLU - 2010/02/02) + +* MinGW has a missing libstdc++.dll.a library file and will not successfully link + C++ applications/tests. Do not use the enable-cxx configure option. Read all of + the INSTALL_MINGW.txt file for all restrictions. + (ADB - 2009/11/11) + +* The --enable-static-exec configure flag will only statically link libraries + if the static version of that library is present. If only the shared version + of a library exists (i.e., most system libraries on Solaris, AIX, and Mac, + for example, only have shared versions), the flag should still result in a + successful compilation, but note that the installed executables will not be + fully static. Thus, the only guarantee on these systems is that the + executable is statically linked with just the HDF5 library. + (MAM - 2009/11/04) + +* The PathScale MPI implementation, accessing a Panasas file system, would + cause H5Fcreate() with H5F_ACC_EXCL to fail even when the file does not + exist. This is due to the MPI_File_open() call failing if the mode has + the MPI_MODE_EXCL bit set. + (AKC - 2009/08/11 - HDFFV-988) + +* Parallel tests failed with 16 processes with data inconsistency at testphdf5 + / dataset_readAll. Parallel tests also failed with 32 and 64 processes with + collective abort of all ranks at t_posix_compliant / allwrite_allread_blocks + with MPI IO. + (CMC - 2009/04/28) + +* For Red Storm, a Cray XT3 system, the tools/h5ls/testh5ls.sh and + tools/h5copy/testh5copy.sh will fail some of its sub-tests. These sub-tests + are expected to fail and should exit with a non-zero code but the yod + command does not propagate the exit code of the executables. Yod always + returns 0 if it can launch the executable. The test suite shell expects + a non-zero for this particular test, therefore it concludes the test has + failed when it receives 0 from yod. Skip all the "failing" test for now + by changing them as following. + + ======== Original tools/h5ls/testh5ls.sh ========= + TOOLTEST tgroup-1.ls 1 -w80 -r -g tgroup.h5 + ======== Change to =============================== + echo SKIP TOOLTEST tgroup-1.ls 1 -w80 -r -g tgroup.h5 + ================================================== + + ======== Original tools/h5copy/testh5copy.sh ========= + TOOLTEST_FAIL -i $TESTFILE -o $FILEOUT -v -s grp_dsets -d grp_rename + TOOLTEST_FAIL -i $TESTFILE -o $FILEOUT -v -s grp_dsets -d /grp_rename/grp_dsets + TOOLTEST_FAIL -i $TESTFILE -o $FILEOUT -vp -s /grp_dsets -d /E/F/grp_dsets + TOOLTEST_FAIL -i $TESTFILE -o $FILEOUT -vp -s /grp_nested -d /G/H/grp_nested + H5LSTEST $FILEOUT + ======== Change to =============================== + echo SKIP TOOLTEST_FAIL -i $TESTFILE -o $FILEOUT -v -s grp_dsets -d grp_rename + echo SKIP TOOLTEST_FAIL -i $TESTFILE -o $FILEOUT -v -s grp_dsets -d /grp_rename/grp_dsets + echo SKIP TOOLTEST_FAIL -i $TESTFILE -o $FILEOUT -vp -s /grp_dsets -d /E/F/grp_dsets + echo SKIP TOOLTEST_FAIL -i $TESTFILE -o $FILEOUT -vp -s /grp_nested -d /G/H/grp_nested + echo SKIP H5LSTEST $FILEOUT + ================================================== + (AKC - 2008/11/10) + +* For Red Storm, a Cray XT3 system, the yod command sometimes gives the + message, "yod allocation delayed for node recovery". This interferes with + test suites that do not expect to see this message. See the section of "Red + Storm" in file INSTALL_parallel for a way to deal with this problem. + (AKC - 2008/05/28) + +* On an Intel 64 Linux cluster (RH 4, Linux 2.6.9) with Intel 10.0 compilers, + use -mp -O1 compilation flags to build the libraries. A higher level of + optimization causes failures in several HDF5 library tests. + +* On mpich 1.2.5 and 1.2.6, if more than two processes contribute no IO and + the application asks to do collective IO, we have found that when using 4 + processors, a simple collective write will sometimes be hung. This can be + verified with t_mpi test under testpar. + +* A dataset created or rewritten with a v1.6.3 library or after cannot be read + with the v1.6.2 library or before when the Fletcher32 EDC filter is enabled. + There was a bug in the calculation of the Fletcher32 checksum in the + library before v1.6.3; the checksum value was not consistent between big- + endian and little-endian systems. This bug was fixed in Release 1.6.3. + However, after fixing the bug, the checksum value was no longer the same as + before on little-endian system. Library releases after 1.6.4 can still read + datasets created or rewritten with an HDF5 library of v1.6.2 or before. + (SLU - 2005/06/30) + +* On IBM AIX systems, parallel HDF5 mode will fail some tests with error + messages like "INFO: 0031-XXX ...". This is from the command `poe'. + Set the environment variable MP_INFOLEVEL to 0 to minimize the messages + and run the tests again. + + The tests may fail with messages like "The socket name is already in use", + but HDF5 does not use sockets. This failure is due to problems with the + poe command trying to set up the debug socket. To resolve this problem, + check to see whether there are many old /tmp/s.pedb.* files staying around. + These are sockets used by the poe command and left behind due to failed + commands. First, ask your system administrator to clean them out. + Lastly, request IBM to provide a means to run poe without the debug socket. + (AKC - 2004/12/08) + + +%%%%1.8.8%%%% + + +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 +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 +can be found on the HDF5 web page at: + + http://www.hdfgroup.org/products/hdf5/ + +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: + + http://www.hdfgroup.org/HDF5/doc/ + +New features in the HDF5-1.8.x release series, including brief general +descriptions of some new and modified APIs, are described in the "What's New +in 1.8.0?" document: + + http://www.hdfgroup.org/HDF5/doc/ADGuide/WhatsNew180.html + +All new and modified APIs are listed in detail in the "HDF5 Software Changes +from Release to Release" document, in the section "Release 1.8.8 (current +release) versus Release 1.8.7": + + http://www.hdfgroup.org/HDF5/doc/ADGuide/Changes.html + +If you have any questions or comments, please send them to the HDF Help Desk: + + help@hdfgroup.org + + +CONTENTS +======== + +- New Features +- Support for New Platforms, Languages, and Compilers +- Bug Fixes since HDF5-1.8.7 +- Platforms Tested +- Supported Configuration Features Summary +- Known Problems + + +New Features +============ + + Configuration + ------------- + - 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 + 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 + which set it (H5Pset_fapl_windows, for example). Setting the Windows + VFD now really sets the SEC2 VFD. The WINDOWS_MAX_BUF and + WINDOWS_USE_STDIO configuration options and #defines have also been + removed. NOTE: Since the Windows VFD was a clone of the SEC2 VFD, this + change should be transparent to users. + (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 + + High-Level APIs + --------------- + - Added the following Fortran wrappers for the Dimension Scale APIs: + h5dsset_scale_f + h5dsattach_scale_f + h5dsdetach_scale_f + h5dsis_attached_f + h5dsis_scale_f + h5dsset_label_f + h5dsget_label_f + h5dsget_scale_name_f + h5dsget_num_scales_f + (EIP for SB - 2011/10/13 - HDFFV-3797) + + Fortran API + ----------- + - The HDF5 Fortran library was enhanced to support the Fortran 2003 standard. + The following features are available when the HDF5 library is configured + using the --enable-fortran and --enable-fortran2003 configure flags AND + if the Fortran compiler is Fortran 2003 compliant: + + - Subroutines overloaded with the C_PTR derived type: + h5pget_f + h5pget_fill_value_f + h5pinsert_f + h5pregister_f + h5pset_f + h5pset_fill_value_f + h5rcreate_f + h5rderefrence_f + h5rget_name_f + h5rget_obj_type_f + - Subroutines overloaded with the C_PTR derived type + and simplified signatures: + h5aread_f + h5awrite_f + h5dread_f + h5dwrite_f + - New subroutines + h5dvlen_reclaim_f + h5literate_by_name_f + h5literate_f + h5ovisit_f + h5tconvert_f + h5pset_nbit_f + h5pset_scaleoffset_f + - Subroutines with additional optional parameters: + h5pcreate_class_f + (EIP - 2011/10/14) + + C++ API + ------- + - None + + +Support for New Platforms, Languages, and Compilers +=================================================== + - None + +Bug Fixes since HDF5-1.8.7 +========================== + + Configuration + ------------- + - Changed the size of H5_SIZEOF_OFF_T to 4 bytes (was 8) in the VMS + h5pubconf.h based on the output of a test program. (DER - 2011/10/12) + - The Windows and VMS versions of H5pubconf.h were brought into sync with + the linux/posix version. (DER - 2011/10/12) + - Fixed a bug in the bin/trace Perl script where API functions + that take a variable number of arguments were not processed for + 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 + 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) + + Library + ------- + - Corrected the error when copying attributes between files which are using + different versions of the file format. (QAK - 2011/10/20 - HDFFV-7718) + - Corrected the error when loading local heaps from the file, which could + cause the size of the local heap's data block to increase dramatically. + (QAK - 2011/10/14 - HDFFV-7767) + - An application does not need to do H5O_move_msgs_forward() when writing + attributes. Tests were checked into the performance suite. + (VC - 2011/10/13 - HDFFV-7640) + - Fixed a bug that occurred when using H5Ocopy on a committed datatype + containing an attribute using that committed datatype. + (NAF - 2011/10/13 - HDFFV-5854) + - Added generic VFD I/O types to the SEC2 and log VFDs to ensure correct + 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, + 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. + (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 + 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: + 1. In dsets.c, left shifting an unsigned int for 32 bits or more + 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 + 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 + bin/trace Perl script bug noted in the configure section). + (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 + (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 + 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 + didn't say which filter wasn't registered. It's fixed now. (SLU - 2011/06/03) + + Parallel Library + ---------------- + - The Special Collective IO (IO when some processes do not contribute to the + IO) and the Complex Derived Datatype MPI functionalities are no longer + conditionally enabled in the library by configure. They are always + enabled in order to take advantage of performance boosts from these + behaviors. Older MPI implementations that do not allow for these + functionalities can no longer by used by HDF5. + (MAM - 2011/07/08 - HDFFV-7639). + + Tools + ----- + - 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 + 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. + (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. + 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. + (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. + (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 + 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 + 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 + 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. + (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, + 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, + 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. + (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. + (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 + corruption in the calling program. (SB - 2011/07/26) + - Added defined constants: + H5T_ORDER_MIXED_F (HDFFV-2767) + H5Z_SO_FLOAT_DSCALE_F + H5Z_SO_FLOAT_ESCALE_F + H5Z_SO_INT_F + H5Z_SO_INT_MINBITS_DEFAULT_F + H5O_TYPE_UNKNOWN_F + H5O_TYPE_GROUP_F + H5O_TYPE_DATASET_F + H5O_TYPE_NAMED_DATATYPE_F + H5O_TYPE_NTYPES_F + + C++ API + ------ + - None + + High-Level APIs: + ------ + - 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 + 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. + (SB - 2011/06/07 - HDFFV-7605) + + Fortran High-Level APIs: + ------ + - None + + +Platforms Tested +================ +The following platforms and compilers have been tested for this release. + + AIX 5.3 xlc 10.1.0.5 + (NASA G-ADA) xlC 10.1.0.5 + xlf90 12.1.0.6 + + FreeBSD 8.2-STABLE i386 gcc 4.2.1 [FreeBSD] 20070719 + (loyalty) g++ 4.2.1 [FreeBSD] 20070719 + gcc 4.6.1 20110422 + g++ 4.6.1 20110422 + gfortran 4.6.1 20110422 + + FreeBSD 8.2-STABLE amd64 gcc 4.2.1 [FreeBSD] 20070719 + (freedom) g++ 4.2.1 [FreeBSD] 20070719 + gcc 4.6.1 20110422 + g++ 4.6.1 20110422 + gfortran 4.6.1 20110422 + + IBM Blue Gene/P bgxlc 9.0.0.9 + (LLNL uDawn) bgxlf90 11.1.0.7 + bgxlC 9.0.0.9 + + Linux 2.6.16.60-0.54.5-smp Intel(R) C, C++, Fortran Compilers + x86_64 Version 11.1 20090630 + (INL Icestorm) + + Linux 2.6.18-194.el5 x86_64 Intel(R) C, C++, Fortran Compilers + (INL Fission) Version 12.0.2 20110112 + + Linux 2.6.18-108chaos x86_64 Intel(R) C, C++, Fortran Compilers + (LLNL Aztec) Version 11.1 20090630 + + 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 + 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 + Intel(R) C++ Compiler for 32-bit + applications, Version 11.1 + Intel(R) Fortran Compiler for 32-bit + applications, Version 11.1 + MPICH mpich2-1.3.1 compiled with + gcc 4.1.2 and gfortran 4.1.2 + + Linux 2.6.18-238.12.1.el5 gcc 4.1.2 and 4.4.2 + #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, + Version 11.1. + PGI C, Fortran, C++ Version 9.0-4 + for 64-bit target on x86-64 + MPICH mpich2-1.3.1 compiled with + gcc 4.1.2 and gfortran 4.1.2 + + SGI Altix UV Intel(R) C, Fortran Compilers + SGI ProPack 7 Linux Version 11.1 20100806 + 2.6.32.24-0.2.1.2230.2.PTF- SGI MPT 2.02 + default #1 SMP + (NCSA ember) + + Dell NVIDIA Cluster Intel(R) C, Fortran Compilers + Red Hat Enterprise Linux 6 Version 12.0.4 20110427 + 2.6.32-131.4.1.el6.x86_64 mvapich2 1.7rc1-intel-12.0.4 + (NCSA forge) + + SunOS 5.10 32- and 64-bit Sun C 5.11 SunOS_sparc 2010/08/13 + Sun Fortran 95 8.5 SunOS_sparc 2010/08/13 + Sun C++ 5.11 SunOS_sparc 2010/08/13 + + Windows XP Visual Studio 2008 w/ Intel Fortran 10.1 (project files) + Visual Studio 2008 w/ Intel Fortran 11.1 (cmake) + Visual Studio 2010 (cmake) + Cygwin(1.7.9 native gcc(4.5.3) compiler and gfortran) + + Windows XP x64 Visual Studio 2008 w/ Intel Fortran 10.1 (project files) + Visual Studio 2008 w/ Intel Fortran 11.1 (cmake) + Visual Studio 2010 (cmake) + Cygwin(1.7.9 native gcc(4.5.3) compiler and gfortran) + + Windows Vista Visual Studio 2008 w/ Intel Fortran 11.1 (cmake) + + Windows Vista x64 Visual Studio 2008 w/ Intel Fortran 11.1 (cmake) + + Windows 7 Visual Studio 2008 w/ Intel Fortran 11.1 (cmake) + + Windows 7 x64 Visual Studio 2008 w/ Intel Fortran 11.1 (cmake) + + Mac OS X 10.8.0 (Intel 64-bit) i686-apple-darwin10-gcc-4.2.1 (GCC) 4.2.1 (Apple Inc. build 5666) (dot 3) + Darwin Kernel Version 10.8.0 GNU Fortran (GCC) 4.6.1 + Intel C, C++ and Fortran compilers 12.1.0 + + Mac OS X 10.8.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.8.0 GNU Fortran (GCC) version 4.6.1 + Intel C, C++ and Fortran compilers 12.1.0 + + 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) + GNU Fortran (GCC) 4.4.4 20100630 (Red Hat 4.4.4-10) + + Debian6.0.3 2.6.32-5-686 #1 SMP i686 GNU/Linux + gcc (Debian 4.4.5-8) 4.4.5 + GNU Fortran (Debian 4.4.5-8) 4.4.5 + + Debian6.0.3 2.6.32-5-amd64 #1 SMP x86_64 GNU/Linux + gcc (Debian 4.4.5-8) 4.4.5 + GNU Fortran (Debian 4.4.5-8) 4.4.5 + + Fedora15 2.6.40.6-0.fc15.i686.PAE #1 SMP i686 i686 i386 GNU/Linux + gcc (GCC) 4.6.1 20110908 (Red Hat 4.6.1-9) + GNU Fortran (GCC) 4.6.1 20110908 (Red Hat 4.6.1-9) + + Fedora15 2.6.40.6-0.fc15.x86_64 #1 SMP x86_64 x86_64 x86_64 GNU/Linux + gcc (GCC) 4.6.1 20110908 (Red Hat 4.6.1-9) + GNU Fortran (GCC) 4.6.1 20110908 (Red Hat 4.6.1-9) + + SUSE 11.4 2.6.37.6-0.7-desktop #1 SMP PREEMPT i686 i686 i386 GNU/Linux + gcc (SUSE Linux) 4.5.1 20101208 + GNU Fortran (SUSE Linux) 4.5.1 20101208 + + SUSE 11.4 2.6.37.6-0.7-desktop #1 SMP PREEMPT x86_64 x86_64 x86_64 GNU/Linux + gcc (SUSE Linux) 4.5.1 20101208 + GNU Fortran (SUSE Linux) 4.5.1 20101208 + + Ubuntu 11.10 3.0.0-12-generic #20-Ubuntu SMP i686 GNU/Linux + gcc (Ubuntu/Linaro 4.6.1-9ubuntu3) 4.6.1 + GNU Fortran (Ubuntu/Linaro 4.6.4-9ubuntu3) 4.6.1 + + Ubuntu 11.10 3.0.0-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 + + Cray Linux Environment (CLE) PrgEnv-pgi 2.2.74 + hopper.nersc.gov pgcc 11.7-0 64-bit target on x86-64 Linux -tp k8e + franklin.nersc.gov pgf90 11.7-0 64-bit target on x86-64 Linux -tp k8e + pgCC 11.7-0 64-bit target on x86-64 Linux -tp k8e + +Tested Configuration Features Summary +===================================== + + In the tables below + y = tested + n = not tested in this release + C = Cluster + W = Workstation + x = not working in this release + dna = does not apply + ( ) = footnote appears below second table + <blank> = testing incomplete on this feature or platform + +Platform C F90 F90 C++ zlib SZIP + parallel parallel +Solaris2.10 32-bit n y n y y y +Solaris2.10 64-bit n y n y y y +Windows XP n y(4) n y y y +Windows XP x64 n y(4) n y y y +Windows Vista n y(4) n y y y +Windows Vista x64 n y(4) n y y y +OpenVMS Alpha n y n y y n +Mac OS X 10.8 Intel 32-bit n y n y y y +Mac OS X 10.8 Intel 64-bit n y n y y y +AIX 5.3 32- and 64-bit n y n y y y +FreeBSD 8.2-STABLE 32&64 bit n x n x y y +CentOS 5.5 Linux 2.6.18-194 i686 GNU (1)W y y(2) y y y y +CentOS 5.5 Linux 2.6.18-194 i686 Intel W n y n y y n +CentOS 5.5 Linux 2.6.18-194 i686 PGI W n y n y y n +CentOS 5.5 Linux 2.6.16 x86_64 GNU (1) W y y(3) y y y y +CentOS 5.5 Linux 2.6.16 x86_64 Intel W n y n y y n +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 + + +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 +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 + + (1) Fortran compiled with gfortran. + (2) With PGI and Absoft compilers. + (3) With PGI compiler for Fortran. + (4) Using Visual Studio 2008 w/ Intel Fortran 10.1 (Cygwin shared libraries are not supported) + (5) C and C++ shared libraries will not be built when Fortran is enabled. + Compiler versions for each platform are listed in the preceding + "Platforms Tested" table. + + +Known Problems +============== + +* The STDIO VFD does not work on some architectures, possibly due to 32/64 + bit or large file issues. The basic STDIO VFD test is known to fail on + 64-bit SunOS 5.10 on SPARC when built with -m64 and 32-bit OS X/Darwin + 10.7.0. The STDIO VFD test has been disabled while we investigate and + a fix should appear in a future release, possibly 1.8.9. + (DER - 2011/10/14) + +* h5diff can report inconsistent results when comparing datasets of enum type + that contain invalid values. This is due to how enum types are handled in + the library and will be addressed in the next release. + (DER - 2011/10/14 - HDFFV-7527) + +* The links test can fail under the stdio VFD due to some issues with external + links. This will be investigated and fixed in a future release. + (DER - 2011/10/14 - HDFFV-7768) + +* After the shared library support was fixed for some bugs, it was discovered + that "make prefix=XXX install" no longer works for shared libraries. It + still works correctly for static libraries. Therefore, if you want to + install the HDF5 shared libraries in a location such as /usr/local/hdf5, + you need to specify the location via the --prefix option during configure + time. E.g, ./configure --prefix=/usr/local/hdf5 ... + (AKC - 2011/05/07 - HDFFV-7583) + +* The parallel test, t_shapesame, in testpar/, may run for a long time and may + be terminated by the alarm signal. If that happens, one can increase the + alarm seconds (default is 1200 seconds = 20 minutes) by setting the + environment variable, $HDF5_ALARM_SECONDS, to a larger value such as 3600 + (60 minutes). Note that the t_shapesame test may fail in some systems + (see the "While working on the 1.8.6 release..." problem below). If + it does, it will waste more time if $HDF5_ALARM_SECONDS is set + to a larger value. (AKC - 2011/05/07) + +* The C++ and FORTRAN bindings are not currently working on FreeBSD. + (QAK - 2011/04/26) + +* Shared Fortran libraries are not quite working on AIX. While they are + generated when --enable-shared is specified, the fortran and hl/fortran + tests fail. We are looking into the issue. HL and C++ shared libraries + should now be working as intended, however. (MAM - 2011/04/20) + +* The --with-mpe configure option does not work with Mpich2. (AKC - 2011/03/10) + +* While working on the 1.8.6 release of HDF5, a bug was discovered that can + occur when reading from a dataset in parallel shortly after it has been + written to collectively. The issue was exposed by a new test in the parallel + HDF5 test suite, but had existed before that. We believe the problem lies with + certain MPI implementations and/or file systems. + + We have provided a pure MPI test program, as well as a standalone HDF5 + program, that can be used to determine if this is an issue on your system. + They should be run across multiple nodes with a varying number of processes. + These programs can be found at: + http://www.hdfgroup.org/ftp/HDF5/examples/known_problems/ + (NAF - 2011/01/19) + +* The library's test dt_arith.c showed a compiler's rounding problem on + Cygwin when converting from unsigned long long to long double. The + library's own conversion works fine. We defined a macro for Cygwin to + skip this test until we can solve the problem. + (SLU - 2010/05/05 - HDFFV-1264) + +* All the VFL drivers aren't backward compatible. In H5FDpublic.h, the + structure H5FD_class_t changed in 1.8. There is new parameter added to + get_eoa and set_eoa callback functions. A new callback function + get_type_map was added in. The public function H5FDrealloc was taken + out in 1.8. The problem only happens when users define their own driver + for 1.6 and try to plug in 1.8 library. Because there's only one user + complaining about it, we (Elena, Quincey, and I) decided to leave it as + it is (see bug report #1279). Quincey will make a plan for 1.10. + (SLU - 2010/02/02) + +* MinGW has a missing libstdc++.dll.a library file and will not successfully link + C++ applications/tests. Do not use the enable-cxx configure option. Read all of + the INSTALL_MINGW.txt file for all restrictions. (ADB - 2009/11/11) + +* The --enable-static-exec configure flag will only statically link libraries + if the static version of that library is present. If only the shared version + of a library exists (i.e., most system libraries on Solaris, AIX, and Mac, + for example, only have shared versions), the flag should still result in a + successful compilation, but note that the installed executables will not be + fully static. Thus, the only guarantee on these systems is that the + executable is statically linked with just the HDF5 library. + (MAM - 2009/11/04) + +* The PathScale MPI implementation, accessing a Panasas file system, would + cause H5Fcreate() with H5F_ACC_EXCL to fail even when the file does not + exist. This is due to the MPI_File_open() call failing if the mode has + the MPI_MODE_EXCL bit set. (AKC - 2009/08/11 - HDFFV-988) + +* Parallel tests failed with 16 processes with data inconsistency at testphdf5 + / dataset_readAll. Parallel tests also failed with 32 and 64 processes with + collective abort of all ranks at t_posix_compliant / allwrite_allread_blocks + with MPI IO. (CMC - 2009/04/28) + +* For Red Storm, a Cray XT3 system, the tools/h5ls/testh5ls.sh and + tools/h5copy/testh5copy.sh will fail some of its sub-tests. These sub-tests + are expected to fail and should exit with a non-zero code but the yod + command does not propagate the exit code of the executables. Yod always + returns 0 if it can launch the executable. The test suite shell expects + a non-zero for this particular test, therefore it concludes the test has + failed when it receives 0 from yod. Skip all the "failing" test for now + by changing them as following. + + ======== Original tools/h5ls/testh5ls.sh ========= + TOOLTEST tgroup-1.ls 1 -w80 -r -g tgroup.h5 + ======== Change to =============================== + echo SKIP TOOLTEST tgroup-1.ls 1 -w80 -r -g tgroup.h5 + ================================================== + + ======== Original tools/h5copy/testh5copy.sh ========= + TOOLTEST_FAIL -i $TESTFILE -o $FILEOUT -v -s grp_dsets -d grp_rename + TOOLTEST_FAIL -i $TESTFILE -o $FILEOUT -v -s grp_dsets -d /grp_rename/grp_dsets + TOOLTEST_FAIL -i $TESTFILE -o $FILEOUT -vp -s /grp_dsets -d /E/F/grp_dsets + TOOLTEST_FAIL -i $TESTFILE -o $FILEOUT -vp -s /grp_nested -d /G/H/grp_nested + H5LSTEST $FILEOUT + ======== Change to =============================== + echo SKIP TOOLTEST_FAIL -i $TESTFILE -o $FILEOUT -v -s grp_dsets -d grp_rename + echo SKIP TOOLTEST_FAIL -i $TESTFILE -o $FILEOUT -v -s grp_dsets -d /grp_rename/grp_dsets + echo SKIP TOOLTEST_FAIL -i $TESTFILE -o $FILEOUT -vp -s /grp_dsets -d /E/F/grp_dsets + echo SKIP TOOLTEST_FAIL -i $TESTFILE -o $FILEOUT -vp -s /grp_nested -d /G/H/grp_nested + echo SKIP H5LSTEST $FILEOUT + ================================================== + (AKC - 2008/11/10) + +* For Red Storm, a Cray XT3 system, the yod command sometimes gives the + message, "yod allocation delayed for node recovery". This interferes with + test suites that do not expect to see this message. See the section of "Red + Storm" in file INSTALL_parallel for a way to deal with this problem. + (AKC - 2008/05/28) + +* On an Intel 64 Linux cluster (RH 4, Linux 2.6.9) with Intel 10.0 compilers, + use -mp -O1 compilation flags to build the libraries. A higher level of + optimization causes failures in several HDF5 library tests. + +* On mpich 1.2.5 and 1.2.6, if more than two processes contribute no IO and + the application asks to do collective IO, we have found that when using 4 + processors, a simple collective write will sometimes be hung. This can be + verified with t_mpi test under testpar. + +* A dataset created or rewritten with a v1.6.3 library or after cannot be read + with the v1.6.2 library or before when the Fletcher32 EDC filter is enabled. + There was a bug in the calculation of the Fletcher32 checksum in the + library before v1.6.3; the checksum value was not consistent between big- + endian and little-endian systems. This bug was fixed in Release 1.6.3. + However, after fixing the bug, the checksum value was no longer the same as + before on little-endian system. Library releases after 1.6.4 can still read + datasets created or rewritten with an HDF5 library of v1.6.2 or before. + (SLU - 2005/06/30) + +* On IBM AIX systems, parallel HDF5 mode will fail some tests with error + messages like "INFO: 0031-XXX ...". This is from the command `poe'. + Set the environment variable MP_INFOLEVEL to 0 to minimize the messages + and run the tests again. + + The tests may fail with messages like "The socket name is already in use", + but HDF5 does not use sockets. This failure is due to problems with the + poe command trying to set up the debug socket. To resolve this problem, + check to see whether there are many old /tmp/s.pedb.* files staying around. + These are sockets used by the poe command and left behind due to failed + commands. First, ask your system administrator to clean them out. + Lastly, request IBM to provide a means to run poe without the debug socket. + (AKC - 2004/12/08) + + +%%%%1.8.7%%%% + + +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 +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 +can be found on the HDF5 web page at: + + http://www.hdfgroup.org/products/hdf5/ + +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: + + http://www.hdfgroup.org/HDF5/doc/ + +New features in the HDF5-1.8.x release series, including brief general +descriptions of some new and modified APIs, are described in the "What's New +in 1.8.0?" document: + + http://www.hdfgroup.org/HDF5/doc/ADGuide/WhatsNew180.html + +All new and modified APIs are listed in detail in the "HDF5 Software Changes +from Release to Release" document, in the section "Release 1.8.7 (current +release) versus Release 1.8.6": + + http://www.hdfgroup.org/HDF5/doc/ADGuide/Changes.html + +If you have any questions or comments, please send them to the HDF Help Desk: + + help@hdfgroup.org + + +CONTENTS +======== + +- New Features +- Support for New Platforms, Languages, and Compilers +- Bug Fixes since HDF5-1.8.6 +- Platforms Tested +- Supported Configuration Features Summary +- Known Problems + + +New Features +============ + + Configuration + ------------- + - Configure now generates Makefiles that build in "silent make mode" + by default in which compile and link lines are significantly + simplified for clarity. To override this and view actual compile and + link lines during building, the --disable-silent-rules flag can be used + at configure time, or the 'make' command can be followed by V=1, to + indicate a "verbose" make. (MAM - 2011/4/14). + - Added mpicc and mpif90 as the default C and Fortran compilers for Linux + systems when --enable-parallel is specified but no $CC or $FC is defined. + (AKC - 2011/2/7) + - 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 + 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 + 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) + - 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) + + 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 + 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 + 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) + and LT read datasets routines (h5ltread_dataset_f,h5ltread_dataset_int_f, + 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 + ------- + - None + + C++ API + ------- + - None + + +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 +========================== + + Configuration + ------------- + - Shared C++ and HL libraries on AIX should now be working correctly. + 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) + - Shared C libraries are no longer disabled on Mac when Fortran + 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 + the C++/Fortran wrapper libraries may not align with the C library. + (MAM - 2011/04/11 - HDFFV-4353). + + Library + ------- + - 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 + 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 + 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 + HDgettimeofday() is defined and works properly. Bug HDFFV-5931 + (DER - 2011/04/14) + - Added basic VFD tests for the Windows, STDIO and log VFD tests. + (DER - 2011/04/11) + + Parallel Library + ---------------- + - None + + Tools + ----- + - 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 + (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| ). + 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; + <reference> ::= H5T_REFERENCE { <ref_type> } + <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 + attribute differences. Bug #2121 (JKM 2011/3/17) + - 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 + string data. Bug #2216 (JKM 2011/3/18) + - 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 + 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 + _vsnprintf() function. Bug #2161 (JKM 2011/3/3) + - 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 + 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, + making the output clearer. Bug #1979 (JKM 2010/11/09) + - 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. + 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) + + F90 API + ------ + - None + + C++ API + ------ + - None + + High-Level APIs: + ------ + - None + + Fortran High-Level APIs: + ------ + - 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 + the maximum string character length in a field name element. + Bug HDFFV-1255 (MSB- 4/17/2011) + + + + +Platforms Tested +================ +The following platforms and compilers have been tested for this release. + + AIX 6.1 xlc 11.1.0.3 + (NCSA BP) xlC 11.1.0.3 + xlf90 13.1.0.3 + mpcc_r 11.1.0.3 + mpxlf90_r 13.1.0.3 + + FreeBSD 8.2-STABLE i386 gcc 4.2.1 [FreeBSD] 20070719 + (loyalty) g++ 4.2.1 [FreeBSD] 20070719 + gcc 4.6.1 20110422 + g++ 4.6.1 20110422 + gfortran 4.6.1 20110422 + + FreeBSD 8.2-STABLE amd64 gcc 4.2.1 [FreeBSD] 20070719 + (freedom) g++ 4.2.1 [FreeBSD] 20070719 + gcc 4.6.1 20110422 + g++ 4.6.1 20110422 + gfortran 4.6.1 20110422 + + Linux 2.6.18-194.3.1.el5PAE 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 + (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 + Intel(R) C++ Compiler for 32-bit + applications, Version 11.1 + Intel(R) Fortran Compiler for 32-bit + applications, Version 11.1 + Absoft 32-bit Fortran 95 10.0.7 + MPICH mpich2-1.3.1 compiled with + gcc 4.1.2 and gfortran 4.1.2 + + Linux 2.6.18-194.17.1.el5 gcc 4.1.2 and 4.4.2 + #1 SMP x86_64 GNU/Linux G95 (GCC 4.0.3 (g95 0.93!) Apr 21 2010) + (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, + Version 11.1. + PGI C, Fortran, C++ Version 9.0-4 + for 64-bit target on x86-64 + MPICH mpich2-1.3.1 compiled with + gcc 4.1.2 and gfortran 4.1.2 + + SGI ProPack 7 Linux Intel(R) C++ Version 11.1 20100806 + 2.6.32.24-0.2.1.2230.2.PTF- Intel(R) Fortran Version 11.1 20100806 + default #1 SMP SGI MPT 2.01 + SGI Altix UV + (NCSA ember) + + SunOS 5.10 32- and 64-bit Sun C 5.9 Sun OS_sparc Patch 124867-16 + (linew) Sun Fortran 95 8.3 Sun OS_sparc Patch 127000-13 + Sun C++ 5.9 Sun OS_sparc Patch 124863-26 + Sun C 5.10 SunOS_sparc Patch 141861-07 + Sun Fortran 95 8.4 SunOS_sparc Patch 128231-06 + Sun C++ 5.10 SunOS_sparc 128228-11 + + Intel Xeon Linux 2.6.18- gcc 4.2.4 + 92.1.10.el5_lustre.1.6.6smp- Intel(R) C++ Version 10.1.017 + perfctr #8 SMP Intel(R) Fortran Compiler Version 10.1.017 + (NCSA abe) Open MPI 1.3.2 + MVAPICH2-1.5.1_pgi-10.8 + + Windows XP Visual Studio 2008 w/ Intel Fortran 10.1 (project files) + Visual Studio 2008 w/ Intel Fortran 11.1 (cmake) + Visual Studio 2010 (cmake) + Cygwin(1.7.7 native gcc(4.3.4) compiler and gfortran) + + Windows XP x64 Visual Studio 2008 w/ Intel Fortran 10.1 (project files) + Visual Studio 2008 w/ Intel Fortran 11.1 (cmake) + Visual Studio 2010 (cmake) + Cygwin(1.7.7 native gcc(4.3.4) compiler and gfortran) + + Windows Vista Visual Studio 2008 w/ Intel Fortran 11.1 (cmake) + + Windows Vista x64 Visual Studio 2008 w/ Intel Fortran 11.1 (cmake) + + Windows 7 Visual Studio 2008 w/ Intel Fortran 11.1 (cmake) + + Windows 7 x64 Visual Studio 2008 w/ Intel Fortran 11.1 (cmake) + + Mac OS X 10.7.0 (Intel 64-bit) i686-apple-darwin10-gcc-4.2.1 (GCC) 4.2.1 + Darwin Kernel Version 10.7.0 GNU Fortran (GCC) 4.6.0 20101106 (experimental) + 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] + + 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) + GNU Fortran (GCC) 4.4.4 20100630 (Red Hat 4.4.4-10) + + Debian6.01 2.6.32-5-686 #1 SMP i686 GNU/Linux + gcc (Debian 4.4.5-8) 4.4.5 + GNU Fortran (Debian 4.4.5-8) 4.4.5 + + Debian6.01 2.6.32-5-amd64 #1 SMP x86_64 GNU/Linux + gcc (Debian 4.4.5-8) 4.4.5 + GNU Fortran (Debian 4.4.5-8) 4.4.5 + + Fedora14 2.6.35.12-88.fc14.i686.PAE #1 SMP i686 i686 i386 GNU/Linux + gcc (GCC) 4.5.1 20100924 (Red Hat 4.5.1-4) + GNU Fortran (GCC) 4.5.1 20100924 (Red Hat 4.5.1-4) + + Fedora14 2.6.35.12-88.fc14.x86_64 #1 SMP x86_64 x86_64 x86_64 GNU/Linux + gcc (GCC) 4.5.1 20100924 (Red Hat 4.5.1-4) + GNU Fortran (GCC) 4.5.1 20100924 (Red Hat 4.5.1-4) + + SUSE 11.4 2.6.37.1-1.2-desktop #1 SMP PREEMPT i686 i686 i386 GNU/Linux + gcc (SUSE Linux) 4.5.1 20101208 + GNU Fortran (SUSE Linux) 4.5.1 20101208 + + SUSE 11.4 2.6.37.1-1.2-desktop #1 SMP PREEMPT x86_64 x86_64 x86_64 GNU/Linux + gcc (SUSE Linux) 4.5.1 20101208 + GNU Fortran (SUSE Linux) 4.5.1 20101208 + + Ubuntu 10.10 2.6.35-28-generic #50-Ubuntu SMP i686 GNU/Linux + gcc (Ubuntu/Linaro 4.4.4-14ubuntu5) 4.4.5 + GNU Fortran (Ubuntu/Linaro 4.4.4-14ubuntu5) 4.4.5 + + 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 + +Tested Configuration Features Summary +======================================== + + In the tables below + y = tested + n = not tested in this release + C = Cluster + W = Workstation + x = not working in this release + dna = does not apply + ( ) = footnote appears below second table + <blank> = testing incomplete on this feature or platform + +Platform C F90 F90 C++ zlib SZIP + parallel parallel +Solaris2.10 32-bit n y n y y y +Solaris2.10 64-bit n y n y y y +Windows XP n y(4) n y y y +Windows XP x64 n y(4) n y y y +Windows Vista n y(4) n y y y +Windows Vista x64 n y(4) n y y y +OpenVMS Alpha n y n y y n +Mac OS X 10.7 Intel 32-bit n y n y y y +Mac OS X 10.7 Intel 64-bit n y n y y y +AIX 6.1 32- and 64-bit y y y y y y +FreeBSD 8.2-STABLE 32&64 bit n x n x y y +CentOS 5.5 Linux 2.6.18-194 i686 GNU (1)W y y(2) y y y y +CentOS 5.5 Linux 2.6.18-194 i686 Intel W n y n y y n +CentOS 5.5 Linux 2.6.18-194 i686 PGI W n y n y y n +CentOS 5.5 Linux 2.6.16 x86_64 GNU (1) W y y(3) y y y y +CentOS 5.5 Linux 2.6.16 x86_64 Intel W n y n y y n +CentOS 5.5 Linux 2.6.16 x86_64 PGI W n y n y y y +RedHat EL4 2.6.18 Xeon Lustre C y y y y y n +Fedora 12 Linux 2.6.32.16-150.fc12.ppc64 n y n y 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 +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 +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 + + (1) Fortran compiled with gfortran. + (2) With PGI and Absoft compilers. + (3) With PGI compiler for Fortran. + (4) Using Visual Studio 2008 w/ Intel Fortran 10.1 (Cygwin shared libraries are not supported) + (5) C and C++ shared libraries will not be built when Fortran is enabled. + Compiler versions for each platform are listed in the preceding + "Platforms Tested" table. + + +Known Problems +============== +* After the shared library support was fixed for some bugs, it was discovered + that "make prefix=XXX install" no longer works for shared libraries. It + still works correctly for static libraries. Therefore, if you want to + install the HDF5 shared libraries in a location such as /usr/local/hdf5, + you need to specify the location via the --prefix option during configure + time. E.g, ./configure --prefix=/usr/local/hdf5 ... + (AKC - 2011/05/07 HDFFV-7583) + +* The parallel test, t_shapesame, in testpar/, may run for a long time and may + be terminated by the alarm signal. If that happens, one can increase the + alarm seconds (default is 1200 seconds = 20 minutes) by setting the + environment variable, $HDF5_ALARM_SECONDS, to a larger value such as 3600 + (60 minutes). Note that the t_shapesame test may fail in some systems + (see the "While working on the 1.8.6 release..." problem below). If + it does, it will waste more time if $HDF5_ALARM_SECONDS is set + to a larger value. (AKC - 2011/05/07) + +* The C++ and FORTRAN bindings are not currently working on FreeBSD. + (QAK - 2011/04/26) + +* Shared Fortran libraries are not quite working on AIX. While they are + generated when --enable-shared is specified, the fortran and hl/fortran + tests fail. We are looking into the issue. HL and C++ shared libraries + should now be working as intended, however. (MAM - 2011/04/20) + +* The --with-mpe configure option does not work with Mpich2. AKC - 2011/03/10 + +* 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 + executable of h5perf or h5perf_serial by two "parallel" commands. This error + has no consequence on the functionality of the HDF5 library or install. It + is fixed in the next release. AKC - 2011/01/25 + +* While working on the 1.8.6 release of HDF5, a bug was discovered that can + occur when reading from a dataset in parallel shortly after it has been + written to collectively. The issue was exposed by a new test in the parallel + HDF5 test suite, but had existed before that. We believe the problem lies with + certain MPI implementations and/or file systems. + + We have provided a pure MPI test program, as well as a standalone HDF5 + program, that can be used to determine if this is an issue on your system. + They should be run across multiple nodes with a varying number of processes. + These programs can be found at: + http://www.hdfgroup.org/ftp/HDF5/examples/known_problems/ + +* The library's test dt_arith.c showed a compiler's rounding problem on + Cygwin when converting from unsigned long long to long double. The + library's own conversion works fine. We defined a macro for Cygwin to + skip this test until we can solve the problem. Please see bug #1813. + 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 + 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 + with MPI IO. CMC - 2009/04/28 + +* For Red Storm, a Cray XT3 system, the tools/h5ls/testh5ls.sh and + tools/h5copy/testh5copy.sh will fail some of its sub-tests. These sub-tests + are expected to fail and should exit with a non-zero code but the yod + command does not propagate the exit code of the executables. Yod always + returns 0 if it can launch the executable. The test suite shell expects + a non-zero for this particular test, therefore it concludes the test has + failed when it receives 0 from yod. Skip all the "failing" test for now + by changing them as following. + + ======== Original tools/h5ls/testh5ls.sh ========= + TOOLTEST tgroup-1.ls 1 -w80 -r -g tgroup.h5 + ======== Change to =============================== + echo SKIP TOOLTEST tgroup-1.ls 1 -w80 -r -g tgroup.h5 + ================================================== + + ======== Original tools/h5copy/testh5copy.sh ========= + TOOLTEST_FAIL -i $TESTFILE -o $FILEOUT -v -s grp_dsets -d grp_rename + TOOLTEST_FAIL -i $TESTFILE -o $FILEOUT -v -s grp_dsets -d /grp_rename/grp_dsets + TOOLTEST_FAIL -i $TESTFILE -o $FILEOUT -vp -s /grp_dsets -d /E/F/grp_dsets + TOOLTEST_FAIL -i $TESTFILE -o $FILEOUT -vp -s /grp_nested -d /G/H/grp_nested + H5LSTEST $FILEOUT + ======== Change to =============================== + echo SKIP TOOLTEST_FAIL -i $TESTFILE -o $FILEOUT -v -s grp_dsets -d grp_rename + echo SKIP TOOLTEST_FAIL -i $TESTFILE -o $FILEOUT -v -s grp_dsets -d /grp_rename/grp_dsets + echo SKIP TOOLTEST_FAIL -i $TESTFILE -o $FILEOUT -vp -s /grp_dsets -d /E/F/grp_dsets + echo SKIP TOOLTEST_FAIL -i $TESTFILE -o $FILEOUT -vp -s /grp_nested -d /G/H/grp_nested + echo SKIP H5LSTEST $FILEOUT + ================================================== + AKC - 2008/11/10 + +* For Red Storm, a Cray XT3 system, the yod command sometimes gives the + message, "yod allocation delayed for node recovery". This interferes with + test suites that do not expect to see this message. See the section of "Red + Storm" in file INSTALL_parallel for a way to deal with this problem. + AKC - 2008/05/28 + +* On an Intel 64 Linux cluster (RH 4, Linux 2.6.9) with Intel 10.0 compilers, + use -mp -O1 compilation flags to build the libraries. A higher level of + optimization causes failures in several HDF5 library tests. + +* On mpich 1.2.5 and 1.2.6, if more than two processes contribute no IO and + the application asks to do collective IO, we have found that when using 4 + processors, a simple collective write will sometimes be hung. This can be + verified with t_mpi test under testpar. + +* A dataset created or rewritten with a v1.6.3 library or after cannot be read + with the v1.6.2 library or before when the Fletcher32 EDC filter is enabled. + There was a bug in the calculation of the Fletcher32 checksum in the + library before v1.6.3; the checksum value was not consistent between big- + endian and little-endian systems. This bug was fixed in Release 1.6.3. + However, after fixing the bug, the checksum value was no longer the same as + before on little-endian system. Library releases after 1.6.4 can still read + datasets created or rewritten with an HDF5 library of v1.6.2 or before. + SLU - 2005/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'. + Set the environment variable MP_INFOLEVEL to 0 to minimize the messages + and run the tests again. + + The tests may fail with messages like "The socket name is already in use", + but HDF5 does not use sockets. This failure is due to problems with the + poe command trying to set up the debug socket. To resolve this problem, + check to see whether there are many old /tmp/s.pedb.* files staying around. + These are sockets used by the poe command and left behind due to failed + commands. First, ask your system administrator to clean them out. + Lastly, request IBM to provide a means to run poe without the debug socket. + +* 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. + +* 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 + is the default on that system) does not work properly and results in + failures during make check (in a static build) and make installcheck (during + a shared build). This appears to be a compiler optimization problem. + Reducing optimization by setting CFLAGS to -O1 or below resolves the issue. + Alternatively, using a newer version of the compiler (11.0) also works as + intended. MAM - 2010/06/01 + +* h5diff will not report enum value differences when one or both of the values + is not a valid enumeration value. The source of this bug has been identified + and it will be fixed in 1.8.8. DER - 2011/04/27 + + +%%%%1.8.6%%%% + + +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 +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 +can be found on the HDF5 web page at: + + http://www.hdfgroup.org/products/hdf5/ + +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: + + http://www.hdfgroup.org/HDF5/doc/ + +New features in the HDF5-1.8.x release series, including brief general +descriptions of some new and modified APIs, are described in the "What's New +in 1.8.0?" document: + + http://www.hdfgroup.org/HDF5/doc/ADGuide/WhatsNew180.html + +All new and modified APIs are listed in detail in the "HDF5 Software Changes +from Release to Release" document, in the section "Release 1.8.6 (current +release) versus Release 1.8.5": + + http://www.hdfgroup.org/HDF5/doc/ADGuide/Changes.html + +If you have any questions or comments, please send them to the HDF Help Desk: + + help@hdfgroup.org + + +CONTENTS +======== + +- New Features +- Support for New Platforms, Languages, and Compilers +- Bug Fixes since HDF5-1.8.5 +- Platforms Tested +- Supported Configuration Features Summary +- Known Problems + + +New Features +============ + + Configuration + ------------- + - 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. + (ADB - 2010/10/07) + - 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 + 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 + parallel I/O drivers. (QAK - 2010/07/19) + - 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) + + 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 + will be excluded. (JKM - 2010/09/16). + - 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 + details. (JKM - 2010/05/25) + + High-Level APIs + --------------- + - None + + F90 API + ------- + - None + + C++ API + ------- + - None + + +Support for New Platforms, Languages, and Compilers +=================================================== + - Sun C and C++ 5.10 and Sun Fortran 95 8.4. + - Mac OS X 10.6.4 with gcc 4.2.1 and gfortran 4.6 + + +Bug Fixes since HDF5-1.8.5 +========================== + + Configuration + ------------- + - 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 + 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 + more memory. (AKC - 2010/11/11) + - 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, + section 4.1. (AKC - 2010/06/11 - Bug 1921) + + Library + ------- + - Fixed a bug that caused big endian machines to generate corrupt files + when using the scale-offset filter with floating point data or fill + 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 + 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 + 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 + 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 + 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, + H5F_LIBVER_LATEST, H5F_LIBVER_LATEST) but didn't have a superblock + extension was later reopened. (QAK - 2010/09/16 - Bug 1968) + - Fixed a bug that could occur when getting information for a new-style + group that was previously opened through a file handle that was later + closed. (NAF - 2010/09/15) + - Added define check in H5public.h if stdint.h is supported by the C++ + compiler. This define is only available on Windows with VS2010 and using + 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. + (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 + required for creating all chunked datasets. (QAK - 2010/09/02) + - 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 + 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. + (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 + performance as well). (QAK - 2010/07/19) + - Fixed a bug that could cause file corruption when using non-default sizes + of addresses and/or lengths. This bug could also cause uncorrupted files + with this property to be unreadable. This bug was introduced in 1.8.5. + (NAF - 2010/07/16 - Bug 1951) + + Parallel Library + ---------------- + - None + + Tools + ----- + - 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 + $shared_link. (LRK - 2010/10/25 - Bug 1973) + + F90 API + ------ + - None + + C++ API + ------ + - None + + High-Level APIs: + ------ + - None + + Fortran High-Level APIs: + ------ + - None + + +Platforms Tested +================ +The following platforms and compilers have been tested for this release. + + AIX 6.1 xlc 11.1.0.3 + (NCSA BP) xlC 11.1.0.3 + xlf 13.1.0.3 + mpcc_r 11.1.0.3 + mpxlf_r 13.1.0.3 + + FreeBSD 6.3-STABLE i386 gcc 3.4.6 [FreeBSD] 20060305 + (duty) g++ 3.4.6 [FreeBSD] 20060305 + gcc 4.4.5 20100803 + g++ 4.4.5 20100803 + gfortran 4.4.5 20100803 + + FreeBSD 6.3-STABLE amd64 gcc 3.4.6 [FreeBSD] 20060305 + (liberty) g++ 3.4.6 [FreeBSD] 20060305 + gcc 4.4.5 20100803 + g++ 4.4.5 20100803 + gfortran 4.4.5 20100803 + + 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 + (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 + Intel(R) C++ Compiler for 32-bit + applications, Version 11.1 + Intel(R) Fortran Compiler for 32-bit + applications, Version 11.1 + Absoft 32-bit Fortran 95 10.0.7 + MPICH mpich2-1.3.1 compiled with + gcc 4.1.2 and gfortran 4.1.2 + + Linux 2.6.18-194.17.1.el5 gcc 4.1.2 and 4.4.2 + #1 SMP x86_64 GNU/Linux G95 (GCC 4.0.3 (g95 0.93!) Apr 21 2010) + (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, + Version 11.1. + PGI C, Fortran, C++ Version 9.0-4 + for 64-bit target on x86-64 + MPICH mpich2-1.3.1 compiled with + gcc 4.1.2 and gfortran 4.1.2 + + SGI ProPack 7 Linux Intel(R) C++ Version 11.1 20100806 + 2.6.32.19-0.3.1.1982.0.PTF- Intel(R) Fortran Version 11.1 20100806 + default #1 SMP SGI MPT 2.01 + SGI Altix UV + (NCSA ember) + + SunOS 5.10 32- and 64-bit Sun C 5.9 Sun OS_sparc Patch 124867-16 + (linew) Sun Fortran 95 8.3 Sun OS_sparc Patch 127000-13 + Sun C++ 5.9 Sun OS_sparc Patch 124863-62 + Sun C 5.10 SunOS_sparc Patch 141861-07 + Sun Fortran 95 8.4 SunOS_sparc Patch 128231-06 + Sun C++ 5.10 SunOS_sparc 128228-11 + + Intel Xeon Linux 2.6.18- gcc 4.2.4 + 92.1.10.el5_lustre.1.6.6smp- Intel(R) C++ Version 10.1.017 + perfctr #8 SMP Intel(R) Fortran Compiler Version 10.1.017 + (NCSA abe) Open MPI 1.3.2 + MVAPICH2-1.5.1_pgi-10.8 + + Windows XP Visual Studio 2008 w/ Intel Fortran 10.1 (project files) + Visual Studio 2008 w/ Intel Fortran 11.1 (cmake) + Visual Studio 2010 (cmake) + Cygwin(1.7.7 native gcc(4.3.4) compiler and gfortran) + + Windows XP x64 Visual Studio 2008 w/ Intel Fortran 10.1 (project files) + Visual Studio 2008 w/ Intel Fortran 11.1 (cmake) + Visual Studio 2010 (cmake) + Cygwin(1.7.7 native gcc(4.3.4) compiler and gfortran) + + Windows Vista Visual Studio 2008 w/ Intel Fortran 10.1 (project files) + Visual Studio 2008 w/ Intel Fortran 11.1 (cmake) + + Windows Vista x64 Visual Studio 2008 w/ Intel Fortran 10.1 (project files) + Visual Studio 2008 w/ Intel Fortran 11.1 (cmake) + + Windows 7 Visual Studio 2008 w/ Intel Fortran 11.1 (cmake) + + 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 + 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 + Darwin Kernel Version 10.4.0 GNU Fortran (GCC) 4.6.0 20101106 + 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 + Intel C, C++ and Fortran compilers 11.1 20100806 + + 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) + GNU Fortran (GCC) 4.4.4 20100630 (Red Hat 4.4.4-10) + + Debian5.06 2.6.26-2-686 #1 SMP i686 GNU/Linux + gcc (Debian 4.3.2-1.1) 4.3.2 + GNU Fortran (Debian 4.3.2-1.1) 4.3.2 + + Debian5.06 2.6.26-2-amd64 #1 SMP x86_64 GNU/Linux + gcc (Debian 4.3.2-1.1) 4.3.2 + GNU Fortran (Debian 4.3.2-1.1) 4.3.2 + + Fedora14 2.6.35.6-48.fc14.i686.PAE #1 SMP i686 i686 i386 GNU/Linux + gcc (GCC) 4.5.1 20100924 (Red Hat 4.5.1-4) + GNU Fortran (GCC) 4.5.1 20100924 (Red Hat 4.5.1-4) + + Fedora14 2.6.35.6-48.fc14.x86_64 #1 SMP x86_64 x86_64 x86_64 GNU/Linux + gcc (GCC) 4.5.1 20100924 (Red Hat 4.5.1-4) + GNU Fortran (GCC) 4.5.1 20100924 (Red Hat 4.5.1-4) + + SUSE 11.3 2.6.34.7-0.7-desktop #1 SMP PREEMPT i686 i686 i386 GNU/Linux + gcc (SUSE Linux) 4.5.0 20100604 [gcc-4_5-branch revision 160292] + GNU Fortran (SUSE Linux) 4.5.0 20100604 [gcc-4_5-branch revision 160292] + + SUSE 11.3 2.6.34.7-0.7-desktop #1 SMP PREEMPT x86_64 x86_64 x86_64 GNU/Linux + gcc (SUSE Linux) 4.5.0 20100604 [gcc-4_5-branch revision 160292] + GNU Fortran (SUSE Linux) 4.5.0 20100604 [gcc-4_5-branch revision 160292] + + Ubuntu 10.10 2.6.35-25-generic #44-Ubuntu SMP i686 GNU/Linux + gcc (Ubuntu/Linaro 4.4.4-14ubuntu5) 4.4.5 + GNU Fortran (Ubuntu/Linaro 4.4.4-14ubuntu5) 4.4.5 + + 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 + +Tested Configuration Features Summary +======================================== + + In the tables below + y = tested + n = not tested in this release + C = Cluster + W = Workstation + x = not working in this release + dna = does not apply + ( ) = footnote appears below second table + <blank> = testing incomplete on this feature or platform + +Platform C F90 F90 C++ zlib SZIP + parallel parallel +Solaris2.10 32-bit n y n y y y +Solaris2.10 64-bit n y n y y y +Windows XP n y(4) n y y y +Windows XP x64 n y(4) n y y y +Windows Vista n y(4) n y y y +Windows Vista x64 n y(4) n y y y +OpenVMS Alpha n y n y y n +Mac OS X 10.6 Intel n y n y y y +AIX 6.1 32- and 64-bit y y y y y y +FreeBSD 6.3-STABLE 32&64 bit n y n y y y +CentOS 5.5 Linux 2.6.18-194 i686 GNU (1)W y y(2) y y y y +CentOS 5.5 Linux 2.6.18-194 i686 Intel W n y n y y n +CentOS 5.5 Linux 2.6.18-194 i686 PGI W n y n y y n +CentOS 5.5 Linux 2.6.16 x86_64 GNU (1) W y y(3) y y y y +CentOS 5.5 Linux 2.6.16 x86_64 Intel W n y n y y n +CentOS 5.5 Linux 2.6.16 x86_64 PGI W n y n y y y +RedHat EL4 2.6.18 Xeon Lustre C y y y y y n +Fedora 12 Linux 2.6.32.16-150.fc12.ppc64 n y n y 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 +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 +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 + + (1) Fortran compiled with gfortran. + (2) With PGI and Absoft compilers. + (3) With PGI compiler for Fortran. + (4) Using Visual Studio 2008 w/ Intel Fortran 10.1 (Cygwin shared libraries are not supported) + (5) C and C++ shared libraries will not be built when Fortran is enabled. + Compiler versions for each platform are listed in the preceding + "Platforms Tested" table. + + +Known Problems +============== +* examples/run-all-ex.sh does not work on Cygwin. (NAF - 2011/02/11) + +* Parallel test, t_shapesame in testpar, is rather unstable as it continues to + have occasional errors in AIX and quite often in NCSA Abe. It is being built + but it is not run automatically in the "make check" command. One would have to + run it by hand to see if it works in a particular machine. AKC - 2011/01/28 + +* Although OpenVMS Alpha is supported, there are several problems with the C + test suite - getname.c, lheap.c, lheap.c, mtime.c, and stab.c. The test + suite for h5diff also fails. These failures are from the tests, not the + 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 + +* 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 + executable of h5perf or h5perf_serial by two "parallel" commands. This error + has no consequence on the functionality of the HDF5 library or install. It + is fixed in the next release. AKC - 2011/01/25 + +* While working on the 1.8.6 release of HDF5, a bug was discovered that can + occur when reading from a dataset in parallel shortly after it has been + written to collectively. The issue was exposed by a new test in the parallel + HDF5 test suite, but had existed before that. We believe the problem lies with + certain MPI implementations and/or filesystems. + + We have provided a pure MPI test program, as well as a standalone HDF5 + program, that can be used to determine if this is an issue on your system. + They should be run across multiple nodes with a varying number of processes. + These programs can be found at: + http://www.hdfgroup.org/ftp/HDF5/examples/known_problems/ + +* 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. + (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 + 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. + 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 + 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 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 + +* 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 =============================== + echo SKIP TOOLTEST tgroup-1.ls 1 -w80 -r -g tgroup.h5 + ================================================== + + ======== Original tools/h5copy/testh5copy.sh ========= + TOOLTEST_FAIL -i $TESTFILE -o $FILEOUT -v -s grp_dsets -d grp_rename + TOOLTEST_FAIL -i $TESTFILE -o $FILEOUT -v -s grp_dsets -d /grp_rename/grp_dsets + TOOLTEST_FAIL -i $TESTFILE -o $FILEOUT -vp -s /grp_dsets -d /E/F/grp_dsets + TOOLTEST_FAIL -i $TESTFILE -o $FILEOUT -vp -s /grp_nested -d /G/H/grp_nested + H5LSTEST $FILEOUT + ======== Change to =============================== + echo SKIP TOOLTEST_FAIL -i $TESTFILE -o $FILEOUT -v -s grp_dsets -d grp_rename + echo SKIP TOOLTEST_FAIL -i $TESTFILE -o $FILEOUT -v -s grp_dsets -d /grp_rename/grp_dsets + echo SKIP TOOLTEST_FAIL -i $TESTFILE -o $FILEOUT -vp -s /grp_dsets -d /E/F/grp_dsets + echo SKIP TOOLTEST_FAIL -i $TESTFILE -o $FILEOUT -vp -s /grp_nested -d /G/H/grp_nested + echo SKIP H5LSTEST $FILEOUT + ================================================== + AKC - 2008/11/10 + +* For Red Storm, a Cray XT3 system, the yod command sometimes gives the + message "yod allocation delayed for node recovery." This interferes + with test suites that do not expect to see this message. See the "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 + 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 + 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 + 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 + 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 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 + (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 + "if test ! -d red; then". + + +%%%%1.8.5%%%% + + +HDF5 version 1.8.5 released on Fri Jun 4 13:27:31 CDT 2010 +================================================================================ + +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 +in the release_docs/ directory of the HDF5 source. + +Links to the HDF5 1.8.5 source code, documentation, and additional materials +can be found on the HDF5 web page at: + + http://www.hdfgroup.org/products/hdf5/ + +The HDF5 1.8.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: + + http://www.hdfgroup.org/HDF5/doc/ + +New features in the HDF5-1.8.x release series, including brief general +descriptions of some new and modified APIs, are described in the "What's New +in 1.8.0?" document: + + http://www.hdfgroup.org/HDF5/doc/ADGuide/WhatsNew180.html + +All new and modified APIs are listed in detail in the "HDF5 Software Changes +from Release to Release" document, in the section "Release 1.8.5 (current +release) versus Release 1.8.4": + + http://www.hdfgroup.org/HDF5/doc/ADGuide/Changes.html + +If you have any questions or comments, please send them to the HDF Help Desk: + + help@hdfgroup.org + + +CONTENTS +======== + +- New Features +- Support for New Platforms, Languages, and Compilers +- Bug Fixes since HDF5-1.8.4 +- Platforms Tested +- Supported Configuration Features Summary +- Known Problems + + +New Features +============ + + Configuration + ------------- + - CMake Early Access: This release adds support for building HDF5 using + the CMake system. Initial work has targeted Windows, but other platforms + can be used. See the CMake.TXT file for more information. Version + 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 + 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 + 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 + SIGBUS or SIGSEGV failures in some platforms such as Linux on Sparc. + (AKC - 2010/4/28 - Bug # 1764) + - Fixed various "strict aliasing" problems, allowing higher levels + 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. + (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 + allows non-system-default compiler command names (e.g. xlc-m.n.k.l) be + recognized. (AKC - 2009/11/26) + + Library + ------- + - 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 + as well as datasets. Pipeline messages can now be stored in a group's + object header. (NAF/QAK - 2009/11/3) + + 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 + 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) + - 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 + displaying big-endian data on a little-endian machine. (JKM - 2009/11/20) + + High-Level APIs + --------------- + - None + + F90 API + ------- + - None + + C++ API + ------- + - New member functions + + Overloaded CommonFG::getObjnameByIdx to take char* for name. + + Overloaded CommonFG::getObjTypeByIdx to return type name as a char*. + (BMR - 2010/05/10) + + Added DataSet::getInMemDataSize() to simplify getting the dataset's + data size in memory. (BMR - 2009/07/26) + + +Support for New Platforms, Languages, and Compilers +=================================================== + - AIX 6.1 has been added. (AKC - 2010/1/4) + + +Bug Fixes since HDF5-1.8.4 +========================== + + Configuration + ------------- + - Fixed various "strict aliasing" problems, allowing higher levels + of compiler optimization (in particular, allowing '-O3' to work + with recent versions of GCC). (QAK - 2010/04/26) + + Library + ------- + - Fixed a file corruption bug that could happen when shrinking a compressed + 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 + 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 + 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. + (MAM - 2010/03/15 - Bug # 1730) + - Files can now be concurrently opened more than once using the core file + driver, as long as the backing store is used. (NAF - 2010/03/09) + - Added support for H5O_COPY_EXPAND_EXT_LINK_FLAG to H5Ocopy. External + links will now be expanded if this flag is set. + (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. + (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. + (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. + (QAK - 2009/12/01) + + Parallel Library + ---------------- + - Parallel mode in AIX will fail some of the testcheck_version.sh tests + where it treats "exit(134) the same as if process 0 had received an abort + signal. Fixed. (AKC - 2009/11/3) + + Tools + ----- + - 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 + directly. (JKM - 2010/04/22 - Bug # 1817) + - 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 + + 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. + (BMR - 2010/5/9) + - The parameters 'size' and 'bufsize' in CommonFG::getLinkval and + CommonFG::getComment, respectively, now have default values for the + user's convenience. (BMR - 2009/10/23) + - NULL pointer accessing was fixed. (BMR - 2009/10/05 - Bug # 1061) + - Read/write methods of DataSet and Attribute classes were fixed + to handle string correctly. (BMR - 2009/07/26) + + High-Level APIs: + ------ + - 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 + are left attached. (EIP - 2010/05/14 - Bug # 1822) + + Fortran High-Level APIs: + ------ + - None + + +Platforms Tested +================ +The following platforms and compilers have been tested for this release. + + AIX 5.3 xlc 7.0.0.9, 8.0.0.20, 9.0.0.4 + (LLNL Up) xlC 7.0.0.9, 8.0.0.20, 9.0.0.4 + xlf 9.1.0.9, 10.1.0.9, 11.1.0.7 + mpcc_r 7.0.0.9 + mpxlf_r 09.01.0000.0008 + + AIX 6.1 xlc 10.1.0.6 + (NCSA BP) xlC 10.1.0.6 + xlf 12.1.0.7 + + Cray XT3 (2.1.56) cc (pgcc) 10.0-0 + (SNL red storm) ftn (pgf90) 10.0-0 + CC (pgCC) 10.0-0 + + FreeBSD 6.3-STABLE i386 gcc 3.4.6 [FreeBSD] 20060305 + (duty) g++ 3.4.6 [FreeBSD] 20060305 + gcc 4.3.4 20090419 + g++ 4.3.4 20090419 + gfortran 4.3.4 20090419 + + FreeBSD 6.3-STABLE amd64 gcc 3.4.6 [FreeBSD] 20060305 + (liberty) g++ 3.4.6 [FreeBSD] 20060305 + gcc 4.4.1 20090421 + g++ 4.4.1 20090421 + gfortran 4.4.1 20090421 + + Linux 2.6.18-128.1.6.el5xen gcc (GCC) 4.1.2 20080704 and 4.4.2 + #1 SMP i686 i686 i386 GNU Fortran (GCC) 4.1.2 20080704 and 4.4.2 + (jam) g++ (GCC) 4.1.2 20080704 and 4.4.2 + G95 (GCC 4.0.3 (g95 0.93!) Apr 21 2010) + Absoft 32-bit Fortran 95 10.0.7 + PGI C, Fortran, C++ 10.4-0 32-bit + Intel(R) C, C++, Fortran Compilers for 32-bit + applications, Version 11.1 Build 20090827 + 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 + 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 + G95 (GCC 4.0.3 (g95 0.93!) Apr 21 2010) + 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 + MPICH mpich2-1.0.8 compiled with + gcc 4.1.2 and GNU Fortran (GCC) 4.1.2 + + Linux 2.6.16.54-0.2.5 #1 Intel(R) C++ Version 11.0.074 + SGI Altix SMP ia64 Intel(R) Fortran Itanium(R) Version 11.0.074 + (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 + 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, + (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 + gfortran) + + Windows XP x64 Visual Studio 2008 w/ Intel Fortran 10.1 + + Windows Vista Visual Studio 2008 w/ Intel Fortran 10.1 + + 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 + (pahra) GNU Fortran (GCC) 4.5.0 20090910 + 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) + + MAC OS 10.5 (PPC) powerpc-apple-darwin9-gcc-4.0.1 (GCC) 4.0.1 + (juniper-w) + + OpenVMS Alpha V8.3 HP C V7.3-009 + HP C++ V7.3-009 + HP Fortran V8.0-1-104669-48GBT + +Supported Configuration Features Summary +======================================== + + In the tables below + y = tested and supported + n = not supported or not tested in this release + C = Cluster + W = Workstation + x = not working in this release + dna = does not apply + ( ) = footnote appears below second table + <blank> = testing incomplete on this feature or platform + +Platform C F90 F90 C++ zlib SZIP + parallel parallel +Solaris2.10 32-bit n y n y y y +Solaris2.10 64-bit n y n y y y +Windows XP n y(4) n(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 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 +AIX 6.1 32- and 64-bit n y n y y n +FreeBSD 6.3-STABLE 32&64 bit n y n y y y +RedHat EL4 2.6.9-42 i686 GNU (1) W y y y y y y +RedHat EL5 2.6.18-128 i686 GNU (1)W y y(2) y y y y +RedHat EL5 2.6.18-128 i686 Intel W n y n y y n +RedHat EL5 2.6.18-128 i686 PGI W n y n y y n +SuSe Linux 2.6.16 x86_64 GNU (1) W y y(3) y y y y +SuSe Linux 2.6.16 x86_64 Intel W n y n y y n +SuSe Linux 2.6.16 x86_64 PGI W n y n y y y +SuSe Linux 2.6.16 SGI Altix ia64 C y y y y y y +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 +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 + + (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 + supported.) + (5) Shared C and C++ are disabled when Fortran is configured in. + Compiler versions for each platform are listed in the preceding + "Platforms Tested" table. + + +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 + to skip this test until we can solve the problem. (Please see bug #1813.) + 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 + get_eoa and set_eoa callback functions. 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 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. + 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 + memory. + LDR_CNTRL=MAXDATA=0x20000000@DSA + AKC - 2009/10/31 + +* The PathScale MPI implementation, accessing a Panasas file system, would + 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 + +* For gcc v4.3 and v4.4, with production mode, if -O3 is used, H5Tinit.c + would fail to compile. Actually bad H5Tinit.c is produced. If -O (same + as -O1) is used, H5Tinit.c compiled okay but test/dt_arith would fail. + When -O0 (no optimizatio) is used, H5Tinit.c compilete okay and all + tests passed. Therefore, -O0 is imposed for v4.3 and v4.4 of gcc. + AKC - 2009/04/20 + +* For Red Storm, a Cray XT3 system, the tools/h5ls/testh5ls.sh and + tools/h5copy/testh5copy.sh will fail some of its sub-tests. These sub-tests + are expected to fail and should exit with a non-zero code but the yod + command does not propagate the exit code of the executables. Yod always + returns 0 if it can launch the executable. The test suite shell expects + a non-zero for this particular test, therefore it concludes the test has + failed when it receives 0 from yod. Skip all the "failing" test for now + by changing them as following. + + ======== Original tools/h5ls/testh5ls.sh ========= + TOOLTEST tgroup-1.ls 1 -w80 -r -g tgroup.h5 + ======== Change to =============================== + echo SKIP TOOLTEST tgroup-1.ls 1 -w80 -r -g tgroup.h5 + ================================================== + + ======== Original tools/h5copy/testh5copy.sh ========= + TOOLTEST_FAIL -i $TESTFILE -o $FILEOUT -v -s grp_dsets -d grp_rename + TOOLTEST_FAIL -i $TESTFILE -o $FILEOUT -v -s grp_dsets -d /grp_rename/grp_dsets + TOOLTEST_FAIL -i $TESTFILE -o $FILEOUT -vp -s /grp_dsets -d /E/F/grp_dsets + TOOLTEST_FAIL -i $TESTFILE -o $FILEOUT -vp -s /grp_nested -d /G/H/grp_nested + H5LSTEST $FILEOUT + ======== Change to =============================== + echo SKIP TOOLTEST_FAIL -i $TESTFILE -o $FILEOUT -v -s grp_dsets -d grp_rename + echo SKIP TOOLTEST_FAIL -i $TESTFILE -o $FILEOUT -v -s grp_dsets -d /grp_rename/grp_dsets + echo SKIP TOOLTEST_FAIL -i $TESTFILE -o $FILEOUT -vp -s /grp_dsets -d /E/F/grp_dsets + echo SKIP TOOLTEST_FAIL -i $TESTFILE -o $FILEOUT -vp -s /grp_nested -d /G/H/grp_nested + echo SKIP H5LSTEST $FILEOUT + ================================================== + AKC - 2008/11/10 + +* For Red Storm, a Cray XT3 system, the yod command sometimes gives the + message, "yod allocation delayed for node recovery". This interferes with + test suites that do not expect seeing 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 Intel 64 Linux cluster (RH 4, Linux 2.6.9) with Intel 10.0 compilers, + use -mp -O1 compilation flags to build the libraries. A higher level of + optimization causes failures in several HDF5 library tests. + +* On mpich 1.2.5 and 1.2.6, if more than two processes contribute no IO and + the application asks to do collective IO, we have found that when using 4 + processors, a simple collective write will sometimes be hung. This can be + verified with t_mpi test under testpar. + +* A dataset created or rewritten with a v1.6.3 library or after cannot be read + with the v1.6.2 library or before when the Fletcher32 EDC filter is enabled. + There was a bug in the calculation of the Fletcher32 checksum in the + library before v1.6.3; the checksum value was not consistent between big- + endian and little-endian systems. This bug was fixed in Release 1.6.3. + However, after fixing the bug, the checksum value was no longer the same as + before on little-endian system. Library releases after 1.6.4 can still read + datasets created or rewritten with an HDF5 library of v1.6.2 or before. + SLU - 2005/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'. + Set the environment variable MP_INFOLEVEL to 0 to minimize the messages + and run the tests again. + + The tests may fail with messages like "The socket name is already in use," + but HDF5 does not use sockets. This failure is due to problems with the + poe command trying to set up the debug socket. To resolve this problem, + check to see whether there are many old /tmp/s.pedb.* files staying around. + These are sockets used by the poe command and left behind due to failed + commands. First, ask your system administrator to clean them out. + Lastly, request IBM to provide a means to run poe without the debug socket. + +* 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. + +* 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 + in install-examples with the error '"Makefile", line 635: Need an operator'. + When this error occurs removing or commenting out the line "export + LD_LIBRARY_PATH=$(LL_PATH)" (line 635 in examples/Makefile) will allow make + install to finish installing examples. The problem will be fixed in the + next release. LRK - 2010/05/26 + +* On cobalt, an SGI Altix SMP ia64 system, Intel compiler version 10.1 (which + is the default on that system) does not work properly and results in + failures during make check (in a static build) and make installcheck (during + a shared build). This appears to be a compiler optimization problem. + Reducing optimization by setting CFLAGS to -O1 or below resolves the issue. + Alternatively, using a newer version of the compiler (11.0) also works as + intended. MAM - 2010/06/01 + + +%%%%1.8.4%%%% + + +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 +known problems in HDF5-1.8.4 +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 +can be found on the HDF5 web page at: + + http://www.hdfgroup.org/products/hdf5/ + +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: + + http://www.hdfgroup.org/HDF5/doc/ + +New features in the HDF5-1.8.x release series, including brief general +descriptions of some new and modified APIs, are described in the "What's New +in 1.8.0?" document: + + http://www.hdfgroup.org/HDF5/doc/ADGuide/WhatsNew180.html + +All new and modified APIs are listed in detail in the "HDF5 Software Changes +from Release to Release" document, in the section "Release 1.8.4 (current +release) versus Release 1.8.3": + + http://www.hdfgroup.org/HDF5/doc/ADGuide/Changes.html + +If you have any questions or comments, please send them to the HDF Help Desk: + + help@hdfgroup.org + + +CONTENTS +======== + +- New Features +- Support for New Platforms, Languages, and Compilers +- Bug Fixes since HDF5-1.8.3 +- Platforms Tested +- Supported Configuration Features Summary +- Known Problems + + +New Features +============ + + Configuration + ------------- + - 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- + + Library + ------- + - The embedded library information is displayed by H5check_version() if a + version mismatch is detected. Also changed H5check_version() to + suppress the warning message totally if $HDF5_DISABLE_VERSION_CHECK is 2 + or higher. (Old behavior treated 3 or higher the same as 1, that is + print a warning and allows the program to continue. (AKC - 2009/9/28) + - If a user does not care for the extra library information insert + in the executables, he may turn it off by --disable-embedded-libinfo + during configure. (AKC - 2009/9/15) + + 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) + (PC -- 2009/07/28) + - h5diff: add option "--use-system-epsilon" to print difference if + (|a-b| > EPSILON). + Change default to use strict equality (PC -- 2009/09/12) + + High-Level APIs + --------------- + - None + + F90 API + ------- + - Added H5Oopen_by_addr_f MSB - 9/14/09 + + C++ API + ------- + - None + + +Support for New Platforms, Languages, and Compilers +=================================================== + - PathScale compilers are recognized and can build the HDF5 library + properly. AKC - 2009/7/28 - + + +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/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 + 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 + 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 + 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 + 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 + recognize some gcc options. Fixed. (see bug 1301). AKC - 2009/7/28 - + + Library + ------- + - Fixed a bug where writing and deleting many global heap objects (i.e. + variable length data) would render the file unreadable. Previously + created files exhibiting this problem should now be readable. + NAF - 2009/10/27 - 1483 + - Fixed error in library's internal caching mechanisms which could cause + an assertion failure (and attendent core dump) when encountering an + unusually formatted file. (QAK - 2009/10/13) + - Fixed incorrect return value for H5Pget_preserve. AKC - 2009/10/08 - 1628 + - Fixed an assertion failure that occurred when H5Ocopy was called on a + dataset using a vlen inside a compound. NAF - 2009/10/02 - 1597 + - Fixed incorrect return value for H5Pget_filter_by_id1/2 in H5Ppublic.h. + NAF - 2009/09/25 - 1620 + - Fixed a bug where properties weren't being compared with the registered + compare callback. NAF - 2009/09/25 - 1555 + - Corrected problem where library would re-write the superblock in a file + opened for R/W access, even when no changes were made to the file. + (QAK - 2009/08/20, Bz#1473) + - Fixed a bug where H5Pget_filter_by_id would succeed when called for a + filter that wasn't present. NAF - 2009/06/25 - 1250 + - Fixed an issue with committed compound datatypes containing a vlen. Also + fixed memory leaks involving committed datatypes. NAF - 2009/06/10 - 1593 + + Parallel Library + ---------------- + - None + + Tools + ----- + - 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. + ADB - 2009/06/11 -1504 + + + F90 API + ------ + - 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, & + link_type, f_corder_valid, corder, cset, address, val_size, hdferr, lapl_id) + + MSB - 2009/9/17 - 1652 + + - 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 + + - Added FORTRAN equivalent of C constant H5T_ORDER_NONE: H5T_ORDER_NONE_F + MSB - 2009-9-24 - 1471 + + C++ API + ------ + - None + + High-Level APIs: + ------ + - Fixed a bug where the H5TB API would forget the order of fields when added + out of offset order. NAF - 2009/10/27 - 1582 + - H5DSis_attached failed to account for different platform types. Added a + get native type call. ADB - 2009/9/29 - 1562 + + Fortran High-Level APIs: + ------ + - 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 + + + +Platforms Tested +================ +The following platforms and compilers have been tested for this release. + + AIX 5.3 xlc 7.0.0.8 + (LLNL Up) 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 + (SNL red storm) ftn (pgf90) 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 + gcc 4.3.5 20091004 + g++ 4.3.5 20091004 + gfortran 4.3.5 20091004 + + FreeBSD 6.3-STABLE amd64 gcc 3.4.6 [FreeBSD] 20060305 + (liberty) g++ 3.4.6 [FreeBSD] 20060305 + gcc 4.4.2 20091006 + g++ 4.4.2 20091006 + gfortran 4.4.2 20091006 + + 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 + (Red Hat 4.1.2-46) + PGI C, Fortran, C++ 8.0-5 32-bit + PGI C, Fortran, C++ 8.0-1 32-bit + Intel(R) C Compiler for 32-bit + applications, Versions 11.0, 11.1 + Intel(R) C++ Compiler for 32-bit + applications, Version 11.0, 11.1 + Intel(R) Fortran Compiler for 32-bit + 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 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, + Versions 11.1. + PGI C, Fortran, C++ Version 9.0-4 + for 64-bit target on x86-64 + gcc 4.1.2 and G95 (GCC 4.0.3 (g95 0.92!) + MPICH mpich2-1.0.8 compiled with + gcc 4.1.2 and G95 (GCC 4.0.3 (g95 0.92!) + GNU Fortran (GCC) 4.1.2 20080704 + (Red Hat 4.1.2-46) + + + Linux 2.6.16.60-0.42.5 #1 Intel(R) C++ Version 10.1.017 + SGI Altix SMP ia64 Intel(R) Fortran Itanium(R) Version 10.1.017 + (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 + Patch 127000-11 2009/10/06 + 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 + perfctr #6 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 + + IA-64 Linux 2.4.21-309.tg1 gcc (GCC) 3.2.2 + #1 SMP ia64 Intel(R) C++ Version 8.1.037 + (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, + 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 Glory) Versions 10.1. + + Windows XP Visual Studio 2005 w/ Intel Fortran 9.1 + Cygwin(native gcc compiler and g95) + + Windows XP x64 Visual Studio 2005 w/ Intel Fortran 9.1 + + Windows Vista Visual Studio 2005 w/ Intel Fortran 9.1 + + Windows Vista x64 Visual Studio 2005 w/ Intel Fortran 9.1 + + MAC OS 10.5.6 (Intel) i686-apple-darwin9-gcc-4.0.1 (GCC) 4.0.1 + 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 +======================================== + + In the tables below + y = tested and supported + n = not supported or not tested in this release + C = Cluster + W = Workstation + x = not working in this release + dna = does not apply + ( ) = footnote appears below second table + <blank> = testing incomplete on this feature or platform + +Platform C F90 F90 C++ zlib SZIP + parallel parallel +Solaris2.10 32-bit n y n y y y +Solaris2.10 64-bit n y n y y y +Windows XP n y(4) n(4) y y y +Windows XP x64 n y(4) n(4) 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 32&64 bit n y n y y y +RedHat EL5 2.6.18-164 i686 GNU (1)W y y(2) y y y y +RedHat EL5 2.6.18-164 i686 Intel W n y n y y n +RedHat EL5 2.6.18-164 i686 PGI W n y n y y n +RedHat EL5 2.6.18-164 x86_64 GNU(1)W y y(3) y y y y +RedHat EL5 2.6.18-164 x86_64 IntelW n y n y y n +RedHat EL5 2.6.18-164 x86_64 PGI W n y n y y y +SuSe Linux 2.6.16 SGI Altix ia64 C y y y y y y +RedHat EL4 2.6.18 Xeon Lustre C y y y y y n +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 +RedHat EL4 2.6.18 Xeon Lustre 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. + (2) With PGI and Absoft compilers. + (3) With PGI compiler for Fortran. + (4) Using Visual Studio 2005 or Cygwin + Compiler versions for each platform are listed in the preceding + "Platforms Tested" table. + + +Known Problems +============== +* Parallel mode in AIX will fail some of the testcheck_version.sh tests where + it treats "exit(134) the same as if process 0 had received an abort signal. + This is fixed and will be available in the next release. AKC - 2009/11/3 + +* 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 + memory. + LDR_CNTRL=MAXDATA=0x20000000@DSA + AKC - 2009/10/31 + +* The PathScale MPI implementation, accessing a Panasas file system, would + 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 + 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 + superblock. A fix is currently underway and should be included in the 1.8.4 + release of HDF5. MAM - 2009/04/28 + +* For gcc v4.3 and v4.4, with production mode, if -O3 is used, H5Tinit.c + would fail to compile. Actually bad H5Tinit.c is produced. If -O (same + as -O1) is used, H5Tinit.c compiled okay but test/dt_arith would fail. + When -O0 (no optimizatio) is used, H5Tinit.c compilete okay and all + tests passed. Therefore, -O0 is imposed for v4.3 and v4.4 of gcc. + AKC - 2009/04/20 + +* For Red Storm, a Cray XT3 system, the tools/h5ls/testh5ls.sh and + tools/h5copy/testh5copy.sh will fail some of its sub-tests. These sub-tests + are expected to fail and should exit with a non-zero code but the yod + command does not propagate the exit code of the executables. Yod always + returns 0 if it can launch the executable. The test suite shell expects + a non-zero for this particular test, therefore it concludes the test has + failed when it receives 0 from yod. Skip all the "failing" test for now + by changing them as following. + + ======== Original tools/h5ls/testh5ls.sh ========= + TOOLTEST tgroup-1.ls 1 -w80 -r -g tgroup.h5 + ======== Change to =============================== + echo SKIP TOOLTEST tgroup-1.ls 1 -w80 -r -g tgroup.h5 + ================================================== + + ======== Original tools/h5copy/testh5copy.sh ========= + TOOLTEST_FAIL -i $TESTFILE -o $FILEOUT -v -s grp_dsets -d grp_rename + TOOLTEST_FAIL -i $TESTFILE -o $FILEOUT -v -s grp_dsets -d /grp_rename/grp_dsets + TOOLTEST_FAIL -i $TESTFILE -o $FILEOUT -vp -s /grp_dsets -d /E/F/grp_dsets + TOOLTEST_FAIL -i $TESTFILE -o $FILEOUT -vp -s /grp_nested -d /G/H/grp_nested + H5LSTEST $FILEOUT + ======== Change to =============================== + echo SKIP TOOLTEST_FAIL -i $TESTFILE -o $FILEOUT -v -s grp_dsets -d grp_rename + echo SKIP TOOLTEST_FAIL -i $TESTFILE -o $FILEOUT -v -s grp_dsets -d /grp_rename/grp_dsets + echo SKIP TOOLTEST_FAIL -i $TESTFILE -o $FILEOUT -vp -s /grp_dsets -d /E/F/grp_dsets + echo SKIP TOOLTEST_FAIL -i $TESTFILE -o $FILEOUT -vp -s /grp_nested -d /G/H/grp_nested + echo SKIP H5LSTEST $FILEOUT + ================================================== + AKC - 2008/11/10 + +* For Red Storm, a Cray XT3 system, the yod command sometimes gives the + message, "yod allocation delayed for node recovery". This interferes with + test suites that do not expect seeing 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 Intel 64 Linux cluster (RH 4, Linux 2.6.9) with Intel 10.0 compilers, + use -mp -O1 compilation flags to build the libraries. A higher level of + optimization causes failures in several HDF5 library tests. + +* On mpich 1.2.5 and 1.2.6, if more than two processes contribute no IO and + the application asks to do collective IO, we have found that when using 4 + processors, a simple collective write will sometimes be hung. This can be + verified with t_mpi test under testpar. + +* A dataset created or rewritten with a v1.6.3 library or after cannot be read + with the v1.6.2 library or before when the Fletcher32 EDC filter is enabled. + There was a bug in the calculation of the Fletcher32 checksum in the + library before v1.6.3; the checksum value was not consistent between big- + endian and little-endian systems. This bug was fixed in Release 1.6.3. + However, after fixing the bug, the checksum value was no longer the same as + before on little-endian system. Library releases after 1.6.4 can still read + datasets created or rewritten with an HDF5 library of v1.6.2 or before. + SLU - 2005/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'. + Set the environment variable MP_INFOLEVEL to 0 to minimize the messages + and run the tests again. + + The tests may fail with messages like "The socket name is already in use", + but HDF5 does not use sockets. This failure is due to problems with the + poe command trying to set up the debug socket. To resolve this problem, + check to see whether there are many old /tmp/s.pedb.* files staying around. + These are sockets used by the poe command and left behind due to failed + commands. First, ask your system administrator to clean them out. + Lastly, request IBM to provide a means to run poe without the debug socket. + +* 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. + +* 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%%%% + + +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 +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 +can be found on the HDF5 web page at: + + http://www.hdfgroup.org/products/hdf5/ + +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: + + http://www.hdfgroup.org/HDF5/doc/ + +New features in the HDF5-1.8.x release series, including brief general +descriptions of some new and modified APIs, are described in the "What's New +in 1.8.0?" document: + + http://www.hdfgroup.org/HDF5/doc/ADGuide/WhatsNew180.html + +All new and modified APIs are listed in detail in the "HDF5 Software Changes +from Release to Release" document, in the section "Release 1.8.3 (current +release) versus Release 1.8.2": + + http://www.hdfgroup.org/HDF5/doc/ADGuide/Changes.html + +If you have any questions or comments, please send them to the HDF Help Desk: + + help@hdfgroup.org + + +CONTENTS +======== + +- New Features +- Support for New Platforms, Languages, and Compilers +- Bug Fixes since HDF5-1.8.2 +- Platforms Tested +- Supported Configuration Features Summary +- Known Problems + + +New Features +============ + + Configuration + ------------- + - 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 + installing via the prefix= or $DESTDIR options. AKC - 2009/04/14 + + Library + ------- + - Embed the content of libhdf5.settings into the hdf5 executables + so that an "orphaned" executables can display (via the Unix + strings command, for example) the library settings used to build + the executables. This is a prototype implementation. Improvement will + be added in next release. AKC - 2009/04/20 + - Separated "factory" free list class from block free lists. These free + lists are dynamically created and manage blocks of a fixed size. + H5set_free_list_limits() will use the same settings specified for block + free lists for factory free lists. NAF - 2009/04/08 + - Added support for dense attributes to H5Ocopy. XCao/NAF - 2009/01/29 + - Added H5Pset_elink_cb and H5Pget_elink_cb functions to support a + user-defined callback function for external link traversal. + NAF - 2009/01/08 + - Added H5Pset_elink_acc_flags and H5Pget_elink_acc_flags functions to + allow the user to specify the file access flags used to open the target + file of an external link. NAF - 2009/01/08 + - Added H5Pset_chunk_cache() and H5Pget_chunk_cache() functions to allow + individual rdcc configuration for each dataset. Added + H5Dget_access_plist() function to retrieve a dataset access property + list from a dataset. NAF - 2008/11/12 + - Added H5Iis_valid() function to check if an id is valid without + producing an error message. NAF - 2008/11/5 + - Added code to maintain a min_clean_fraction in the metadata cache when + in serial mode. MAM - 2009/01/9 + + Parallel Library + ---------------- + - Modified parallel tests to run with arbitrary number of processes. The + modified tests are testphdf5 (parallel dataset access), t_chunk_alloc + (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. + PVN - 2009/4/2 - 1368 + - 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 + chunk cache. PVN - 2008/11/21 + + High-Level APIs + --------------- + - 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 + ------- + - Added for the C APIs the Fortran wrappers: + h5dget_access_plist_f + h5iis_valid_f + h5pset_chunk_cache_f + h5pget_chunk_cache_f + MSB - 2009/04/17 + + C++ API + ------- + - None + + +Support for New Platforms, Languages, and Compilers +=================================================== + + +Bug Fixes since HDF5-1.8.2 +========================== + + Configuration + ------------- + - 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 + prior to configuration. MAM - 2009/03/09 - BZ #1401 + + Library + ------- + - Added versioning to H5Z_class_t struct to allow compatibility with 1.6 + 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 + 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 + - Modified library to write cached symbol table information to the + superblock, to allow library versions 1.3.0 to 1.6.3 to read files created + by this version. NAF - 2009/04/08 - 1423 + - Changed skip lists to use a deterministic algorithm. The library should + now never call rand() or srand(). NAF - 2009/04/08 - 503 + - Fixed a bug where H5Lcopy and H5Lmove wouldn't create intermediate groups + when that property was set. NAF - 2009/04/07 - 1526 + - Fixed a bug that caused files with a user block to grow by the size of the + user block every time they were opened. NAF - 2009/03/26 - 1499 + - Fixed a rare problem that could occur with files using the old (pre 1.4) + array datatype. NAF - 2009/03/23 + - 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 + 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 + - Fixed a bug that prevented more than one dataset chunk from being cached + at a time. NAF - 2009/02/12 - 1015 + - Fixed an assertion failure caused by opening an attribute multiple times + through multiple file handles. NAF - 2009/02/12 - 1420 + - Fixed a problem that could prevent the user from adding attributes (or any + object header message) in some circumstances. NAF - 2009/02/12 - 1427 + - Fixed a bug that could cause problems when an attribute was added to a + committed datatype using the committed datatype's datatype. + NAF - 2009/02/12 + - Fixed a bug that could cause problems when copying an object with a shared + message in its own object header. NAF - 2009/01/29 + - Changed H5Tset_order to properly reject H5T_ORDER_NONE for most datatypes. + NAF - 2009/01/27 - 1443 + - 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 + 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 + + Parallel Library + ---------------- + - None + + Tools + ----- + - 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 + that have a datatype datum size greater than H5TOOLS_BUFSIZE, a constant + 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 + 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 + + F90 API + ------ + - None + + C++ API + ------ + - None + + High-Level APIs: + ------ + - 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 + PVN - 2009/3/23 + + +Platforms Tested +================ +The following platforms and compilers have been tested for this release. + + AIX 5.3 xlc 7.0.0.8 + (LLNL Up) 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 + (SNL red storm) ftn (pgf90) 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 + gcc 4.3.4 20090419 + g++ 4.3.4 20090419 + gfortran 4.3.4 20090419 + + FreeBSD 6.3-STABLE amd64 gcc 3.4.6 [FreeBSD] 20060305 + (liberty) g++ 3.4.6 [FreeBSD] 20060305 + gcc 4.4.1 20090421 + g++ 4.4.1 20090421 + gfortran 4.4.1 20090421 + + IRIX64 6.5 (64 & n32) MIPSpro cc 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 + #1 SMP i686 i686 i386 G95 (GCC 4.0.3 (g95 0.92!) Feb 4 2009) + (jam) PGI C, Fortran, C++ 7.2-1 32-bit + PGI C, Fortran, C++ 8.0-1 32-bit + Intel(R) C Compiler for 32-bit + applications, Versions 10.1, 11.0 + Intel(R) C++ Compiler for 32-bit + applications, Version 10.1, 11.0 + Intel(R) Fortran Compiler for 32-bit + applications, Version 10.1, 11.0 + Absoft 32-bit Fortran 95 10.0.7 + MPICH mpich2-1.0.8 compiled with + gcc 4.1.2 and G95 (GCC 4.0.3 (g95 0.92!) + + Linux 2.6.9-42.0.10.ELsmp #1 gcc (GCC) 3.4.6 + SMP i686 i686 i386 G95 (GCC 4.0.3 (g95 0.92!) Feb 4 2009) + (kagiso) MPICH mpich2-1.0.8 compiled with + gcc 3.4.6 and G95 (GCC 4.0.3 (g95 0.92!) + + 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, + Versions 10.1, 11.0. + PGI C, Fortran, C++ Version 7.2-1, 8.0-1 + for 64-bit target on x86-64 + gcc 4.1.2 and G95 (GCC 4.0.3 (g95 0.92!) + MPICH mpich2-1.0.8 compiled with + gcc 4.1.2 and G95 (GCC 4.0.3 (g95 0.92!) + tested for both 32- and 64-bit binaries + + Linux 2.6.16.54-0.2.5 #1 Intel(R) C++ Version 10.1.017 + SGI Altix SMP ia64 Intel(R) Fortran Itanium(R) Version 10.1.017 + (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 + Patch 127000-07 + Sun WorkShop 6 update 2 C++ 5.8 + Patch 124863-11 + + Intel Xeon Linux 2.6.18- gcc 3.4.6 20060404 + 92.1.10.el5_lustre.1.6.6smp- Intel(R) C++ Version 10.0.026 + perfctr #2 SMP Intel(R) Fortran Compiler Version 10.0.026 + (abe) Open MPI 1.2.2 + MVAPICH2-0.9.8p28p2patched-intel-ofed-1.2 + compiled with icc v10.0.026 and ifort 10.0.026 + + IA-64 Linux 2.4.21-309.tg1 gcc (GCC) 3.2.2 + #1 SMP ia64 Intel(R) C++ Version 8.1.037 + (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, + 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, + 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 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, + (LLNL Zeus) Versions 9.1. + gcc/gfortran/g++ (GCC) 4.1.2. + + Windows XP Visual Studio .NET + Visual Studio 2005 w/ Intel Fortran 9.1 + Cygwin(native gcc compiler and g95) + + Windows XP x64 Visual Studio 2005 w/ Intel Fortran 9.1 + + Windows Vista Visual Studio 2005 + + MAC OS 10.5.6 (Intel) i686-apple-darwin9-gcc-4.0.1 (GCC) 4.0.1 + 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 +======================================== + + In the tables below + y = tested and supported + n = not supported or not tested in this release + C = Cluster + W = Workstation + x = not working in this release + dna = does not apply + ( ) = footnote appears below second table + <blank> = testing incomplete on this feature or platform + +Platform C F90 F90 C++ zlib SZIP + parallel parallel +Solaris2.10 32-bit n y n y y y +Solaris2.10 64-bit n y n y y y +IRIX64_6.5 32-bit n n n n y y +IRIX64_6.5 64-bit n y y y y y +Windows XP n y(4) n(4) y y y +Windows XP x64 n y(4) n(4) 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 32&64 bit n y n y y y +RedHat EL4 2.6.9-42 i686 GNU (1) W y y y y y y +RedHat EL5 2.6.18-128 i686 GNU (1)W y y(2) y y y y +RedHat EL5 2.6.18-128 i686 Intel W n y n y y n +RedHat EL5 2.6.18-128 i686 PGI W n y n y y n +SuSe Linux 2.6.16 x86_64 GNU (1) W y y(3) y y y y +SuSe Linux 2.6.16 x86_64 Intel W n y n y y n +SuSe Linux 2.6.16 x86_64 PGI W n y n y y y +SuSe Linux 2.6.16 SGI Altix ia64 C y y y y y y +RedHat EL4 2.6.18 Xeon Lustre C y y y y y n +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 +RedHat EL4 2.6.18 Xeon Lustre 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. + (2) With PGI and Absoft compilers. + (3) With PGI compiler for Fortran. + (4) Using Visual Studio 2005 or Cygwin + Compiler versions for each platform are listed in the preceding + "Platforms Tested" table. + + +Known Problems +============== +* 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 + 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 + superblock. A fix is currently underway and should be included in the 1.8.4 + release of HDF5. MAM - 2009/04/28 + +* For gcc v4.3 and v4.4, with production mode, if -O3 is used, H5Tinit.c + would fail to compile. Actually bad H5Tinit.c is produced. If -O (same + as -O1) is used, H5Tinit.c compiled okay but test/dt_arith would fail. + When -O0 (no optimizatio) is used, H5Tinit.c compilete okay and all + tests passed. Therefore, -O0 is imposed for v4.3 and v4.4 of gcc. + AKC - 2009/04/20 + +* For Red Storm, a Cray XT3 system, the tools/h5ls/testh5ls.sh and + tools/h5copy/testh5copy.sh will fail some of its sub-tests. These sub-tests + are expected to fail and should exit with a non-zero code but the yod + command does not propagate the exit code of the executables. Yod always + returns 0 if it can launch the executable. The test suite shell expects + a non-zero for this particular test, therefore it concludes the test has + failed when it receives 0 from yod. Skip all the "failing" test for now + by changing them as following. + + ======== Original tools/h5ls/testh5ls.sh ========= + TOOLTEST tgroup-1.ls 1 -w80 -r -g tgroup.h5 + ======== Change to =============================== + echo SKIP TOOLTEST tgroup-1.ls 1 -w80 -r -g tgroup.h5 + ================================================== + + ======== Original tools/h5copy/testh5copy.sh ========= + TOOLTEST_FAIL -i $TESTFILE -o $FILEOUT -v -s grp_dsets -d grp_rename + TOOLTEST_FAIL -i $TESTFILE -o $FILEOUT -v -s grp_dsets -d /grp_rename/grp_dsets + TOOLTEST_FAIL -i $TESTFILE -o $FILEOUT -vp -s /grp_dsets -d /E/F/grp_dsets + TOOLTEST_FAIL -i $TESTFILE -o $FILEOUT -vp -s /grp_nested -d /G/H/grp_nested + H5LSTEST $FILEOUT + ======== Change to =============================== + echo SKIP TOOLTEST_FAIL -i $TESTFILE -o $FILEOUT -v -s grp_dsets -d grp_rename + echo SKIP TOOLTEST_FAIL -i $TESTFILE -o $FILEOUT -v -s grp_dsets -d /grp_rename/grp_dsets + echo SKIP TOOLTEST_FAIL -i $TESTFILE -o $FILEOUT -vp -s /grp_dsets -d /E/F/grp_dsets + echo SKIP TOOLTEST_FAIL -i $TESTFILE -o $FILEOUT -vp -s /grp_nested -d /G/H/grp_nested + echo SKIP H5LSTEST $FILEOUT + ================================================== + AKC - 2008/11/10 + +* For Red Storm, a Cray XT3 system, the yod command sometimes gives the + message, "yod allocation delayed for node recovery". This interferes with + test suites that do not expect seeing this message. See the section of "Red + 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 + Linux cluster at NCSA. + + 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 + 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 + IO instead. + + To avoid this behavior, change the following line in your code + H5Pset_dxpl_mpio(xfer_plist, H5FD_MPIO_COLLECTIVE); + to + 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. + +* 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. + +* 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. + +* A dataset created or rewritten with a v1.6.3 library or after cannot be read + with the v1.6.2 library or before when the Fletcher32 EDC filter is enabled. + There was a bug in the calculation of the Fletcher32 checksum in the + library before v1.6.3; the checksum value was not consistent between big- + endian and little-endian systems. This bug was fixed in Release 1.6.3. + However, after fixing the bug, the checksum value was no longer the same as + before on little-endian system. Library releases after 1.6.4 can still read + datasets created or rewritten with an HDF5 library of v1.6.2 or before. + SLU - 2005/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'. + Set the environment variable MP_INFOLEVEL to 0 to minimize the messages + and run the tests again. + + The tests may fail with messages like "The socket name is already in use", + but HDF5 does not use sockets. This failure is due to problems with the + poe command trying to set up the debug socket. To resolve this problem, + check to see whether there are many old /tmp/s.pedb.* files staying around. + These are sockets used by the poe command and left behind due to failed + commands. First, ask your system administrator to clean them out. + Lastly, request IBM to provide a means to run poe without the debug socket. + +* 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 + 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 + 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 + 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%%%% + + +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 +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 +can be found on the HDF5 web page at: + + http://www.hdfgroup.org/products/hdf5/ + +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: + + http://www.hdfgroup.org/HDF5/doc/ + +New features in the HDF5-1.8.x release series, including brief general +descriptions of some new and modified APIs, are described in the "What's New +in 1.8.0?" document: + + http://www.hdfgroup.org/HDF5/doc/ADGuide/WhatsNew180.html + +All new and modified APIs are listed in detail in the "HDF5 Software Changes +from Release to Release" document, in the section "Release 1.8.2 (current +release) versus Release 1.8.1": + + http://www.hdfgroup.org/HDF5/doc/ADGuide/Changes.html + +If you have any questions or comments, please send them to the HDF Help Desk: + + help@hdfgroup.org + + +CONTENTS +======== + +- New Features +- Support for new platforms and languages +- Bug Fixes since HDF5-1.8.1 +- Platforms Tested +- Supported Configuration Features Summary +- Known Problems + + +New Features +============ + + Configuration + ------------- + - Upgraded libtool to version 2.2.6a. (MAM - 2008/10/15). + + Library + ------- + - 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) + + Parallel Library + ---------------- + - None + + Tools + ----- + - 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 + 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 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 + and replaced by NATIVE keyword. (PVN - 2008/10/30) + - 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 + 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) + + + C++ API + ------ + - These member functions were added as wrapper for H5Rdereference to + replace the incorrect IdComponent::dereference(). + void H5Object::dereference(H5Object& obj, void* ref, + H5R_type_t ref_type=H5R_OBJECT) + void H5Object::dereference(H5File& h5file, void* ref, + H5R_type_t ref_type=H5R_OBJECT) + void H5Object::dereference(Attribute& obj, void* ref, + H5R_type_t ref_type=H5R_OBJECT) + + In addition, these constructors were added to create the associated + objects by way of dereference: + DataSet(H5Object& obj, void* ref, H5R_type_t ref_type=H5R_OBJECT) + DataSet(H5File& file, void* ref, H5R_type_t ref_type=H5R_OBJECT) + DataSet(Attribute& attr, void* ref, H5R_type_t ref_type=H5R_OBJECT) + Group(H5Object& obj, void* ref, H5R_type_t ref_type=H5R_OBJECT) + Group(H5File& obj, void* ref, H5R_type_t ref_type=H5R_OBJECT) + Group(Attribute& attr, void* ref, H5R_type_t ref_type=H5R_OBJECT) + DataType(H5Object& obj, void* ref, H5R_type_t ref_type=H5R_OBJECT) + DataType(H5File& file, void* ref, H5R_type_t ref_type=H5R_OBJECT) + DataType(Attribute& attr, void* ref, H5R_type_t ref_type=H5R_OBJECT) + (BMR - 2008/10/29) + + +Support for New Platforms, Languages, and Compilers +=================================================== + - Intel 10.1 is supported on Mac OS X 10.5.4. + Note: + When Fortran is enabled, configure automatically + 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 + "-no-multibyte-chars" compilation flag due to the known + bug in the compilers. + (EIP - 2008/10/30) + + +Bug Fixes since HDF5-1.8.1 +========================== + + Configuration + ------------- + - Fixed error with 'make check install' failing due to h5dump + needing other tools built first. (MAM - 2008/10/15). + - 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) + - "make DESTDIR=xxx install" failed to install some tools and files + (e.g., h5cc and fortran modules). Fixed. (AKC - 2008/10/8). + + Library + ------- + - H5Ovisit and H5Ovisit_by_name will now properly terminate when the + callback function returns a positive value on the starting object. + (NAF - 2008/11/03) + - Fixed an error where a null message could be created that was larger + than could be written to the file. (NAF - 2008/10/23) + - Corrected error with family/split/multi VFD not updating driver info + when "latest" version of the file format used. (QAK - 2008/10/14) + - Corrected alignment+threshold errors to work correctly when metadata + aggregation is enabled. (QAK - 2008/10/06) + - Changed H5Fget_obj_count and H5Fget_obj_ids to ignore objects + registered by the library for internal library use. + (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. + (SLU - 2008/09/26) + - Fixed an issue that could cause data to be improperly overwritten + during compound type conversion. (NAF - 2008/09/19) + - Fixed pointer alignment violations that could occur during vlen + conversion. (NAF - 2008/09/16) + - Fixed problem where library could cause a segmentation fault when + an invalid location ID was given to H5Giterate(). (QAK - 2008/08/19) + - Fixed improper shutdown when objects have reference count > 1. The + library now tracks reference count due to the application separately + from that due to internal library routines. (NAF - 2008/08/19) + - Fixed assertion failure caused by incorrect array datatype version. + (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 + 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 + 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. + (SJW - 2008/06/19) + + Parallel Library + ---------------- + - None + + Tools + ----- + - h5dump now checks for uniqueness of committed datatypes. + (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 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 + when doing binary output. (PVN - 2008/06/05) + + + F90 API + ------ + - 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 + conventions. (MSB - 2008/09/30) + - 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 + 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 + (MSB - 2008/7/29) + - 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 + 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 + 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 + value is < 0. + - 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 + 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. + (MSB - 200/8/27) + - 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) + + C++ API + ------ + - Fixed a design bug which allowed an Attribute object to create/modify + attributes (bugzilla #1068). The API class hierarchy was revised + to address the problem. Classes AbstractDS and Attribute are moved + out of H5Object. Class Attribute now multiply inherits from + IdComponent and AbstractDs and class DataSet from H5Object and + AbstractDs. In addition, the data member IdComponent::id was + moved into subclasses: Attribute, DataSet, DataSpace, DataType, + H5File, Group, and PropList. (BMR - 2008/05/20) + - IdComponent::dereference was incorrect and replaced as described + in "New Features" section. + (BMR - 2008/10/29) + + +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 + + Cray XT3 (2.0.41) cc (pgcc) 7.1-4 + (red storm) ftn (pgf90) 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 + gcc 4.2.5 20080702 + g++ 4.2.5 20080702 + gfortran 4.2.5 20080702 + + FreeBSD 6.3-STABLE amd64 gcc 3.4.6 [FreeBSD] 20060305 + (liberty) g++ 3.4.6 [FreeBSD] 20060305 + gcc 4.2.5 20080702 + g++ 4.2.5 20080702 + gfortran 4.2.5 20080702 + + IRIX64 6.5 (64 & n32) MIPSpro cc 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 + SMP i686 i386 G95 (GCC 4.0.3 (g95 0.92!) April 18 2007) + (kagiso) PGI C, Fortran, C++ 7.2-1 32-bit + Intel(R) C Compiler for 32-bit + applications, Version 10.1 + Intel(R) C++ Compiler for 32-bit + applications, Version 10.1 + Intel(R) Fortran Compiler for 32-bit + applications, Version 10.1 + Absoft 32-bit Fortran 95 10.0.4 + MPICH mpich-1.2.7 compiled with + gcc 3.4.6 and G95 (GCC 4.0.3 (g95 0.92!) + 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 + SMP x86_64 GNU/Linux Ver. 10.1.013 + (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 + MPICH mpich-1.2.7 compiled with + gcc 4.1.2 and G95 (GCC 4.0.3 (g95 0.92!) + MPICH mpich2-1.0.7 compiled with + gcc 4.1.2 and G95 (GCC 4.0.3 (g95 0.92!) + tested for both 32- and 64-bit binaries + + Linux 2.6.16.54-0.2.5 #1 Intel(R) C++ Version 10.1.017 + Altix SMP ia64 Intel(R) Fortran Itanium(R) Version 10.1.017 + (cobalt) SGI MPI 1.16 + + 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 + + Xeon Linux 2.6.9-42.0.10.EL_lustre-1.4.10.1smp + (abe) Intel(R) C++ Version 10.0.026 + 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 + ifort 10.0.026 + + IA-64 Linux 2.4.21-309.tg1 #1 SMP + ia64 gcc (GCC) 3.2.2 + (NCSA tg-login) Intel(R) C++ Version 8.1.037 + Intel(R) Fortran Compiler Version 8.1.033 + mpich-gm-1.2.7p1..16-intel-8.1.037-r1 + + Intel 64 Linux 2.6.9-42.0.10.EL_lustre-1.4.10.1smp + (abe) gcc 3.4.6 20060404 + Intel(R) C++ Version 10.0 + Intel (R) Fortran Compiler Version 10.0 + mvapich2-0.9.8p2patched-intel-ofed-1.2 + + Windows XP Visual Studio .NET + Visual Studio 2005 w/ Intel Fortran 9.1 + Cygwin(native gcc compiler and g95) + + Windows XP x64 Visual Studio 2005 w/ Intel Fortran 9.1 + + Windows Vista Visual Studio 2005 + + MAC OS 10.5.4 (Intel) i686-apple-darwin9-gcc-4.0.1 (GCC) 4.0.1 + 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 +======================================== + + In the tables below + y = tested and supported + n = not supported or not tested in this release + x = not working in this release + dna = does not apply + ( ) = footnote appears below second table + <blank> = testing incomplete on this feature or platform + +Platform C F90 F90 C++ zlib SZIP + parallel parallel +Solaris2.10 32-bit n y n y y y +Solaris2.10 64-bit n y n y y y +IRIX64_6.5 32-bit n n n n y y +IRIX64_6.5 64-bit n y y y y y +Windows XP n y(15) n(15) y y y +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 +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 +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 + Intel (3,7) y y y y y n +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 +Linux 2.4 SuSE C + ia64 C Intel (7) y y y n +Linux 2.4 SGI Altix C + 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. + 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 + and Intel compilers + (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 + (9) With Compaq Visual Fortran 6.6c compiler. + (10) With PGI and Absoft compilers. + (11) PGI and Intel compilers for both C and Fortran + (12) AMD Opteron x86_64 + (13) ifort + (14) Yes with C and Fortran, but not with C++ + (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. + + +Known Problems +============== +* For Red Storm, a Cray XT3 system, the tools/h5ls/testh5ls.sh and + tools/h5copy/testh5copy.sh will fail some of its sub-tests. These sub-tests + are expected to fail and should exit with a non-zero code but the yod + command does not propagate the exit code of the executables. Yod always + returns 0 if it can launch the executable. The test suite shell expects + a non-zero for this particular test, therefore it concludes the test has + failed when it receives 0 from yod. Skip all the "failing" test for now + by changing them as following. + + ======== Original tools/h5ls/testh5ls.sh ========= + TOOLTEST tgroup-1.ls 1 -w80 -r -g tgroup.h5 + ======== Change to =============================== + echo SKIP TOOLTEST tgroup-1.ls 1 -w80 -r -g tgroup.h5 + ================================================== + + ======== Original tools/h5copy/testh5copy.sh ========= + TOOLTEST_FAIL -i $TESTFILE -o $FILEOUT -v -s grp_dsets -d grp_rename + TOOLTEST_FAIL -i $TESTFILE -o $FILEOUT -v -s grp_dsets -d /grp_rename/grp_dsets + TOOLTEST_FAIL -i $TESTFILE -o $FILEOUT -vp -s /grp_dsets -d /E/F/grp_dsets + TOOLTEST_FAIL -i $TESTFILE -o $FILEOUT -vp -s /grp_nested -d /G/H/grp_nested + H5LSTEST $FILEOUT + ======== Change to =============================== + echo SKIP TOOLTEST_FAIL -i $TESTFILE -o $FILEOUT -v -s grp_dsets -d grp_rename + echo SKIP TOOLTEST_FAIL -i $TESTFILE -o $FILEOUT -v -s grp_dsets -d /grp_rename/grp_dsets + echo SKIP TOOLTEST_FAIL -i $TESTFILE -o $FILEOUT -vp -s /grp_dsets -d /E/F/grp_dsets + echo SKIP TOOLTEST_FAIL -i $TESTFILE -o $FILEOUT -vp -s /grp_nested -d /G/H/grp_nested + echo SKIP H5LSTEST $FILEOUT + ================================================== + AKC - 2008/11/10 + +* For Red Storm, a Cray XT3 system, the yod command sometimes gives the + message, "yod allocation delayed for node recovery". This interferes with + test suites that do not expect seeing this message. See the section of "Red + 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 + Linux cluster at NCSA. + + 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 + 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 + IO instead. + + To avoid this behavior, change the following line in your code + H5Pset_dxpl_mpio(xfer_plist, H5FD_MPIO_COLLECTIVE); + to + 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. + +* 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. + +* 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. + +* A dataset created or rewritten with a v1.6.3 library or after cannot be read + with the v1.6.2 library or before when the Fletcher32 EDC filter is enabled. + There was a bug in the calculation of the Fletcher32 checksum in the + library before v1.6.3; the checksum value was not consistent between big- + endian and little-endian systems. This bug was fixed in Release 1.6.3. + However, after fixing the bug, the checksum value was no longer the same as + before on little-endian system. Library releases after 1.6.4 can still read + datasets created or rewritten with an HDF5 library of v1.6.2 or before. + SLU - 2005/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'. + Set the environment variable MP_INFOLEVEL to 0 to minimize the messages + and run the tests again. + + The tests may fail with messages like "The socket name is already in use", + but HDF5 does not use sockets. This failure is due to problems with the + poe command trying to set up the debug socket. To resolve this problem, + check to see whether there are many old /tmp/s.pedb.* files staying around. + These are sockets used by the poe command and left behind due to failed + commands. First, ask your system administrator to clean them out. + Lastly, request IBM to provide a means to run poe without the debug socket. + +* 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 + 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 + 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 + 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.1%%%% + + +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 +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 +of the HDF5 source. + +Links to the HDF5 1.8.1 source code, documentation, and additional materials +can be found on the HDF5 web page at: + + http://www.hdfgroup.org/products/hdf5/ + +The HDF5 1.8.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: + + http://www.hdfgroup.org/HDF5/doc/ + +New features in the HDF5-1.8.x release series, including brief general +descriptions of some new and modified APIs, are described in the "What's New +in 1.8.0?" document: + + http://www.hdfgroup.org/HDF5/doc/ADGuide/WhatsNew180.html + +All new and modified APIs are listed in detail in the "HDF5 Software Changes +from Release to Release" document, in the section "Release 1.8.1 (current +release) versus Release 1.8.0": + + http://www.hdfgroup.org/HDF5/doc/ADGuide/Changes.html + +If you have any questions or comments, please send them to the HDF Help Desk: + + help@hdfgroup.org + + +CONTENTS +======== + +- New Features +- Support for new platforms and languages +- Bug Fixes since HDF5-1.8.0 +- Platforms Tested +- Supported Configuration Features Summary +- Known Problems + + +New Features +============ + + Configuration + ------------- + - 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 + information in LD_LIBRARY_PATH. (MAM - 2008/05/15) + + - Configuration suite now uses Autoconf 2.61, Automake 1.10.1, and + Libtool 2.2.2 (MAM - 2008/05/01) + + Source code distribution + ======================== + + Library + ------- + - None + + Parallel Library + ---------------- + - None + + Tools + ----- + - 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 + an external link points to. (PVN - 2008/05/12) + - 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 + 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. + + C++ API + ------ + - None + + +Support for New Platforms, Languages, and Compilers +=================================================== + - 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 + compilers. + + +Bug Fixes since HDF5-1.8.0 +========================== + + Configuration + ------------- + - None + + Source code distribution + ======================== + + Library + ------- + - 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 + Reference Manual" (http://hdfgroup.org/HDF5/doc/RM/RM_H5L.html). + (VC - 2008/04/08) + - Fixed possible file corruption bug when encoding datatype + descriptions for compound datatypes whose size was between + 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 + invalid location identifier. (QAK - 2008/03/11) + + Parallel Library + ---------------- + - None + + Tools + ----- + - 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 + the first dataset, when several datasets were requested. + (PVN - 2008/04/07) + + F90 API + ------ + - 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. + + C++ API + ------ + - The class hierarchy was revised to address the problem reported + in bugzilla #1068, Attribute should not be derived from base + class H5Object. Classes AbstractDS was moved out of H5Object. + Class Attribute now multiply inherits from IdComponent and + AbstractDs and class DataSet from H5Object and AbstractDs. + 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) + - Revised Attribute::write and Attribute::read wrappers to handle + memory allocation/deallocation properly. (bugzilla 1045) + (BMR - 2008/05/20) + + +Platforms Tested +================ +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 + mpicc 1.0.2 + mpif90 1.0.2 + + FreeBSD 6.2-STABLE i386 gcc 3.4.6 [FreeBSD] 20060305 + (duty) g++ 3.4.6 [FreeBSD] 20060305 + gcc 4.2.1 20080123 + g++ 4.2.1 20080123 + gfortran 4.2.1 20070620 + + FreeBSD 6.2-STABLE amd64 gcc 3.4.6 [FreeBSD] 20060305 + (liberty) g++ 3.4.6 [FreeBSD] 20060305 + gcc 4.2.1 20080123 + g++ 4.2.1 20080123 + gfortran 4.2.1 20080123 + + IRIX64 6.5 (64 & n32) MIPSpro cc 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 + (osage) + + 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, + (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 + (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 + + Xeon Linux 2.4.21-32.0.1.ELsmp-perfctr-lustre + (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_309.tg1 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.6..14b-intel-r2 + + Intel 64 Linux 2.6.9-42.0.10.EL_lustre-1.4.10.1smp + (abe) gcc 3.4.6 20060404 + Intel(R) C++ Version 10.0 + Intel (R) Fortran Compiler Version 10.0 + mvapich2-0.9.8p2patched-intel-ofed-1.2 + + 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 + + MAC OS 10.5.2 (Intel) i686-apple-darwin9-gcc-4.0.1 (GCC) 4.0.1 + GNU Fortran (GCC) 4.3.0 20070810 + G95 (GCC 4.0.3 (g95 0.91!) Apr 24 2008) + + +Supported Configuration Features Summary +======================================== + + In the tables below + y = tested and supported + n = not supported or not tested in this release + x = not working in this release + dna = does not apply + ( ) = footnote appears below second table + <blank> = testing incomplete on this feature or platform + +Platform C F90 F90 C++ zlib SZIP + parallel parallel +SunOS5.10 64-bit n y n y y y +SunOS5.10 32-bit n y n y y y +IRIX64_6.5 64-bit n y y y y y +IRIX64_6.5 32-bit n n n n y y +Windows XP n y(15) n(15) y y y +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 +FreeBSD 4.11 n n n y y y +RedHat EL3 W (3) y(1) y(10) y(1) y y y +RedHat EL3 W Intel (3) n y n y y n +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 + Lustre Intel (3,6) n y n y y n +Linux 2.6 SuSE ia64 C + Intel (3,7) y y y y y n +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 +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. + 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 + and Intel compilers + (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 + (9) With Compaq Visual Fortran 6.6c compiler. + (10) With PGI and Absoft compilers. + (11) PGI and Intel compilers for both C and Fortran + (12) AMD Opteron x86_64 + (13) ifort + (14) Yes with C and Fortran, but not with C++ + (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. + + +Known Problems +============== +* 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 seeing this message. See the section of "Red + Storm" in file INSTALL_parallel for a way to deal with this problem. + AKC - 2008/05/28 + +* For Red Storm, a Cray XT3 system, the tools/h5ls/testh5ls.sh will fail on + the test "Testing h5ls -w80 -r -g tgroup.h5" fails. This test is + expected to fail and 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 bypass this problem for now, change the following + lines in the tools/h5ls/testh5ls.sh. + ======== Original ========= + # The following combination of arguments is expected to return an error message + # and return value 1 + TOOLTEST tgroup-1.ls 1 -w80 -r -g tgroup.h5 + ======== Skip the test ========= + echo SKIP TOOLTEST tgroup-1.ls 1 -w80 -r -g tgroup.h5 + ======== 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 + Linux cluster at NCSA. + + 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 + 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 + IO instead. + + To avoid this behavior, change the following line in your code + H5Pset_dxpl_mpio(xfer_plist, H5FD_MPIO_COLLECTIVE); + to + H5Pset_dxpl_mpio(xfer_plist, H5FD_MPIO_INDEPENDENT); + + KY - 2007/08/24 + +* 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. + +* 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. + +* 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. + +* 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 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 + 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. + +* A dataset created or rewritten with a v1.6.3 library or after cannot be read + with the v1.6.2 library or before when the Fletcher32 EDC filter is enabled. + There was a bug in the calculation of the Fletcher32 checksum in the + library before v1.6.3; the checksum value was not consistent between big- + endian and little-endian systems. This bug was fixed in Release 1.6.3. + However, after fixing the bug, the checksum value was no longer the same as + before on little-endian system. Library releases after 1.6.4 can still read + datasets created or rewritten with an HDF5 library of v1.6.2 or before. + SLU - 2005/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. + +* On IBM AIX systems, parallel HDF5 mode will fail some tests with error + messages like "INFO: 0031-XXX ...". This is from the command `poe'. + Set the environment variable MP_INFOLEVEL to 0 to minimize the messages + and run the tests again. + + The tests may fail with messages like "The socket name is already in use", + but HDF5 does not use sockets. This failure is due to problems with the + poe command trying to set up the debug socket. To resolve this problem, + check to see whether there are many old /tmp/s.pedb.* files staying around. + These are sockets used by the poe command and left behind due to failed + commands. First, ask your system administrator to clean them out. + Lastly, request IBM to provide a means to run poe without the debug socket. + +* 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 + 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 + this option. + + It is suggested that you do not use this option on these platforms + during configuration. + +* With the gcc 2.95.2 compiler, HDF5 uses the `-ansi' flag during + compilation. The ANSI version of the compiler complains about not being + 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, + dsets.c, is compiled with the -O option. The HDF5 library still works + correctly with the -O option. The test program works fine if it is + compiled with -O1 or -O0. Only -O (same as -O2) causes the test + program to fail. + +* 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. + + 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 + 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 + any executable that was compiled with the parallel compilers. + + 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. + + 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 + 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. + + 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. + + #!/bin/csh + + set STDOUT_FILE=~/bin/serial_filter.stdout + set STDERR_FILE=~/bin/serial_filter.stderr + + rm -f $STDOUT_FILE $STDERR_FILE + + ($* > $STDOUT_FILE) >& $STDERR_FILE + + set RETURN_VALUE=$status + + cat $STDOUT_FILE + + tail +3 $STDERR_FILE + + 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 + "unsetenv RUNSERIAL" before running configure for a serial build. + + 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 + get the serial tests to run at all. + + In such cases, you will have to include the regular prefix in your + filter script. + +* H5Ocopy() does not copy reg_ref attributes correctly when shared-message + is turn on. The value of the reference in the destination attriubte is + wrong. This H5Ocopy problem will affect the h5copy tool. + +* In the C++ API, it appears that there are bugs in Attribute::write/read + and DataSet::write/read for fixed- and variable-len strings. The problems + are being worked on and a patch will be provided when the fixes are + available. + + +%%%%1.8.0%%%% + + +HDF5 version 1.8.0 released on Tue Feb 12 20:41:19 CST 2008 +================================================================================ + +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 +problems in HDF5-1.8.0. For more details, see the HISTORY-1_0-1_8_0_rc3.txt +file in the +release_docs/ directory of the HDF5 source. + +Links to the HDF5 1.8.0 source code, documentation, and additional materials +can be found on the HDF5 web page at: + + http://www.hdfgroup.org/products/hdf5/ + +The HDF5 1.8.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: + + http://www.hdfgroup.org/HDF5/doc/ + +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 +release) versus Release 1.6.x": + + http://www.hdfgroup.org/HDF5/doc/ADGuide/Changes.html + +If you have any questions or comments, please send them to the HDF Help Desk: + + help@hdfgroup.org + + +CONTENTS +======== + +- New Features +- Removed Feature +- Support for new platforms and languages +- Bug Fixes since HDF5-1.6.0 +- Platforms Tested +- Supported Configuration Features Summary +- Known Problems + + +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 + HDF5 1.8.0" document include the following: + + Enhanced group object management + Enhanced attribute management and more efficient meta data handling + Expanded datatype features + Creation order tracking and indexing + Improved meta data caching and cache control + UTF-8 encoding + 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: + 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) + New and improved tools + And more... + + http://hdfgroup.org/HDF5/doc/ADGuide/WhatsNew180.html + + + 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" + 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 + 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 + Team has implemented the following features: + 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 + 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 + its impact on format compatibility. + http://hdfgroup.org/HDF5/doc/ADGuide/CompatFormat180.html + +Referenced documents +-------------------- + http://hdfgroup.org/HDF5/doc/ADGuide/WhatsNew180.html + "What's New in HDF5 1.8.0" + + http://hdfgroup.org/HDF5/doc/ADGuide/Changes.html + The "Release 1.8.0 (current release) versus Release 1.6.x " + section in "HDF5 Software Changes from Release to Release" + + http://hdfgroup.org/HDF5/doc/RM/APICompatMacros.html + "API Compatibility Macros in HDF5" + + http://hdfgroup.org/HDF5/doc/ADGuide/CompatFormat180.html + "New Features in HDF5 Release 1.8.0 and Backward/Forward Format + Compatibility Issues" + + +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 +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 +not be available when HDF5 Release 1.8.0 first comes out. + + +Support for New Platforms, Languages, and Compilers +=================================================== + - Support for Open VMS 7.3 was added. + + +Bug Fixes since HDF5-1.6.0 +========================== + 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. + + +Platforms Tested +================ +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 + mpcc_r 6.0.0.8 + mpxlf_r 8.1.1.7 + + FreeBSD 6.2-STABLE i386 gcc 3.4.6 [FreeBSD] 20060305 + (duty) g++ 3.4.6 [FreeBSD] 20060305 + gcc 4.2.1 20080123 + g++ 4.2.1 20080123 + gfortran 4.2.1 20070620 + + FreeBSD 6.2-STABLE amd64 gcc 3.4.6 [FreeBSD] 20060305 + (liberty) g++ 3.4.6 [FreeBSD] 20060305 + gcc 4.2.1 20080123 + g++ 4.2.1 20080123 + gfortran 4.2.1 20080123 + + IRIX64 6.5 (64 & n32) MIPSpro cc 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 + (osage) + + Linux 2.6.9-42.0.10 gcc 3.4.6 20060404 + (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, + (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 + (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 + + Xeon Linux 2.4.21-32.0.1.ELsmp-perfctr-lustre + (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 + 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 + + 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 + HP Fortran V7.6-3276 + Compaq C++ V6.5-004 + + +Supported Configuration Features Summary +======================================== + + In the tables below + y = tested and supported + n = not supported or not tested in this release + x = not working in this release + dna = does not apply + ( ) = footnote appears below second table + <blank> = testing incomplete on this feature or platform + +Platform C F90 F90 C++ zlib SZIP + parallel parallel +SunOS5.8 64-bit n y n y y y +SunOS5.8 32-bit n y n y y y +SunOS5.10 64-bit y(1) y n y y y +SunOS5.10 32-bit y(1) y n y y y +IRIX64_6.5 64-bit n y y y y y +IRIX64_6.5 32-bit n n n n y y +AIX-5.2 32-bit y y y y y y +AIX-5.2 64-bit y y y y y y +Windows XP n y(15) n(15) y y y +Windows XP x64 n y(15) n(15) y y y +Windows Vista n n n y y y +Mac OS X 10.4 PowerPC n n +Mac OS X 10.4 Intel n y n y y y +FreeBSD 4.11 n n n y y y +RedHat EL3 W (3) y(1a) y(10) y(1a) y y y +RedHat EL3 W Intel (3) n y n y y n +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 + Lustre Intel (3,6) n y n y y n +Linux 2.6 SuSE ia64 C + Intel (3,7) y y y y y n +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 + + 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. + W or C indicates workstation or cluster, respectively. + + (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 + (9) With Compaq Visual Fortran 6.6c compiler. + (10) With PGI and Absoft compilers. + (11) PGI and Intel compilers for both C and Fortran + (12) AMD Opteron x86_64 + (13) ifort + (14) Yes with C and Fortran, but not with C++ + (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. + + +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 + Linux cluster at NCSA. + + 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 + 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 + IO instead. + + To avoid this behavior, change the following line in your code + H5Pset_dxpl_mpio(xfer_plist, H5FD_MPIO_COLLECTIVE); + + to + H5Pset_dxpl_mpio(xfer_plist, H5FD_MPIO_INDEPENDENT); + + KY - 2007/08/24 + +* 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. + +* 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. + Zeus: Serial tests pass but parallel tests fail with a known problem in MPI. + ubgl: Serial tests pass but parallel tests fail. + +* 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 + --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. + +* 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 + 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 + 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. + +* 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 + library before v1.6.3; the checksum value was not consistent between big- + endian and little-endian systems. This bug was fixed in Release 1.6.3. + However, after fixing the bug, the checksum value was no longer the same as + before on little-endian system. Library releases after 1.6.4 can still read + datasets created or rewritten with an HDF5 library of v1.6.2 or before. + SLU - 2005/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. + +* On IBM AIX systems, parallel HDF5 mode will fail some tests with error + messages like "INFO: 0031-XXX ...". This is from the command `poe'. + Set the environment variable MP_INFOLEVEL to 0 to minimize the messages + and run the tests again. + + The tests may fail with messages like "The socket name is already in use", + but HDF5 does not use sockets. This failure is due to problems with the + poe command trying to set up the debug socket. To resolve this problem, + check to see whether there are many old /tmp/s.pedb.* files staying around. + These are sockets used by the poe command and left behind due to failed + commands. First, ask your system administrator to clean them out. + Lastly, request IBM to provide a means to run poe without the debug socket. + +* 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 + 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 + this option. + + It is suggested that you do not use this option on these platforms + during configuration. + +* With the gcc 2.95.2 compiler, HDF5 uses the `-ansi' flag during + compilation. The ANSI version of the compiler complains about not being + 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, + dsets.c, is compiled with the -O option. The HDF5 library still works + correctly with the -O option. The test program works fine if it is + compiled with -O1 or -O0. Only -O (same as -O2) causes the test + program to fail. + +* 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. + + 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 + 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 + any executable that was compiled with the parallel compilers. + + 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. + + 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 + 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. + + 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. + + #!/bin/csh + + set STDOUT_FILE=~/bin/serial_filter.stdout + set STDERR_FILE=~/bin/serial_filter.stderr + + rm -f $STDOUT_FILE $STDERR_FILE + + ($* > $STDOUT_FILE) >& $STDERR_FILE + + set RETURN_VALUE=$status + + cat $STDOUT_FILE + + tail +3 $STDERR_FILE + + 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 + "unsetenv RUNSERIAL" before running configure for a serial build. + + 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 + get the serial tests to run at all. + + In such cases, you will have to include the regular prefix in your + filter script. + +* H5Ocopy() does not copy reg_ref attributes correctly when shared-message + is turn on. The value of the reference in the destination attriubte is + wrong. This H5Ocopy problem will affect the h5copy tool. + diff --git a/release_docs/HISTORY-1_8_0-1_10_0.txt b/release_docs/HISTORY-1_8_0-1_10_0.txt new file mode 100644 index 0000000..a364274 --- /dev/null +++ b/release_docs/HISTORY-1_8_0-1_10_0.txt @@ -0,0 +1,1742 @@ +HDF5 HISTORY +============= + + +INTRODUCTION + +This document describes the development history between the HDF5-1.8.0 and +HDF5 1.10.0 releases. For more iformation see the SVN log. + +Information about supported and tested platforms is provided for historical +reasons only and may not be accurate. + + +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: + + help@hdfgroup.org + + +CONTENTS + +- New Features +- Support for new platforms and languages +- Bug Fixes since HDF5-1.8.0 +- Supported Platforms +- Tested Configuration Features Summary +- More Tested Platforms +- Known Problems + + +New Features +============ + + Configuration: + ------------- + - Java JNI library API wrappers and supporting files added as HDF_JAVA language + option. Both configure and CMake disable this option by default. + HDFFV-9552 (ADB 2016/02.28) + - CMake minimum is now 3.1.0. (ADB 2015/11/14) + - cmakehdf5: configure options added to enable or disable the building of + different API's and testings. See "cmakehdf5 --help" for details. + (AKC - 2014/12/09 HDFFV-8932) + - Autotools: Automake updated to 1.14.1 (ADB - 2014/04/08) + - CMake: Moved minimum CMake version to 2.8.11 which enables better library + include processing. (ADB - 2014/03/26) + - New configuration option added to change the default plugin path. + configure option is --with-default-plugin=location + cmake option is -DH5_DEFAULT_PLUGINDIR:PATH=location + HDFFV-8513. (ADB 2013/09/04) + - Rename FFLAGS to FCFLAGS in configure (ADB 2013/08/13) + - CMake minimum is now 2.8.10. (ADB 2013/01/14) + - A new tool, cmakehdf5, which is a build command script similar to + buildhdf5 is added and is available in the bin directory. + (AKC - 2012/12/12) + - Fixed AIX Fortran compiler flags to use appropriate settings for + debugging, profiling, optimization situations. HDFFV-8069. (AKC + 2012/09/27) + - Updated to latest autotools and changed all hard *.sh scripts to + configure managed *.sh.in files. Removed overloading of autotools + TESTS variable by examples and tests. Renamed configure.in to + configure.ac. (ADB - 2012/08/23 - HDFFV-8129) + - Added code to display the version information of XL fortran and C++ + in the summary of configure. (AKC - 2012/02/28 - HDFFV-7793) + - Configure now generates Makefiles that build in "silent make mode" + by default in which compile and link lines are significantly + simplified for clarity. To override this and view actual compile and + link lines during building, the --disable-silent-rules flag can be used + at configure time, or the 'make' command can be followed by V=1, to + indicate a "verbose" make. (MAM - 2011/4/14). + - Added mpicc and mpif90 as the default C and Fortran compilers for Linux + systems when --enable-parallel is specified but no $CC or $FC is defined. + (AKC - 2011/2/7) + - 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 parallel + HDF5 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) + - PHDF5 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/6/11 - Bug 1921) + - Configure now adds appropriate defines for supporting large (64-bit) + files on all systems, where supported, by default, instead of only linux. + This largefile support is controllable with the --enable-largefile + configure option. This is replacing the linux-specific --enable-linux-lfs + option, which has been removed from configure. + (MAM - 2010/05/05 - 1772/1434) + - Upgraded versions of autotools used to generate configuration suite. + 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 + allows non-system-default compiler command names (e.g. xlc-m.n.k.l) be + recognized. AKC 2009/11/26. + - Configuration suite now uses Automake 1.11 and Autoconf 2.64. + MAM 2009/08/11. + - Changed default Gnu fortran compiler from g95 to gfortran since + gfortran is more likely installed with gcc now. -AKC 2009/07/19- + - 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 + installing via the prefix= or $DESTDIR options. AKC - 2009/04/14 + - Configuration suite now uses Libtool 2.2.6a. MAM 2008/10/24 + + - Configuration suite now uses Autoconf 2.61, Automake 1.10.1. + MAM 2008/05/05. + + - 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) + + Library: + -------- + + - Virtual Dataset feature was added + (NAF - 2015-10-05, VDS-193) + + - H5F_ACC_DEBUG labeled "deprecated" + + The symbol was originally used to emit some extra debugging + informationi in the multi VFD. The underlying functionality + was removed due to disuse in HDF5 1.8.16 though the symbol + remained defined since it was visible in H5Fpublic.h. + + In this release, the symbol has been labeled deprecated and will + not be defined when H5_NO_DEPRECATED_SYMBOLS is defined. + + (DER - 2015-04-30, HDFFV-1074) + + - The library can load filter libraries dynamically during runtime. Users + 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. + (NAF - 2013/02/05) + - The library now supports the data conversion from enumeration to numeric + (integer and floating-point number) datatypes. See Issue 8221. + (SLU - 2012/10/23) + - The data sieve buffer size was for all the datasets in the file. It + could waste memory if any dataset size is smaller than the sieve buffer + 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/2) + - I added a new parameter of object access property list to the function + H5Rdereference (Issue 2763). It's called H5Rdereference2 now. The former + H5Rdereference function has been deprecated to H5Rdereference1. (SLU - + 2011/7/18) + - H5Tcreate now supports string type (fixed-length and variable-length). + (SLU - 2011/05/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) + - Removed all old code for Metraowerks compilers, bracketed by + __MWERKS__). Metraowerks compiler is long gone. (AKC - 2010/11/17) + - Added support for threadsafety on windows using the windows threads + library. Use the HDF5_ENABLE_THREADSAFE option in CMake while on a + windows platform to enable this functionality. This is supported on + Windows Vista and newer Windows operating systems. (MAM - 2010/09/10) + - 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/9/8) + - H5Tset_order and H5Tget_order now support all data types. A new byte + order H5T_ORDER_MIXED has been added specifically for compound datatype + and its derived type. Please see bug #1934. (SLU - 2010/8/23) + - Improved performance of the chunk cache by avoiding unnecessary b-tree + lookups of chunks already in cache. (NAF - 2010/06/15) + - Greatly improved performance of extending a dataset with early + allocation. (NAF - 2010/03/24 - 1637) + - Added support for filtering densely stored groups. Many of the API + functions related to filters have been extended to support dense groups + as well as datasets. Pipeline messages can now be stored in a group's + object header. (NAF/QAK - 2009/10/8) + - The embedded library information is displayed by H5check_version() if a + version mismatch is detected. Also changed H5check_version() to + suppress the warning message totally if $HDF5_DISABLE_VERSION_CHECK is 2 + or higher. (Old behavior treated 3 or higher the same as 1, that is + print a warning and allows the program to continue. (AKC - 2009/9/28) + - If a user does not care for the extra library information insert + in the executables, he may turn it off by --disable-embedded-libinfo + during configure. (AKC - 2009/9/15) + - Corrected problem where library would re-write the superblock in a file + opened for R/W access, even when no changes were made to the file. + (QAK - 2009/08/20, Bz#1473) + - Separated "factory" free list class from block free lists. These free + lists are dynamically created and manage blocks of a fixed size. + H5set_free_list_limits() will use the same settings specified for block + free lists for factory free lists. (NAF - 2009/04/08) + - Added support for dense attributes to H5Ocopy. (XCao/NAF - 2009/01/29) + - Added H5Pset_elink_cb and H5Pget_elink_cb functions to support a + user-defined callback function for external link traversal. + (NAF - 2009/01/08) + - Added H5Pset_elink_acc_flags and H5Pget_elink_acc_flags functions to + allow the user to specify the file access flags used to open the target + file of an external link. (NAF - 2009/01/08) + - Added H5Pset_chunk_cache() and H5Pget_chunk_cache() functions to allow + individual rdcc configuration for each dataset. Added + H5Dget_access_plist() function to retrieve a dataset access property + list from a dataset. (NAF - 2008/11/12) + - Added H5Iis_valid() function to check if an id is valid without producing + an error message. (NAF - 2008/11/5) + - 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) + + Parallel Library: + ----------------- + - Add H5Pget_mpio_no_collective_cause() function that retrive reasons + why the collective I/O was broken during read/write IO access. + (JKM - 2012/08/30 HDFFV-8143) + - Special Collective IO (IO when some processes do not contribute to the + IO) and Complex Derived Datatype MPI functionalities are no longer + conditionally enabled in the library by configure. They are always + enabled in order to take advantage of performance boosts from these + behaviors. Older MPI implementations that do not allow for these + functionalities can no longer by used by HDF5. (MAM - 2011/07/08). + - Modified parallel tests to run with arbitrary number of processes. The + modified tests are testphdf5 (parallel dataset access), t_chunk_alloc + (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) + + Fortran Library: + ---------------- + + - Added parallel routine H5Pget_mpio_actual_io_mode_f (MSB - 2012/09/27) + + - Added for the C API the Fortran wrapper: + h5ocopy_f (MSB - 2012/03/22) + + + HDF5 Fortran library was enhanced to support Fortran 2003 standard. + The following features are available when the HDF5 library is configured + using --enable-fortran --enable-fortran2003 configure flags AND + if fortran compiler is Fortran2003 compliant: + + - Subroutines overloaded with the C_PTR derived type: + h5pget_f + h5pget_fill_value_f + h5pinsert_f + h5pregister_f + h5pset_f + h5pset_fill_value_f + h5rcreate_f + h5rderefrence_f + h5rget_name_f + h5rget_obj_type_f + - Subroutines overloaded with the C_PTR derived type + and simplified signatures: + h5aread_f + h5awrite_f + h5dread_f + h5dwrite_f + - New subroutines + h5dvlen_reclaim_f + h5literate_by_name_f + h5literate_f + h5ovisit_f + h5tconvert_f + + - Subroutines with additional optional parameters: + h5pcreate_class_f + (EIP - 2011/10/14) + + - Added for the C APIs the Fortran wrappers: + h5dget_access_plist_f + h5iis_valid_f + h5pset_chunk_cache_f + h5pget_chunk_cache_f + (MSB - 2009/04/17) + + + + C++ Library: + ------------ + - New member function added + + The assignment operator ArrayType::operator= is added because ArrayType + has pointer data members. + + (BMR, 2016/03/07, HDFFV-9562) + + - New member functions + + Overloaded CommonFG::getObjnameByIdx to take char* for name + + Overloaded CommonFG::getObjTypeByIdx to return type name as a char*. + (BMR - 2010/05/02) + + DataSet::getInMemDataSize() to simplify getting the dataset's + data size in memory. (BMR - 2009/07/26) + - These member functions were added as wrapper for H5Rdereference to + replace the incorrect IdComponent::dereference(). + void H5Object::dereference(H5File& h5file, void* ref) + void H5Object::dereference(H5Object& obj, void* ref) + In addition, these constructors were added to create the associated + objects by way of dereference: + Attribute(H5Object& obj, void* ref); + Attribute(H5File& file, void* ref); + DataSet(H5Object& obj, void* ref); + DataSet(H5File& file, void* ref); + DataType(H5Object& obj, void* ref); + DataType(H5File& file, void* ref); + Group(H5Object& obj, void* ref); + Group(H5File& obj, void* ref); + (BMR - 2008/08/10) + + + + Tools: + ------ + - h5repack: Added ability to use plugin filters. HDFFV-8345 (ADB - 2013/09/04). + - h5dump: Added option -N --any_path, which searches the file for paths that + match the search path. HDFFV-7989 (ADB - 2013/08/12). + - h5dump: Added optional arg 0 to -A, which excludes attributes from display. + HDFFV-8134 (ADB - 2013/08/01). + - 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 filter. + HDFFV-8346 (XCAO 2013/03/19) + - 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. See details at HDFFV-7523 + (PC -- 2012/03/12) + - h5dump: Added ability to apply command options across multiple files using a + wildcard in the filename. Example; "h5dump -H -d Dataset1 tarr*.h5". + HDFFV-7876 (ADB - 2012/03/12). + - h5repack: Improved performance for big chunked datasets (size > 128MB) + when used with layout (-l) or compression (-f) option. + It would perform much better prior to the improvement, + especially for cases that chunk dimentions looks like + "1024x5x1" (compare to "1x5x1024"). When bigger numbers + are toward front and smaller number is toward back in chunk + dimentions. HDFFV-7862 (JKM - 2012/03/01) + - h5dump: Added new option --no-compact-subset. This option will not + interpret the '[' character as starting the compact form of + subsetting. This is useful when the "h5dump error: unable to + open dataset "datset_name"" message is output because a dataset + name contains a '[' character. HDFFV-7689 (ADB - 2012/01/31) + - h5dump: Corrected 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) + - h5diff: Added new level for -v (verbose) option. The new levels are + 1 and 2. So -v1 and -v2 can be specified to view more + information about 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 useful + when the "h5dump: Unable to print data" message is output. + (ADB - 2011/02/24) + - h5diff: Add a new flag --exclude-path. Specified path to an object will + be excluded from comparing the two files or two groups. If group + is specified all the member objects will be excluded. + (JKM - 2010/09/16). + - h5ls: Add new flag --no-dangling-links. (refer to --help for details) + (JKM - 2010/06/15) + - h5ls: Add new flag --follow-symlinks. (refer to --help for details) + (JKM - 2010/05/25) + - h5diff: Add new flag --no-dangling-links. (refer to --help for details) + (JKM - 2010/02/10) + - h5diff: Add new flag --follow-symlinks. (refer to --help for details) + (JKM - 2010/01/25) + - h5diff: fix for displaying garbage value on LE machine for BE data. + (JKM - 2009/11/20) + - h5dump: subsetting now allows default for count. Also trailing ; in short form + can be omitted after last specified value. + (ADB - 2009/09/04) + - h5dump/h5ls: now can display data in region references + using new -R, --region flag. + (ADB - 2009/09/04) + - h5diff: new flag, -c, --compare, list objects that are not comparable. + (PVN - 2009/4/10 - 1368) + - h5diff new flag, -N, --nan, avoids NaNs detection. (PVN - 2009/4/10) + - h5dump correctly specifies XML dtd / schema urls (ADB - 2009/4/3 - 1519) + - h5repack now handles group creation order. (PVN - 2009/4/2 - 1402) + - h5dump: added a printing of the compression ratio of uncompressed and compressed + sizes for cases where compression filters are present. (PVN - 2008/05/01) + - h5dump: added an option to allow a user defined formatting string for printf + regarding floating point numbers. (PVN - 2008/05/06) + - h5dump: support for external links, display the object that the external link + points to. (PVN - 2008/05/12) + - h5repack: add a userblock to an HDF5 file during the repack. (PVN - 2008/08/26) + - h5repack: add 2 options that call H5Pset_alignment in the 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 will + not traverse external links without this flag being set. + (NAF - 2008/10/06) + - h5diff: added support for long double (PVN - 2008/10/28) + - h5dump: binary output defaults to NATIVE with -b optionally accepting + the form of binary output (NATIVE, FILE, BE, LE). (PVN - 2008/10/30) + - h5diff: return 1 for file differences when both 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 + instead (PVN - 2008/10/30) + - 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) + - 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) (PC -- 2009/07/28) + - h5diff: add option "--use-system-epsilon" to print difference if (|a-b| > EPSILON) + Change default to use strict equality (PC -- 2009/09/12) + + + High-Level APIs: + --------------- + + C Packet Table API + ------------------ + - Replacement of a public function + + The existing function H5PTcreate_fl limits applications to deflate + compression only. The public function H5PTcreate is added to replace + H5PTcreate_fl. H5PTcreate takes a property list ID to provide + flexibility on creation properties. + + hid_t H5PTcreate(hid_t loc_id, const char *dset_name, + hid_t dtype_id, hsize_t chunk_size, hid_t plist_id); + (BMR, 2016/03/04, HDFFV-8623) + + - New public functions + + Two accessor functions were added per HDFFV-8623/patch 003. + /* Returns the ID of the dataset associated with the packet table */ + hid_t H5PTget_dataset(hid_t table_id); + + /* Returns the ID of the datatype the packet table uses */ + hid_t H5PTget_type(hid_t table_id); + (BMR, 2016/03/04, HDFFV-8623) + + - Regarding #ifdef VLPT_REMOVED + + The #ifdef VLPT_REMOVED blocks are removed from the PT library source + except the following cases: + + H5PTis_varlen() is made available again. + + H5PTfree_vlen_readbuff() now became H5PTfree_vlen_buff() + (BMR, 2016/03/04, HDFFV-442) + + C++ Packet Table API + -------------------- + - New constructor + + An overloaded constructor is added to FL_PacketTable and takes a property + list ID to provide flexibility on creation properties. + + FL_PacketTable(hid_t fileID, hid_t plist_id, const char* name, hid_t dtypeID, hsize_t chunkSize); + (BMR, 2016/03/08, HDFFV-8623) + + - New public functions + + Two accessor wrappers to class PacketTable, per HDFFV-8623/patch 004. + /* Returns the ID of the dataset associated with the packet table */ + hid_t PacketTable::GetDataset() + + /* Returns the ID of the datatype the packet table uses */ + hid_t PacketTable::GetDataset() + (BMR, 2016/03/04, HDFFV-8623) + + - Member functions having "char*" as an argument + + Overloaded functions were added to provide "const char*" argument, the + existing version will be deprecated. + (BMR, 2016/03/04) + + - Regarding #ifdef VLPT_REMOVED + + The #ifdef VLPT_REMOVED blocks are removed from the PT library source + except the following cases: + + VL_PacketTable::IsVariableLength() is moved to PacketTable + + VL_PacketTable::FreeReadBuff() now became PacketTable::FreeBuff() + + (BMR, 2016/03/04, HDFFV-442) + + + Internal header file + -------------------- + - A new API function H5DOwrite_chunk. It writes a data chunk directly + into a file bypassing hyperslab selection, data conversion, and + filter pipeline. The user must be careful with the function and + clearly understand the I/O process of the library. + (SLU - 2013/2/11) + - New API: h5ltpath_valid (Fortran: h5ltpath_valid_f) which checks + if a path is correct and determines if a link resolves to a valid + object and checks that the link does not dangle. (MSB- 2012/3/15) + + - Added Fortran wrappers for Dimension Scale APIs. HDFFV-3797 + h5dsset_scale_f + h5dsattach_scale_f + h5dsdetach_scale_f + h5dsis_attached_f + h5dsis_scale_f + h5dsset_label_f + h5dsget_label_f + h5dsget_scale_name_f + h5dsget_num_scales_f + (EIP for SB - 2011/10/13) + + - Table: In version 3.0 of Table, "NROWS" (used to store number of records) was + deprecated (PVN - 2008/11/24) + + Documentation + ------------- + +Support for new platforms, languages and compilers. +======================================= + - Intel V11.1 uses now -O3 optimization in production mode (EIP - 2010/10/08) + - PathScale compilers are recognized and can build the HDF5 library + properly. AKC - 2009/7/28 - + - SunOS 5.11 (emu) 32-bit and 64-bit with Sun C/C++ 5.12 compiler and + Sun Fortran 95 8.6 compiler. (SLU - 2013/04/15) + +Bug Fixes since HDF5-1.8.0 release +================================== + + 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) + + - H5Z.c: H5Zfilter_avail(H5Z_filter_t id) + Added else block if the call to the internal H5Z_filter_avail(id) does not + fail and returns FALSE. This block calls the H5PL_load(H5PL_TYPE_FILTER, (int)id) + function to attempt to dynamically load the filter plugin. + (ADB - 2014/03/03 HDFFV-8629) + - Added const qualifier to source buffer parameters in H5Dgather and + H5D_scatter_func_t (H5Dscatter callback). (NAF - 2013/7/02) + - Fixed an error involving failure to write fill values to the user's + buffer when reading unallocated chunks from datasets that have a + fill value set to H5D_FILL_VALUE_DEFAULT. A consequence of this + was the reporting of spurious data values in h5dump and h5diff + output. + (HDFFV-8247; JP - 2013/05/03) + - Fixed an error that could occur when calling H5Ocopy within an + H5Literate callback (and possibly other situations). + (NAF - 2012/7/25 - HDFFV-5853) + - Fixed an error that would occur when copying an object with attribute + creation order tracked and indexed. (NAF - 2012/3/28 - HDFFV-7762) + - Fixed a bug in H5Ocopy(): When copying an opened object, call the + object's flush class action to ensure that cached data is flushed + so that H5Ocopy will get the correct data. + (VC - 2012/3/27 - HDFFV-7853) + - When an application tries to write or read many small data chunks and + runs out of memory, the library had a seg fault. The fix is to + return the error stack with proper information. (SLU - 2012/3/23. + Issue 7785) + - H5Pset_data_transform had seg fault in some cases like x*-100. It + works correctly now and handles other cases like 100-x or 2/x. + (SLU - 2012/3/15. Issue 7922) + - Fixed rare corruption bugs that could occur when using the new object + header format. (NAF - 2012/3/15 - HDFFV-7879) + - Creating a dataset in a read-only file caused seg fault when the file + is closed. It's fixed. The attemp to create a dataset will fail + with the error stack indicating the file is read-only. (SLU - + 2012/1/25. Issue 7756) + - Fixed a seg 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 file corruption when copying named + datatypes to a file using shared messages. (NAF - 2011/11/14) + - Fixed a bug that could cause H5Oget_info to return the wrong address + after copying a named datatype. (NAF - 2011/11/14) + - The library allowed the conversion of strings between ASCII and UTF8 + (Issue 7582). We have corrected it to report an error under this + situation. (SLU - 2011/11/8) + - The library had seg fault when it tried to shrink the size of compound type + through H5Tset_size immediately after the type was created (Issue + 7618). It's fixed now. (SLU - 2011/10/26) + - Fixed a bug that occurred when using H5Ocopy on a committed datatype + containing an attribute using that committed datatype. + (NAF - 2011/10/13 - Issue 5854) + - #ifdef _WIN32 instances changed to #ifdef H5_HAVE_WIN32_API and added + H5_HAVE_VISUAL_STUDIO checks where necessary. CMake only as configure + never set _WIN32. + - CLANG compiler with the options -fcatch-undefined-behavior and -ftrapv + discovered 3 problems in tests and tools' library (Issue 7674): + 1. In dsets.c, left shifting an unsigned int for 32 bits or more + caused undefined behavior. + 2. In dt_arith.c, the INIT_INTEGER macro definition has an overflow + when the value is negative minimal and is being subtracted one. + 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/9/2) + - In v1.6 library, there was EOA for the whole MULTI file saved in the + super block. We took it out in v1.8 library because it's meaningless + for the MULTI file. v1.8 library saves the EOA for the metadata file, + instead. But this caused some backward compatibility problem. + v1.8 library couldn't open the file created with v1.6 library. We + fixed the problem by checking the EOA value to detect the file + created with v1.6 library. (SLU - 2011/6/22) + - When a dataset had filters and reading data failed, the error message + didn't say which filter isn't registered. It's fixed now. + (SLU - 2011/6/3) + - The datatype handler created with H5Tencode/decode used to have the + reference count 0 (zero). I have fixed it. It is 1 (one) now. + (SLU - 2011/2/18) + - Fixed a bug that caused big endian machines to generate corrupt files + when using the scale-offset filter with floating point data or + fill values. Note that such datasets will no longer be readable + 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 gracefully rather than cause a segmentation fault. + (MAM - 2010/11/17) + - Modified library to always cache symbol table information. Libraries + version 1.6.3 have a bug which causes them to require this + information for some operations. (NAF - 2010/09/21 - 1864) + - Fixed a bug that could occur when getting information for a new-style + group that was previously opened through a file handle that was + later closed. (NAF - 2010/09/15) + - Added define check in H5public.h if stdint.h is supported by the C++ + compiler. This define is only available on Windows with VS2010 and + using CMake to build the library. (ADB - 2010/09/13 - Bug 1938) + - H5Eset_current_stack now also closes the error stack to be set as the + default. This is to avoid a potential problem (Bug 1799). + (SLU - 2010/9/7) + - Fixed the bug in the filter's public CAN_APPLY function. The return + value should be htri_t not herr_t (Bug #1239). (SLU - 2010/8/5) + - 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 (Bug #1956). I fixed it by taking out the memcpy step in + the attribute code. (SLU - 2010/07/28) + - Fixed a bug that could cause file corruption when using non-default + sizes of addresses and/or lengths. This bug could also cause + uncorrupted files with this property to be unreadable. This bug + was introduced in 1.8.5. (NAF - 2010/07/16 - 1951) + - Fixed a file corruption bug that could happen when shrinking a + compressed dataset. (NAF - 2010/05/20) + - Fixed some memory leaks in VL datatype conversion when strings are + used as fill values. (MAM - 2010/05/12 - BZ# 1826) + - Fixed a bug when copying objects with NULL references with the + H5O_COPY_EXPAND_REFERENCE_FLAG flag set. (NAF - 2010/04/08 - 1815) + - Files can now be concurrently opened more than once using the core file + driver, as long as the backing store is used. (NAF - 2010/03/09) + - Added support for H5O_COPY_EXPAND_EXT_LINK_FLAG to H5Ocopy. External + links will now be expanded if this flag is set. + (NAF - 2010/03/05 - 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 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 (Bug #1584). I fixed it + to be consistent. It always return string type. (SLU - 2009/12/10) + - Fixed a bug where writing and deleting many global heap objects (i.e. + variable length data) would render the file unreadable. Previously + created files exhibiting this problem should now be readable. + (NAF - 2009/10/27 - 1483) + - Fixed incorrect return value for H5Pget_preserve. (AKC - 2009/10/08 - 1628) + - Fixed an assertion failure that occurred when H5Ocopy was called on a + dataset using a vlen inside a compound. (NAF - 2009/10/02 - 1597) + - Fixed incorrect return value for H5Pget_filter_by_id1/2 in H5Ppublic.h. + (NAF - 2009/09/25 - 1620) + - Fixed a bug where properties weren't being compared with the registered + compare callback. (NAF - 2009/09/25 - 1555) + - Fixed a bug where H5Pget_fitler_by_id would succeed when called for a + filter that wasn't present. (NAF - 2009/06/25 - 1250) + - Fixed an issue with committed compound datatypes containing a vlen. + Also fixed memory leaks involving committed datatypes. + (NAF - 2009/06/10 - 1593) + - Added versioning to H5Z_class_t struct to allow compatibility with 1.6 + 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 + 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) + - Modified library to write cached symbol table information to the + superblock, to allow library versions 1.3.0 to 1.6.3 to read files + created by this version. (NAF - 2009/04/08 - 1423) + - Changed skip lists to use a deterministic algorithm. The library should + now never call rand() or srand(). (NAF - 2009/04/08 - 503) + - Fixed a bug where H5Lcopy and H5Lmove wouldn't create intermediate + groups when that property was set. (NAF - 2009/04/07 - 1526) + - Fixed a bug that caused files with a user block to grow by the size of + the user block every time they were opened. + (NAF - 2009/03/26 - 1499) + - Fixed a rare problem that could occur with files using the old (pre 1.4) + array datatype. (NAF - 2009/03/23) + - 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 + 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) + - Fixed a bug that prevented more than one dataset chunk from being cached + at a time. (NAF - 2009/02/12 - 1015) + - Fixed an assertion failure caused by opening an attribute multiple times + through multiple file handles. (NAF - 2009/02/12 - 1420) + - Fixed a problem that could prevent the user from adding attributes (or + any object header message) in some circumstances. + (NAF - 2009/02/12 - 1427) + - Fixed a bug that could cause problems when an attribute was added to a + committed datatype using the committed datatype's datatype. + (NAF - 2009/02/12) + - Fixed a bug that could cause problems when copying an object with a + shared message in its own object header. (NAF - 2009/01/29) + - Changed H5Tset_order to properly reject H5T_ORDER_NONE for most + datatypes. (NAF - 2009/01/27 - 1443) + - 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 + 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) + - H5Ovisit and H5Ovisit_by_name will now properly terminate when the + callback function returns a positive value on the starting object. + (NAF - 2008/11/03) + - Fixed an error where a null message could be created that was larger + than could be written to the file. (NAF - 2008/10/23) + - Corrected error with family/split/multi VFD not updating driver info + when "latest" version of the file format used. (QAK - 2008/10/14) + - Corrected alignment+threshold errors to work correctly when metadata + aggregation is enabled. (QAK - 2008/10/06) + - Changed H5Fget_obj_count and H5Fget_obj_ids to ignore objects registered + by the library for internal library use. (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. (SLU - 2008/09/26) + - Fixed an issue that could cause data to be improperly overwritten + during compound type conversion. (NAF - 2008/09/19) + - Fixed pointer alignment violations that could occur during vlen + conversion. (NAF - 2008/09/16) + - Fixed problem where library could cause a segmentation fault when + an invalid location ID was given to H5Giterate(). (QAK - 2008/08/19) + - Fixed improper shutdown when objects have reference count > 1. The + library now tracks reference count due to the application separately + from that due to internal library routines. (NAF - 2008/08/19) + - Fixed assertion failure caused by incorrect array datatype version. + (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 top structure). + (NAF - 2008/08/07) + - 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/22 + - Fixed issue where a group could have a file mounted on it twice. + (QAK - 2008/07/15) + - 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 + - Fixed the problem with the searching of target file for H5Lcreate_external(). + The searching pattern will depend on whether the target file's + pathname is an absolute or a relative path. Please see the description + in the RM for H5Lcreate_external(). (VC - 2008/04/08) + - Fixed possible file corruption bug when encoding datatype + descriptions for compound datatypes whose size was between + 256 & 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 handle invalid location + ID correctly. (QAK - 2008/03/11) + - H5Dset_extent: when shrinking dimensions, some chunks were not deleted. + (PVN - 2009/01/8) + - Added code to maintain a min_clean_fraction in the metadata cache when + in serial mode. (MAM - 2009/01/9) + + + + Configuration + ------------- + - 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 + by the the szip and zlib filter build commands. (ADB - HDFFV-8695) + - CMake: Remove use of 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) + - Modified H5detect.c to scan floating point types for padding bits before + analyzing the type further. This should fix problems with gcc 4.8 + (NAF - 2013/09/19 - HDFFV-8523/HDFFV-8500) + - Fixed Makefile issue in which "-Wl," was not properly specified + prior to -rpath when building parallel fortran libraries with + an Intel compiler. (MAM - 2012/03/26) + - Makefiles generated by other packages using h5cc as the compiler + no longer error when 'make' is invoked more than once in order + to 'rebuild' after changes to source. (MAM - 2012/03/26) + - Added --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 Fortran compiler + is Fortran2003 compliant. (EIP - 2011/11/14) + + - In Windows platform, the default VFD, was Windows VFD, is restored back + to the SEC2, aka POSIX, VFD. The Windows VFD is deprecated. HDFFV-7740 + (AKC 2011/09/26) + - Removed config/ibm-aix6.x. All IBM-AIX settings are in one file, + ibm-aix. (AKC - 2011/4/14) + - Shared C libraries are no longer disabled on Mac when Fortran + is enabled. Shared Fortran libraries are still not supported on Mac, + so configure will disable them by default, but this is overridable + with the new --enable-unsupported configure option. The configure + 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 - 04/11/2011 - HDFFV-4353). + - 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/7/14 - Bug 1921) + - Removed the following config files, as we no longer support them: + 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 + 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/Makfile 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 + being used. MAM - 2009/10/01 + - The PathScale compiler (v3.2) was mistaken as gcc v4.2.0 but it fails to + recognize some gcc options. Fixed. (see bug 1301). AKC - 2009/7/28 - + - The --enable-static-exec flag will now properly place the -static flag + 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 --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 + prior to configuration. MAM - 2009/03/09 - BZ #1401. + - Fixed error with 'make check install' failing due to h5dump + needing other tools built first. MAM - 2008/10/24. + - Wpen using shared szip, it is no longer necessary to specify + the path to the shared szip libraries in LD_LIBRARY_PATH. MAM - + 2008/10/24. + - 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. + - Autotools: An export of LD_LIBRARY_PATH=<szip library location> was + removed from configure and 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. 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) + + Performance + ------------- + - Removed program perform/benchpar from the enable-build-all list. The + program will be retired or moved to another location. HDFFV-8156 + (AKC 2012/10/01) + - Retired program perform/mpi-perf. Its purpose has been incorporated + into h5perf before. (AKC 2012/09/20) + - ifdefs added to tests around include unistd.h and function to simulate + getlogin() on Windows. + (ADB - 2011/08/15) + - perf_serial test added to Windows projects and check batch file. + (ADB - 2009/06/11) + Fortran + -------- + - 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 the code from debug statements. + (EIP - 2012/06/23) + + - Fixed problem writing/reading control characters to a dataset; writing + a string containing: alerts, backspace, carriage_return, form_feed, + horizontal_tab, vertical_tab, new_line is now tested and working. + (MSB - 2012/09/01) + + - Corrected the integer type of H5S_UNLIMITED_F to HSIZE_T (MSB - 2012/09/01) + + - Corrected the number of continuation lines in the src files + to be less then 32 lines for F95 compliance. (MSB - 2012/10/01) + + Tools + ----- + - h5dump subsetting fixed for dims greater then two + When a dataset has more then two dimensions, subsetting would incorrectly + calculate the data that needed to be displayed. + Added in block and stride calculation that account for dimensions greater + then 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/04, HDFFV-9698) + - h5repack: h5repack would not attempt to remove UD filters. Added a + check to h5repack for UD filters that checks if the filter can + be dynamically loaded. This will require a change in the library to + add the H5PL_load() to the H5Zfilter_avail(). (ADB - 2014/03/03 HDFFV-8629) + - h5repack: Fixed failure for converting a layout of small chunked dataset + (size < 1K) to contiguous layout. HDFFV-8214 (JKM 2013/03/18) + - h5diff: Fixed to return correct exit code 1 when detect unique extra + attribute. Prior to this fix, h5diff returned exit code 0 indicating + two files are identical. HDFFV-7643 (JKM 2013/02/15) + - h5diff: Improved speed when comparing HDF5 files with lots of + attributes. Much slower performance was identified with release + version from 1.8.7 to 1.8.10 compared to 1.8.6. (JKM 2012/10/19) + - h5repack: "h5repack -f NONE file1.h5 out.h5" command failed if + 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 when dataset size is smaller than 64k (compact + size limit) Fixed both. + HDFFV-8012 (JKM 2012/09/24) + - h5diff: Fixed not to accumulate attribute difference to dataset + difference in verbose mode (-v, -r), which caused incorrect + difference between dataset and group/datatype object if attribute + exist with any differences. This also lead to fix inconsistent + format indicating difference between dataset and group/datatype + object. HDFFV-5919 (JKM 2012/09/05) + - h5diff: Fixed the incorrect result when comparing attribute data + values and the data type has same class but different size. + HDFFV-7942 (JKM 2012/08/15) + - 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 depend on machine condition. HDFFV-8003 (JKM 2012/08/01) + - 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) + - h5diff: Fixed the Function COPY_TESTFILES_TO_TESTDIR() of + testh5diff.sh to better report when there is an error in the file + copying. HDFFV-8105 (AKC -2012/07/22) + - h5diff: Fixed not to check and display dangling link status without + --follow-symlinks option. This also improved performance when + comparing lots of external links without the --follow-symlinks + option. HDFFV-7998 (JKM 2012/04/26) + - h5unjam: Fixed sefgault when used -V (show version) option. + HDFFV-8001 (JKM 2012/04/19) + - h5repack: Fixed a failure when change the chunk size of a specified + chunked dataset with unlimited max dims. HDFFV-7993 (JKM 2012/04/11) + - h5diff: Fixed failure for comparing same named object with different + object types in comparing groups. Prior to the fix, h5diff resulted + in error. After the fix, h5diff detects such case as non-comparable + and display messages accordingly. HDFFV-7664 (JKM 2012/03/28) + - h5diff: If unique objects exists only in one file and try to exclude + the unique objects with --exclude-path option, h5diff missed + excluding some objects. + Fixed to exclude objects correctly in such case. + HDFFV-7837 (JKM 2012/03/20) + - h5dump: Added tools library error stack to properly catch error + information generated within the library. + HDFFV-7958 (ADB 2012/03/12) + - h5dump: Dangling links no longer throw error message, change process + when open link fails. + HDFFV-7839 (ADB 2012/03/12) + - h5diff: When two symbolic dangling links are compared with + --follow-symlinks option, the result should be same. It worked for + comparing two files, but didn't work for comparing two objects. + HDFFV-7835 (JKM 2012/03/09) + - 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. + HDFFV-7560 (ADB 2012/02/17) + - h5diff: fixed to prevent from displaying error stack message when + comparing the two dangling symlinks with follow-symlinks option. + HDFFV-7836 (JKM 2012/01/13) + - h5repack: fixed memory leak for handling variable length string in + attribute. HDFFV-7840 (JKM 2012/01/06) + - h5ls: fixed segfault when access region reference data in an + attribute. HDFFV-7838 (JKM 2011/12/29) + - h5diff: fixed segfault over non-comparable attribute with different + dimention or rank, along with '-c' option to display details. + HDFFV-7770 (JKM 2011/10/24) + - Fixed h5diff to display all the comparable object and attribute + regardless of non-comparables. HDFFV-7693 (JKM 2011/09/16) + - Fixed h5repack to update values of references(object and region) of + attributes in h5repack for 1) references, 2) ARRAY of references, + 3) VLEN of references, and 4) COMPOUND of references. + (JIRA HDF5 5932) PC -2011/09/14 + - h5diff: fixed segfault over dataset with container types + (array,lven) with multiple nested compound types. + (ex: compound->array->compound, compound->vlen->compound) + HDFFV-7712 JKM (2011/09/01) + - h5repack: added macro to handle failure in H5Dread/write when memory + allocation failed inside the library. (PC -- 2011/08/19) + - Fixed h5jam not to allow specifying an HDF5 formatted file as input + file for -u (user block file) option, because the original HDF5 file + will not be accessible if allows. HDFFV-5941 (JKM 2011/08/15) + - Revised command help pages of h5jam and h5unjam. The descriptions + were not up to date and some were missing. + HDFFV-7515 (JKM 2011/08/15) + - h5repack: h5repack failed to copy dataset if the layout is changed + from chunked with unlimited dims to contiguous. HDFFV-7649 + (PC -- 2011/07/15) + - h5diff: "--delta" option considers two NaN of the same type are + different, which is wrong based on h5diff description in Reference + Manual. HDFFV-7656 (PC -- 2011/07/15) + - Fixed h5diff to display instructive error message and exit with 1 + when mutually exclusive options (-d, -p and --use-system-epsilon) + are used together. HDFFV-7600 (JKM 2011/07/07) + - Fixed h5dump to display the first line of each element into correct + position for multiple dimention array type. + Before this fix, the first line of each element in array were + displayed after the last line of previous element without + moving to the next line (+indentation). + Bug #HDFFV-5878 (JKM 2011/06/15) + - Fixed h5dump to display correct value for H5T_STD_I8LE dataset + on a system (ppc64, linux, Big-Endian, clustering). + Bug #HDFFV-7594 (ABERT & JKM 2011/05/12) + - Fixed h5diff to compare file itself correctly. Previously h5diff + reported either different or not compatible in certain cases even + comparing file itself. This fix also improve performance when + comparing same target objects through verifying the obj&file + addresses before comparing the details in the objects (ex: datasets + or attributes) Bug #HDFFV-5928 (XCAO & JKM 2011/05/06) + - Updated h5dump test case script to prevent entire test failure upon + 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 2011/04/08) + - Updated to unify option name to '--enable-error-stack' for printing + HDF5 error stack messages for HDF5 tools. h5ls and h5dump for now. + For h5ls, this replaces "-e/--errors" option, which is deprecated. + Bug#2182 (JKM 2011/3/30) + - Fix h5diff for --use-system-epsilon option: the calculation changed + from ( |a - b| / b ) to ( |a - b| ). This was decided for better + 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; + <reference> ::= H5T_REFERENCE { <ref_type> } + <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) + - Fix h5diff issues for #1: h5diff compared attributes correctly only + when two objects have the same number of attributes and attribute + names are identical, #2: didn't display useful information about + attribute difference. Bug#2121 (JKM 2011/3/17) + - Fixed memory leak for h5diff when accessing symbolic links with + --follow-symlink option. Bug#2214 (JKM 2011/3/18) + - Fixed memory leak for h5diff when access variable length string + data. Bug#2216 (JKM 2011/3/18) + - Fixed and improved help page for -a option of h5ls. + Bug#1904 (JKM 2011/3/11) + - Fixed h5dump not to include attribute values in the output file when + h5dump "-y -o output_file" options were used. The problem was introduced + in HDF5 1.8.6 by showing data pointed by region references. (XCAO 2011/3/9) + - Fixed h5copy to be able to copy any object into the same HDF5 file. + Previously h5copy displayed error message when target file is same + as source file. (XCAO 2011/3/8) + - Fixed h5dump for skipping some values for long array type dataset on + Windows. This issue only occurred on Windows due to the different + return behavior from _vsnprintf() funtion. Bug#2161 (JKM 2011/3/3) + - Fixed h5dump for skipping array indices every certain number + when the array type dataset is relatively big. The certain number + varies according to the size of array. Bug#2092 (JKM 2011/2/15). + - Fixed h5diff for the segfault when compares compound datasets + with combination of fixed length string types and vlen string types + in certain orders. bug#2089 (JKM 2010/12/28) + - Improve h5diff performance. 1) use HDmemcmp() before comparing each + elements. 2) replace expensive H5Tequals() calls 3) retrieve datatype + information at dataset level not each element level for compound + datasets + - Fixed h5ls to display nested compound type with curly bracket + when -S (--simple) option is used with -l (--label), so it shows + which member (in curly bracket) belong to which nested compound type + and make the output make sense. bug#1979 (JKM 2010/11/09) + - Fixed h5diff to handle variable-length strings in a compound dataset + correctly. (also variable-length string array in a compound dataset) + Garbage values were 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 object to non-exist + group without -p option. Bug#2040 (JKM 2010/10/18) + - Fixed to compare member objects and groups recursively when two + files or groups are specified to be compared. Bug#1975 + (JKM 2010/9/16) + - Make h5repack be able to convert a layout to COMPACT for small size + dataset as default. bug#1896 (JKM 2010/09/15) + - Change h5ls not to manipulate special characters in object name or + attribute name for smart display. bug#1784 (JKM 2010/06/28) + - Fixed h5ls to return exit code 1 (error) when non-existent file is + specified. bug#1793. (JKM 2010/04/27) + - h5copy failed to copy dangling link when the link is specified + directly. bug#1817. (JKM 2010/04/22) + - h5repack lost attributes from a dataset of reference type. bug#1726. + (JKM 2010/3/25) + - h5repack sets NULL for object reference value for group or + named datatype. bug#1814. (JKM 2010/03/19) + - h5diff: fixed incorrect behavior (hang) in parallel mode when + specify invalid options (ex: -v and -q) (JKM 2010/02/17) + - h5dump/h5ls display buffer resize fixed in tools library. + (ADB - 2009/07/21 - 1520) + - 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 + that have a datatype datum size greater than H5TOOLS_BUFSIZE, a + constant 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 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) + - h5dump now checks for uniqueness of committed datatypes. + (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 bug in h5ls that prevented relative group listings (like + "h5ls foo.h5/bar") from working correctly (QAK - 2008/06/03) + - Fixed bug in h5diff that prevented datasets & attributes with + variable-length string elements from comparing correctly. + (QAK - 2008/02/28) + - h5import bug on Windows w/binary datasets. fread in windows needs a + binary file to be open with 'rb' instead of 'r' otherwise it + terminates execution if an end of file character is found on the + input file. Besides that the binary file generated needs to be open + with 'wb' , otherwise an end of line character is read twice. + (PVN - 2008/02/19) + - 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) + - 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 + + + High-Level APIs: + ------ + - Packet Table is updated. + + In the Packet Table C API, there are changes with the following functions, + which had been ifdef'ed out with VLPT_REMOVED since 2006 + * H5PTcreate_vl, is removed from this release + * H5PTfree_vlen_readbuff, is renamed to H5PTfree_vlen_buff + * H5PTis_varlen, is made available again + + Various cleanup: replacing 0/-1 with SUCCEED/FAIL and H5I_BADID with + H5I_INVALID_HID. (BMR, 2016/03/04, HDFFV-442) + + - Fixed problem with H5DSget_scale_name including the NULL terminator in + the size calculation returned by the function. The API does not + include the NULL terminator in the size returned (MSB- 2013/2/10) + + - 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 + error occurs. (MSB- 2012/7/21) + + - Fixed the H5LTdtype_to_text function. It had some memory problems when + dealing with some complicated data types. HDFFVI-7701 (SLU - 2011/10/19) + + - Fixed a bug in H5DSattach_scale, H5DSis_attached and H5DSdetach_scale + caused by using H5Tget_native_type function to determine the native + type for reading REFERENCE_LIST attribute. The bug was exposed + on Mac PPC. + (EIP - 2010/05/22 -1851) + - Fixed a bug in the H5DSdetach_scale function when 0 bytes + were allocated after the last reference to a dim. scale + was removed from the list of references in a VL element of the + DIMENSION_LIST attribute; modified the function to comply + with the Spec: DIMENSION_LIST attribute is deleted now when no + dimension scales left attached. + (EIP - 2010/05/14 -1822) + - Fixed a bug where the H5TB API would forget the order of fields when + added out of offset order. (NAF - 2009/10/27 - 1582) + - H5DSis_attached failed to account for different platform types. Added a + get native type call. (ADB - 2009/9/29 - 1562) + - 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_attribute_string_f used to return the C NULL character in the + returned character buffer. The returned Fortran charactor buffer now does + not return the C NULL character. (MSB - 2012/3/23) + - Lite: The h5ltget_dataset_info_f function (gets information about a dataset) + was not correctly returning the dimension array. (PVN - 2009/3/23) + - 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 + + + + + + Documentation + ------------- + + + F90 APIs + -------- + - Modified the h5open_f and h5close_f subroutines to not to call H5open + and H5close correspodningly. While the H5open call just adds overhead, + the H5close call called by an Fortran application shuts down the HDF5 + library making it unaccessible to the application. + HDFFV-915 (EIP & SB - 2011/10/13) + + + C++ APIs + -------- + - The constructor PropList::PropList(id) was fixed to act properly + according to the nature of 'id'. When 'id' is a property class id, + a new property list will be created. When 'id' id a property list id, + 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 + user's convenience. (BMR - 2009/10/23) + - NULL pointer accessing was fixed, bugzilla 1061. (BMR - 2009/10/05) + - read/write methods of DataSet and Attribute classes were fixed + to handle string correctly. (BMR - 2009/07/26) + - Fixed bug that caused segfaults in Attribute::read. (BMR - 2008/04/20) + - Fixed bug in PropList::getClassName to use portable HDfree instead + of free. (BMR - 2008/04/20) + - Fixed a design bug which allowed an Attribute object to create/modify + attributes (bugzilla #1068). The API class hierarchy was revised + to address the problem. Classes AbstractDS and Attribute are moved + out of H5Object. Class Attribute now multiply inherits from + IdComponent and AbstractDs and class DataSet from H5Object and + AbstractDs. In addition, the data member IdComponent::id was + moved into subclasses: Attribute, DataSet, DataSpace, DataType, + H5File, Group, and PropList. (BMR - 2008/08/10) + - IdComponent::dereference was incorrect and replaced as described + in "New Features" section. + (BMR - 2008/08/10) + + Testing + ------- + - tools/h5diff/testh5diff.sh is run in every "make check", even after it + has passed in the previous run. It should not run again if there is no + code changes. Fixed. (AKC - 2013/07/19 HDFFV-8392) + - In some Mac system, testlibinfo.sh failed with this error: + Check file ../src/.libs/libhdf5.7.dylib + strings: object: ../src/.libs/libhdf5.7.dylib malformed object \ + (unknown load command 15) + The strings command of Mac inspects library files and older + versions of strings may not know newer library format, resulting + in errors. Fixed by sending the library file as stdin to the strings + coommand to avoid this problem. (AKC - 2013/03/08 HDFFV-8305) + + - Fixed a typo in the ERROR macro in test/testhdf5.h. It segmentation + faulted when used before. (AKC - 2013/02/12 HDFFV-8267) + + +Supported Platforms +=================== + AIX 6.1 xlc 10.1.0.5 + (NASA G-ADA) xlC 10.1.0.5 + xlf90 12.1.0.6 + + 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; + (jam) Version 4.1.2 20080704 (Red Hat 4.1.2-54) + Version 4.8.2 + PGI C, Fortran, C++ Compilers for 32-bit + applications; + Version 13.7-0 + Intel(R) C, C++, Fortran Compiler for 32-bit + applications; + Version 14.0.2 (Build 20140120) + + Linux 2.6.18-371.6.1.el5 GNU C (gcc), Fortran (gfortran), C++ (g++) + #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; + 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 + x86-64; + Version 13.7-0 + Intel(R) C (icc), C++ (icpc), Fortran (icc) + compilers: + Version 14.0.2 (Build 20140120) + + Linux 2.6.32-431.29.2.el6.ppc64 gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-4) + #1 SMP ppc64 GNU/Linux g++ (GCC) 4.4.7 20120313 (Red Hat 4.4.7-4) + (ostrich) GNU Fortran (GCC) 4.4.7 20120313 (Red Hat 4.4.7-4) + IBM XL C/C++ V13.1 + IBM XL Fortran V15.1 + + Linux 2.6.32-220.23.1.1chaos Intel C, C++, Fortran Compilers + ch5.x86_64 GNU/Linux Version 12.1.5.339 + (LLNL Aztec) + + IBM Blue Gene/P XL C for Blue Gene/P, bgxlc V9.0 + (LLNL uDawn) XL C++ for Blue Gene/P, bgxlC V9.0 + XL Fortran for Blue Gene/P, bgxlf90 V11.1 + + 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 2008 (cmake) + Visual Studio 2010 w/ Intel Fortran 14 (cmake) + Visual Studio 2012 w/ Intel Fortran 15 (cmake) + Visual Studio 2013 w/ Intel Fortran 15 (cmake) + Visual Studio 2015 (cmake) + Cygwin(CYGWIN_NT-6.1 1.7.34(0.285/5/3) gcc(4.9.2) compiler and gfortran) + (cmake and autotools) + + Windows 7 x64 Visual Studio 2008 (cmake) + Visual Studio 2010 w/ Intel Fortran 14 (cmake) + Visual Studio 2012 w/ Intel Fortran 15 (cmake) + Visual Studio 2013 w/ Intel Fortran 15 (cmake) + Visual Studio 2015 (cmake) + + Windows 8.1 Visual Studio 2012 w/ Intel Fortran 15 (cmake) + Visual Studio 2013 w/ Intel Fortran 15 (cmake) + + Windows 8.1 x64 Visual Studio 2012 w/ Intel Fortran 15 (cmake) + Visual Studio 2013 w/ Intel Fortran 15 (cmake) + + Mac OS X Lion 10.7.3 gcc i686-apple-darwin11-llvm-gcc-4.2 (GCC) 4.2.1 from Xcode 4.2.1 + 32- and 64-bit g++ i686-apple-darwin11-llvm-g++-4.2 (GCC) 4.2.1 from Xcode 4.2.1 + (duck) gfortran GNU Fortran (GCC) 4.6.2 + + 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 + + +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 +Solaris2.11 32-bit n y/y n y y y +Solaris2.11 64-bit n y/n 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 8 y y/y n y y y +Windows 8 x64 y 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 +Mac OS X Mountain Lion 10.8.1 64-bit n y/y n y y y +Mac OS X Mavericks 10.9.1 64-bit n y/y n y y ? +AIX 6.1 32- and 64-bit n y/n n y y y +CentOS 5.9 Linux 2.6.18-308 i686 GNU y y/y y y y y +CentOS 5.9 Linux 2.6.18-308 i686 Intel n y/y n y y y +CentOS 5.9 Linux 2.6.18-308 i686 PGI n y/y n y y y +CentOS 5.9 Linux 2.6.18 x86_64 GNU n y/y n y y y +CentOS 5.9 Linux 2.6.18 x86_64 Intel n y/y n y y y +CentOS 6.4 Linux 2.6.32 x86_64 GNU y y/y y y y y +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 +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 8 y y y y +Windows 8 x64 y y y y +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 +Mac OS X Mavericks 10.9.1 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 +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 + +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.18-308.13.1.el5PAE MPICH mpich 3.1.2 compiled with + #1 SMP i686 i686 i386 gcc 4.9.1 and gfortran 4.9.1 + (jam) g95 (GCC 4.0.3 (g95 0.94!) + + 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!) + + FreeBSD 8.2-STABLE i386 gcc 4.2.1 [FreeBSD] 20070719 + (loyalty) gcc 4.6.1 20110422 + g++ 4.6.1 20110422 + gfortran 4.6.1 20110422 + + FreeBSD 8.2-STABLE amd64 gcc 4.2.1 [FreeBSD] 20070719 + (freedom) gcc 4.6.1 20110422 + g++ 4.6.1 20110422 + gfortran 4.6.1 20110422 + + Debian7.5.0 3.2.0-4-686 #1 SMP Debian 3.2.51-1 i686 GNU/Linux + gcc (Debian 4.7.2-5) 4.7.2 + GNU Fortran (Debian 4.7.2-5) 4.7.2 + (cmake and autotools) + + Debian7.5.0 3.2.0-4-amd64 #1 SMP Debian 3.2.51-1 x86_64 GNU/Linux + gcc (Debian 4.7.2-5) 4.7.2 + GNU Fortran (Debian 4.7.2-5) 4.7.2 + (cmake and autotools) + + Fedora20 3.15.3-200.fc20.i6866 #1 SMP i686 i686 i386 GNU/Linux + gcc (GCC) 4.8.3 20140624 (Red Hat 4.8.3-1) + GNU Fortran (GCC) 4.8.3 20140624 (Red Hat 4.8.3-1) + (cmake and autotools) + + Fedora20 3.15.3-200.fc20.x86_64 #1 SMP x86_64 x86_64 x86_64 GNU/Linux + gcc (GCC) 4.8.3 20140624 (Red Hat 4.8.3-1) + GNU Fortran (GCC) 4.8.3 20140624 (Red Hat 4.8.3-1) + (cmake and autotools) + + SUSE 13.1 3.11.10-17-desktop #1 SMP PREEMPT i686 athlon i386 GNU/Linux + gcc (SUSE Linux) 4.8.1 + GNU Fortran (SUSE Linux) 4.8.1 + (cmake and autotools) + + SUSE 13.1 3.11.10-17-desktop #1 SMP PREEMPT x86_64 x86_64 x86_64 GNU/Linux + gcc (SUSE Linux) 4.8.1 + GNU Fortran (SUSE Linux) 4.8.1 + (cmake and autotools) + + Ubuntu 14.04 3.13.0-35-generic #62-Ubuntu SMP i686 GNU/Linux + gcc (Ubuntu/Linaro 4.9.1-0ubuntu1) 4.9.1 + GNU Fortran (Ubuntu/Linaro 4.9.1-0ubuntu1) 4.9.1 + (cmake and autotools) + + Ubuntu 14.04 3.13.0-35-generic #62-Ubuntu SMP x86_64 GNU/Linux + 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.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 +============== +* "make check" fails on CYGWIN when building shared lib files is enabled. The + default on Cygwin has been changed to disable shared. It can be enabled with + the --enable-shared configure option but is likely to fail "make check" + with GCC compilers. (LK -2015/04/16) + +* CLANG compiler with the options -fcatch-undefined-behavior and -ftrapv + catches some undefined behavior in the alignment algorithm of the macro DETECT_I + in H5detect.c (Issue 8147). Since the algorithm is trying to detect the alignment + of integers, ideally the flag -fcatch-undefined-behavior shouldn't to be used for + H5detect.c. In the future, we can separate flags for H5detect.c from the rest of + the library. (SLU - 2013/10/16) + +* 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 + 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 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> + + int main(void) + { + printf("%s\n", __func__); + return 0; + } + (SLU - 2012/11/5) + +* The C++ and FORTRAN bindings are not currently working on FreeBSD with the + native release 8.2 compilers (4.2.1), but are working with gcc 4.6 from the + ports (and probably gcc releases after that). + (QAK - 2012/10/19) + +* The data conversion test dt_arith.c has failures (segmentation fault) from + "long double" to other datatypes during hard conversion when the library + is built with the default GCC 4.2.1 on Mac Lion system. It only happens + with optimization (-O3, -O2, and -O1). Some newer versions of GCC do not + have this problem. Users should disable optimization or try newer version + of GCC. (Issue 8017. SLU - 2012/6/12) + +* 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 down the + optimization level (-O1 or -O0) by defining CFLAGS in the command line of + "configure" like: + + CFLAGS=-O1 ./configure + + It will overwrite the library's default optimization level. (Issue 7829. + SLU - 2012/2/7) + +* --with-mpe configure option does not work with Mpich2. AKC - 2011/03/10) + +* While working on the 1.8.6 release of HDF5, a bug was discovered that can + occur when reading from a dataset in parallel shortly after it has been + written to collectively. The issue was exposed by a new test in the parallel + HDF5 test suite, but had existed before that. We believe the problem lies with + certain MPI implementations and/or filesystems. + + We have provided a pure MPI test program, as well as a standalone HDF5 + program, that can be used to determine if this is an issue on your system. + They should be run across multiple nodes with a varying number of processes. + These programs can be found at: + http://www.hdfgroup.org/ftp/HDF5/examples/known_problems/ + +* Parallel mode in AIX will fail some of the testcheck_version.sh tests where + it treats "exit(134) the same as if process 0 had received an abort signal. + This is fixed and will be available in the next release. AKC - 2009/11/3 + +* The PathScale MPI implementation, accessing a Panasas file system, would + 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) + +* 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. +* 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. +* 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. +* 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 + HDF5 data generated on VAX. Scaleoffset filter only supports 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, we found that if more than two processes + contribute no IO and the application asks to do IO with collective, we found + that when using 4 processors, a simple collective write will be hung + sometimes. This can be verified with t_mpi test under testpar. +* 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. +* 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". 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 if there are many old /tmp/s.pedb.* 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 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 + flag "--instantiate=local" prior to the configure and build steps, as: + setenv CXX "pgCC --instantiate=local" for pgCC 5.02 and higher + + +* 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 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. + +* With the gcc 2.95.2 compiler, HDF 5 uses the `-ansi' flag during + compilation. The ANSI version of the compiler complains about not being + 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. + +* Certain platforms give false negatives when testing h5ls: + - Cray J90 and Cray T90IEEE give errors during testing when displaying + some floating-point values. These are benign differences due to + the different precision in the values displayed and h5ls appears to + be dumping floating-point numbers correctly. + +* 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. 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 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) + +* Information about building with PGI and Intel compilers is available in + 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 + any executable that was compiled with the parallel compilers. + + 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. + + 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 + 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. + + 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. + + #!/bin/csh + + set STDOUT_FILE=~/bin/serial_filter.stdout + set STDERR_FILE=~/bin/serial_filter.stderr + + rm -f $STDOUT_FILE $STDERR_FILE + + ($* > $STDOUT_FILE) >& $STDERR_FILE + + set RETURN_VALUE=$status + + cat $STDOUT_FILE + + tail +3 $STDERR_FILE + + 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 + "unsetenv RUNSERIAL" before running configure for a serial build. + + 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 + get the serial tests to run at all. + + In such cases, you will have to include the regular prefix in your + filter script. + +* H5Ocopy() does not copy reg_ref attributes correctly when shared-message + is turn on. The value of the reference in the destination attriubte is + wrong. This H5Ocopy problem will affect h5copy tool + diff --git a/release_docs/INSTALL b/release_docs/INSTALL new file mode 100644 index 0000000..2dcb9be --- /dev/null +++ b/release_docs/INSTALL @@ -0,0 +1,720 @@ + +Instructions for the Installation of HDF5 Software +================================================== + +This file provides instructions for installing the HDF5 software. +If you have any problems with the installation, please see The HDF Group's +support page at the following location: + + http://www.hdfgroup.org/services/support.html + +CONTENTS +-------- + 1. Obtaining HDF5 + + 2. Quick installation + 2.1. Windows + 2.2. RedStorm (Cray XT3) + + 3. HDF5 dependencies + 3.1. Zlib + 3.2 Szip (optional) + 3.3. MPI and MPI-IO + + 4. Full installation instructions for source distributions + 4.1. Unpacking the distribution + 4.1.1. Non-compressed tar archive (*.tar) + 4.1.2. Compressed tar archive (*.tar.Z) + 4.1.3. Gzip'd tar archive (*.tar.gz) + 4.1.4. Bzip'd tar archive (*.tar.bz2) + 4.2. Source versus build directories + 4.3. Configuring + 4.3.1. Specifying the installation directories + 4.3.2. Using an alternate C compiler + 4.3.3. Configuring for 64-bit support + 4.3.4. Additional compilation flags + 4.3.5. Compiling HDF5 wrapper libraries + 4.3.6. Specifying other programs + 4.3.7. Specifying other libraries and headers + 4.3.8. Static versus shared linking + 4.3.9. Optimization versus symbolic debugging + 4.3.10. Parallel versus serial library + 4.3.11. Threadsafe capability + 4.3.12. Backward compatibility + 4.4. Building + 4.5. Testing + 4.6. Installing HDF5 + + 5. Using the Library + + 6. Support + + A. Warnings about compilers + A.1. GNU (Intel platforms) + A.2. DEC + A.3. SGI (Irix64 6.2) + A.4. Windows/NT + + B. Large (>2GB) versus small (<2GB) file capability + + C. Building and testing with other compilers + C.1. Building and testing with Intel compilers + C.2. Building and testing with PGI compilers + +***************************************************************************** + +1. Obtaining HDF5 + The latest supported public release of HDF5 is available from + ftp://ftp.hdfgroup.org/HDF5/current/src. For Unix and UNIX-like + platforms, it is available in tar format compressed with gzip. + For Microsoft Windows, it is in ZIP format. + + The HDF team also makes snapshots of the source code available on + a regular basis. These snapshots are unsupported (that is, the + HDF team will not release a bug-fix on a particular snapshot; + rather any bug fixes will be rolled into the next snapshot). + Furthermore, the snapshots have only been tested on a few + machines and may not test correctly for parallel applications. + Snapshots, in a limited number of formats, can be found on THG's + development FTP server: + + ftp://ftp.hdfgroup.uiuc.edu/pub/outgoing/hdf5/snapshots + + +2. Quick installation + For those who don't like to read ;-) the following steps can be used + to configure, build, test, and install the HDF5 Library, header files, + and support programs. For example, to install HDF5 version X.Y.Z at + location /usr/local/hdf5, use the following steps. + + $ gunzip < hdf5-X.Y.Z.tar.gz | tar xf - + $ cd hdf5-X.Y.Z + $ ./configure --prefix=/usr/local/hdf5 <more configure_flags> + $ make + $ make check # run test suite. + $ make install + $ make check-install # verify installation. + + Some versions of the tar command support the -z option. In such cases, + the first step above can be simplified to the following: + + $ tar zxf hdf5-X.Y.Z.tar.gz + + <configure_flags> above refers to the configure flags appropriate + to your installation. For example, to install HDF5 with the + Fortran and C++ interfaces and with SZIP compression, the + configure line might read as follows: + + $ ./configure --prefix=/usr/local/hdf5 --enable-fortran \ + --enable-cxx --with-szlib=PATH_TO_SZIP + + In this case, PATH_TO_SZIP would be replaced with the path to the + installed location of the SZIP library. + +2.1. Windows + Users of Microsoft Windows should see the INSTALL_Windows files for + detailed instructions. + +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. Zlib + The HDF5 Library includes a predefined compression filter that + uses the "deflate" method for chunked datasets. If zlib-1.1.2 or + later is found, HDF5 will use it. Otherwise, HDF5's predefined + compression method will degenerate to a no-op; the compression + filter will succeed but the data will not be compressed. + +3.2. Szip (optional) + The HDF5 Library includes a predefined compression filter that + uses the extended-Rice lossless compression algorithm for chunked + datasets. For more information about Szip compression and license + terms, see http://hdfgroup.org/doc_resource/SZIP/. + + The Szip source code can be obtained from the HDF5 Download page + http://www.hdfgroup.org/HDF5/release/obtain5.html#extlibs. Building + instructions are available with the Szip source code. + + The HDF Group does not distribute separate Szip precompiled libraries, + but the HDF5 binaries available from + http://www.hdfgroup.org/HDF5/release/obtain5.html include + the Szip encoder enabled binary for the corresponding platform. + + To configure the HDF5 Library with the Szip compression filter, use + the '--with-szlib=/PATH_TO_SZIP' flag. For more information, see + section 4.3.7, "Specifying other libraries and headers." + + Please notice that if HDF5 configure cannot find a valid Szip library, + configure will not fail; in this case, the compression filter will + not be available to the applications. + + To check if Szip compression was successfully configured in, + check the "I/O filters (external):" line in the configure output, + summary section, printed to the standard output. + +3.3. MPI and MPI-IO + The parallel version of the library is built upon the foundation + provided by MPI and MPI-IO. If these libraries are not available + when HDF5 is configured, only a serial version of HDF5 can be built. + + +4. Full installation instructions for source distributions + +4.1. 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 an + 'hdf5-X.Y.Z' directory, where X.Y.Z is the HDF5 version numbers. + +4.1.1. Non-compressed tar archive (*.tar) + + $ tar xf hdf5-X.Y.Z.tar + +4.1.2. Compressed tar archive (*.tar.Z) + + $ uncompress -c < hdf5-X.Y.Z.tar.Z | tar xf - + Or + $ tar Zxf hdf5-X.Y.Z.tar.Z + +4.1.3. Gzip'd tar archive (*.tar.gz) + + $ gunzip < hdf5-X.Y.Z.tar.gz | tar xf - + Or + $ tar zxf hdf5-X.Y.Z.tar.gz + +4.1.4. Bzip'd tar archive (*.tar.bz2) + + $ bunzip2 < hdf5-X.Y.Z.tar.bz2 | tar xf - + Or + $ tar jxf hdf5-X.Y.Z.tar.bz2 + +4.2. Source versus build directories + On most systems the build can occur in a directory other than the + source directory, allowing multiple concurrent builds and/or + read-only source code. In order to accomplish this, one should + create a build directory, cd into that directory, and run the + `configure' script found in the source directory (configure + details are below). For example, + $ mkdir built-fortran + $ cd build-fortran + $ ../hdf5-X.Y.Z/configure --enable-fortran ... + + Unfortunately, this does not work on recent Irix platforms (6.5? + and later) because that `make' does not understand the VPATH variable. + However, HDF5 also supports Irix `pmake' which has a .PATH target + which serves a similar purpose. Here's what the Irix man pages say + about VPATH, the facility used by HDF5 makefiles for this feature: + + The VPATH facility is a derivation of the undocumented + VPATH feature in the System V Release 3 version of make. + System V Release 4 has a new VPATH implementation, much + like the pmake(1) .PATH feature. This new feature is also + undocumented in the standard System V Release 4 manual + pages. For this reason it is not available in the IRIX + version of make. The VPATH facility should not be used + with the new parallel make option. + +4.3. Configuring + HDF5 uses the GNU autoconf system for configuration, which + detects various features of the host system and creates the + Makefiles. On most systems it should be sufficient to say: + + $ ./configure + Or + $ sh configure + + The configuration process can be controlled through environment + variables, command-line switches, and host configuration files. + For a complete list of switches type: + + $ ./configure --help + + The host configuration files are located in the `config' + directory and are based on architecture name, vendor name, and/or + 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. + +4.3.1. Specifying the installation directories + The default installation location is the HDF5 directory created in + the build directory. Typing `make install' will install the HDF5 + Library, header files, examples, and support programs in hdf5/lib, + hdf5/include, hdf5/doc/hdf5/examples, and hdf5/bin. To use a path + other than hdf5, specify the path with the `--prefix=PATH' switch: + + $ ./configure --prefix=/usr/local + + If shared libraries are being built (the default), the final + home of the shared library must be specified with this switch + before the library and executables are built. + + HDF5 can be installed into a different location than the prefix + specified at configure time; see section 4.6, "Installing HDF5," + for more details. + +4.3.2. Using an alternate C compiler + By default, configure will look for the C compiler by trying + `gcc' and `cc'. However, if the environment variable "CC" is set + then its value is used as the C compiler. For instance, one would + use the following line to specify the native C compiler on a system + that also has the GNU gcc compiler (users of csh and derivatives + will need to prefix the commands below with `env'): + + $ CC=cc ./configure + + A parallel version of HDF5 can be built by specifying `mpicc' + as the C compiler. (The `--enable-parallel' flag documented + below is optional in this case.) Using the `mpicc' compiler + will insure that the correct MPI and MPI-IO header files and + libraries are used. + + $ CC=/usr/local/mpi/bin/mpicc ./configure + +4.3.3. Configuring for 64-bit support + Several machine architectures support 32-bit or 64-bit binaries. + The options below describe how to enable support for different options. + + On Irix64, the default compiler is `cc'. To use an alternate compiler, + specify it with the CC variable: + + $ CC='cc -n32' ./configure + + Similarly, users compiling on a Solaris machine and desiring to + build the distribution with 64-bit support should specify the + correct flags with the CC variable: + + $ CC='cc -m64' ./configure + + To configure AIX 64-bit support including the Fortran and C++ APIs, + (Note: need to set $AR to 'ar -X 64'.) + Serial: + $ CFLAGS=-q64 FCFLAGS=-q64 CXXFLAGS=-q64 AR='ar -X 64'\ + ./configure --enable-fortran + Parallel: (C++ not supported with parallel) + $ CFLAGS=-q64 FCFLAGS=-q64 AR='ar -X 64'\ + ./configure --enable-fortran + +4.3.4. Additional compilation flags + If addtional flags must be passed to the compilation commands, + specify those flags with the CFLAGS variable. For instance, + to enable symbolic debugging of a production version of HDF5, one + might say: + + $ CFLAGS=-g ./configure --enable-production + +4.3.5. Compiling HDF5 wrapper libraries + One can optionally build the Fortran and/or C++ interfaces to the + HDF5 C library. By default, both options are disabled. To build + them, specify `--enable-fortran' and `--enable-cxx', respectively. + + $ ./configure --enable-fortran + $ ./configure --enable-cxx + + Configuration will halt if a working Fortran 90 or 95 compiler or + C++ compiler is not found. Currently, the Fortran configure tests + for these compilers in order: f90, pgf90, f95. To use an + alternate compiler specify it with the FC variable: + + $ FC=/usr/local/bin/g95 ./configure --enable-fortran + + Note: The Fortran and C++ interfaces are not supported on all the + platforms the main HDF5 Library supports. Also, the Fortran + interface supports parallel HDF5 while the C++ interface does + not. + + Note: See sections 4.7 and 4.8 for building the Fortran library with + Intel or PGI compilers. + +4.3.6. Specifying other programs + The build system has been tuned for use with GNU make but also + works with other versions of make. If the `make' command runs a + non-GNU version but a GNU version is available under a different + name (perhaps `gmake'), then HDF5 can be configured to use it by + setting the MAKE variable. Note that whatever value is used for + MAKE must also be used as the make command when building the + library: + + $ MAKE=gmake ./configure + $ gmake + + The `AR' and `RANLIB' variables can also be set to the names of + the `ar' and `ranlib' (or `:') commands to override values + detected by configure. + + The HDF5 Library, include files, and utilities are installed + during `make install' (described below) with a BSD-compatible + install program detected automatically by configure. If none is + found, the shell script bin/install-sh is used. Configure does not + check that the install script actually works; if a bad install is + detected on your system (e.g., on the ASCI blue machine as of + March 2, 1999) you have two choices: + + 1. Copy the bin/install-sh program to your $HOME/bin + directory, name it `install', and make sure that $HOME/bin + is searched before the system bin directories. + + 2. Specify the full path name of the `install-sh' program + as the value of the INSTALL environment variable. Note: do + not use `cp' or some other program in place of install + because the HDF5 makefiles also use the install program to + change file ownership and/or access permissions. + +4.3.7. Specifying other libraries and headers + Configure searches the standard places (those places known by the + systems compiler) for include files and header files. However, + additional directories can be specified by using the CPPFLAGS + and/or LDFLAGS variables: + + $ CPPFLAGS=-I/home/robb/include \ + LDFLAGS=-L/home/robb/lib \ + ./configure + + HDF5 uses the zlib library to support the HDF5 deflate + data compression filter. Configure searches the standard places + (plus those specified above with the CPPFLAGS and LDFLAGS variables) + for the zlib headers and library. The search can be disabled by + specifying `--without-zlib' or alternate directories can be specified + with `--with-zlib=INCDIR,LIBDIR' or through the CPPFLAGS and LDFLAGS + variables: + + $ ./configure --with-zlib=/usr/unsup/include,/usr/unsup/lib + + $ CPPFLAGS=-I/usr/unsup/include \ + LDFLAGS=-L/usr/unsup/lib \ + ./configure + + HDF5 includes Szip as a predefined compression method (see 3.2). + To enable Szip compression, the HDF5 Library must be configured + and built using the Szip Library: + + $ ./configure --with-szlib=/Szip_Install_Directory + +4.3.8. Static versus shared linking + The build process will create static libraries on all systems and + shared libraries on systems that support dynamic linking to a + sufficient degree. Either form of the library may be suppressed by + saying `--disable-static' or `--disable-shared'. + + $ ./configure --disable-shared + + Shared C++ and Fortran libraries will be built if shared libraries + are enabled. + + To build only statically linked executables on platforms which + support shared libraries, use the `--enable-static-exec' flag. + + $ ./configure --enable-static-exec + +4.3.9. Optimization versus symbolic debugging + The library can be compiled to provide symbolic debugging support + so it can be debugged with gdb, dbx, ddd, etc., or it can be + compiled with various optimizations. To compile for symbolic + debugging (the default for snapshots), say `--disable-production'; + to compile with optimizations (the default for supported public + releases), say `--enable-production'. On some systems the library + can also be compiled for profiling with gprof by saying + `--enable-production=profile'. + + $ ./configure --disable-production #symbolic debugging + $ ./configure --enable-production #optimized code + $ ./configure --enable-production=profile #for use with gprof + + Regardless of whether support for symbolic debugging is enabled, + the library can also perform runtime debugging of certain packages + (such as type conversion execution times and extensive invariant + condition checking). To enable this debugging, supply a + comma-separated list of package names to to the `--enable-debug' + switch. See "Debugging HDF5 Applications" for a list of package + names: + + http://www.hdfgroup.org/HDF5/doc/H5.user/Debugging.html + + Debugging can be disabled by saying `--disable-debug'. + The default debugging level for snapshots is a subset of the + available packages; the default for supported releases is no + debugging (debugging can incur a significant runtime penalty). + + $ ./configure --enable-debug=s,t #debug only H5S and H5T + $ ./configure --enable-debug #debug normal packages + $ ./configure --enable-debug=all #debug all packages + $ ./configure --disable-debug #no debugging + + HDF5 can also print a trace of all API function calls, their + arguments, and the return values. To enable or disable the + ability to trace the API say `--enable-trace' (the default for + snapthots) or `--disable-trace' (the default for public releases). + The tracing must also be enabled at runtime to see any output + (see "Debugging HDF5 Applications," reference above). + +4.3.10. Parallel versus serial library + The HDF5 Library can be configured to use MPI and MPI-IO for + parallelism on a distributed multi-processor system. Read the + file INSTALL_parallel for detailed explanations. + +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 + script. Some platforms may also require the '-with-pthread=INC,LIB' + (or '--with-pthread=DIR') flag to the configure script. + For further details, see "HDF5 Thread Safe Library": + + http://www.hdfgroup.org/HDF5/doc/TechNotes/ThreadSafeLibrary.html + +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 + --with-default-api-version=v16 + configure flag. This allows existing code to be compiled with the + v1.8 library without requiring immediate changes to the application + source code. For addtional configuration options and other details, + see "API Compatibility Macros in HDF5": + + http://www.hdfgroup.org/HDF5/doc/RM/APICompatMacros.html + +4.4. Building + The library, confidence tests, and programs can be built by + saying just: + + $ make + + Note that if you have supplied some other make command via the MAKE + variable during the configuration step, that same command must be + used here. + + When using GNU make, you can add `-j -l6' to the make command to + compile in parallel on SMP machines. Do not give a number after + the `-j' since GNU make will turn it off for recursive invocations + of make. + + $ make -j -l6 + +4.5. Testing + HDF5 comes with various test suites, all of which can be run by + saying + + $ make check + + To run only the tests for the library, change to the `test' + directory before issuing the command. Similarly, tests for the + parallel aspects of the library are in `testpar' and tests for + the support programs are in `tools'. + + The `check' consists of two sub-tests, check-s and check-p, which + are for serial and parallel tests, respectively. Since serial tests + and parallel tests must be run with single and multiple processes + respectively, the two sub-tests work nicely for batch systems in + which the number of processes is fixed per batch job. One may submit + one batch job, requesting 1 process, to run all the serial tests by + "make check-s"; and submit another batch job, requesting multiple + processes, to run all the parallel tests by "make check-p". + + Temporary files will be deleted by each test when it completes, + but may continue to exist in an incomplete state if the test + fails. To prevent deletion of the files, define the HDF5_NOCLEANUP + environment variable. + + The HDF5 tests can take a long time to run on some systems. To perform + a faster (but less thorough) test, set the HDF5TestExpress environment + variable to 2 or 3 (with 3 being the shortest run). To perform a + longer test, set HDF5TestExpress to 0. 1 is the default. + +4.6. Installing HDF5 + The HDF5 Library, include files, and support programs can be + installed in a (semi-)public place by saying `make install'. The + files are installed under the directory specified with + `--prefix=DIR' (default is 'hdf5') in directories named `lib', + `include', and `bin'. The directories, if not existing, will be + created automatically, provided the mkdir command supports the -p + option. + + If `make install' fails because the install command at your site + somehow fails, you may use the install-sh that comes with the + source. You will need to run ./configure again. + + $ INSTALL="$PWD/bin/install-sh -c" ./configure ... + $ make install + + If you want to install HDF5 in a location other than the location + specified by the `--prefix=DIR' flag during configuration (or + instead of the default location, `hdf5'), you can do that + by running the deploy script: + + $ bin/deploy NEW_DIR + + This will install HDF5 in NEW_DIR. Alternately, you can do this + manually by issuing the command: + + $ make install prefix=NEW_DIR + + where NEW_DIR is the new directory where you wish to install HDF5. + If you do not use the deploy script, you should run h5redeploy in + NEW_DIR/bin directory. This utility will fix the h5cc, h5fc and + h5c++ scripts to reflect the new NEW_DIR location. + + The library can be used without installing it by pointing the + compiler at the `src' and 'src/.libs' directory for include files and + libraries. However, the minimum which must be installed to make + the library publicly available is: + + The library: + ./src/.libs/libhdf5.a + + The public header files: + ./src/H5*public.h, ./src/H5public.h + ./src/H5FD*.h except ./src/H5FDprivate.h, + ./src/H5api_adpt.h + + The main header file: + ./src/hdf5.h + + The configuration information: + ./src/H5pubconf.h + + The support programs that are useful are: + ./tools/h5ls/h5ls (list file contents) + ./tools/h5dump/h5dump (dump file contents) + ./tools/misc/h5repart (repartition file families) + ./tools/misc/h5debug (low-level file debugging) + ./tools/h5import/h5import (imports data to HDF5 file) + ./tools/h5diff/h5diff (compares two HDF5 files) + ./tools/gifconv/h52gif (HDF5 to GIF converter) + ./tools/gifconv/gif2h5 (GIF to HDF5 converter) + + +5. Using the Library + Please see the "HDF5 User's Guide" and the "HDF5 Reference Manual": + + http://www.hdfgroup.org/HDF5/doc/ + + Most programs will include <hdf5.h> and link with -lhdf5. + Additional libraries may also be necessary depending on whether + support for compression, etc., was compiled into the HDF5 Library. + + A summary of the HDF5 installation can be found in the + libhdf5.settings file in the same directory as the static and/or + shared HDF5 Libraries. + + +6. Support + Support is described in the README file. + + +***************************************************************************** + APPENDIX +***************************************************************************** + +A. Warnings about compilers + Output from the following compilers should be extremely suspected + when used to compile the HDF5 Library, especially if optimizations are + enabled. In all cases, HDF5 attempts to work around the compiler bugs. + +A.1. GNU (Intel platforms) + Versions before 2.8.1 have serious problems allocating registers + when functions contain operations on `long long' datatypes. + +A.2. COMPAQ/DEC + The V5.2-038 compiler (and possibly others) occasionally + generates incorrect code for memcpy() calls when optimizations + are enabled, resulting in unaligned access faults. HDF5 works + around the problem by casting the second argument to `char *'. + The Fortran module (5.4.1a) fails in compiling some Fortran + programs. Use 5.5.0 or higher. + +A.3. SGI (Irix64 6.2) + The Mongoose 7.00 compiler has serious optimization bugs and + should be upgraded to MIPSpro 7.2.1.2m. Patches are available + from SGI. + +A.4. Windows/NT + The Microsoft Win32 5.0 compiler is unable to cast unsigned long + long values to doubles. HDF5 works around this bug by first + casting to signed long long and then to double. + + A link warning: defaultlib "LIBC" conflicts with use of other libs + appears for debug version of VC++ 6.0. This warning will not affect + building and testing HDF5 Libraries. + + +B. Large (>2GB) versus small (<2GB) file capability + In order to read or write files that could potentially be larger + than 2GB, it is necessary to use the non-ANSI `long long' data + type on some platforms. However, some compilers (e.g., GNU gcc + versions before 2.8.1 on Intel platforms) are unable to produce + correct machine code for this datatype. + + +C. Building and testing with other compilers +C.1. Building and testing with Intel compilers + When Intel compilers are used (icc or ecc), you will need to modify + the generated "libtool" program after configuration is finished. + On or around line 104 of the libtool file, there are lines which + look like: + + # How to pass a linker flag through the compiler. + wl="" + + Change these lines to this: + + # How to pass a linker flag through the compiler. + wl="-Wl," + + UPDATE: This is now done automatically by the configure script. + However, if you still experience a problem, you may want to check this + line in the libtool file and make sure that it has the correct value. + + * To build the Fortran library using Intel compiler on Linux 2.4, + one has to perform the following steps: + x Use the -fpp -DDEC$=DEC_ -DMS$=MS_ compiler flags to disable + DEC and MS compiler directives in source files in the fortran/src, + fortran/test, and fortran/examples directories. + E.g., setenv F9X 'ifc -fpp -DDEC$=DEC_ -DMS$=MS_' + Do not use double quotes since $ is interpreted in them. + + x If Version 6.0 of Fortran compiler is used, the build fails in + the fortran/test directory and then in the fortran/examples + directory. To proceed, edit the work.pcl files in those + directories to contain two lines: + + work.pc + ../src/work.pc + + x Do the same in the fortran/examples directory. + + x A problem with work.pc files was resolved for the newest version + of the compiler (7.0). + + * To build the Fortran library on IA32, follow the steps described + above, except that the DEC and MS compiler directives should be + removed manually or use a patch from HDF FTP server: + + ftp://ftp.hdfgroup.org/HDF5/current/ + + +C.2. Building and testing with PGI compilers + When PGI C and C++ compilers are used (pgcc or pgCC), you will need to + modify the generated "libtool" program after configuration is finished. + On or around line 104 of the libtool file, there are lines which + look like this: + + # How to pass a linker flag through the compiler. + wl="" + + Change these lines to this: + + # How to pass a linker flag through the compiler. + wl="-Wl," + + UPDATE: This is now done automatically by the configure script. However, + if you still experience a problem, you may want to check this line in + the libtool file and make sure that it has the correct value. + + To build the HDF5 C++ Library with pgCC (version 4.0 and later), set + the environment variable CXX to "pgCC -tlocal" + setenv CXX "pgCC -tlocal" + before running the configure script. + diff --git a/release_docs/INSTALL_CMake.txt b/release_docs/INSTALL_CMake.txt new file mode 100644 index 0000000..4c4460e --- /dev/null +++ b/release_docs/INSTALL_CMake.txt @@ -0,0 +1,988 @@ +************************************************************************ +* Build and Install HDF5 C, C++, Fortran and High-Level Libraries * +* and tools with CMake * +************************************************************************ + + Table of Contents + +Section I: Preconditions +Section II: Quick Step Building HDF5 Libraries with CMake Script Mode +Section III: Quick Step Building HDF5 Libraries with CMake Command Mode +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 + +************************************************************************ + + +======================================================================== +I. Preconditions +======================================================================== +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/ + and put it in "myhdfstuff". + Uncompress the file. There should be a hdf5-1.10."X" folder. + +CMake version + 1. We suggest you obtain the latest CMake from the Kitware web site. + The HDF5 1.10."X" product requires a minimum CMake version 3.2.2, + where "X" is the current HDF5 release version. + +Note: + To change the install prefix from the platform defaults initialize + the CMake variable, CMAKE_INSTALL_PREFIX. + + +======================================================================== +II. Quick Step Building HDF5 Libraries with CMake Script Mode +======================================================================== +This short set of instructions is written for users who want to quickly +build the HDF5 C and C++ static libraries and tools with SZIP and ZLIB +compression included. This procedure will use the default settings in +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 + +Single compressed file with all the files needed, including source: + hdf5-1.10.X-CMake.zip or hdf5-1.10.X-CMake.tar.gz + +Individual files +----------------------------------------------- +CMake build script: + CTestScript.cmake + +External compression szip and zlib libraries: + SZip.tar.gz + ZLib.tar.gz + +Platform configuration files: + HDF518config.cmake +----------------------------------------------- + +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. + + 3. Download the CTestScript.cmake file to "myhdfstuff". + 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) + + 5. From the "myhdfstuff" directory execute the CTest Script with the + following options: + + On 32-bit Windows with Visual Studio 2012, execute: + ctest -S HDF5config.cmake,BUILD_GENERATOR=VS2012 -C Release -VV -O hdf5.log + On 64-bit Windows with Visual Studio 2012, execute: + ctest -S HDF5config.cmake,BUILD_GENERATOR=VS201264 -C Release -VV -O hdf5.log + On 32-bit Windows with Visual Studio 2013, execute: + ctest -S HDF5config.cmake,BUILD_GENERATOR=VS2013 -C Release -VV -O hdf5.log + On 64-bit Windows with Visual Studio 2013, execute: + ctest -S HDF5config.cmake,BUILD_GENERATOR=VS201364 -C Release -VV -O hdf5.log + On Linux and Mac, execute: + ctest -S HDF5config.cmake,BUILD_GENERATOR=Unix -C Release -VV -O hdf5.log + + The command above will configure, build, test, and create an install + package in the myhdfstuff folder. It will have the format: + HDF5-1.10.NN-<platform>.<zip or tar.gz> + + On Unix, <platform> will be "Linux". A similar .sh file will also be created. + On Windows, <platform> will be "win64" or "win32". If you have an + 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. + + 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 "-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: + HDF5-1.10."X"-win32.msi or HDF5-1.10."X"-win64.msi + By default this program will install the hdf5 library into the + "C:\Program Files" directory and will create the following + directory structure: + HDF_Group + --HDF5 + ----1.10."X" + ------bin + ------include + ------lib + ------cmake + + On Linux, change to the install destination directory + (create it if doesn't exist) and execute: + <path-to>/myhdfstuff/HDF5-1.10."X"-Linux.sh + After accepting the license, the script will prompt: + By default the HDF5 will be installed in: + "<current directory>/HDF5-1.10."X"-Linux" + Do you want to include the subdirectory HDF5-1.10."X"-Linux? + Saying no will install in: "<current directory>" [Yn]: + Note that the script will create the following directory structure + relative to the install point: + HDF_Group + --HDF5 + ----1.10."X" + ------bin + ------include + ------lib + ------share + + On Mac you will find HDF5-1.10."X"-Darwin.dmg in the myhdfstuff folder. Click + on the dmg file to proceed with installation. After accepting the license, + there will be a folder with the following structure: + HDF_Group + --HDF5 + ----1.10."X" + ------bin + ------include + ------lib + ------share + + By default the installation will create the bin, include, lib and cmake + folders in the <install destination directory>/HDF_Group/HDF5/1.10."X" + + +======================================================================== +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 + the HDF5 source code package using the CMake command line tools. + + Go through these steps: + + 1. Change to the development directory "myhdfstuff". + + 2. Uncompress the HDF5 source file + + 3. Create a folder "build" in the "myhdfstuff" directory. + + 4. Change into the "build" folder. + + 5. Configure the C library, tools and tests with one of the following commands: + + On Windows 32 bit + cmake -G "Visual Studio 12 2013" -DCMAKE_BUILD_TYPE:STRING=Release -DBUILD_SHARED_LIBS:BOOL=OFF -DBUILD_TESTING:BOOL=ON -DHDF5_BUILD_TOOLS:BOOL=ON ..\hdf5-1.10."X" + + On Windows 64 bit + cmake -G "Visual Studio 12 2013 Win64" -DCMAKE_BUILD_TYPE:STRING=Release -DBUILD_SHARED_LIBS:BOOL=OFF -DBUILD_TESTING:BOOL=ON -DHDF5_BUILD_TOOLS:BOOL=ON ..\hdf5-1.10."X" + + On Linux and Mac + cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE:STRING=Release -DBUILD_SHARED_LIBS:BOOL=OFF -DBUILD_TESTING:BOOL=ON -DHDF5_BUILD_TOOLS:BOOL=ON ../hdf5-1.10."X" + + where "X" is the current release version. + + 6. Build the C library, tools and tests with this command: + cmake --build . --config Release + + 7. Test the C library and tools with this command: + ctest . -C Release + + 8. Create an install image with this command: + cpack -C Release CPackConfig.cmake + + 9. To install + On Windows, execute: + HDF5-1.10."X"-win32.msi or HDF5-1.10."X"-win64.msi + By default this program will install the hdf5 library into the + "C:\Program Files" directory and will create the following + directory structure: + HDF_Group + --HDF5 + ----1.10."X" + ------bin + ------include + ------lib + ------cmake + + On Linux, change to the install destination directory + (create if doesn't exist) and execute: + <path-to>/myhdfstuff/build/HDF5-1.10."X"-Linux.sh + After accepting the license, the script will prompt: + By default the HDF5 will be installed in: + "<current directory>/HDF5-1.10."X"-Linux" + Do you want to include the subdirectory HDF5-1.10."X"-Linux? + Saying no will install in: "<current directory>" [Yn]: + Note that the script will create the following directory structure + relative to the install point: + HDF_Group + --HDF5 + ----1.10."X" + ------bin + ------include + ------lib + ------share + + On Mac you will find HDF5-1.10."X"-Darwin.dmg in the build folder. Click + on the dmg file to proceed with installation. After accepting the license, + there will be a folder with the following structure: + HDF_Group + --HDF5 + ----1.10."X" + ------bin + ------include + ------lib + ------share + + +======================================================================== +IV. Further considerations +======================================================================== + + 1. We suggest you obtain the latest CMake for windows from the Kitware + web site. The HDF5 1.10."X" product requires a minimum CMake version 3.2.2. + + 2. If you plan to use Zlib or Szip: + A. Download the binary packages and install them in a central location. + For example on Windows, create a folder extlibs and install the + packages there. Add the following CMake options: + -DZLIB_LIBRARY:FILEPATH=some_location/lib/zlib.lib + -DZLIB_INCLUDE_DIR:PATH=some_location/include + -DSZIP_LIBRARY:FILEPATH=some_location/lib/szlib.lib + -DSZIP_INCLUDE_DIR:PATH=some_location/include + where "some_location" is the full path to the extlibs folder. + + B. Use source packages from an SVN server by adding the following CMake + options: + HDF5_ALLOW_EXTERNAL_SUPPORT:STRING="GIT" + ZLIB_GIT_URL:STRING="http://some_location/zlib" + SZIP_GIT_URL:STRING="http://some_location/szip" + where "some_location" is the URL to the GIT repository. Also set + CMAKE_BUILD_TYPE to the configuration type. + + C. Use source packages from a compressed file by adding the following + CMake options: + HDF5_ALLOW_EXTERNAL_SUPPORT:STRING="TGZ" + ZLIB_TGZ_NAME:STRING="zlib_src.ext" + SZIP_TGZ_NAME:STRING="szip_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 + + 3. 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: + BUILD_SHARED_LIBS:BOOL=OFF + Additional options: + CMAKE_ANSI_CFLAGS:STRING=-fPIC + 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. + 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 + 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: + cmake -C ../config/cmake/cacheinit.cmake -G "Visual Studio 12 2013" \ + -DHDF5_ENABLE_SZIP_SUPPORT:BOOL=OFF -DHDF5_ENABLE_Z_LIB_SUPPORT:BOOL=OFF \ + -DCMAKE_BUILD_TYPE:STRING=Release .. + +Notes: CMake and HDF5 + + 1. Using CMake for building and using HDF5 is under active development. + While we have attempted to provide error-free files, please + understand that development with CMake has not been extensively + tested outside of HDF. The CMake specific files may change + before the next release. + + 2. CMake support for HDF5 development should be usable on any + system where CMake is supported. Please send us any comments on + 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. + + 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 + preferred because of its flexibility. + +Notes: CMake in General + + 1. More information about using CMake can be found at the KitWare site at + www.cmake.org. + + 2. CMake uses the command line; however, the visual CMake tool is + available for the configuration step. The steps are similar for + all the operating systems supported by CMake. + + +======================================================================== +V. Options for Building HDF5 Libraries with the CMake Command Line +======================================================================== + +To build the HDF5 Libraries with CMake, go through these five steps: + + 1. Run CMake + 2. Configure the cache settings + 3. Build HDF5 + 4. Test HDF5 + 5. Package HDF5 (create install image) + +These five steps are described in detail below. + +======================================================================== + + 1. Run CMake + + The visual CMake executable is named "cmake-gui.exe" on Windows and should be + available in your Start menu. For Linux, UNIX, and Mac users the + executable is named "cmake-gui" and can be found where CMake was + installed. + + Specify the source and build directories. + + ***** Make the build and source directories different. ****** + + For example on Windows, if the source is at c:\MyHDFstuff\hdf5, + then use c:\MyHDFstuff\hdf5\build or c:\MyHDFstuff\build\hdf5 as the + build directory. + + RECOMMENDED: + Users can perform the configuration step without using the visual + cmake-gui program. We use the file cacheinit.cmake in the + config/cmake source folder for our testing. This file enables all of the + basic options and we turn specific options on or off for testing + using the following command line within the build directory: + + cmake -C <sourcepath>/config/cmake/cacheinit.cmake -G "<generator>" [-D<options>] <sourcepath> + + Where <generator> is + * 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 + + <options> is: + * SZIP_INCLUDE_DIR:PATH=<path to szip includes directory> + * SZIP_LIBRARY:FILEPATH=<path to szip/library file> + * ZLIB_INCLUDE_DIR:PATH=<path to zlib includes directory> + * ZLIB_LIBRARY:FILEPATH=<path to zlib/library file> + * <HDF5OPTION>:BOOL=[ON | OFF] + + <cacheinit.cmake> is: + # This is the CMakeCache file used by HDF Group for daily tests. + ######################## + # EXTERNAL cache entries + ######################## + set (CMAKE_INSTALL_FRAMEWORK_PREFIX "Library/Frameworks" CACHE STRING "Frameworks installation directory" FORCE) + set (HDF5_GENERATE_HEADERS ON CACHE BOOL "Rebuild Generated Files" FORCE) + set (HDF_PACKAGE_EXT "" CACHE STRING "Name of HDF package extension" FORCE) + set (HDF5_BUILD_FORTRAN ON CACHE BOOL "Build FORTRAN support" FORCE) + set (HDF5_BUILD_GENERATORS OFF CACHE BOOL "Build Test Generators" FORCE) + set (HDF5_ENABLE_Z_LIB_SUPPORT ON CACHE BOOL "Enable Zlib Filters" FORCE) + set (HDF5_ENABLE_SZIP_SUPPORT ON CACHE BOOL "Use SZip Filter" FORCE) + set (HDF5_ENABLE_SZIP_ENCODING ON CACHE BOOL "Use SZip Encoding" FORCE) + set (HDF5_ENABLE_HSIZET ON CACHE BOOL "Enable datasets larger than memory" FORCE) + set (ALLOW_UNSUPPORTED OFF CACHE BOOL "Enable unsupported combinations of configuration options" FORCE) + set (HDF5_ENABLE_DEPRECATED_SYMBOLS ON CACHE BOOL "Enable deprecated public API symbols" FORCE) + set (HDF5_ENABLE_DIRECT_VFD OFF CACHE BOOL "Build the Direct I/O Virtual File Driver" FORCE) + set (HDF5_ENABLE_PARALLEL OFF CACHE BOOL "Enable parallel build (requires MPI)" FORCE) + set (MPIEXEC_MAX_NUMPROCS "3" CACHE STRING "Minimum number of processes for HDF parallel tests" FORCE) + set (HDF5_BUILD_PARALLEL_ALL OFF CACHE BOOL "Build Parallel Programs" FORCE) + set (HDF5_ENABLE_COVERAGE OFF CACHE BOOL "Enable code coverage for Libraries and Programs" FORCE) + set (HDF5_ENABLE_USING_MEMCHECKER OFF CACHE BOOL "Indicate that a memory checker is used" FORCE) + set (HDF5_MEMORY_ALLOC_SANITY_CHECK OFF CACHE BOOL "Indicate that internal memory allocation sanity checks are enabled" FORCE) + set (HDF5_DISABLE_COMPILER_WARNINGS OFF CACHE BOOL "Disable compiler warnings" FORCE) + set (HDF5_ENABLE_ALL_WARNINGS ON CACHE BOOL "Enable all warnings" FORCE) + set (HDF5_USE_FOLDERS ON CACHE BOOL "Enable folder grouping of projects in IDEs." FORCE) + set (HDF5_USE_16_API_DEFAULT OFF CACHE BOOL "Use the HDF5 1.6.x API by default" FORCE) + set (HDF5_USE_18_API_DEFAULT OFF CACHE BOOL "Use the HDF5 1.8.x API by default" FORCE) + set (HDF5_ENABLE_THREADSAFE OFF CACHE BOOL "(WINDOWS)Enable Threadsafety" FORCE) + set (HDF_TEST_EXPRESS "2" CACHE STRING "Control testing framework (0-3)" FORCE) + set (HDF5_PACKAGE_EXTLIBS OFF CACHE BOOL "(WINDOWS)CPACK - include external libraries" FORCE) + set (HDF5_NO_PACKAGES OFF CACHE BOOL "CPACK - Disable packaging" FORCE) + set (HDF5_ALLOW_EXTERNAL_SUPPORT "NO" CACHE STRING "Allow External Library Building (NO GIT SVN TGZ)" FORCE) + set_property (CACHE HDF5_ALLOW_EXTERNAL_SUPPORT PROPERTY STRINGS NO GIT SVN 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 (ZLIB_PACKAGE_NAME "zlib" CACHE STRING "Name of ZLIB package" FORCE) + set (SZIP_PACKAGE_NAME "szip" CACHE STRING "Name of SZIP 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). + 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. + + Any conflicts or new values will be highlighted by the configure + process in red. Once you are happy with all the settings and there are no + more values in red, click the Generate button to produce the appropriate + build files. + + On Windows, if you are using a Visual Studio generator, the solution and + project files will be created in the build folder. + + On linux, if you are using the Unix Makefiles generator, the Makefiles will + be created in the build folder. + + 2.2 Preferred command line example on Windows in c:\MyHDFstuff\hdf5\build directory: + + cmake -C ../config/cmake/cacheinit.cmake -G "Visual Studio 12 2013" \ + -DHDF5_ENABLE_SZIP_SUPPORT:BOOL=OFF -DHDF5_ENABLE_Z_LIB_SUPPORT:BOOL=OFF \ + -DCMAKE_BUILD_TYPE:STRING=Release .. + + 2.3 On Windows, if you are using a Visual Studio Express version you must + be sure that the following two options are correctly set/unset: + + HDF5_NO_PACKAGES:BOOL=ON + HDF5_USE_FOLDERS:BOOL=OFF + + 3. Build HDF5 + + On Windows, you can build HDF5 using either the Visual Studio Environment + or the command line. The command line can be used on all platforms; + Windows, linux, Unix, and Mac. + + To build from the command line, navigate to your build directory and + execute the following: + + cmake --build . --config {Debug | Release} + + NOTE: "--config {Debug | Release}" may be optional on your platform. We + recommend choosing either Debug or Release on Windows. + + 3.1 If you wish to use the Visual Studio environment, open the solution + 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. + The option is 'HDF5_ALLOW_EXTERNAL_SUPPORT'; by adding the following + configuration option: + -DHDF5_ALLOW_EXTERNAL_SUPPORT:STRING="GIT" + + 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" + ${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 + 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 + file) are: + ZLIB_TGZ_NAME:STRING="zlib_src.ext" + SZIP_TGZ_NAME:STRING="szip_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. + + 4. Test HDF5 + + To test the build, navigate to your build directory and execute: + + ctest . -C {Debug | Release} + + NOTE: "-C {Debug | Release}" may be optional on your platform. We + recommend choosing either Debug or Release to match the build + step on Windows. + + 5. Packaging HDF5 (create an install image) + + To package the build into a simple installer using WiX toolset or the NullSoft installer NSIS + on Windows, or into compressed files (.tar.gz, .sh, .zip), use the CPack tool. + + To package the build, navigate to your build directory and execute; + + cpack -C {Debug | Release} CPackConfig.cmake + + NOTE: See note 8 of this document for NSIS information. + See note 9 of this document for WiX information. + Also, if you are using a Visual Studio Express version or + want to disable the packaging components, set HDF5_NO_PACKAGES + to ON (on the command line add -DHDF5_NO_PACKAGES:BOOL=ON) + + 6. The files that support building HDF5 with CMake are all the files in the + config/cmake folder, the CMakeLists.txt files in each source folder, and + CTestConfig.cmake. CTestConfig.cmake is specific to the internal testing + performed by The HDF Group. It should be altered for the user's + installation and needs. The cacheinit.cmake file settings are used by + The HDF Group for daily testing. It should be altered/ignored for the user's + installation and needs. + + 7. More information about using CMake can be found at the KitWare site, + www.cmake.org. + + 8. Nullsoft Scriptable Install System + The Nullsoft Scriptable Install System (NSIS) is an open source installation + system. It was created by the WinAmp authors to distribute that application, + but it is now a general-purpose system which anyone might use. NSIS installers + recognize /S for silent installation and /D=dir to specify the + "output directory", which is where the program will be installed. These + options are case-sensitive, so be sure to type them in upper case. + + 9. WiX Toolset + WiX--the Windows Installer XML toolset--lets developers create installers for + Windows Installer, the Windows installation engine. See http://wixtoolset.org. + + +======================================================================== +VI. CMake Option Defaults for HDF5 +======================================================================== + +In the options listed below, there are three columns of information: +Option Name, Option Description, and Option Default. +The config/cmake/cacheinit.cmake file can override the following values. + +---------------- General Build Options --------------------- +BUILD_SHARED_LIBS "Build Shared Libraries" ON +BUILD_STATIC_EXECS "Build Static Executables" OFF +BUILD_TESTING "Build HDF5 Unit Testing" ON + +---------------- HDF5 Build Options --------------------- +HDF5_BUILD_CPP_LIB "Build HDF5 C++ Library" ON +HDF5_BUILD_EXAMPLES "Build HDF5 Library Examples" ON +HDF5_BUILD_FORTRAN "Build FORTRAN support" OFF +HDF5_BUILD_JAVA "Build JAVA support" OFF +HDF5_BUILD_HL_LIB "Build HIGH Level HDF5 Library" ON +HDF5_BUILD_TOOLS "Build HDF5 Tools" ON + +---------------- HDF5 Advanced Options --------------------- +ALLOW_UNSUPPORTED "Allow unsupported combinations of configure options" OFF +HDF5_DISABLE_COMPILER_WARNINGS "Disable compiler warnings" OFF +HDF5_ENABLE_INSTRUMENT "Instrument The library" OFF +HDF5_ENABLE_CODESTACK "Enable the function stack tracing (for developer debugging)." OFF +HDF5_ENABLE_COVERAGE "Enable code coverage for Libraries and Programs" OFF +HDF5_ENABLE_DEBUG_APIS "Turn on extra debug output in all packages" OFF +HDF5_ENABLE_DEPRECATED_SYMBOLS "Enable deprecated public API symbols" ON +HDF5_ENABLE_DIRECT_VFD "Build the Direct I/O Virtual File Driver" OFF +HDF5_ENABLE_EMBEDDED_LIBINFO "embed library info into executables" ON +HDF5_ENABLE_HSIZET "Enable datasets larger than memory" ON +HDF5_ENABLE_LARGE_FILE "Enable support for large (64-bit) files on Linux." ON +HDF5_ENABLE_PARALLEL "Enable parallel build (requires MPI)" OFF +HDF5_ENABLE_TRACE "Enable API tracing capability" OFF +HDF5_ENABLE_USING_MEMCHECKER "Indicate that a memory checker is used" OFF +HDF5_GENERATE_HEADERS "Rebuild Generated Files" OFF +HDF5_JAVA_PACK_JRE "Package a JRE installer directory" OFF +HDF5_MEMORY_ALLOC_SANITY_CHECK "Indicate that internal memory allocation sanity checks are enabled" OFF +HDF5_METADATA_TRACE_FILE "Enable metadata trace file collection" OFF +HDF5_NO_PACKAGES "Do not include CPack Packaging" OFF +HDF5_PACK_EXAMPLES "Package the HDF5 Library Examples Compressed File" OFF +HDF5_PACK_MACOSX_FRAMEWORK "Package the HDF5 Library in a Frameworks" OFF +HDF5_PACKAGE_EXTLIBS "CPACK - include external libraries" OFF +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 +HDF5_USE_18_API_DEFAULT "Use the HDF5 1.8.x API by default" OFF +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 +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_TRACE "Enable API tracing capability" ON +if (HDF5_TEST_VFD) + HDF5_TEST_FHEAP_VFD "Execute fheap test with different VFDs" ON + +---------------- 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 +if (HDF5_ENABLE_SZIP_SUPPORT) + HDF5_ENABLE_SZIP_ENCODING "Use SZip Encoding" OFF +if (WINDOWS) + H5_DEFAULT_PLUGINDIR "%ALLUSERSPROFILE%/hdf5/lib/plugin" +else () + H5_DEFAULT_PLUGINDIR "/usr/local/hdf5/lib/plugin" +endif () + + + +======================================================================== +VII. User Defined Options for HDF5 Libraries with CMake +======================================================================== + +Support for User Defined macros and options has been added. The file +UserMacros.cmake has an example of the technique. In the folder, +config/cmake/UserMacros, is an implementation for Windows Visual Studio +users for linking libraries to the static CRT - Windows_MT.cmake. + +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 +======================================================================== + +Below is the HDF5config.cmake and HDF5options.cmake ctest scripts. +Execute: + ctest -S HDF5config.cmake,BUILD_GENERATOR=xxx -C Release -VV -O hdf5.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, VS2015, VS201564, VS2013, VS201364, VS2012, VS201264] ### +### ctest -S HDF5config.cmake,BUILD_GENERATOR=VS201264 -C Release -VV -O hdf5.log ### +############################################################################################# + +cmake_minimum_required (VERSION 3.2.2 FATAL_ERROR) +############################################################################ +# Usage: +# ctest -S HDF5config.cmake,OPTION=VALUE -C Release -VV -O test.log +# where valid options for OPTION are: +# BUILD_GENERATOR - The cmake build generator: +# Unix * Unix Makefiles +# VS2015 * Visual Studio 14 2015 +# VS201564 * Visual Studio 14 2015 Win64 +# VS2013 * Visual Studio 12 2013 +# VS201364 * Visual Studio 12 2013 Win64 +# VS2012 * Visual Studio 11 2012 +# VS201264 * Visual Studio 11 2012 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 +# JAVA_LIBRARIES - Build/use java libraries +# NO_MAC_FORTRAN - Yes to be SHARED on a Mac +############################################################################## + +set (CTEST_SOURCE_VERSION 1.10.1) +set (CTEST_SOURCE_VERSEXT "") + +############################################################################## +# handle input parameters to script. +#BUILD_GENERATOR - which CMake generator to use, required +#INSTALLDIR - HDF5-1.10.0 root folder +#CTEST_CONFIGURATION_TYPE - Release, Debug, RelWithDebInfo +#CTEST_SOURCE_NAME - name of source folder; HDF5-1.10.0 +#STATIC_ONLY - Default is YES +#FORTRAN_LIBRARIES - Default is NO +#JAVA_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, VS2015, VS201564, VS2013, VS201364, VS2012, or VS201264") +else () + if (${BUILD_GENERATOR} STREQUAL "Unix") + set (CTEST_CMAKE_GENERATOR "Unix Makefiles") + elseif (${BUILD_GENERATOR} STREQUAL "VS2015") + set (CTEST_CMAKE_GENERATOR "Visual Studio 14 2015") + elseif (${BUILD_GENERATOR} STREQUAL "VS201564") + set (CTEST_CMAKE_GENERATOR "Visual Studio 14 2015 Win64") + elseif (${BUILD_GENERATOR} STREQUAL "VS2013") + set (CTEST_CMAKE_GENERATOR "Visual Studio 12 2013") + elseif (${BUILD_GENERATOR} STREQUAL "VS201364") + set (CTEST_CMAKE_GENERATOR "Visual Studio 12 2013 Win64") + elseif (${BUILD_GENERATOR} STREQUAL "VS2012") + set (CTEST_CMAKE_GENERATOR "Visual Studio 11 2012") + elseif (${BUILD_GENERATOR} STREQUAL "VS201264") + set (CTEST_CMAKE_GENERATOR "Visual Studio 11 2012 Win64") + else () + message (FATAL_ERROR "Invalid BUILD_GENERATOR must be - Unix, VS2015, VS201564, VS2013, VS201364, VS2012, or VS201264") + endif () +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 () +if (NOT DEFINED JAVA_LIBRARIES) + set (JAVALIBRARIES "NO") +else () + set (JAVALIBRARIES "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 "VS201564") + set (SITE_OS_BITS "64") + set (SITE_COMPILER_NAME "vs2015") + set (SITE_COMPILER_VERSION "14") + elseif (${BUILD_GENERATOR} STREQUAL "VS2015") + set (SITE_OS_BITS "32") + set (SITE_COMPILER_NAME "vs2015") + set (SITE_COMPILER_VERSION "14") + elseif (${BUILD_GENERATOR} STREQUAL "VS201364") + set (SITE_OS_BITS "64") + set (SITE_COMPILER_NAME "vs2013") + set (SITE_COMPILER_VERSION "12") + elseif (${BUILD_GENERATOR} STREQUAL "VS2013") + set (SITE_OS_BITS "32") + set (SITE_COMPILER_NAME "vs2013") + set (SITE_COMPILER_VERSION "12") + elseif (${BUILD_GENERATOR} STREQUAL "VS201264") + set (SITE_OS_BITS "64") + set (SITE_COMPILER_NAME "vs2012") + set (SITE_COMPILER_VERSION "11") + elseif (${BUILD_GENERATOR} STREQUAL "VS2012") + set (SITE_OS_BITS "32") + set (SITE_COMPILER_NAME "vs2012") + set (SITE_COMPILER_VERSION "11") + 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 "develop") + +#uncomment to use a compressed source file: *.tar on linux or mac *.zip on windows +#set(CTEST_USE_TAR_SOURCE "${CTEST_SOURCE_VERSION}") +################################################################### + +################################################################### +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 () +#### java #### +if (${JAVALIBRARIES}) + set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_BUILD_JAVA:BOOL=ON") +else () + set (ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_BUILD_JAVA: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") + +############################################################################################# +### disable packaging + +#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") + +############################################################################################# + +======================================================================== +For further assistance, send email to help@hdfgroup.org +======================================================================== + + + diff --git a/release_docs/INSTALL_Cygwin.txt b/release_docs/INSTALL_Cygwin.txt new file mode 100644 index 0000000..ddffcf1 --- /dev/null +++ b/release_docs/INSTALL_Cygwin.txt @@ -0,0 +1,269 @@ +************************************************************************ + 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. + +NOTE: hdf5 can be built with CMake, see the INSTALL_CMake.txt file for more guidance. + +Preconditions: +-------------- + +1. Installed Cygwin 1.7.25 or higher + + 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 + on each screen to install Cygwin. + + 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 + Cygwin packages. + + Most required dependencies can be satisfied by installing all packages in + the "Devel" category. However, please verify that you have installed all + packages listed below. + +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: + + setenv CC "foo -flags" + setenv FC "fffoo -flags" + + 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 + + zlib-1.2.5 or later is supported and tested on Cygwin. + + 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 about Szip compression and + license terms see + http://hdfgroup.org/HDF5/doc_resource/SZIP/index.html. + + The latest supported public release of SZIP is available from + ftp://ftp.hdfgroup.org/lib-external/szip/2.1. + + 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" + 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). + +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 + an `hdf5-1.10.x' directory. + + 2.1 Non-compressed tar archive (*.tar) + + $ tar xf hdf5-1.10.x.tar + + 2.2 Gzip'd tar archive (*.tar.gz) + + $ gunzip < hdf5-1.10.x.tar.gz | tar xf - + + 2.3 Bzip'd tar archive (*.tar.bz2) + + $ bunzip2 < hdf5-1.10.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 + 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 + 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 + beginning of the `configure' output. The host config file influences + 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 + /cygdrive/c/szip, which is parent directory of "include" and + "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", + + $ ./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 + HDF5 with zib + + $ CPPFLAGS=-I/cygdrive/c/usr/include \ + $ LDFLAGS=-L/cygdrive/c/usr/lib \ + $ ./configure + + To specify the installation directories, using + + $ ./configure --prefix="path for installation" + + 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 + the path with the `--prefix=PATH' switch as in the above + command. + + 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 + /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 + <"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. + + + or do it through CPPFLAGS and LDFLAGS variables: + + $ CPPFLAGS=-I/cygdrive/c/usr/include \ + $ LDFLAGS=-L/cygdrive/c/usr/lib \ + + $ ./configure + --with-szlib=/cygdrive/c/szip + --prefix=/cygdrive/c/hdf5 + --enable-cxx + --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 + three subdirectories: "bin" "include" and "lib". + +8. Known Problems + + dt_arith tests may fail due to the use of fork. This is a known issue + with cygwin on Windows. + + "make check" fails when building shared lib files is enabled. The default + on Cygwin has been changed to disable shared. It can be enabled with + the --enable-shared configure option but is likely to fail "make check" + with GCC compilers. + +----------------------------------------------------------------------- + +Need Further assistance, email help@hdfgroup.org diff --git a/release_docs/INSTALL_Windows.txt b/release_docs/INSTALL_Windows.txt new file mode 100644 index 0000000..7af2571 --- /dev/null +++ b/release_docs/INSTALL_Windows.txt @@ -0,0 +1,18 @@ + +*********************************************************************** +* HDF5 Build and Install Instructions for Windows * +* (Full Version) * +*********************************************************************** + +We now recommend that users build, test and install HDF5 using CMake. + +Instructions for building and testing HDF5 using CMake can be found in the +INSTALL_CMake.txt file found in this folder. + +For instructions of building and testing an application with HDF5, see +USING_HDF5_CMake.txt file found in this folder. + +Users who want to build and run an application with HDF5 in Visual Studio +without using CMake should consult the USING_HDF5_VS.txt file. Building +applications with the dynamic/shared hdf5 libraries requires that the +"H5_BUILT_AS_DYNAMIC_LIB" compile definition be used. diff --git a/release_docs/INSTALL_parallel b/release_docs/INSTALL_parallel new file mode 100644 index 0000000..5a8b603 --- /dev/null +++ b/release_docs/INSTALL_parallel @@ -0,0 +1,382 @@ + Installation instructions for Parallel HDF5 + ------------------------------------------- + +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 +maintained and updated continuously for current and future systems. The reader +is strongly encouraged to consult the repository at, + +https://github.com/HDFGroup/build_hdf5 + +for building parallel HDF5 on these system. All contributions, additions +and fixes to the repository are welcomed and encouraged. + + +1. Overview +----------- +This file contains instructions for the installation of parallel HDF5 (PHDF5). +It is assumed that you are familiar with the general installation steps as +described in the INSTALL file. Get familiar with that file before trying +the parallel HDF5 installation. + +The remaining of this section explains the requirements to run PHDF5. +Section 2 shows quick instructions for some well know systems. Section 3 +explains the details of the installation steps. Section 4 shows some details +of running the parallel test suites. + + +1.1. Requirements +----------------- +PHDF5 requires an MPI compiler with MPI-IO support and a POSIX compliant +(Ref. 1) parallel file system. If you don't know yet, you should first consult +with your system support staff of information how to compile an MPI program, +how to run an MPI application, and how to access the parallel file system. +There are sample MPI-IO C and Fortran programs in the appendix section of +"Sample programs". You can use them to run simple tests of your MPI compilers +and the parallel file system. + + +1.2. Further Help +----------------- +If you still have difficulties installing PHDF5 in your system, please send +mail to + help@hdfgroup.org + +In your mail, please include the output of "uname -a". If you have run the +"configure" command, attach the output of the command and the content of +the file "config.log". + + +2. Quick Instruction for known systems +-------------------------------------- +The following shows particular steps to run the parallel HDF5 configure for +a few machines we've tested. If your particular platform is not shown or +somehow the steps do not work for yours, please go to the next section for +more detailed explanations. + + +2.1. Know parallel compilers +---------------------------- +HDF5 knows several parallel compilers: mpicc, hcc, mpcc, mpcc_r. To build +parallel HDF5 with one of the above, just set CC as it and configure. + + $ CC=/usr/local/mpi/bin/mpicc ./configure --enable-parallel --prefix=<install-directory> + $ make # build the library + $ make check # verify the correctness + # Read the Details section about parallel tests. + $ make install + + +2.2. Linux 2.4 and greater +-------------------------- +Be sure that your installation of MPICH was configured with the following +configuration command-line option: + + -cflags="-D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64" + +This allows for >2GB sized files on Linux systems and is only available with +Linux kernels 2.4 and greater. + + +2.3. Hopper (Cray XE6) (for v1.8 and later) +------------------------- + +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 a copy from the HDF ftp server: +http://www.hdfgroup.org/ftp/HDF5/current/src/ +(link might change, so always double check the HDF group website). + +$ wget http://www.hdfgroup.org/ftp/HDF5/current/src/hdf5-x.x.x.tar.gz +unpack the tarball + +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/ + +- 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. + +- Compile HDF5: + gmake + +- Check HDF5 + gmake check + +- Install HDF5 + gmake install + +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. Detail explanation +--------------------- + +3.1. Installation steps (Uni/Multiple processes modes) +----------------------- +During the step of configure, you must be running in the uni-process mode. +If multiple processes are doing the configure simultaneously, they will +incur errors. + +In the build step (make), it depends on your make command whether it can +run correctly in multiple processes mode. If you are not sure, you should +try running it in uni-process mode. + +In the test step (make check), if your system can control number of processes +running in the MPI application, you can just use "make check". But if your +system (e.g., IBM SP) has a fixed number of processes for each batch run, +you need to do the serial tests by "make check-s", requesting 1 process and +then do the parallel tests by "make check-p", requesting n processes. + +Lastly, "make install" should be run in the uni-process mode. + + +3.2. Configure details +---------------------- +The HDF5 library can be configured to use MPI and MPI-IO for parallelism on +a distributed multi-processor system. The easiest way to do this is to have +a properly installed parallel compiler (e.g., MPICH's mpicc or IBM's mpcc_r) +and supply the compiler name as the value of the CC environment variable. +For examples, + + $ CC=mpcc_r ./configure --enable-parallel + $ CC=/usr/local/mpi/bin/mpicc ./configure --enable-parallel + +If a parallel library is being built then configure attempts to determine how +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} + +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). + + +4. Parallel test suite +---------------------- +The testpar/ directory contains tests for Parallel HDF5 and MPI-IO. Here are +some notes about some of the tests. + +The t_mpi tests the basic functionalities of some MPI-IO features used by +Parallel HDF5. It usually exits with non-zero code if a required MPI-IO +feature does not succeed as expected. One exception is the testing of +accessing files larger than 2GB. If the underlying filesystem or if the +MPI-IO library fails to handle file sizes larger than 2GB, the test will +print informational messages stating the failure but will not exit with +non-zero code. Failure to support file size greater than 2GB is not a fatal +error for HDF5 because HDF5 can use other file-drivers such as families of +files to bypass the file size limit. + +The t_cache does many small sized I/O requests and may not run well in a +slow file system such as NFS disk. If it takes a long time to run it, try +set the environment variable $HDF5_PARAPREFIX to a file system more suitable +for MPI-IO requests before running t_cache. + +By default, the parallel tests use the current directory as the test directory. +This can be changed by the environment variable $HDF5_PARAPREFIX. For example, +if the tests should use directory /PFS/user/me, do + HDF5_PARAPREFIX=/PFS/user/me + export HDF5_PARAPREFIX + make check + +(In some batch job system, you many need to hardset HDF5_PARAPREFIX in the +shell initial files like .profile, .cshrc, etc.) + + +Reference +--------- +1. POSIX Compliant. A good explanation is by Donald Lewin, + After a write() to a regular file has successfully returned, any + successful read() from each byte position on the file that was modified + by that write() will return the date that was written by the write(). A + subsequent write() to the same byte will overwrite the file data. If a + read() of a file data can be proven by any means [e.g., MPI_Barrier()] + to occur after a write() of that data, it must reflect that write(), + even if the calls are made by a different process. + Lewin, D. (1994). "POSIX Programmer's Guide (pg. 513-4)". O'Reilly + & Associates. + + +Appendix A. Sample programs +--------------------------- +Here are sample MPI-IO C and Fortran programs. You may use them to run simple +tests of your MPI compilers and the parallel file system. The MPI commands +used here are mpicc, mpif90 and mpiexec. Replace them with the commands of +your system. + +The programs assume they run in the parallel file system. Thus they create +the test data file in the current directory. If the parallel file system +is somewhere else, you need to run the sample programs there or edit the +programs to use a different file name. + +Example compiling and running: + +% mpicc Sample_mpio.c -o c.out +% mpiexec -np 4 c.out + +% mpif90 Sample_mpio.f90 -o f.out +% mpiexec -np 4 f.out + + +==> Sample_mpio.c <== +/* Simple MPI-IO program testing if a parallel file can be created. + * Default filename can be specified via first program argument. + * Each process writes something, then reads all data back. + */ + +#include <mpi.h> +#ifndef MPI_FILE_NULL /*MPIO may be defined in mpi.h already */ +# include <mpio.h> +#endif + +#define DIMSIZE 10 /* dimension size, avoid powers of 2. */ +#define PRINTID printf("Proc %d: ", mpi_rank) + +main(int ac, char **av) +{ + char hostname[128]; + int mpi_size, mpi_rank; + MPI_File fh; + char *filename = "./mpitest.data"; + char mpi_err_str[MPI_MAX_ERROR_STRING]; + int mpi_err_strlen; + int mpi_err; + char writedata[DIMSIZE], readdata[DIMSIZE]; + char expect_val; + int i, irank; + int nerrors = 0; /* number of errors */ + MPI_Offset mpi_off; + MPI_Status mpi_stat; + + MPI_Init(&ac, &av); + MPI_Comm_size(MPI_COMM_WORLD, &mpi_size); + MPI_Comm_rank(MPI_COMM_WORLD, &mpi_rank); + + /* get file name if provided */ + if (ac > 1){ + filename = *++av; + } + if (mpi_rank==0){ + printf("Testing simple MPIO program with %d processes accessing file %s\n", + mpi_size, filename); + printf(" (Filename can be specified via program argument)\n"); + } + + /* show the hostname so that we can tell where the processes are running */ + if (gethostname(hostname, 128) < 0){ + PRINTID; + printf("gethostname failed\n"); + return 1; + } + PRINTID; + printf("hostname=%s\n", hostname); + + if ((mpi_err = MPI_File_open(MPI_COMM_WORLD, filename, + MPI_MODE_RDWR | MPI_MODE_CREATE | MPI_MODE_DELETE_ON_CLOSE, + MPI_INFO_NULL, &fh)) + != MPI_SUCCESS){ + MPI_Error_string(mpi_err, mpi_err_str, &mpi_err_strlen); + PRINTID; + printf("MPI_File_open failed (%s)\n", mpi_err_str); + return 1; + } + + /* each process writes some data */ + for (i=0; i < DIMSIZE; i++) + writedata[i] = mpi_rank*DIMSIZE + i; + mpi_off = mpi_rank*DIMSIZE; + if ((mpi_err = MPI_File_write_at(fh, mpi_off, writedata, DIMSIZE, MPI_BYTE, + &mpi_stat)) + != MPI_SUCCESS){ + MPI_Error_string(mpi_err, mpi_err_str, &mpi_err_strlen); + PRINTID; + printf("MPI_File_write_at offset(%ld), bytes (%d), failed (%s)\n", + (long) mpi_off, (int) DIMSIZE, mpi_err_str); + return 1; + }; + + /* make sure all processes has done writing. */ + MPI_Barrier(MPI_COMM_WORLD); + + /* each process reads all data and verify. */ + for (irank=0; irank < mpi_size; irank++){ + mpi_off = irank*DIMSIZE; + if ((mpi_err = MPI_File_read_at(fh, mpi_off, readdata, DIMSIZE, MPI_BYTE, + &mpi_stat)) + != MPI_SUCCESS){ + MPI_Error_string(mpi_err, mpi_err_str, &mpi_err_strlen); + PRINTID; + printf("MPI_File_read_at offset(%ld), bytes (%d), failed (%s)\n", + (long) mpi_off, (int) DIMSIZE, mpi_err_str); + return 1; + }; + for (i=0; i < DIMSIZE; i++){ + expect_val = irank*DIMSIZE + i; + if (readdata[i] != expect_val){ + PRINTID; + printf("read data[%d:%d] got %d, expect %d\n", irank, i, + readdata[i], expect_val); + nerrors++; + } + } + } + if (nerrors) + return 1; + + MPI_File_close(&fh); + + PRINTID; + printf("all tests passed\n"); + + MPI_Finalize(); + return 0; +} + +==> Sample_mpio.f90 <== +! +! The following example demonstrates how to create and close a parallel +! file using MPI-IO calls. +! +! USE MPI is the proper way to bring in MPI definitions but many +! MPI Fortran compiler supports the pseudo standard of INCLUDE. +! So, HDF5 uses the INCLUDE statement instead. +! + + PROGRAM MPIOEXAMPLE + + ! USE MPI + + IMPLICIT NONE + + INCLUDE 'mpif.h' + + CHARACTER(LEN=80), PARAMETER :: filename = "filef.h5" ! File name + INTEGER :: ierror ! Error flag + INTEGER :: fh ! File handle + INTEGER :: amode ! File access mode + + call MPI_INIT(ierror) + amode = MPI_MODE_RDWR + MPI_MODE_CREATE + MPI_MODE_DELETE_ON_CLOSE + call MPI_FILE_OPEN(MPI_COMM_WORLD, filename, amode, MPI_INFO_NULL, fh, ierror) + print *, "Trying to create ", filename + if ( ierror .eq. MPI_SUCCESS ) then + print *, "MPI_FILE_OPEN succeeded" + call MPI_FILE_CLOSE(fh, ierror) + else + print *, "MPI_FILE_OPEN failed" + endif + + call MPI_FINALIZE(ierror); + END PROGRAM diff --git a/release_docs/RELEASE.txt b/release_docs/RELEASE.txt new file mode 100644 index 0000000..c1adf8d --- /dev/null +++ b/release_docs/RELEASE.txt @@ -0,0 +1,730 @@ +HDF5 version 1.10.1 released on 2017-04-27 +================================================================================ + +INTRODUCTION + +This document describes the differences between HDF5-1.10.0-patch1 and +HDF5 1.10.1, and contains information on the platforms tested and known +problems in HDF5-1.10.1. For more details check the HISTORY*.txt files +in the HDF5 source. + +Links to HDF5 1.10.1 source code, documentation, and additional materials can +be found on The HDF5 web page at: + + https://support.hdfgroup.org/HDF5/ + +The HDF5 1.10.1 release can be obtained from: + + https://support.hdfgroup.org/HDF5/release/obtain5.html + +User documentation for the snapshot can be accessed directly at this location: + + https://support.hdfgroup.org/HDF5/doc/ + +New features in the HDF5-1.10.x release series, including brief general +descriptions of some new and modified APIs, are described in the "New Features +in HDF5 Release 1.10" document: + + https://support.hdfgroup.org/HDF5/docNewFeatures/index.html + +All new and modified APIs are listed in detail in the "HDF5 Software Changes +from Release to Release" document, in the section "Release 10.1 (current +release) versus Release 1.10.0 + + https://support.hdfgroup.org/HDF5/doc/ADGuide/Changes.html + +If you have any questions or comments, please send them to the HDF Help Desk: + + help@hdfgroup.org + + +CONTENTS + +- Major New Features Introduced in HDF5 1.10.1 +- Other New Features and Enhancements +- Support for New Platforms, Languages, and Compilers +- Bug Fixes since HDF5-1.10.0-patch1 +- Supported Platforms +- Tested Configuration Features Summary +- More Tested Platforms +- Known Problems + + +Major New Features Introduced in HDF5 1.10.1 +============================================ + +For links to the RFCs and documentation in this section please view +https://support.hdfgroup.org/HDF5/docNewFeatures in a web browser. + +________________________________________ +Metadata Cache Image +________________________________________ + + HDF5 metadata is typically small, and scattered throughout the HDF5 file. + This can affect performance, particularly on large HPC systems. The + Metadata Cache Image feature can improve performance by writing the + metadata cache in a single block on file close, and then populating the + cache with the contents of this block on file open, thus avoiding the many + small I/O operations that would otherwise be required on file open and + close. See the RFC for complete details regarding this feature. Also, + see the Fine Tuning the Metadata Cache documentation. + + At present, metadata cache images may not be generated by parallel + applications. Parallel applications can read files with metadata cache + images, but since this is a collective operation, a deadlock is possible + if one or more processes do not participate. + +________________________________________ +Metadata Cache Evict on Close +________________________________________ + + The HDF5 library's metadata cache is fairly conservative about holding on + to HDF5 object metadata (object headers, chunk index structures, etc.), + which can cause the cache size to grow, resulting in memory pressure on + an application or system. The "evict on close" property will cause all + metadata for an object to be evicted from the cache as long as metadata + is not referenced from any other open object. See the Fine Tuning the + Metadata Cache documentation for information on the APIs. + + At present, evict on close is disabled in parallel builds. + +________________________________________ +Paged Aggregation +________________________________________ + + The current HDF5 file space allocation accumulates small pieces of metadata + and raw data in aggregator blocks which are not page aligned and vary + widely in sizes. The paged aggregation feature was implemented to provide + efficient paged access of these small pieces of metadata and raw data. + See the RFC for details. Also, see the File Space Management documentation. + +________________________________________ +Page Buffering +________________________________________ + + Small and random I/O accesses on parallel file systems result in poor + performance for applications. Page buffering in conjunction with paged + aggregation can improve performance by giving an application control of + minimizing HDF5 I/O requests to a specific granularity and alignment. + See the RFC for details. Also, see the Page Buffering documentation. + + At present, page buffering is disabled in parallel builds. + + + +Other New Features and Enhancements +=================================== + + Library + ------- + - Added a mechanism for disabling the SWMR file locking scheme. + + The file locking calls used in HDF5 1.10.0 (including patch1) + will fail when the underlying file system does not support file + locking or where locks have been disabled. To disable all file + locking operations, an environment variable named + HDF5_USE_FILE_LOCKING can be set to the five-character string + 'FALSE'. This does not fundamentally change HDF5 library + operation (aside from initial file open/create, SWMR is lock-free), + but users will have to be more careful about opening files + to avoid problematic access patterns (i.e.: multiple writers) + that the file locking was designed to prevent. + + Additionally, the error message that is emitted when file lock + operations set errno to ENOSYS (typical when file locking has been + disabled) has been updated to describe the problem and potential + resolution better. + + (DER, 2016/10/26, HDFFV-9918) + + - The return type of H5Pget_driver_info() has been changed from void * + to const void *. + + The pointer returned by this function points to internal library + memory and should not be freed by the user. + + (DER, 2016/11/04, HDFFV-10017) + + - The direct I/O VFD has been removed from the list of VFDs that + support SWMR. + + This configuration was never officially tested and several SWMR + tests fail when this VFD is set. + + (DER, 2016/11/03, HDFFV-10169) + + Configuration: + -------------- + - The minimum version of CMake required to build HDF5 is now 3.2.2. + + (ADB, 2017/01/10) + + - An --enable/disable-developer-warnings option has been added to + configure. + + This disables warnings that do not indicate poor code quality such + as -Winline and gcc's -Wsuggest-attribute. Developer warnings are + disabled by default. + + (DER, 2017/01/10) + + - A bin/restore.sh script was added that reverts autogen.sh processing. + + (DER, 2016/11/08) + + - CMake: Added NAMESPACE hdf5:: to package configuration files to allow + projects using installed HDF5 binaries built with CMake to link with + them without specifying the HDF5 library location via IMPORTED_LOCATION. + + (ABD, 2016/10/17, HDFFV-10003) + + - CMake: Changed the CTEST_BUILD_CONFIGURATION option to + CTEST_CONFIGURATION_TYPE as recommended by the CMake documentation. + + (ABD, 2016/10/17, HDFFV-9971) + + + Fortran Library: + ---------------- + + - The HDF5 Fortran library can now be compiled with the NAG compiler. + + (MSB, 2017/2/10, HDFFV-9973) + + + C++ Library: + ------------ + + - The following C++ API wrappers have been added to the C++ Library: + + // Sets/Gets the strategy and the threshold value that the library + // will employ in managing file space. + FileCreatPropList::setFileSpaceStrategy - H5Pset_file_space_strategy + FileCreatPropList::getFileSpaceStrategy - H5Pget_file_space_strategy + + // Sets/Gets the file space page size for paged aggregation. + FileCreatPropList::setFileSpacePagesize - H5Pset_file_space_page_size + FileCreatPropList::getFileSpacePagesize - H5Pget_file_space_page_size + + // Checks if the given ID is valid. + IdComponent::isValid - H5Iis_valid + + // Sets/Gets the number of soft or user-defined links that can be + // traversed before a failure occurs. + LinkAccPropList::setNumLinks - H5Pset_nlinks + LinkAccPropList::getNumLinks - H5Pget_nlinks + + // Returns a copy of the creation property list of a datatype. + DataType::getCreatePlist - H5Tget_create_plist + + // Opens/Closes an object within a group or a file, regardless of object + // type + Group::getObjId - H5Oopen + Group::closeObjId - H5Oclose + + // Maps elements of a virtual dataset to elements of the source dataset. + DSetCreatPropList::setVirtual - H5Pset_virtual + + // Gets general information about this file. + H5File::getFileInfo - H5Fget_info2 + + // Returns the number of members in a type. + IdComponent::getNumMembers - H5Inmembers + + // Determines if an element type exists. + IdComponent::typeExists - H5Itype_exists + + // Determines if an object exists. + H5Location::exists - H5Lexists. + + // Returns the header version of an HDF5 object. + H5Object::objVersion - H5Oget_info for version + + (BMR, 2017/03/20, HDFFV-10004, HDFFV-10139, HDFFV-10145) + + - New exception: ObjHeaderIException for H5O interface. + + (BMR, 2017/03/15, HDFFV-10145) + + - New class LinkAccPropList for link access property list, to be used by + wrappers of H5Lexists. + + (BMR, 2017/01/04, HDFFV-10145) + + - New constructors to open datatypes in ArrayType, CompType, DataType, + EnumType, FloatType, IntType, StrType, and VarLenType. + + (BMR, 2016/12/26, HDFFV-10056) + + - New member functions: + + DSetCreatPropList::setNbit() to setup N-bit compression for a dataset. + + ArrayType::getArrayNDims() const + ArrayType::getArrayDims() const + both to replace the non-const versions. + + (BMR, 2016/04/25, HDFFV-8623, HDFFV-9725) + + + Tools: + ------ + - The following options have been added to h5clear: + -s: clear the status_flags field in the file's superblock + -m: Remove the metadata cache image from the file + + (QAK, 2017/03/22, PR#361) + + + High-Level APIs: + --------------- + - Added New Fortran 2003 API for h5tbmake_table_f. + + (MSB, 2017/02/10, HDFFV-8486) + + + +Support for New Platforms, Languages, and Compilers +=================================================== + + - Added NAG compiler + + + +Bug Fixes since HDF5-1.10.0-patch1 release +================================== + + Library + ------- + - Outdated data structure was used in H5D_CHUNK_DEBUG blocks, causing + compilation errors when H5D_CHUNK_DEBUG was defined. This is fixed. + + (BMR, 2017/04/04, HDFFV-8089) + + - SWMR implementation in the HDF5 1.10.0 and 1.10.0-patch1 releases has a + broken metadata flush dependency that manifested itself with the following + error at the end of the HDF5 error stack: + + H5Dint.c line 846 in H5D__swmr_setup(): dataspace chunk index must be 0 + for SWMR access, chunkno = 1 + major: Dataset + minor: Bad value + + It was also reported at https://github.com/areaDetector/ADCore/issues/203 + + The flush dependency is fixed in this release. + + - Changed the plugins dlopen option from RTLD_NOW to RTLD_LAZY + + (ABD, 2016/12/12, PR#201) + + - A number of issues were fixed when reading/writing from/to corrupted + files to ensure that the library fails gracefully in these cases: + + * Writing to a corrupted file that has an object message which is + incorrectly marked as sharable on disk results in a buffer overflow / + invalid write instead of a clean error message. + + * Decoding data from a corrupted file with a dataset encoded with the + H5Z_NBIT decoding can result in a code execution vulnerability under + the context of the application using the HDF5 library. + + * When decoding an array datatype from a corrupted file, the HDF5 library + fails to return an error in production if the number of dimensions + decoded is greater than the maximum rank. + + * When decoding an "old style" array datatype from a corrupted file, the + HDF5 library fails to return an error in production if the number of + dimensions decoded is greater than the maximum rank. + + (NAF, 2016/10/06, HDFFV-9950, HDFFV-9951, HDFFV-9992, HDFFV-9993) + + - Fixed an error that would occur when copying an object with an attribute + which is a compound datatype consisting of a variable length string. + + (VC, 2016/08/24, HDFFV-7991) + + - H5DOappend will no longer fail if a dataset has no append callback + registered. + + (VC, 2016/08/14, HDFFV-9960) + + - Fixed an issue where H5Pset_alignment could result in misaligned blocks + with some input combinations, causing an assertion failure in debug mode. + + (NAF, 2016/08/11, HDFFV-9948) + + - Fixed a problem where a plugin compiled into a DLL in the default plugin + directory could not be found by the HDF5 library at runtime on Windows + when the HDF5_PLUGIN_PATH environment variable was not set. + + (ABD, 2016/08/01, HDFFV-9706) + + - Fixed an error that would occur when calling H5Adelete on an attribute + which is attached to an externally linked object in the target file and + whose datatype is a committed datatype in the main file. + + (VC, 2016/07/06, HDFFV-9940) + + - (a) Throw an error instead of assertion when v1 btree level hits the 1 + byte limit. + (b) Modifications to better handle error recovery when conversion by + h5format_convert fails. + + (VC, 2016/05/29, HDFFV-9434) + + - Fixed a memory leak where an array used by the library to track SWMR + read retries was unfreed. + + The leaked memory was small (on the order of a few tens of ints) and + allocated per-file. The memory was allocated (and lost) only when a + file was opened for SWMR access. + + (DER, 2016/04/27, HDFFV-9786) + + - Fixed a memory leak that could occur when opening a file for the first + time (including creating) and the call fails. + + This occurred when the file-driver-specific info was not cleaned up. + The amount of memory leaked varied with the file driver, but would + normally be less than 1 kB. + + (DER, 2016/12/06, HDFFV-10168) + + - Fixed a failure in collective metadata writes. + + This failure only appeared when collective metadata writes + were enabled (via H5Pset_coll_metadata_write()). + + (JRM, 2017/04/10, HDFFV-10055) + + + Parallel Library + ---------------- + - Fixed a bug that could occur when allocating a chunked dataset in parallel + with an alignment set and an alignment threshold greater than the chunk + size but less than or equal to the raw data aggregator size. + + (NAF, 2016/08/11, HDFFV-9969) + + + Configuration + ------------- + - Configuration will check for the strtoll and strtoull functions + before using alternatives + + (ABD, 2017/03/17, PR#340) + + - CMake uses a Windows pdb directory variable if available and + will generate both static and shared pdb files. + + (ABD, 2017/02/06, HDFFV-9875) + + - CMake now builds shared versions of tools. + + (ABD, 2017/02/01, HDFFV-10123) + + - Makefiles and test scripts have been updated to correctly remove files + created when running "make check" and to avoid removing any files under + source control. In-source builds followed by "make clean" and "make + distclean" should result in the original source files. + + (LRK, 2017/01/17, HDFFV-10099) + + - The tools directory has been divided into two separate source and test + directories. This resolves a build dependency and, as a result, + 'make check' will no longer fail in the tools directory if 'make' was + not executed first. + + (ABD, 2016/10/27, HDFFV-9719) + + - CMake: Fixed a timeout error that would occasionally occur when running + the virtual file driver tests simultaneously due to test directory + and file name collisions. + + (ABD, 2016/09/19, HDFFV-9431) + + - CMake: Fixed a command length overflow error by converting custom + commands inside CMakeTest.cmake files into regular dependencies and + targets. + + (ABD, 2016/07/12, HDFFV-9939) + + - Fixed a problem preventing HDF5 to be built on 32-bit CYGWIN by + condensing cygwin configuration files into a single file and + removing outdated compiler settings. + + (ABD, 2016/07/12, HDFFV-9946) + + + Fortran + -------- + - Changed H5S_ALL_F from INTEGER to INTEGER(HID_T) + + (MSB, 2016/10/14, HDFFV-9987) + + + Tools + ----- + - h5diff now correctly ignores strpad in comparing strings. + + (ABD, 2017/03/03, HDFFV-10128) + + - h5repack now correctly parses the command line filter options. + + (ABD, 2017/01/24, HDFFV-10046) + + - h5diff now correctly returns an error when it cannot read data due + to an unavailable filter plugin. + + (ADB 2017/01/18, HDFFV-9994 ) + + - Fixed an error in the compiler wrapper scripts (h5cc, h5fc, et al.) + in which they would erroneously drop the file argument specified via + the -o flag when the -o flag was specified before the -c flag on the + command line, resulting in a failure to compile. + + (LRK, 2016/11/04, HDFFV-9938, HDFFV-9530) + + - h5repack User Defined (UD) filter parameters were not parsed correctly. + + The UD filter parameters were not being parsed correctly. Reworked coding + section to parse the correct values and verify number of parameters. + + (ABD, 2016/10/19, HDFFV-9996, HDFFV-9974, HDFFV-9515, HDFFV-9039) + + - h5repack allows the --enable-error-stack option on the command line. + + (ADB, 2016/08/08, HDFFV-9775) + + + C++ APIs + -------- + - The member function H5Location::getNumObjs() is moved to + class Group because the objects are in a group or a file only, + and H5Object::getNumAttrs to H5Location to get the number of + attributes at a given location. + + (BMR, 2017/03/17, PR#466) + + - Due to the change in the C API, the overloaded functions of + PropList::setProperty now need const for some arguments. They are + planned for deprecation and are replaced by new versions with proper + consts. + + (BMR, 2017/03/17, PR#344) + + - The high-level API Packet Table (PT) did not write data correctly when + the datatype is a compound type that has string type as one of the + members. This problem started in 1.8.15, after the fix of HDFFV-9042 + was applied, which caused the Packet Table to use native type to access + the data. It should be up to the application to specify whether the + buffer to be read into memory is in the machine's native architecture. + Thus, the PT is fixed to not use native type but to make a copy of the + user's provided datatype during creation or the packet table's datatype + during opening. If an application wishes to use native type to read the + data, then the application will request that. However, the Packet Table + doesn't provide a way to specify memory datatype in this release. This + feature will be available in future releases. + + (BMR, 2016/10/27, HDFFV-9758) + + - The obsolete macros H5_NO_NAMESPACE and H5_NO_STD have been removed from + the HDF5 C++ API library. + + (BMR, 2016/10/23, HDFFV-9532) + + - The problem where a user-defined function cannot access both, attribute + and dataset, using only one argument is now fixed. + + (BMR, 2016/10/11, HDFFV-9920) + + - 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) + + + Testing + ------- + - Fixed a problem that caused tests using SWMR to occasionally fail when + running "make check" using parallel make. + + (LRK, 2016/03/22, PR#338, PR#346, PR#358) + + +Supported Platforms +=================== + + Linux 2.6.32-573.18.1.el6.ppc64 gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-4) + #1 SMP ppc64 GNU/Linux g++ (GCC) 4.4.7 20120313 (Red Hat 4.4.7-4) + (ostrich) GNU Fortran (GCC) 4.4.7 20120313 + (Red Hat 4.4.7-4) + 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) Version 4.8.5 20150623 (Red Hat 4.8.5-4) + Version 4.9.3, Version 5.2.0 + Intel(R) C (icc), C++ (icpc), Fortran (icc) + compilers: + Version 15.0.3.187 Build 20150407 + MPICH 3.1.4 compiled with GCC 4.9.3 + + 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 2012 w/ Intel Fortran 15 (cmake) + Visual Studio 2013 w/ Intel Fortran 15 (cmake) + 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/ MSMPI 8 (cmake) + Cygwin(CYGWIN_NT-6.1 2.8.0(0.309/5/3) + gcc and gfortran compilers (GCC 5.4.0) + (cmake and autotools) + + Windows 10 Visual Studio 2015 w/ Intel Fortran 16 (cmake) + Cygwin(CYGWIN_NT-6.1 2.8.0(0.309/5/3) + gcc and gfortran compilers (GCC 5.4.0) + (cmake and autotools) + + Windows 10 x64 Visual Studio 2015 w/ Intel Fortran 16 (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 + (swallow/kite) Intel icc/icpc/ifort version 15.0.3 + + Mac OS X Mavericks 10.9.5 Apple clang/clang++ version 6.0 from Xcode 6.2 + 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 clang/clang++ version 6.1 from Xcode 7.0 + 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 clang/clang++ version 7.3 from Xcode 7.3 + 64-bit gfortran GNU Fortran (GCC) 5.2.0 + (osx1010dev/osx1010test) Intel icc/icpc/ifort version 16.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 +Solaris2.11 32-bit n y/y n y y y +Solaris2.11 64-bit n y/n n y y y +Windows 7 y y/y n y y y +Windows 7 x64 y y/y y 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 Mountain Lion 10.8.5 64-bit n y/y n y y y +Mac OS X Mavericks 10.9.5 64-bit n 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 +CentOS 7.2 Linux 2.6.32 x86_64 PGI n y/y n y y y +CentOS 7.2 Linux 2.6.32 x86_64 GNU y y/y y y y y +CentOS 7.2 Linux 2.6.32 x86_64 Intel n y/y n y y y +Linux 2.6.32-573.18.1.el6.ppc64 n y/y 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 +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 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 Yosemite 10.10.5 64-bit y n y y +Mac OS X El Capitan 10.11.6 64-bit y n y y +CentOS 7.2 Linux 2.6.32 x86_64 PGI y y y n +CentOS 7.2 Linux 2.6.32 x86_64 GNU y y y y +CentOS 7.2 Linux 2.6.32 x86_64 Intel y y y n +Linux 2.6.32-573.18.1.el6.ppc64 y y y n + +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 GNU C (gcc), Fortran (gfortran), C++ (g++) + #1 SMP x86_64 GNU/Linux compilers: + (mayll/platypus) Version 4.4.7 20120313 + Version 4.8.4 + 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 15.0.3.187 (Build 20150407) + MPICH 3.1.4 compiled with GCC 4.9.3 + + 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) + Intel(R) C (icc) and C++ (icpc) compilers + Version 15.0.3.187 (Build 20150407) + with NAG Fortran Compiler Release 6.1(Tozai) + + Linux 2.6.32-573.18.1.el6.ppc64 MPICH mpich 3.1.4 compiled with + #1 SMP ppc64 GNU/Linux IBM XL C/C++ for Linux, V13.1 + (ostrich) and IBM XL Fortran for Linux, V15.1 + + Debian 8.4 3.16.0-4-amd64 #1 SMP Debian 3.16.36-1 x86_64 GNU/Linux + gcc, g++ (Debian 4.9.2-10) 4.9.2 + GNU Fortran (Debian 4.9.2-10) 4.9.2 + (cmake and autotools) + + Fedora 24 4.7.2-201.fc24.x86_64 #1 SMP x86_64 x86_64 x86_64 GNU/Linux + gcc, g++ (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) + + Ubuntu 16.04.1 4.4.0-38-generic #57-Ubuntu SMP x86_64 GNU/Linux + gcc, g++ (Ubuntu 5.4.0-6ubuntu1~16.04.2) + 5.4.0 20160609 + GNU Fortran (Ubuntu 5.4.0-6ubuntu1~16.04.2) + 5.4.0 20160609 + (cmake and autotools) + + +Known Problems +============== + + At present, metadata cache images may not be generated by parallel + applications. Parallel applications can read files with metadata cache + images, but since this is a collective operation, a deadlock is possible + if one or more processes do not participate. + + 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. diff --git a/release_docs/USING_CMake_Examples.txt b/release_docs/USING_CMake_Examples.txt new file mode 100644 index 0000000..f188ab3 --- /dev/null +++ b/release_docs/USING_CMake_Examples.txt @@ -0,0 +1,75 @@ +************************************************************************ +* Build and Test HDF5 Examples with CMake * +************************************************************************ + +Notes: This short instruction is written for users who want to quickly + test the installation of HDF5 by using the CMake tools to build + and test the HDF5 Examples. The following instructions will show + the default usage and then present common changes for non-default + installations. + For more information, see the USING_HDF5_CMake.txt file. + + More information about using CMake can be found at the KitWare + site, www.cmake.org. + + CMake uses the command line and these instructions use the script + method of the ctest command. + + +======================================================================== +I. Preconditions +======================================================================== + + 1. We suggest you obtain the latest CMake for windows from the Kitware + web site. The HDF5 1.10.x product requires a minimum CMake version + of 3.2.2. + + 2. You have installed the HDF5 library built with CMake, by executing + the HDF Install Utility (the *.msi file in the binary package for + Windows or the *.sh on Linux). If you are using a Windows platform, + you can obtain a pre-built Windows binary from The HDF Group's website + at www.hdfgroup.org. + + + +======================================================================== +II. Building HDF5 Examples with CMake +======================================================================== + +Files in the HDF5 install directory: + HDF5Examples folder + HDF5_Examples.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. + 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@". + It can be changed with the INSTALLDIR script option. + 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 HDF5_Examples.cmake file. + + If the defaults are okay, execute from this directory: + ctest -S HDF5_Examples.cmake -C Release -V -O test.log + If the defaults need change, execute from this directory: + ctest -S HDF5_Examples.cmake,CTEST_SOURCE_NAME=MyExamples,INSTALLDIR=MyLocation -C Release -V -O test.log + + When executed, the ctest script will save the results to the log file, test.log, as + indicated by the ctest command. If you wish the to see more build and test information, + add "-VV" to the ctest command. The output should show; + 100% tests passed, 0 tests failed out of 156. + + +======================================================================== +III. Other changes to the HDF5_Examples.cmake file +======================================================================== + +Line 45-48: uncomment to use a source tarball or zipfile; + Add script option "TAR_SOURCE=MySource.tar". + diff --git a/release_docs/USING_HDF5_CMake.txt b/release_docs/USING_HDF5_CMake.txt new file mode 100644 index 0000000..ecf972d --- /dev/null +++ b/release_docs/USING_HDF5_CMake.txt @@ -0,0 +1,425 @@ +************************************************************************ +* Build and Install HDF5 Applications with CMake * +************************************************************************ + +Notes: This short instruction is written for users who want to quickly + build HDF5 applications using the CMake tools. Users can adapt + these instructions for their own applications. For more information, + see the "Minimum C Project Files for CMake" section. + + More information about using CMake can be found at the KitWare + site, www.cmake.org. + + CMake uses the command line; however, the visual CMake tool is + available for the configuration step. The steps are similar for + all of the operating systems supported by CMake. + + NOTES: + 1. Using CMake for building and using HDF5 is under active + development. While we have attempted to provide error-free + files, please understand that development with CMake has not + been extensively tested outside of HDF. The CMake specific + files may change before the next release. + + 2. CMake for HDF5 development should be usable on any system + where CMake is supported. Please send us any comments on how + CMake support can be improved on any system. + + 3. See the appendix at the bottom of this file for an example + of using a ctest script for building and testing. See + INSTALL_CMake.txt for more information. + + + +======================================================================== +I. Preconditions +======================================================================== + + 1. We suggest you obtain the latest CMake for windows from the Kitware + web site. The HDF5 1.10.x product requires a minimum CMake version + of 3.2.2. + + 2. You have installed the HDF5 library built with CMake, by executing + the HDF Install Utility (the *.msi file in the binary package for + Windows). If you are using a Windows platform, you can obtain a + pre-built Windows binary from The HDF Group's website at + www.hdfgroup.org. + + 3. Set the environment variable HDF5_DIR to the installed location of + the config files for HDF5. On Windows: + HDF5_DIR=C:/Program Files/HDF_Group/HDF5/1.10.x/cmake + + (Note there are no quote characters used on Windows and all platforms + use forward slashes) + + 4. Created separate source and build directories. + (CMake commands are executed in the build directory) + + 5. Created a CMakeLists.txt file(s) for your source. See Section III + below. + + + +======================================================================== +II. Building HDF5 Applications with CMake +======================================================================== + +Go through these steps to build HDF5 applications with CMake. + (The application must support building with CMake.) + + 1. Run CMake + 2. Configure the cache settings + 3. Build HDF5 Applications + 4. Test HDF5 Applications + +These steps are described in more detail below. + + + + 1. Run CMake + + The visual CMake executable is named "cmake-gui.exe" on Windows and should be + available in your Start menu. For Linux, UNIX, and Mac users the + executable is named "cmake-gui" and can be found where CMake was + installed. + + Specify the source and build directories. Make the build and source + directories different. For example on Windows, if the source is at + c:\MyHDFstuff\hdf5, then use c:\MyHDFstuff\hdf5\build or + c:\MyHDFstuff\build\hdf5 for the build directory. + + PREFERRED: + Users can perform the configuration step without using the visual + cmake-gui program. The following is an example command line + configuration step executed within the build directory: + + cmake -G "<generator>" [-D<options>] <sourcepath> + + Where <generator> is + * MinGW Makefiles + * NMake Makefiles + * Unix Makefiles + * Visual Studio 12 2013 + * Visual Studio 12 2013 Win64 + * Visual Studio 11 2012 + * Visual Studio 11 2012 Win64 + * Visual Studio 14 2015 + * Visual Studio 14 2015 Win64 + + <options> is: + * BUILD_TESTING:BOOL=ON + * BUILD_SHARED_LIBS:BOOL=[ON | OFF] + + 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 12 2013). + 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 locations of other programs. + + Any conflicts or new values will be highlighted by the configure + process in red. Once you are happy with all the settings and there are no + more values in red, click the Generate button to produce the appropriate + build files. + + On Windows, if you are using a Visual Studio generator, the solution and + project files will be created in the build folder. + + On linux, if you are using the Unix Makefiles generator, the Makefiles will + be created in the build folder. + + 2.2 Alternative command line example on Windows in c:\MyHDFstuff\hdf5\build directory: + + cmake -G "Visual Studio 12 2013" -DBUILD_TESTING:BOOL=ON .. + + 3. Build HDF5 Applications + + On Windows, you can build HDF5 applications using either the Visual Studio Environment + or the command line. The command line is normally used on linux, Unix, and Mac. + + To build from the command line, navigate to your build directory and + execute the following: + + cmake --build . --config {Debug | Release} + + NOTE: "--config {Debug | Release}" may be optional on your platform. We + recommend choosing either Debug or Release on Windows. If you are + using the pre-built binaries from HDF, use Release. + + 3.1 If you wish to use the Visual Studio environment, open the solution + file in your build directory. Be sure to select either Debug or + Release and build the solution. + + 4. Test HDF5 Applications + + To test the build, navigate to your build directory and execute: + + ctest . -C {Debug | Release} + + NOTE: "-C {Debug | Release}" may be optional on your platform. We + recommend choosing either Debug or Release to match the build + step on Windows. + + 5. The files that support building with CMake are all of the files in the + config/cmake folder, the CMakeLists.txt files in each source folder, and + CTestConfig.cmake. CTestConfig.cmake is specific to the internal testing + performed by The HDF Group. It should be altered for the user's + installation and needs. The cacheinit.cmake file settings are used by + The HDF Group for daily testing. It should be altered/ignored for the user's + installation and needs. + + + +======================================================================== +III. Minimum C Project Files for CMake +======================================================================== + +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.2.2) +project (HDF5MyApp C CXX) + +set (LIB_TYPE STATIC) # or SHARED +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 (LINK_LIBS ${LINK_LIBS} ${HDF5_C_${LIB_TYPE}_LIBRARY}) + +set (example hdf_example) + +add_executable (${example} ${PROJECT_SOURCE_DIR}/${example}.c) +TARGET_NAMING (${example} ${LIB_TYPE}) +TARGET_C_PROPERTIES (${example} ${LIB_TYPE} " " " ") +target_link_libraries (${example} ${LINK_LIBS}) + +enable_testing () +include (CTest) + +add_test (NAME test_example COMMAND ${example}) +########################################################## + + + +======================================================================== +IV. APPENDIX +======================================================================== + +Below is an example of a ctest script that can be used to build the examples. +Adjust the values as necessary. Note that the defaults can be entered on the +command line and the build folder is created as a sub-folder. Windows should +adjust the forward slash to double backslashes, except for the HDF_DIR +environment variable. + +NOTE: this file is available at the HDF web site: + http://www.hdfgroup.org/HDF5/release/cmakebuild.html + + HDF5_Examples.cmake + +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 +======================================================================== + +cmake_minimum_required(VERSION 3.2.2 FATAL_ERROR) +############################################################################################################### +# This script will build and run the examples from a folder +# Execute from a command line: +# ctest -S HDF5_Examples.cmake,OPTION=VALUE -C Release -V -O test.log +############################################################################################################### + +set (CTEST_CMAKE_GENERATOR "@CMAKE_GENERATOR@") +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; HDF4Examples +#STATIC_ONLY - Default is YES +#FORTRAN_LIBRARIES - Default is NO +#JAVA_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 () +if (NOT DEFINED INSTALLDIR) + set (INSTALLDIR "@CMAKE_INSTALL_PREFIX@") +endif () +if (NOT DEFINED CTEST_CONFIGURATION_TYPE) + set (CTEST_CONFIGURATION_TYPE "Release") +endif () +if (NOT DEFINED CTEST_SOURCE_NAME) + set (CTEST_SOURCE_NAME "HDF5Examples") +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 () +if (NOT DEFINED JAVA_LIBRARIES) + set (JAVALIBRARIES "NO") +else () + set (JAVALIBRARIES "YES") +endif () + +#TAR_SOURCE - name of tarfile +#if (NOT DEFINED TAR_SOURCE) +# set (CTEST_USE_TAR_SOURCE "HDF5Examples-1.10.1-Source") +#endif () + +############################################################################################################### +# Adjust the following SET Commands as needed +############################################################################################################### +if (WIN32) + if (${STATICONLYLIBRARIES}) + set (BUILD_OPTIONS "${BUILD_OPTIONS} -DBUILD_SHARED_LIBS:BOOL=OFF") + endif () + 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 (WIN32) + if (${STATICONLYLIBRARIES}) + set (BUILD_OPTIONS "${BUILD_OPTIONS} -DBUILD_SHARED_LIBS:BOOL=OFF -DCMAKE_ANSI_CFLAGS:STRING=-fPIC") + endif () + 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(WIN32) +if (${FORTRANLIBRARIES}) + set (BUILD_OPTIONS "${BUILD_OPTIONS} -DHDF_BUILD_FORTRAN:BOOL=ON") +else () + set (BUILD_OPTIONS "${BUILD_OPTIONS} -DHDF_BUILD_FORTRAN:BOOL=OFF") +endif () +if (${JAVALIBRARIES}) + set (BUILD_OPTIONS "${BUILD_OPTIONS} -DHDF_BUILD_JAVA:BOOL=ON") +else () + set (BUILD_OPTIONS "${BUILD_OPTIONS} -DHDF_BUILD_JAVA:BOOL=OFF") +endif () +set (BUILD_OPTIONS "${BUILD_OPTIONS} -DHDF5_PACKAGE_NAME:STRING=@HDF5_PACKAGE@@HDF_PACKAGE_EXT@") + +############################################################################################################### +# For any comments please contact cdashhelp@hdfgroup.org +# +############################################################################################################### + +#----------------------------------------------------------------------------- +# MAC machines need special option +#----------------------------------------------------------------------------- +if (APPLE) + # Compiler choice + 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}") + if (NOT NO_MAC_FORTRAN) + # Shared fortran is not supported, build static + set (BUILD_OPTIONS "${BUILD_OPTIONS} -DBUILD_SHARED_LIBS:BOOL=OFF -DCMAKE_ANSI_CFLAGS:STRING=-fPIC") + else () + set (BUILD_OPTIONS "${BUILD_OPTIONS} -DHDF_BUILD_FORTRAN:BOOL=OFF") + endif () + set (BUILD_OPTIONS "${BUILD_OPTIONS} -DCTEST_USE_LAUNCHERS:BOOL=ON -DCMAKE_BUILD_WITH_INSTALL_RPATH:BOOL=OFF") +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 () +#----------------------------------------------------------------------------- +############################################################################################################## + + + +======================================================================== +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 new file mode 100644 index 0000000..3aaa56d --- /dev/null +++ b/release_docs/USING_HDF5_VS.txt @@ -0,0 +1,91 @@ + +*********************************************************************** +* HDF5 Build and Install Suggestions for Windows and Visual Studio * +* (Full Version) * +*********************************************************************** + +These suggestions are for Visual Studio users. + +Instructions for building and testing HDF5 applications using CMake can +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 do not use CMake to build +your applications. + +======================================================================== +Using Visual Studio 2010 with HDF5 Libraries built with Visual Studio 2010 +======================================================================== + + 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.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 + + 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, find the "Platform" dropdown + and select "x64". + + 2.2 Find the box "Show directories for", choose "Include files", add the + header path (i.e. c:\Program Files\HDF_Group\HDF5\1.10.x\include) + to the included directories. + + 2.3 Find the box "Show directories for", choose "Library files", add the + library path (i.e. c:\Program Files\HDF_Group\HDF5\1.10.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 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: + + szip.lib zlib.lib hdf5.lib hdf5_cpp.lib + +======================================================================== +3. Helpful Pointers +======================================================================== + + 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://www.hdfgroup.org/HDF5/faq/windows.html + + For all other general questions, you can look in the general FAQ: + + http://hdfgroup.org/HDF5-FAQ.html + +************************************************************************ + Please send email to help@hdfgroup.org for further assistance. |