From 768575225ecfe81e8965c47369576c9befb9d4c1 Mon Sep 17 00:00:00 2001 From: Dana Robinson <43805+derobins@users.noreply.github.com> Date: Mon, 13 Feb 2023 06:03:11 -0800 Subject: Update release_docs HISTORY scheme (#2443) We will no longer maintain HISTORY files for other maintenance branches, so those have been removed. Adds a README.md explaining the purpose and procedures of HDF5 HISTORY. Also adds a newsletter template and updates the RELEASE.txt note part of CONTRIBUTING.md. Also cleans out RELEASE.txt post-HDF5-1.14.0 --- CONTRIBUTING.md | 31 +- doc/release_txt_notes.md | 107 + release_docs/HISTORY-1_0-1_8_0.txt | 8985 +++++++++++++++++++ release_docs/HISTORY-1_0-1_8_0_rc3.txt | 8985 ------------------- release_docs/HISTORY-1_10.txt | 6562 -------------- release_docs/HISTORY-1_12.txt | 628 -- release_docs/HISTORY-1_13.txt | 3194 ------- release_docs/HISTORY-1_14.txt | 2315 +++++ release_docs/HISTORY-1_8.txt | 14439 ------------------------------- release_docs/NEWSLETTER.txt | 25 + release_docs/README.md | 102 + release_docs/RELEASE.txt | 272 +- 12 files changed, 11546 insertions(+), 34099 deletions(-) create mode 100644 doc/release_txt_notes.md create mode 100644 release_docs/HISTORY-1_0-1_8_0.txt delete mode 100644 release_docs/HISTORY-1_0-1_8_0_rc3.txt delete mode 100644 release_docs/HISTORY-1_10.txt delete mode 100644 release_docs/HISTORY-1_12.txt delete mode 100644 release_docs/HISTORY-1_13.txt create mode 100644 release_docs/HISTORY-1_14.txt delete mode 100644 release_docs/HISTORY-1_8.txt create mode 100644 release_docs/NEWSLETTER.txt create mode 100644 release_docs/README.md diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 62b00ea..dc1a200 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -86,36 +86,7 @@ application developers, library developers, and system administrators. # Release Note -* **Entry Syntax** -The release note entry syntax is shown below. - -``` - - Title/Problem - - Problem/Solution - - Signature -``` - -* **Entry Elements** - The elements of the entry - title, problem, solution, and signature - are described in more detail in the table -below. Descriptions of the problem and the solution should be clear without any ambiguities and should be short without losing clarity or specifics. - - * **Title** - The title or tag should identify one or more categories that will help readers decide if the entry is something they need to study. Can be combined with the `Problem` element - * **Problem** - Describe the problem and how users might see the problem in a paragraph. -You might also consider the following as you describe the problem: - * Under what specific conditions does this issue arise? - * Under what specific conditions are we sure this issue will not arise? - * For a performance issue, instead of saying something is a performance issue, describe what the performance impact of issue is? - * **Solution** - Describe the solution in another paragraph. -You might also consider the following as you describe the solution: - * What was done to resolve the issue? - * What is the functional impact? - * Is there a workaround – a way for users design their software so as not to encounter the issue? If so, what is the workaround? - * For a performance fix, how has the performance improved? Links to published documentation would be good. - * **Signature** - Each entry must be signed with the initials of the author, the date in YYYY/MM/DD format, and the JIRA ticket number. The -following is an example entry written by developer Xavier Zolo on April 16, 2014 about JIRA ticket HDFFV-5555: (XYZ - 2014/04/16, HDFFV-5555). The -signature is enclosed in parentheses. JIRA or Github numbers should not be used in the description of the problem or the solution. They are like -abbreviations that customers and external users will not be able to interpret. +The use and format of release notes is described in `doc/release_txt_notes.md` in this source code tree # Checklist diff --git a/doc/release_txt_notes.md b/doc/release_txt_notes.md new file mode 100644 index 0000000..316ba3f --- /dev/null +++ b/doc/release_txt_notes.md @@ -0,0 +1,107 @@ +# Writing Notes in a RELEASE.txt File + +## Introduction + +We have been challenged to write more helpful entries in our RELEASE.txt file +for new features, improvements, and bug fixes. To help users determine the +effects of our software changes on their applications, we have developed a +template that can be used to write release notes. The template is described on +the rest of this page. + +Some of our users face scrutiny from regulatory agencies for their use of +software they did not develop (aka SOUP). When they use our software, they have +to be aware of every change we make. For every change we make, they need to +investigate the effect the change will have on their software. If our change +affects their application, they may have to have their software retested or +re-certified. + +[SOUP](https://en.wikipedia.org/wiki/Software_of_unknown_pedigree) stands for Software Of Unknown/Uncertain Pedigree/Provenance + + +## When to write a RELEASE.txt note + +Generally, a release note must be written for every change that is made to the +code for which users might see a change in the way the software works. In other +words, if a user might see a difference in the way the software works, a note +should be written. By code we mean the text that will be compiled into one of +the company's software products. The code includes configuration changes and +changes to tools users might work with to configure and build our software. + +A release note does not need to be written for changes to the code that users +will not see. + +These things DO require a release note: + +* New features +* Changes in functionality/semantics +* Anything that changes functionality or symbols in a public header file +* Command-line tool option changes +* Adding or dropping support for compilers or operating systems +* Build system (Autotools, CMake) changes that users will encounter + +These things do NOT require a release note: + +* Internal comments +* Refactoring that does not change behavior or public headers (`H5XYpublic.h`) +* Minor build system changes (adding warning flags) + +Notes should also be added for known problems. Known problems are issues that +we know about and have not yet been able to fix. + +## RELEASE.txt entry format + +``` + - Title + + Problem + + Solution + + Signature +``` + +## RELEASE.txt entry elements + +### Title + +The title or tag should identify one or more categories that will help readers +decide if the entry is something they need to study. Categories include problem +areas, tool names, and code file names. Two examples are "Memory Leak" and +"h5repack". A code file such as H5R.c or H5Z.c can be used as the title if the +problem is located in the code file. If both a title and one or more tags are +used, separate each with a period. For example, "Changed Autotools Build Behavior. Fortran." +adds the Fortran tag to the title Changed Autotools Build Behavior. Use +standard capitalization rules. + +### Problem + +Describe the problem and how users might see the problem in a paragraph. + +You might also consider the following as you describe the problem: + +* Under what specific conditions does this issue arise? +* Under what specific conditions are we sure this issue will not arise? +* For a performance issue, instead of saying something is a performance issue, describe what the performance impact of issue is? + +### Solution + +Describe the solution in another paragraph. + +You might also consider the following as you describe the solution: + +* What was done to resolve the issue? +* What is the functional impact? +* Is there a workaround – a way for users design their software so as not to encounter the issue? If so, what is the workaround? +* For a performance fix, how has the performance improved? Links to published documentation would be good. + +### Signature + +Each entry must be signed with the initials of the author, the date in +YYYY/MM/DD format, and the JIRA ticket number. The signature is enclosed in +parentheses. + +Example: + +``` + (ABC - 2023/02/28, JIRA-12345, GitHub #1234) +``` diff --git a/release_docs/HISTORY-1_0-1_8_0.txt b/release_docs/HISTORY-1_0-1_8_0.txt new file mode 100644 index 0000000..3669f4d --- /dev/null +++ b/release_docs/HISTORY-1_0-1_8_0.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 +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 explicitly enable stream_vfd or shared libraries + when using parallel via the '--enable-stream_vfd' and + '--enable-shared' options, respectively. If not explicitly 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 depend (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 across 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 across 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 vendor 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 and + . + + 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 compatibility 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 + underlying 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 "-" to + ":::" to ":" + 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 + description 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 support 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 variable 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 attribute 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 + endianness. 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 + = 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 parallel 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 certain 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 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. + +* 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 attribute 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 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 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 buffered 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 inadvertently 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 environment 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 + underlying 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 + occasionally 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 will 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 description 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. + Basically, 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 unnecessary. QAK - 2002/04/02 + * Improved performance of single hyperslab I/O when datatype conversion is + unnecessary. 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 correspond 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 Capture 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 writing 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 and 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 conversion 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 utilities. 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 additional 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 converter has been added. This is available under + tools/gifconv. The converter 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 related 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 occurrence 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 :"). + * h5dump has a new feature "-o " which outputs the raw data + of the dataset into ascii text file . + * 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 display 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 absence 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_0-1_8_0_rc3.txt b/release_docs/HISTORY-1_0-1_8_0_rc3.txt deleted file mode 100644 index 3669f4d..0000000 --- a/release_docs/HISTORY-1_0-1_8_0_rc3.txt +++ /dev/null @@ -1,8985 +0,0 @@ -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 -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 explicitly enable stream_vfd or shared libraries - when using parallel via the '--enable-stream_vfd' and - '--enable-shared' options, respectively. If not explicitly 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 depend (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 across 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 across 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 vendor 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 and - . - - 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 compatibility 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 - underlying 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 "-" to - ":::" to ":" - 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 - description 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 support 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 variable 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 attribute 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 - endianness. 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 - = 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 parallel 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 certain 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 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. - -* 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 attribute 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 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 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 buffered 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 inadvertently 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 environment 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 - underlying 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 - occasionally 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 will 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 description 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. - Basically, 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 unnecessary. QAK - 2002/04/02 - * Improved performance of single hyperslab I/O when datatype conversion is - unnecessary. 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 correspond 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 Capture 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 writing 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 and 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 conversion 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 utilities. 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 additional 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 converter has been added. This is available under - tools/gifconv. The converter 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 related 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 occurrence 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 :"). - * h5dump has a new feature "-o " which outputs the raw data - of the dataset into ascii text file . - * 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 display 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 absence 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 deleted file mode 100644 index 1fc3c60..0000000 --- a/release_docs/HISTORY-1_10.txt +++ /dev/null @@ -1,6562 +0,0 @@ -HDF5 History -============ - -This file contains development history of the HDF5 1.10 branch - -09. Release Information for hdf5-1.10.7 -08. Release Information for hdf5-1.10.6 -07. Release Information for hdf5-1.10.5 -06. Release Information for hdf5-1.10.4 -05. Release Information for hdf5-1.10.3 -04. Release Information for hdf5-1.10.2 -03. Release Information for hdf5-1.10.1 -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.7%%%% - -HDF5 version 1.10.7 released on 2020-09-11 -================================================================================ - - -INTRODUCTION - -This document describes the differences between this release and the previous -HDF5 release. It contains information on the platforms tested and known -problems in this release. For more details check the HISTORY*.txt files in the -HDF5 source. - -Note that documentation in the links below will be updated at the time of each -final release. - -Links to HDF5 documentation can be found on The HDF5 web page: - - https://portal.hdfgroup.org/display/HDF5/HDF5 - -The official HDF5 releases can be obtained from: - - https://www.hdfgroup.org/downloads/hdf5/ - - HDF5 binaries provided are fully tested with ZLIB and the free - Open Source SZIP successor Libaec (with BSD license). - The official ZLIB and SZIP/Libaec pages are at: - - ZLIB: http://www.zlib.net/ - http://www.zlib.net/zlib_license.html - SZIP/Libaec: https://gitlab.dkrz.de/k202009/libaec - https://gitlab.dkrz.de/k202009/libaec/-/blob/master/Copyright.txt - -Changes from Release to Release and New Features in the HDF5-1.10.x release series -can be found at: - - https://portal.hdfgroup.org/display/HDF5/HDF5+Application+Developer%27s+Guide - -If you have any questions or comments, please send them to the HDF Help Desk: - - help@hdfgroup.org - - -CONTENTS - -- New Features -- Support for new platforms and languages -- Bug Fixes since HDF5-1.10.6 -- Supported Platforms -- Tested Configuration Features Summary -- More Tested Platforms -- Known Problems -- CMake vs. Autotools installations - - -New Features -============ - - Configuration: - ------------- - - Disable memory sanity checks in the Autotools in release branches - - The library can be configured to use internal memory sanity checking, - which replaces C API calls like malloc(3) and free(3) with our own calls - which add things like heap canaries. These canaries can cause problems - when external filter plugins reallocate canary-marked buffers. - - For this reason, the default will be to not use the memory allocation - sanity check feature in release branches (e.g., hdf5_1_10_7). - Debug builds in development branches (e.g., develop, hdf5_1_10) will - still use them by default. - - This change only affects Autotools debug builds. Non-debug autotools - builds and all CMake builds do not enable this feature by default. - - (DER - 2020/08/19) - - - Add file locking configure and CMake options - - HDF5 1.10.0 introduced a file locking scheme, primarily to help - enforce SWMR setup. Formerly, the only user-level control of the scheme - was via the HDF5_USE_FILE_LOCKING environment variable. - - This change introduces configure-time options that control whether - or not file locking will be used and whether or not the library - ignores errors when locking has been disabled on the file system - (useful on some HPC Lustre installations). - - In both the Autotools and CMake, the settings have the effect of changing - the default property list settings (see the H5Pset/get_file_locking() - entry, below). - - The yes/no/best-effort file locking configure setting has also been - added to the libhdf5.settings file. - - Autotools: - - An --enable-file-locking=(yes|no|best-effort) option has been added. - - yes: Use file locking. - no: Do not use file locking. - best-effort: Use file locking and ignore "disabled" errors. - - CMake: - - Two self-explanatory options have been added: - - HDF5_USE_FILE_LOCKING - HDF5_IGNORE_DISABLED_FILE_LOCKS - - Setting both of these to ON is the equivalent to the Autotools' - best-effort setting. - - NOTE: - The precedence order of the various file locking control mechanisms is: - - 1) HDF5_USE_FILE_LOCKING environment variable (highest) - - 2) H5Pset_file_locking() - - 3) configure/CMake options (which set the property list defaults) - - 4) library defaults (currently best-effort) - - (DER - 2020/07/30, HDFFV-11092) - - - CMake option to link the generated Fortran MOD files into the include - directory. - - The Fortran generation of MOD files by a Fortran compile can produce - different binary files between SHARED and STATIC compiles with different - compilers and/or different platforms. Note that it has been found that - different versions of Fortran compilers will produce incompatible MOD - files. Currently, CMake will locate these MOD files in subfolders of - the include directory and add that path to the Fortran library target - in the CMake config file, which can be used by the CMake find library - process. For other build systems using the binary from a CMake install, - a new CMake configuration can be used to copy the pre-chosen version - of the Fortran MOD files into the install include directory. - - The default will depend on the configuration of - BUILD_STATIC_LIBS and BUILD_SHARED_LIBS: - YES YES Default to SHARED - YES NO Default to STATIC - NO YES Default to SHARED - NO NO Default to SHARED - The defaults can be overridden by setting the config option - HDF5_INSTALL_MOD_FORTRAN to one of NO, SHARED, or STATIC - - (ADB - 2020/07/09, HDFFV-11116) - - - CMake option to use AEC (open source SZip) library instead of SZip - - The open source AEC library is a replacement library for SZip. In - order to use it for hdf5, the libaec CMake source was changed to add - "-fPIC" and exclude test files. A new option USE_LIBAEC is required - to compensate for the different files produced by AEC build. - - Autotools does not build the compression libraries within hdf5 builds, - but will use an installed libaec when configured as before with the - option --with-libsz=. - - (ADB - 2020/04/22, OESS-65) - - - CMake ConfigureChecks.cmake file now uses CHECK_STRUCT_HAS_MEMBER - - Some handcrafted tests in HDFTests.c have been removed and the CMake - CHECK_STRUCT_HAS_MEMBER module has been used. - - (ADB - 2020/03/24, TRILAB-24) - - - Both build systems use same set of warnings flags - - GNU C, C++ and gfortran warnings flags were moved to files in a config - sub-folder named gnu-warnings. Flags that only are available for a specific - version of the compiler are in files named with that version. - Clang C warnings flags were moved to files in a config sub-folder - named clang-warnings. - Intel C, Fortran warnings flags were moved to files in a config sub-folder - named intel-warnings. - - There are flags in named "error-xxx" files with warnings that may - be promoted to errors. Some source files may still need fixes. - - There are also pairs of files named "developer-xxx" and "no-developer-xxx" - that are chosen by the CMake option:HDF5_ENABLE_DEV_WARNINGS or the - configure option:--enable-developer-warnings. - - In addition, CMake no longer applies these warnings for examples. - - (ADB - 2020/03/24, TRILAB-192) - - - Update CMake minimum version to 3.12 - - Updated CMake minimum version to 3.12 and added version checks - for Windows features. - - (ADB - 2020/02/05, TRILABS-142) - - - Fixed CMake include properties for Fortran libraries - - Corrected the library properties for Fortran to use the - correct path for the Fortran module files. - - (ADB - 2020/02/04, HDFFV-11012) - - - Added common warnings files for gnu and intel - - Added warnings files to use one common set of flags - during configure for both autotools and CMake build - systems. The initial implementation only affects a - general set of flags for gnu and intel compilers. - - (ADB - 2020/01/17) - - - Added new options to CMake for control of testing - - Added CMake options (default ON); - HDF5_TEST_SERIAL AND/OR HDF5_TEST_PARALLEL - combined with: - HDF5_TEST_TOOLS - HDF5_TEST_EXAMPLES - HDF5_TEST_SWMR - HDF5_TEST_FORTRAN - HDF5_TEST_CPP - HDF5_TEST_JAVA - - (ADB - 2020/01/15, HDFFV-11001) - - - Added Clang sanitizers to CMake for analyzer support if compiler is clang. - - Added CMake code and files to execute the Clang sanitizers if - HDF5_ENABLE_SANITIZERS is enabled and the USE_SANITIZER option - is set to one of the following: - Address - Memory - MemoryWithOrigins - Undefined - Thread - Leak - 'Address;Undefined' - - (ADB - 2019/12/12, TRILAB-135) - - - Library: - -------- - - Add metadata cache optimization to reduce skip list usage - - On file flush or close, the metadata cache attempts to write out - all dirty entries in increasing address order. To do this, it needs - an address sorted list of metadata entries. Further, since flushing - one metadata cache entry can dirty another, this list must support - efficient insertion and deletion. - - The metadata cache uses a skip list of all dirty entries for this - purpose. Before this release, this skip list was maintained at all - times. However, since profiling indicates that this imposes a - significant cost, we now construct and maintain the skip list only - when needed. Specifically, we enable the skip list and load it with - a list of all dirty entries in the metadata cache just before a flush, - and disable it after the flush. - - (JRM - 2020/08/17, HDFFV-11034) - - - Add BEST_EFFORT value to HDF5_USE_FILE_LOCKING environment variable - - This change adds a BEST_EFFORT to the TRUE/FALSE, 1/0 settings that - were previously accepted. This option turns on file locking but - ignores locking errors when the library detects that file locking - has been disabled on a file system (useful on some HPC Lustre - installations). - - The capitalization of BEST_EFFORT is mandatory. - - See the configure option discussion for HDFFV-11092 (above) for more - information on the file locking feature and how it's controlled. - - (DER - 2020/07/30, HDFFV-11092) - - - - Add H5Pset/get_file_locking() API calls - - This change adds new API calls which can be used to set or get the - file locking parameters. The single API call sets both the "use file - locking" flag and the "ignore disabled file locking" flag. - - When opening a file multiple times without closing, the file MUST be - opened with the same file locking settings. Opening a file with different - file locking settings will fail (this is similar to the behavior of - H5Pset_fclose_degree()). - - See the configure option discussion for HDFFV-11092 (above) for more - information on the file locking feature and how it's controlled. - - (DER - 2020/07/30, HDFFV-11092) - - - Add Mirror VFD - - Use TCP/IP sockets to perform write-only (W/O) file I/O on a remote - machine. Must be used in conjunction with the Splitter VFD. - - (JOS - 2020/03/13, TBD) - - - Add Splitter VFD - - Maintain separate R/W and W/O channels for "concurrent" file writes - to two files using a single HDF5 file handle. - - (JOS - 2020/03/13, TBD) - - - Fixed an assertion failure in the parallel library when collectively - filling chunks. As it is required that chunks be written in - monotonically non-decreasing order of offset in the file, this assertion - was being triggered when the list of chunk file space allocations being - passed to the collective chunk filling routine was not sorted according - to this particular requirement. - - The addition of a sort of the out of order chunks trades a bit of - performance for the elimination of this assertion and of any complaints - from MPI implementations about the file offsets used being out of order. - - (JTH - 2019/10/07) - - Fortran Library: - ---------------- - - Add wrappers for H5Pset/get_file_locking() API calls - - h5pget_file_locking_f() - h5pset_file_locking_f() - - See the configure option discussion for HDFFV-11092 (above) for more - information on the file locking feature and how it's controlled. - - (DER - 2020/07/30, HDFFV-11092) - - - Added new Fortran parameters: - - H5F_LIBVER_ERROR_F - H5F_LIBVER_NBOUNDS_F - H5F_LIBVER_V18_F - H5F_LIBVER_V110_F - - - Added new Fortran API: h5pget_libver_bounds_f - - (MSB - 2020/02/11, HDFFV-11018) - - C++ Library: - ------------ - - Add wrappers for H5Pset/get_file_locking() API calls - - FileAccPropList::setFileLocking() - FileAccPropList::getFileLocking() - - See the configure option discussion for HDFFV-11092 (above) for more - information on the file locking feature and how it's controlled. - - (DER - 2020/07/30, HDFFV-11092) - - Java Library: - ---------------- - - Add wrappers for H5Pset/get_file_locking() API calls - - H5Pset_file_locking() - H5Pget_use_file_locking() - H5Pget_ignore_disabled_file_locking() - - Unlike the C++ and Fortran wrappers, there are separate getters for the - two file locking settings, each of which returns a boolean value. - - See the configure option discussion for HDFFV-11092 (above) for more - information on the file locking feature and how it's controlled. - - (DER - 2020/07/30, HDFFV-11092) - - Tools: - ------ - - h5repack added options to control how external links are handled. - - Currently h5repack preserves external links and cannot copy and merge - data from the external files. Two options, merge and prune, were added to - control how to merge data from an external link into the resulting file. - --merge Follow external soft link recursively and merge data. - --prune Do not follow external soft links and remove link. - --merge --prune Follow external link, merge data and remove dangling link. - - (ADB - 2020/08/05, HDFFV-9984) - - High-Level APIs: - --------------- - - None - - C Packet Table API - ------------------ - - None - - Internal header file - -------------------- - - None - - Documentation - ------------- - - None - - -Support for new platforms, languages and compilers. -======================================= - - None - - -Bug Fixes since HDF5-1.10.6 release -================================== - - Library - ------- - - Fix bug and simplify collective metadata write operation when some ranks - have no entries to contribute. This fixes parallel regression test - failures with IBM SpectrumScale MPI on the Summit system at ORNL. - - (QAK - 2020/09/02) - - - Avoid setting up complex MPI types with 0-length vectors, which some - MPI implementations don't handle well. (In particular, IBM - SpectrumScale MPI on the Summit system at ORNL) - - (QAK - 2020/08/21) - - - Fixed use-of-uninitialized-value error - - Appropriate initialization of local structs was added to remove the - use-of-uninitialized-value errors reported by MemorySanitizer. - - (BMR - 2020/8/13, HDFFV-11101) - - - Creation of dataset with optional filter - - When the combination of type, space, etc doesn't work for filter - and the filter is optional, it was supposed to be skipped but it was - not skipped and the creation failed. - - A fix is applied to allow the creation of a dataset in such - situation, as specified in the user documentation. - - (BMR - 2020/8/13, HDFFV-10933) - - - Explicitly declared dlopen to use RTLD_LOCAL - - dlopen documentation states that if neither RTLD_GLOBAL nor - RTLD_LOCAL are specified, then the default behavior is unspecified. - The default on linux is usually RTLD_LOCAL while macos will default - to RTLD_GLOBAL. - - (ADB - 2020/08/12, HDFFV-11127) - - - Fixed issues CVE-2018-13870 and CVE-2018-13869 - - When a buffer overflow occurred because a name length was corrupted - and became very large, h5dump crashed on memory access violation. - - A check for reading past the end of the buffer was added to multiple - locations to prevent the crashes and h5dump now simply fails with an - error message when this error condition occurs. - - (BMR - 2020/7/31, HDFFV-11120 and HDFFV-11121) - - - H5Sset_extent_none() sets the dataspace class to H5S_NO_CLASS which - causes asserts/errors when passed to other dataspace API calls. - - H5S_NO_CLASS is an internal class value that should not have been - exposed via a public API call. - - In debug builds of the library, this can cause asserts to trip. In - non-debug builds, it will produce normal library errors. - - The new library behavior is for H5Sset_extent_none() to convert - the dataspace into one of type H5S_NULL, which is better handled - by the library and easier for developers to reason about. - - (DER - 2020/07/27, HDFFV-11027) - - - Fixed the segmentation fault when reading attributes with multiple threads - - It was reported that the reading of attributes with variable length string - datatype will crash with segmentation fault particularly when the number - of threads is high (>16 threads). The problem was due to the file pointer - that was set in the variable length string datatype for the attribute. - That file pointer was already closed when the attribute was accessed. - - The problem was fixed by setting the file pointer to the current opened - file pointer when the attribute was accessed. Similar patch up was done - before when reading dataset with variable length string datatype. - - (VC - 2020/07/13, HDFFV-11080) - - - Fixed issue CVE-2018-17438 - - A division by zero was discovered in H5D__select_io() of H5Dselect.c. - https://security-tracker.debian.org/tracker/CVE-2018-17438 - - A check was added to protect against division by zero. When such - situation occurs again, the normal HDF5 error handling will be invoked, - instead of segmentation fault. - - (BMR, DER - 2020/07/09, HDFFV-10587) - - - Fixed CVE-2018-17435 - - The tool h52gif produced a segfault when the size of an attribute message - was corrupted and caused a buffer overflow. - - The problem was fixed by verifying the attribute message's size against the - buffer size before accessing the buffer. h52gif was also fixed to display - the failure instead of silently exiting after the segfault was eliminated. - - (BMR - 2020/6/19, HDFFV-10591) - - - Don't allocate an empty (0-dimensioned) chunked dataset's chunk - index, until the dataset's dimensions are increased. - - (QAK - 2020/05/07) - - Configuration - ------------- - - Stopped addition of szip header and include directory path for - incompatible libsz - - szlib.h is the same for both 32-bit and 64-bit szip, and the header file - and its path were added to the HDF5 binary even though the configure - check of a function in libsz later failed and szip compression was not - enabled. The header file and include path are now added only when the - libsz function passes the configure check. - - (LRK - 2020/08/17, HDFFV-10830) - - - Added -fsanitize=address autotools configure option for Clang compiler - - Clang sanitizer options were also added for Clang compilers with CMake. - - (LRK, 2020/08/05, HDFFV-10836) - - - Updated testh5cc.sh.in for functions versioned in HDF5 1.10. - - testh5cc.sh previously tested that the correct version of a function - versioned in HDF5 1.6 or 1.8 was compiled when one of - H5_NO_DEPRECATED_SYMBOLS or H5_USE_16_API_DEFAULT were defined. This - test was extended for additional testing with H5_USE_18_API_DEFAULT. - - (LRK, 2020/06/22, HDFFV-11000) - - - Fixed CMake include properties for Fortran libraries - - Corrected the library properties for Fortran to use the - correct path for the Fortran module files. - - (ADB - 2020/02/04, HDFFV-11012) - - Performance - ------------- - - None - - Java Library: - ---------------- - - None - - Fortran - -------- - - Corrected INTERFACE INTENT(IN) to INTENT(OUT) for buf_size in h5fget_file_image_f. - - (MSB - 2020/2/18, HDFFV-11029) - - - Fixed configure issue when building HDF5 with NAG Fortran 7.0. - - HDF5 now accounts for the addition of half-precision floating-point - in NAG 7.0 with a KIND=16. - - (MSB - 2020/02/28, HDFFV-11033) - - Tools - ----- - - The tools library was updated by standardizing the error stack process. - - General sequence is: - h5tools_setprogname(PROGRAMNAME); - h5tools_setstatus(EXIT_SUCCESS); - h5tools_init(); - ... process the command-line (check for error-stack enable) ... - h5tools_error_report(); - ... (do work) ... - h5diff_exit(ret); - - (ADB - 2020/07/20, HDFFV-11066) - - - h5diff fixed a command line parsing error. - - h5diff would ignore the argument to -d (delta) if it is smaller than DBL_EPSILON. - The macro H5_DBL_ABS_EQUAL was removed and a direct value comparison was used. - - (ADB - 2020/07/20, HDFFV-10897) - - - h5diff added a command line option to ignore attributes. - - h5diff would ignore all objects with a supplied path if the exclude-path argument is used. - Adding the exclude-attribute argument will only eclude attributes, with the supplied path, - from comparison. - - (ADB - 2020/07/20, HDFFV-5935) - - - h5diff added another level to the verbose argument to print filenames. - - Added verbose level 3 that is level 2 plus the filenames. The levels are: - 0 : Identical to '-v' or '--verbose' - 1 : All level 0 information plus one-line attribute status summary - 2 : All level 1 information plus extended attribute status report - 3 : All level 2 information plus file names - - (ADB - 2020/07/20, HDFFV-10005) - - - h5repack was fixed to repack the reference attributes properly. - The code line that checks if the update of reference inside a compound - datatype is misplaced outside the code block loop that carries out the - check. In consequence, the next attribute that is not the reference - type was repacked again as the reference type and caused the failure of - repacking. The fix is to move the corresponding code line to the correct - code block. - - (KY -2020/02/10, HDFFV-11014) - - High-Level APIs: - ------ - - The H5DSis_scale function was updated to return "not a dimension scale" (0) - instead of failing (-1), when CLASS or DIMENSION_SCALE attributes are - not written according to Dimension Scales Specification. - - (EIP - 2020/08/12, HDFFV-10436) - - Fortran High-Level APIs: - ------ - - None - - Documentation - ------------- - - None - - F90 APIs - -------- - - None - - C++ APIs - -------- - - None - - Testing - ------- - - Stopped java/test/junit.sh.in installing libs for testing under ${prefix} - - Lib files needed are now copied to a subdirectory in the java/test - directory, and on Macs the loader path for libhdf5.xxxs.so is changed - in the temporary copy of libhdf5_java.dylib. - - (LRK, 2020/7/2, HDFFV-11063) - - -Supported Platforms -=================== - - Linux 3.10.0-1127.10.1.el7 gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-39) - #1 SMP ppc64 GNU/Linux g++ (GCC) 4.8.5 20150623 (Red Hat 4.8.5-39) - (echidna) GNU Fortran (GCC) 4.8.5 20150623 (Red Hat 4.8.5-39) - - Linux 2.6.32-754.31.1.el6 IBM XL C/C++ V13.1 - #1 SMP ppc64 GNU/Linux IBM XL Fortran V15.1 - (ostrich) - - Linux 3.10.0-327.18.2.el7 GNU C (gcc), Fortran (gfortran), C++ (g++) - #1 SMP x86_64 GNU/Linux compilers: - (jelly/kituo/moohan) Version 4.8.5 20150623 (Red Hat 4.8.5-4) - Version 4.9.3, Version 5.3.0, Version 6.3.0, - Version 7.2.0, Version 8.3.0, Version 9.1.0 - Intel(R) C (icc), C++ (icpc), Fortran (icc) - compilers: - Version 17.0.0.098 Build 20160721 - MPICH 3.3 compiled with GCC 7.2.0 - OpenMPI 4.0.0 compiled with GCC 7.2.0 - - SunOS 5.11 11.4.5.12.5.0 Sun C 5.15 SunOS_sparc 2017/05/30 - 32- and 64-bit Studio 12.6 Fortran 95 8.8 SunOS_sparc 2017/05/30 - (hedgehog) Sun C++ 5.15 SunOS_sparc 2017/05/30 - - Windows 7 x64 Visual Studio 2015 w/ Intel C, Fortran 2018 (cmake) - - Windows 10 x64 Visual Studio 2015 w/ Intel Fortran 18 (cmake) - Visual Studio 2017 w/ Intel Fortran 19 (cmake) - Visual Studio 2019 w/ Intel Fortran 19 (cmake) - Visual Studio 2019 w/ MSMPI 10.1 (cmake) - - macOS Mojave 10.14.6 Apple LLVM version 10.0.1 (clang-1001.0.46.4) - 64-bit gfortran GNU Fortran (GCC) 6.3.0 - (swallow) Intel icc/icpc/ifort version 19.0.4.233 20190416 - -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 - = 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 x64 y y/y y y y y -Windows 10 y y/y n y y y -Windows 10 x64 y y/y n y y y -MacOS Sierra 10.12.6 64-bit n y/y n y y y -MacOS High Sierra 10.13.6 64-bit n y/y n y y y -MacOS Mojave 10.14.6 64-bit n y/y n y y y -CentOS 7.2 Linux 3.10.0 x86_64 PGI n y/y n y y y -CentOS 7.2 Linux 3.10.0 x86_64 GNU y y/y y y y y -CentOS 7.2 Linux 3.10.0 x86_64 Intel n y/y n y y y -Linux 2.6.32-754.31.1.el6.ppc64 XL 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 x64 y y y y -Windows 10 y y y y -Windows 10 x64 y y y y -MacOS Sierra 10.12.6 64-bit y n y y -MacOS High Sierra 10.13.6 64-bit y n y y -MacOS Mojave 10.14.6 64-bit y n y y -CentOS 7.2 Linux 3.10.0 x86_64 PGI y y y n -CentOS 7.2 Linux 3.10.0 x86_64 GNU y y y y -CentOS 7.2 Linux 3.10.0 x86_64 Intel y y y n -Linux 2.6.32-754.31.1.el6.ppc64 XL 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: - (platypus) Version 4.4.7 20120313 - Version 4.9.3, 5.3.0, 6.2.0 - PGI C, Fortran, C++ for 64-bit target on - x86-64; - Version 19.10-0 - MPICH 3.1.4 compiled with GCC 4.9.3 - - Linux 2.6.32-754.31.1.el6 gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-18) - #1 SMP ppc64 GNU/Linux g++ (GCC) 4.4.7 20120313 (Red Hat 4.4.7-18) - (ostrich) GNU Fortran (GCC) 4.4.7 20120313 (Red Hat 4.4.7-18) - - Linux 3.10.0-327.18.2.el7 GNU C (gcc) and C++ (g++) compilers - #1 SMP x86_64 GNU/Linux Version 4.8.5 20150623 (Red Hat 4.8.5-4) - (jelly) with NAG Fortran Compiler Release 6.1(Tozai) - GCC Version 7.1.0 - OpenMPI 2.1.6-GCC-7.2.0-2.29, - 3.1.3-GCC-7.2.0-2.29 - Intel(R) C (icc) and C++ (icpc) compilers - Version 17.0.0.098 Build 20160721 - with NAG Fortran Compiler Release 6.1(Tozai) - - Linux 3.10.0-327.10.1.el7 MPICH 3.1.4 compiled with GCC 4.9.3 - #1 SMP x86_64 GNU/Linux - (moohan) - - Linux-3.10.0-1127.0.0.1chaos openmpi-4.0.0 - #1 SMP x86_64 GNU/Linux clang/3.9.0, 8.0.1 - (quartz) gcc/7.3.0, 8.1.0 - intel/16.0.4 - - Linux-4.14.0-115.10.1.1 spectrum-mpi/rolling-release - #1 SMP ppc64le GNU/Linux clang/coral-2018.08.08 - (lassen) gcc/7.3.1 - xl/2019.02.07 - - Linux-4.12.14-150.52-default cray-mpich/7.7.10 - #1 SMP x86_64 GNU/Linux gcc/7.3.0, 8.2.0 - (cori) intel/19.0.3 - - Linux-4.4.180-94.107-default cray-mpich/7.7.6 - # 1SMP x86_64 GNU/Linux gcc/7.2.0, 8.2.0 - (mutrino) intel/17.0.4, 18.0.2, 19.0.4 - - Fedora 32 5.7.15-200.fc32.x86_64 Clang version 10.0.0 (Fedora 10.0.0-2.fc32) - #1 SMP x86_64 GNU/Linux GNU gcc (GCC) 10.2.1 20200723 (Red Hat 10.2.1-1) - GNU Fortran (GCC) 10.2.1 20200723 (Red Hat 10.2.1) - (cmake and autotools) - - Mac OS X El Capitan 10.11.6 Apple clang version 7.3.0 from Xcode 7.3 - 64-bit gfortran GNU Fortran (GCC) 5.2.0 - (osx1011test) Intel icc/icpc/ifort version 16.0.2 - - macOS Sierra 10.12.6 Apple LLVM version 9.0.0 (clang-900.39.2) - 64-bit gfortran GNU Fortran (GCC) 7.4.0 - (kite) Intel icc/icpc/ifort version 17.0.2 - - macOS High Sierra 10.13.6 Apple LLVM version 10.0.0 (clang-1000.10.44.4) - 64-bit gfortran GNU Fortran (GCC) 6.3.0 - (bear) Intel icc/icpc/ifort version 19.0.4.233 20190416 - - SunOS 5.11 11.3 Sun C 5.15 SunOS_sparc - 32- and 64-bit Sun Fortran 95 8.8 SunOS_sparc - (emu) Sun C++ 5.15 SunOS_sparc - - -Known Problems -============== - CMake files do not behave correctly with paths containing spaces. - Do not use spaces in paths because the required escaping for handling spaces - results in very complex and fragile build files. - ADB - 2019/05/07 - - 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. - - Two tests fail attempting collective writes with OpenMPI 3.0.0/GCC-7.2.0-2.29: - testphdf5 (ecdsetw, selnone, cchunk1, cchunk3, cchunk4, and actualio) - t_shapesame (sscontig2) - - CPP ptable test fails on both VS2017 and VS2019 with Intel compiler, JIRA - issue: HDFFV-10628. This test will pass with VS2015 with Intel compiler. - - Known problems in previous releases can be found in the HISTORY*.txt files - in the HDF5 source. Please report any new problems found to - help@hdfgroup.org. - - -CMake vs. Autotools installations -================================= -While both build systems produce similar results, there are differences. -Each system produces the same set of folders on linux (only CMake works -on standard Windows); bin, include, lib and share. Autotools places the -COPYING and RELEASE.txt file in the root folder, CMake places them in -the share folder. - -The bin folder contains the tools and the build scripts. Additionally, CMake -creates dynamic versions of the tools with the suffix "-shared". Autotools -installs one set of tools depending on the "--enable-shared" configuration -option. - build scripts - ------------- - Autotools: h5c++, h5cc, h5fc - CMake: h5c++, h5cc, h5hlc++, h5hlcc - -The include folder holds the header files and the fortran mod files. CMake -the share folder. - -The bin folder contains the tools and the build scripts. Additionally, CMake -places the fortran mod files into separate shared and static subfolders, -while Autotools places one set of mod files into the include folder. Because -CMake produces a tools library, the header files for tools will appear in -the include folder. - -The lib folder contains the library files, and CMake adds the pkgconfig -subfolder with the hdf5*.pc files used by the bin/build scripts created by -the CMake build. CMake separates the C interface code from the fortran code by -creating C-stub libraries for each Fortran library. In addition, only CMake -installs the tools library. The names of the szip libraries are different -between the build systems. - -The share folder will have the most differences because CMake builds include -a number of CMake specific files for support of CMake's find_package and support -for the HDF5 Examples CMake project. - - - -%%%%1.10.6%%%% - -HDF5 version 1.10.6 released on 2019-12-23 -================================================================================ - - -INTRODUCTION - -This document describes the differences between this release and the previous -HDF5 release. It contains information on the platforms tested and known -problems in this release. For more details check the HISTORY*.txt files in the -HDF5 source. - -Note that documentation in the links below will be updated at the time of each -final release. - -Links to HDF5 documentation can be found on The HDF5 web page: - - https://portal.hdfgroup.org/display/HDF5/HDF5 - -The official HDF5 releases can be obtained from: - - https://www.hdfgroup.org/downloads/hdf5/ - -Changes from Release to Release and New Features in the HDF5-1.10.x release series -can be found at: - - https://portal.hdfgroup.org/display/HDF5/HDF5+Application+Developer%27s+Guide - -If you have any questions or comments, please send them to the HDF Help Desk: - - help@hdfgroup.org - - -CONTENTS - -- New Features -- Support for new platforms and languages -- Bug Fixes since HDF5-1.10.5 -- Supported Platforms -- Tested Configuration Features Summary -- More Tested Platforms -- Known Problems -- CMake vs. Autotools installations - - -New Features -============ - - Configuration: - ------------- - - Update CMake for VS2019 support - - CMake added support for VS2019 in version 3.15. Changes to the CMake - generator setting required changes to scripts. Also updated version - references in CMake files as necessary. - - (ADB - 2019/11/18, HDFFV-10962) - - - Update CMake options to match new autotools options - - Add configure options (autotools - CMake): - enable-asserts HDF5_ENABLE_ASSERTS - enable-symbols HDF5_ENABLE_SYMBOLS - enable-profiling HDF5_ENABLE_PROFILING - enable-optimization HDF5_ENABLE_OPTIMIZATION - In addition NDEBUG is no longer forced defined and relies on the CMake - process. - - (ADB - 2019/10/07, HDFFV-100901, HDFFV-10637, TRILAB-97) - - - Update CMake tests to use FIXTURES - - CMake test fixtures allow setup/cleanup tests and other dependency - requirements as properties for tests. This is more flexible for - modern CMake code. - - (ADB - 2019/07/23, HDFFV-10529) - - - Windows PDB files are always installed - - There are build configuration or flag settings for Windows that may not - generate PDB files. If those files are not generated then the install - utility will fail because those PDB files are not found. An optional - variable, DISABLE_PDB_FILES, was added to not install PDB files. - - (ADB - 2019/07/17, HDFFV-10424) - - - Add mingw CMake support with a toolchain file - - There have been a number of mingw issues that have been linked under - HDFFV-10845. It has been decided to implement the CMake cross-compiling - technique of toolchain files. We will use a linux platform with the mingw - compiler stack for testing. Only the C language is fully supported, and - the error tests are skipped. The C++ language works for static but shared - builds have a shared library issue with the mingw Standard Exception Handling - library, which is not available on Windows. Fortran has a common cross-compile - problem with the fortran configure tests. - - (ADB - 2019/07/12, HDFFV-10845, HDFFV-10595) - - - Windows PDB files are installed incorrectly - - For static builds, the PDB files for windows should be installed next - to the static libraries in the lib folder. Also the debug versions of - libraries and PDB files are now correctly built using the default - CMAKE_DEBUG_POSTFIX setting. - - (ADB - 2019/07/09, HDFFV-10581) - - - Add option to build only shared libs - - A request was made to prevent building static libraries and only build - shared. A new option was added to CMake, ONLY_SHARED_LIBS, which will - skip building static libraries. Certain utility functions will build with - static libs but are not published. Tests are adjusted to use the correct - libraries depending on SHARED/STATIC settings. - - (ADB - 2019/06/12, HDFFV-10805) - - - Add options to enable or disable building tools and tests - - Configure options --enable-tests and --enable-tools were added for - autotools configure. These options are enabled by default, and can be - disabled with either --disable-tests (or tools) or --enable-tests=no - (or --enable-tools=no). Build time is reduced ~20% when tools are - disabled, 35% when tests are disabled, 45% when both are disabled. - Re-enabling them after the initial build requires running configure - again with the option(s) enabled. - - (LRK - 2019/06/12, HDFFV-9976) - - - Change tools tests to search the error stack - - There are some use cases which can cause the error stack of tools to be - different then the expected output. These tests now use grepTest.cmake; - this was changed to allow the error file to be searched for an expected string. - - (ADB - 2019/04/15, HDFFV-10741) - - - Library: - -------- - - Added S3 and HDFS Virtual File Drivers (VFDs) to HDF5 - - These new VFDs have been introduced in HDF5-1.10.6. Instructions to - enable them when configuring HDF5 on Linux and Mac may be found at - https://portal.hdfgroup.org/display/HDF5/Virtual+File+Drivers+-+S3+and+HDFS. - - Installing on Windows requires CMake 3.13 and the following additional setup. - Install openssl library (with dev files); - from "Shining Light Productions". msi package preferred. - - PATH should have been updated with the installation dir. - set ENV variable OPENSSL_ROOT_DIR to the installation dir. - set ENV variable OPENSSL_CONF to the cfg file, likely %OPENSSL_ROOT_DIR%\bin\openssl.cfg - Install libcurl library (with dev files); - download the latest released version using git: https://github.com/curl/curl.git - - Open a Visual Studio Command prompt - change to the libcurl root folder - run the "buildconf.bat" batch file - change to the winbuild directory - nmake /f Makefile.vc mode=dll MACHINE=x64 - copy libcurl-vc-x64-release-dll-ipv6-sspi-winssl dir to C:\curl (installation dir) - set ENV variable CURL_ROOT to C:\curl (installation dir) - update PATH ENV variable to %CURL_ROOT%\bin (installation bin dir). - the aws credentials file should be in %USERPROFILE%\.aws folder - set the ENV variable "HDF5_ROS3_TEST_BUCKET_URL=https://s3.us-east-2.amazonaws.com/hdf5ros3" - - (ADB - 2019/09/12, HDFFV-10854) - - C++ Library: - ------------ - - Added new wrappers for H5Pset/get_create_intermediate_group() - LinkCreatPropList::setCreateIntermediateGroup() - LinkCreatPropList::getCreateIntermediateGroup() - - (BMR - 2019/04/22, HDFFV-10622) - - - Java Library: - ---------------- - - Fixed a failure in JUnit-TestH5P on 32-bit architectures - - (JTH - 2019/04/30) - - -Support for new platforms, languages and compilers. -======================================= - - CMake added support for VS2019 in version 3.15. Updated scripts. - - - macOS 10.13.6 Darwin 17.7.0 with Apple clang LLVM version 10.0.0 - - - macOS 10.14.6 Darwin 18.7.0 with Apple clang LLVM version 10.0.1 - - -Bug Fixes since HDF5-1.10.5 release -================================== - - Library - ------- - - Improved performance when creating a large number of small datasets by - retrieving default property values from the API context instead of doing - skip list searches. More work is required to achieve parity with HDF5 1.8. - - (CJH - 2019/12/10, HDFFV-10658) - - - Fixed user-created data access properties not existing in the property list - returned by H5Dget_access_plist. Thanks to Steven Varga for submitting a - reproducer and a patch. - - (CJH - 2019/12/9, HDFFV-10934) - - - Inappropriate linking with deprecated MPI C++ libraries - - HDF5 does not define *_SKIP_MPICXX in the public headers, so applications - can inadvertently wind up linking to the deprecated MPI C++ wrappers. - - MPICH_SKIP_MPICXX and OMPI_SKIP_MPICXX have both been defined in H5public.h - so this should no longer be an issue. HDF5 makes no use of the deprecated - MPI C++ wrappers. - - (DER - 2019/09/17, HDFFV-10893) - - - fcntl(2)-based file locking incorrectly passed the lock argument struct - instead of a pointer to the struct, causing errors on systems where - flock(2) is not available. - - File locking is used when files are opened to enforce SWMR semantics. A - lock operation takes place on all file opens unless the - HDF5_USE_FILE_LOCKING environment variable is set to the string "FALSE". - flock(2) is preferentially used, with fcntl(2) locks as a backup if - flock(2) is unavailable on a system (if neither is available, the lock - operation fails). On these systems, the file lock will often fail, which - causes HDF5 to not open the file and report an error. - - This bug only affects POSIX systems. Win32 builds on Windows use a no-op - locking call which always succeeds. Systems which exhibit this bug will - have H5_HAVE_FCNTL defined but not H5_HAVE_FLOCK in the configure output. - - This bug affects HDF5 1.10.0 through 1.10.5. - - fcntl(2)-based file locking now correctly passes the struct pointer. - - (DER - 2019/08/27, HDFFV-10892) - - - Fixed a bug caused by a bad tag value when condensing object header - messages - - There was an assertion failure when moving messages from running a - user test program with library release HDF5 1.10.4. It was because - the tag value (object header's address) was not set up when entering - the library routine H5O__chunk_update_idx(), which eventually - verifies the metadata tag value when protecting the object header. - - The problem was fixed by replacing FUNC_ENTER_PACKAGE in H5O__chunk_update_idx() - with FUNC_ENTER_PACKAGE_TAG(oh->cache_info.addr) to set up the metadata tag. - - (VC - 2019/08/23, HDFFV-10873) - - - Fixed the test failure from test_metadata_read_retry_info() in - test/swmr.c - - The test failure is due to an incorrect number of bins returned for - retry info (info.nbins). The # of bins expected for 101 read attempts - is 3 instead of 2. The routine H5F_set_retries() in src/H5Fint.c - calculates the # of bins by first obtaining the log10 value for - (read attempts - 1). For PGI/19, the log10 value for 100 read attempts - is 1.9999999999999998 instead of 2.00000. When casting the log10 value - to unsigned later on, the decimal part is chopped off causing the test - failure. - - This was fixed by obtaining the rounded integer value (HDceil) for the - log10 value of read attempts first before casting the result to unsigned. - - (VC - 2019/8/14, HDFFV-10813) - - - Fixed an issue when creating a file with non-default file space info - together with library high bound setting to H5F_LIBVER_V18. - - When setting non-default file space info in fcpl via - H5Pset_file_space_strategy() and then creating a file with both high and - low library bounds set to H5F_LIBVER_V18 in fapl, the library succeeds in - creating the file. File creation should fail because the feature of - setting non-default file space info does not exist in library release 1.8 - or earlier. - - This was fixed by setting and checking the proper version in the file - space info message based on the library low and high bounds when creating - and opening the HDF5 file. - - (VC - 2019/6/25, HDFFV-10808) - - - Fixed an issue where copying a version 1.8 dataset between files using - H5Ocopy fails due to an incompatible fill version - - When using the HDF5 1.10.x H5Ocopy() API call to copy a version 1.8 - dataset to a file created with both high and low library bounds set to - H5F_LIBVER_V18, the H5Ocopy() call will fail with the error stack indicating - that the fill value version is out of bounds. - - This was fixed by changing the fill value message version to H5O_FILL_VERSION_3 - (from H5O_FILL_VERSION_2) for H5F_LIBVER_V18. - - (VC - 2019/6/14, HDFFV-10800) - - - Fixed a bug that would cause an error or cause fill values to be - incorrectly read from a chunked dataset using the "single chunk" index if - the data was held in cache and there was no data on disk. - - (NAF - 2019/03/06) - - - Fixed a bug that could cause an error or cause fill values to be - incorrectly read from a dataset that was written to using H5Dwrite_chunk - if the dataset was not closed after writing. - - (NAF - 2019/03/06, HDFFV-10716) - - - Fixed memory leak in scale offset filter - - In a special case where the MinBits is the same as the number of bits in - the datatype's precision, the filter's data buffer was not freed, causing - the memory usage to grow. In general the buffer was freed correctly. The - Minbits are the minimal number of bits to store the data values. Please - see the reference manual for H5Pset_scaleoffset for the details. - - (RL - 2019/3/4, HDFFV-10705) - - - Configuration - ------------- - - Correct option for default API version - - CMake options for default API version are not mutually exclusive. - Change the multiple BOOL options to a single STRING option with the - strings; v16, v18, v110. - - (ADB - 2019/08/12, HDFFV-10879) - - Tools - ----- - - h5repack was fixed to repack datasets with external storage - to other types of storage. - - New test added to repack files and verify the correct data using h5diff. - - (JS - 2019/09/25, HDFFV-10408) - (ADB - 2019/10/02, HDFFV-10918) - - -Supported Platforms -=================== - - Linux 2.6.32-696.20.1.el6.ppc64 gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-23) - #1 SMP ppc64 GNU/Linux g++ (GCC) 4.4.7 20120313 (Red Hat 4.4.7-23) - (ostrich) GNU Fortran (GCC) 4.4.7 20120313 (Red Hat 4.4.7-23) - 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: - (jelly/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 17.0.0.098 Build 20160721 - 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 2015 w/ Intel Fortran 18 (cmake) - - Windows 7 x64 Visual Studio 2015 w/ Intel C, Fortran 2018 (cmake) - Visual Studio 2015 w/ MSMPI 8 (cmake) - - Windows 10 Visual Studio 2015 w/ Intel Fortran 18 (cmake) - - Windows 10 x64 Visual Studio 2015 w/ Intel Fortran 18 (cmake) - Visual Studio 2017 w/ Intel Fortran 19 (cmake) - Visual Studio 2019 w/ Intel Fortran 19 (cmake) - - macOS 10.13.6, Darwin, Apple clang LLVM version 10.0.0 - 17.7.0, x86_64 gfortran GNU Fortran (GCC) 6.3.0 - (bear) Intel icc/icpc/ifort version 19.0.4 - - macOS 10.14.6, Darwin Apple clang LLVM version 10.0.1 - 18.7.0, x86_64 gfortran GNU Fortran (GCC) 6.3.0 - (bobcat) Intel icc/icpc/ifort version 19.0.4 - - -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 - = 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 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 -MacOS High Sierra 10.13.6 64-bit n y/y n y y y -CentOS 7.2 Linux 3.10.0 x86_64 PGI n y/y n y y y -CentOS 7.2 Linux 3.10.0 x86_64 GNU y y/y y y y y -CentOS 7.2 Linux 3.10.0 x86_64 Intel n y/y n y y y -Linux 2.6.32-573.18.1.el6.ppc64 n y/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 Yosemite 10.10.5 64-bit y y y y -Mac OS X El Capitan 10.11.6 64-bit y y y y -MacOS High Sierra 10.13.6 64-bit y y y y -CentOS 7.2 Linux 3.10.0 x86_64 PGI y y y n -CentOS 7.2 Linux 3.10.0 x86_64 GNU y y y y -CentOS 7.2 Linux 3.10.0 x86_64 Intel y y y 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 configurations are not supported but have been tested for this release. - - Linux 2.6.32-754.11.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.9.3, 5.3.0, 6.2.0 - PGI C, Fortran, C++ for 64-bit target on - x86-64; - Version 17.10-0 - Intel(R) C (icc), C++ (icpc), Fortran (icc) - compilers: - Version 17.0.4.196 Build 20170411 - 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.2(Chiyoda) - GCC Version 7.1.0 - MPICH 3.2-GCC-4.9.3 - MPICH 3.2.1-GCC-7.2.0-2.29 - OpenMPI 2.1.5-GCC-7.2.0-2.29 - Intel(R) C (icc) and C++ (icpc) compilers - Version 17.0.0.098 Build 20160721 - with NAG Fortran Compiler Release 6.2(Chiyoda) - - Linux 3.10.0-327.10.1.el7 MPICH 3.2 compiled with GCC 5.3.0 - #1 SMP x86_64 GNU/Linux - (moohan) - - 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 - - Fedora30 5.3.11-200.fc30.x86_64 - #1 SMP x86_64 GNU/Linux GNU gcc (GCC) 9.2.1 20190827 (Red Hat 9.2.1 20190827) - GNU Fortran (GCC) 9.2.1 20190827 (Red Hat 9.2.1 20190827) - (cmake and autotools) - - Mac OS X 10.11.6, Darwin, Apple clang version 7.3.0 from Xcode 7.3 - 15.6.0, x86-64 gfortran GNU Fortran (GCC) 5.2.0 - (osx1011test) Intel icc/icpc/ifort version 16.0.2 - - macOS 10.12.6, Darwin, Apple clang LLVM version 8.1.0 from Xcode 8.3 - 16.6.0, x86_64 gfortran GNU Fortran (GCC) 7.1.0 - (kite) Intel icc/icpc/ifort version 17.0.2 - - Windows 7 x64 Visual Studio 2008 - - -Known Problems -============== - CMake files do not behave correctly with paths containing spaces. - Do not use spaces in paths because the required escaping for handling spaces - results in very complex and fragile build files. - ADB - 2019/05/07 - - 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. - - Three tests fail with OpenMPI 3.0.0/GCC-7.2.0-2.29: - testphdf5 (ecdsetw, selnone, cchunk1, cchunk3, cchunk4, and actualio) - t_shapesame (sscontig2) - t_pflush1/fails on exit - The first two tests fail attempting collective writes. - - Parallel builds using OpenMPI 3.03 or later and romio fail several tests - with collective writes or compression that will not fail when ompio is used - instead of romio. This can be done by adding "--mca io ompio" to the mpirun - command. For example, in autotools builds RUNPARALLEL can be set to - "mpirun --mca io ompio -n 6" provided ompio is installed. - - CPP ptable test fails on VS2017 with Intel compiler, JIRA issue: HDFFV-10628. - This test will pass with VS2015 with Intel compiler. - - Older MPI libraries such as OpenMPI 2.0.1 and MPICH 2.1.5 were tested - while attempting to resolve the Jira issue: HDFFV-10540. - The known problems of reading or writing > 2GBs when using MPI-2 was - partially resolved with the MPICH library. The proposed support recognizes - IO operations > 2GB and if the datatype is not a derived type, the library - breaks the IO into chunks which can be input or output with the existing - MPI 2 limitations, i.e. size reporting and function API size/count - arguments are restricted to be 32 bit integers. For derived types larger - than 2GB, MPICH 2.1.5 fails while attempting to read or write data. - OpenMPI in contrast, implements MPI-3 APIs even in the older releases - and thus does not suffer from the 32 bit size limitation described here. - OpenMPI releases prior to v3.1.3 appear to have other datatype issues however, - e.g. within a single parallel test (testphdf5) the subtests (cdsetr, eidsetr) - report data verification errors before eventually aborting. - The most recent versions of OpenMPI (v3.1.3 or newer) have evidently - resolved these issues and parallel HDF5 testing does not currently report - errors though occasional hangs have been observed. - - Known problems in previous releases can be found in the HISTORY*.txt files - in the HDF5 source. Please report any new problems found to - help@hdfgroup.org. - - -CMake vs. Autotools installations -================================= -While both build systems produce similar results, there are differences. -Each system produces the same set of folders on linux (only CMake works -on standard Windows); bin, include, lib and share. Autotools places the -COPYING and RELEASE.txt file in the root folder, CMake places them in -the share folder. - -The bin folder contains the tools and the build scripts. Additionally, CMake -creates dynamic versions of the tools with the suffix "-shared". Autotools -installs one set of tools depending on the "--enable-shared" configuration -option. - build scripts - ------------- - Autotools: h5c++, h5cc, h5fc - CMake: h5c++, h5cc, h5hlc++, h5hlcc - -The include folder holds the header files and the fortran mod files. CMake -places the fortran mod files into separate shared and static subfolders, -while Autotools places one set of mod files into the include folder. Because -CMake produces a tools library, the header files for tools will appear in -the include folder. - -The lib folder contains the library files, and CMake adds the pkgconfig -subfolder with the hdf5*.pc files used by the bin/build scripts created by -the CMake build. CMake separates the C interface code from the fortran code by -creating C-stub libraries for each Fortran library. In addition, only CMake -installs the tools library. The names of the szip libraries are different -between the build systems. - -The share folder will have the most differences because CMake builds include -a number of CMake specific files for support of CMake's find_package and support -for the HDF5 Examples CMake project. - -%%%%1.10.5%%%% - -HDF5 version 1.10.5 released on 2019-02-25 -================================================================================ - - -INTRODUCTION - -This document describes the differences between this release and the previous -HDF5 release. It contains information on the platforms tested and known -problems in this release. For more details check the HISTORY*.txt files in the -HDF5 source. - -Note that documentation in the links below will be updated at the time of each -final release. - -Links to HDF5 documentation can be found on The HDF5 web page: - - https://portal.hdfgroup.org/display/HDF5/HDF5 - -The official HDF5 releases can be obtained from: - - https://www.hdfgroup.org/downloads/hdf5/ - -Changes from Release to Release and New Features in the HDF5-1.10.x release series -can be found at: - - https://portal.hdfgroup.org/display/HDF5/HDF5+Application+Developer%27s+Guide - -If you have any questions or comments, please send them to the HDF Help Desk: - - help@hdfgroup.org - - -CONTENTS - -- New Features -- Support for new platforms and languages -- Bug Fixes since HDF5-1.10.4 -- Supported Platforms -- Tested Configuration Features Summary -- More Tested Platforms -- Known Problems -- CMake vs. Autotools installations - - -New Features -============ - - Configuration: - ------------- - - Cross compile on mutrino and other Cray XC40 systems. - - Added support for CMake options to use CrayLinuxEnvironment, craype-mic-knl - module for building with craype-haswell module for configuration, and - batch scripts in bin/batch for use with sbatch or bsub to run tests in - batch jobs on compute nodes. An instruction file README_HPC describing - the use of these options was added in release_docs. - - (LRK - 2019/02/18, TRILABS-34) - - - Rework CMake command files to fix MPI testing. - - Added setup fixture to remove any test generated files and added DEPENDS - to test properties to execute tests in order expected. - - (ADB - 2019/02/14, TRILABS-111) - - - Disable SZIP or ZLIB options if TGZ files are not available. - - Changed the TGZ option for SZip and ZLib to disable the options - if the source tar.gz files are not found. - - (ADB - 2019/02/05, HDFFV-10697) - - - Added a new option to enable/disable using pread/pwrite instead of - read/write in the sec2, log, and core VFDs. - - This option is enabled by default when pread/pwrite are detected. - - Autotools: --enable-preadwrite - CMake: HDF5_ENABLE_PREADWRITE - - (DER - 2019/02/03, HDFFV-10696) - - - Rework CMake versioning for OSX platforms. - - Changed the current_version and compatibility_version flags from optional - with HDF5_BUILD_WITH_INSTALL_NAME to always setting the flags for OSX. - - (ADB - 2019/01/22, HDFFV-10685) - - - Rework CMake command files to eliminate developer CMP005 warning - - Use variables without quotes in if () statements. - - (ADB - 2019/01/18, TILABS-105) - - - Rework CMake configure files to eliminate developer CMP0075 warning - - Renamed varname to HDF5_REQUIRED_LIBRARIES as the contents were not - required for configuration. Also moved check includes calls to top of - files. - - (ADB - 2019/01/03, HDFFV-10546) - - - Keep stderr and stdout separate in tests - - Changed test handling of output capture. Tests now keep the stderr - output separate from the stdout output. It is up to the test to decide - which output to check against a reference. Also added the option - to grep for a string in either output. - - (ADB - 2018/12/12, HDFFV-10632) - - - Incorrectly installed private header files were removed from - CMake installs. - - The CMake build files incorrectly flagged the following header files - as public and installed them. They are private and will no longer be - installed. - - HDF5 library private package files (H5Xpkg.h) - H5Edefin.h - H5Einit.h - H5Eterm.h - H5LTparse.h - h5diff.h - h5tools_dump.h - h5tools.h - h5tools_ref.h - h5tools_str.h - h5tools_utils.h - h5trav.h - - (DER - 2018/10/26, HDFFV-10614, 10609) - - - Autotools installs now install H5FDwindows.h - - This is simply to align the installed header files between the - autotools and CMake. H5FDwindows.h has no functionality on - non-Windows systems. - - (DER - 2018/10/26, HDFFV-10614) - - - Library: - -------- - - The sec2, log, and core VFDs can now use pread/pwrite instead of - read/write. - - pread and pwrite do not change the file offset, a feature that was - requested by a user working with a multi-threaded application. - - The option to configure this feature is described above. - - (DER - 2019/02/03, HDFFV-10696) - - - Add ability to minimize dataset object headers. - - Creation of many, very small datasets resulted in extensive file bloat - due to extra space in the dataset object headers -- this space is - allocated by default to allow for the insertion of a small number of - attributes within the object header and not require a continuation - block, an unnecessary provision in the target use case. - - Inform the library to expect no attributes on created datasets, and to - allocate the least space possible for the object headers. - NOTE: A continuation block is created if attributes are added to a - 'minimized' dataset, which can reduce performance. - NOTE: Some extra space is allocated for attributes essential to the - correct behavior of the object header (store creation times, e.g.). This - does not violate the design principle, as the space is calculated and - allocated as needed at the time of dataset object header creation -- - unused space is not generated. - New API calls: - H5Fget_dset_no_attrs_hint - H5Fset_dset_no_attrs_hint - H5Pget_dset_no_attrs_hint - H5Pset_dset_no_attrs_hint - - (JOS - 2019/01/04, TRILAB-45) - - - Added new chunk query functions - - The following public functions were added to discover information about - the chunks in an HDF5 file. - herr_t H5Dget_num_chunks(dset_id, fspace_id, *nchunks) - herr_t H5Dget_chunk_info_by_coord(dset_id, *coord, *filter_mask, *addr, *size) - herr_t H5Dget_chunk_info(dset_id, fspace_id, index, *coord, *filter_mask, *addr, *size) - - (BMR - 2018/11/07, HDFFV-10615) - - - Several empty public header files where removed from the distribution - - The following files were empty placeholders. They are for internal - packages that are unlikely to ever have public functionality and have - thus been removed. - - H5Bpublic.h - H5B2public.h - H5FSpublic.h - H5HFpublic.h - H5HGpublic.h - H5HLpublic.h - - They were only installed in CMake builds. - - (DER - 2018/10/26, HDFFV-10614) - - - Parallel Library: - ----------------- - - Changed the default behavior in parallel when reading the same dataset in its entirety - (i.e. H5S_ALL dataset selection) which is being read by all the processes collectively. - The dataset must be contiguous, less than 2GB, and of an atomic datatype. - The new behavior is the HDF5 library will use an MPI_Bcast to pass the data read from - the disk by the root process to the remain processes in the MPI communicator associated - with the HDF5 file. - - (MSB - 2019/01/02, HDFFV-10652) - - - All MPI-1 API calls have been replaced with MPI-2 equivalents. - - This was done to better support OpenMPI, as default builds no longer - include MPI-1 support (as of OpenMPI 4.0). - - (DER - 2018/12/30, HDFFV-10566) - - Fortran Library: - ---------------- - - Added wrappers for dataset object header minimization calls. - (see the note for TRILAB-45, above) - - New API calls: - - h5fget_dset_no_attrs_hint_f - h5fset_dset_no_attrs_hint_f - h5pget_dset_no_attrs_hint_f - h5pset_dset_no_attrs_hint_f - - (DER - 2019/01/09, TRILAB-45) - - - Added new Fortran derived type, c_h5o_info_t, which is interoperable with - C's h5o_info_t. This is needed for callback functions which - pass C's h5o_info_t data type definition. - - (MSB, 2019/01/08, HDFFV-10443) - - - Added new Fortran API, H5gmtime, which converts (C) 'time_t' structure - to Fortran DATE AND TIME storage format. - - (MSB, 2019/01/08, HDFFV-10443) - - - Added new Fortran 'fields' optional parameter to: h5ovisit_f, h5oget_info_by_name_f, - h5oget_info, h5oget_info_by_idx and h5ovisit_by_name_f. - - (MSB, 2019/01/08, HDFFV-10443) - - C++ Library: - ------------ - - Added new function to the C++ interface - - Added wrapper for H5Ovisit2: - H5Object::visit() - - (BMR - 2019/02/14, HDFFV-10532) - - - Java Library: - ---------------- - - Rewrote the JNI error handling to be much cleaner - - (JTH - 2019/02/12) - - - Add new functions to java interface - - Added wrappers for: - H5Fset_libver_bounds - H5Fget_dset_no_attrs_hint/H5Fset_dset_no_attrs_hint - H5Pget_dset_no_attrs_hint/H5Pset_dset_no_attrs_hint - - (ADB - 2019/01/07, HDFFV-10664) - - - Fix java unit tests when Time is a natural number - - Time substitution in java/test/junit.sh.in doesn't - handle the case when Time is a natural number. Fixed - the regular expression. - - (ADB - 2019/01/07, HDFFV-10674) - - - Duplicate the data read/write functions of Datasets for Attributes. - - Region references could not be displayed for attributes as they could - for datasets. Datasets had overloaded read and write functions for different - datatypes that were not available for attributes. After adding similar - functions, attribute region references work normally. - - (ADB - 2018/12/12, HDFVIEW-4) - - - Tools: - ------ - - The h5repart -family-to-sec2 argument was changed to -family-to-single - - In order to better support other single-file VFDs which could work with - h5repart, the -family-to-sec2 argument was renamed to -family-to-single. - This is just a name change and the functionality of the argument has not - changed. - - The -family-to-sec2 argument has been kept for backwards-compatibility. - This argument should be considered deprecated. - - (DER - 2018/11/14, HDFFV-10633) - - -Bug Fixes since HDF5-1.10.4 release -================================== - - Library - ------- - - Fix hangs with collective metadata reads during chunked dataset I/O - - In the parallel library, it was discovered that when a particular - sequence of operations following a pattern of: - - "write to chunked dataset" -> "flush file" -> "read from dataset" - - occurred with collective metadata reads enabled, hangs could be - observed due to certain MPI ranks not participating in the collective - metadata reads. - - To fix the issue, collective metadata reads are now disabled during - chunked dataset raw data I/O. - - (JTH - 2019/02/11, HDFFV-10563, HDFFV-10688) - - - Performance issue when closing an object - - The slow down is due to the search of the "tag_list" to find - out the "corked" status of an object and "uncork" it if so. - - Improve performance by skipping the search of the "tag_list" - if there are no "corked" objects when closing an object. - - (VC - 2019/02/06) - - - Uninitialized bytes from a type conversion buffer could be written - to disk in H5Dwrite calls where type conversion takes place - and the type conversion buffer was created by the HDF5 library. - - When H5Dwrite is called and datatype conversion must be performed, - the library will create a temporary buffer for type conversion if - one is not provided by the user via H5Pset_buffer. This internal - buffer is allocated via malloc and contains uninitialized data. In - some datatype conversions (float to long double, possibly others), - some of this uninitialized data could be written to disk. - - This was flagged by valgrind in the dtransform test and does not - appear to be a common occurrence (it is flagged in one test out - of the entire HDF5 test suite). - - Switching to calloc fixed the problem. - - (DER - 2019/02/03, HDFFV-10694) - - - There was missing protection against division by zero reported to - The HDF Group as issue #CVE-2018-17434. - - Protection against division by zero was added to address the issue - #CVE-2018-17434. - - (BMR - 2019/01/29, HDFFV-10586) - - - The issue CVE-2018-17437 was reported to The HDF Group - - Although CVE-2018-17437 reported a memory leak, the actual issue - was invalid read. It was found that the attribute name length - in an attribute message was corrupted, which caused the buffer - pointer to be advanced too far and later caused an invalid read. - - A check was added to detect when the attribute name or its length - was corrupted and report the potential of data corruption. - - (BMR - 2019/01/29, HDFFV-10588) - - - H5Ewalk did not stop when it was supposed to - - H5Ewalk was supposed to stop when the callback function stopped - even though the errors in the stack were not all visited, but it - did not. This problem is now fixed. - - (BMR - 2019/01/29, HDFFV-10684) - - - Revert H5Oget_info* and H5Ovisit* functions - - In 1.10.3 new H5Oget_info*2 and H5Ovisit*2 functions were - added for performance. Inadvertently, the original functions; - H5Oget_info, - H5Oget_info_by_name, - H5Oget_info_by_idx, - H5Ovisit, - H5Ovisit_by_name - were versioned to H5Oget_info*1 and H5Ovisit*1. This - broke the API compatibility for a maintenance release. The - original functions have been restored. - - (ADB - 2019/01/24, HDFFV-10686) - - - Fixed a potential invalid memory access and failure that could occur when - decoding an unknown object header message (from a future version of the - library). - - (NAF - 2019/01/07) - - - Deleting attributes in dense storage - - The library aborts with "infinite loop closing library" after - attributes in dense storage are created and then deleted. - - When deleting the attribute nodes from the name index v2 B-tree, - if an attribute is found in the intermediate B-tree nodes, - which may be merged/redistributed in the process, we need to - free the dynamically allocated spaces for the intermediate - decoded attribute. - - (VC - 2018/12/26, HDFFV-10659) - - - There was missing protection against division by zero reported to - The HDF Group as issue #CVE-2018-17233. - - Protection against division by zero was added to address the issue - #CVE-2018-17233. In addition, several similar occurrences in the same - file were fixed as well. - - (BMR - 2018/12/23, HDFFV-10577) - - - Fixed an issue where the parallel filters tests would fail - if zlib was not available on the system. Until support can - be added in the tests for filters beyond gzip/zlib, the tests - will be skipped if zlib is not available. - - (JTH - 2018/12/05) - - - A bug was discovered in the parallel library where an application - would eventually consume all of the available MPI communicators - when continually writing to a compressed dataset in parallel. This - was due to internal copies of an HDF5 File Access Property List, - which each contained a copy of the MPI communicator, not being - closed at the end of each write operation. This problem was - exacerbated by larger numbers of processors. - - (JTH - 2018/12/05, HDFFV-10629) - - - Fortran - -------- - - Fixed issue with Fortran not returning h5o_info_t field values - meta_size%attr%index_size and meta_size%attr%heap_size. - - (MSB, 2019/01/08, HDFFV-10443) - - - Added symbolic links libhdf5_hl_fortran.so to libhdf5hl_fortran.so and - libhdf5_hl_fortran.a to libhdf5hl_fortran.a in hdf5/lib directory for - autotools installs. These were added to match the name of the files - installed by cmake and the general pattern of hl lib files. We will - change the names of the installed lib files to the matching name in - the next major release. - - (LRK - 2019/01/04, HDFFV-10596) - - - Made Fortran specific subroutines PRIVATE in generic procedures. - - Affected generic procedures were functions in H5A, H5D, H5P, H5R and H5T. - - (MSB, 2018/12/04, HDFFV-10511) - - - Testing - ------- - - Fixed a test failure in testpar/t_dset.c caused by - the test trying to use the parallel filters feature - on MPI-2 implementations. - - (JTH, 2019/2/7) - - -Supported Platforms -=================== - - Linux 2.6.32-696.16.1.el6.ppc64 gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-18) - #1 SMP ppc64 GNU/Linux g++ (GCC) 4.4.7 20120313 (Red Hat 4.4.7-18) - (ostrich) GNU Fortran (GCC) 4.4.7 20120313 (Red Hat 4.4.7-18) - 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 17.0.0.098 Build 20160721 - 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 2015 w/ Intel Fortran 16 (cmake) - - Windows 7 x64 Visual Studio 2013 - Visual Studio 2015 w/ Intel Fortran 16 (cmake) - Visual Studio 2015 w/ Intel C, Fortran 2018 (cmake) - Visual Studio 2015 w/ MSMPI 8 (cmake) - - Windows 10 Visual Studio 2015 w/ Intel Fortran 18 (cmake) - - Windows 10 x64 Visual Studio 2015 w/ Intel Fortran 18 (cmake) - Visual Studio 2017 w/ Intel Fortran 18 (cmake) - - 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.0 from Xcode 7.3 - 64-bit gfortran GNU Fortran (GCC) 5.2.0 - (osx1011dev/osx1011test) Intel icc/icpc/ifort version 16.0.2 - - MacOS High Sierra 10.13.6 Apple LLVM version 10.0.0 (clang/clang++-1000.10.44.4) - 64-bit gfortran GNU Fortran (GCC) 8.3.0 - - -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 - = 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 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 -MacOS High Sierra 10.13.6 64-bit n y/y n y y y -CentOS 7.2 Linux 3.10.0 x86_64 PGI n y/y n y y y -CentOS 7.2 Linux 3.10.0 x86_64 GNU y y/y y y y y -CentOS 7.2 Linux 3.10.0 x86_64 Intel n y/y n y y y -Linux 2.6.32-573.18.1.el6.ppc64 n y/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 Yosemite 10.10.5 64-bit y y y y -Mac OS X El Capitan 10.11.6 64-bit y y y y -MacOS High Sierra 10.13.6 64-bit y y y y -CentOS 7.2 Linux 3.10.0 x86_64 PGI y y y n -CentOS 7.2 Linux 3.10.0 x86_64 GNU y y y y -CentOS 7.2 Linux 3.10.0 x86_64 Intel y y y 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 configurations 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.9.3, 5.3.0, 6.2.0 - PGI C, Fortran, C++ for 64-bit target on - x86-64; - Version 17.10-0 - Intel(R) C (icc), C++ (icpc), Fortran (icc) - compilers: - Version 17.0.4.196 Build 20170411 - 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) - GCC Version 7.1.0 - MPICH 3.2-GCC-4.9.3 - MPICH 3.2.1-GCC-7.2.0-2.29 - OpenMPI 2.1.5-GCC-7.2.0-2.29 - Intel(R) C (icc) and C++ (icpc) compilers - Version 17.0.0.098 Build 20160721 - with NAG Fortran Compiler Release 6.1(Tozai) - - Linux 3.10.0-327.10.1.el7 MPICH 3.2 compiled with GCC 5.3.0 - #1 SMP x86_64 GNU/Linux - (moohan) - - Fedora 29 4.20.10-200.fc29.x86_64 #1 SMP x86_64 x86_64 x86_64 GNU/Linux - gcc, g++ (GCC) 8.2.1 20181215 - (Red Hat 8.2.1-6) - GNU Fortran (GCC) 8.2.1 20181215 - (Red Hat 8.2.1-6) - (cmake and autotools) - - Windows 7 x64 Visual Studio 2008 - - -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. - - Three tests fail with OpenMPI 3.0.0/GCC-7.2.0-2.29: - testphdf5 (ecdsetw, selnone, cchunk1, cchunk3, cchunk4, and actualio) - t_shapesame (sscontig2) - t_pflush1/fails on exit - The first two tests fail attempting collective writes. - - CPP ptable test fails on VS2017 with Intel compiler, JIRA issue: HDFFV-10628. - This test will pass with VS2015 with Intel compiler. - - Older MPI libraries such as OpenMPI 2.0.1 and MPICH 2.1.5 were tested - while attempting to resolve the Jira issue: HDFFV-10540. - The known problems of reading or writing > 2GBs when using MPI-2 was - partially resolved with the MPICH library. The proposed support recognizes - IO operations > 2GB and if the datatype is not a derived type, the library - breaks the IO into chunks which can be input or output with the existing - MPI 2 limitations, i.e. size reporting and function API size/count - arguments are restricted to be 32 bit integers. For derived types larger - than 2GB, MPICH 2.1.5 fails while attempting to read or write data. - OpenMPI in contrast, implements MPI-3 APIs even in the older releases - and thus does not suffer from the 32 bit size limitation described here. - OpenMPI releases prior to v3.1.3 appear to have other datatype issues however, - e.g. within a single parallel test (testphdf5) the subtests (cdsetr, eidsetr) - report data verification errors before eventually aborting. - The most recent versions of OpenMPI (v3.1.3 or newer) have evidently - resolved these issues and parallel HDF5 testing does not currently report - errors though occasional hangs have been observed. - - Known problems in previous releases can be found in the HISTORY*.txt files - in the HDF5 source. Please report any new problems found to - help@hdfgroup.org. - - -CMake vs. Autotools installations -================================= -While both build systems produce similar results, there are differences. -Each system produces the same set of folders on linux (only CMake works -on standard Windows); bin, include, lib and share. Autotools places the -COPYING and RELEASE.txt file in the root folder, CMake places them in -the share folder. - -The bin folder contains the tools and the build scripts. Additionally, CMake -creates dynamic versions of the tools with the suffix "-shared". Autotools -installs one set of tools depending on the "--enable-shared" configuration -option. - build scripts - ------------- - Autotools: h5c++, h5cc, h5fc - CMake: h5c++, h5cc, h5hlc++, h5hlcc - -The include folder holds the header files and the fortran mod files. CMake -places the fortran mod files into separate shared and static subfolders, -while Autotools places one set of mod files into the include folder. Because -CMake produces a tools library, the header files for tools will appear in -the include folder. - -The lib folder contains the library files, and CMake adds the pkgconfig -subfolder with the hdf5*.pc files used by the bin/build scripts created by -the CMake build. CMake separates the C interface code from the fortran code by -creating C-stub libraries for each Fortran library. In addition, only CMake -installs the tools library. The names of the szip libraries are different -between the build systems. - -The share folder will have the most differences because CMake builds include -a number of CMake specific files for support of CMake's find_package and support -for the HDF5 Examples CMake project. - -%%%%1.10.4%%%% - -HDF5 version 1.10.4 released on 2018-10-05 -================================================================================ - - -INTRODUCTION - -This document describes the differences between this release and the previous -HDF5 release. It contains information on the platforms tested and known -problems in this release. For more details check the HISTORY*.txt files in the -HDF5 source. - -Note that documentation in the links below will be updated at the time of each -final release. - -Links to HDF5 documentation can be found on The HDF5 web page: - - https://portal.hdfgroup.org/display/HDF5/HDF5 - -The official HDF5 releases can be obtained from: - - https://www.hdfgroup.org/downloads/hdf5/ - -Changes from Release to Release and New Features in the HDF5-1.10.x release series -can be found at: - - https://portal.hdfgroup.org/display/HDF5/HDF5+Application+Developer%27s+Guide - -If you have any questions or comments, please send them to the HDF Help Desk: - - help@hdfgroup.org - - -CONTENTS - -- Bug Fixes since HDF5-1.10.3 -- Supported Platforms -- Tested Configuration Features Summary -- More Tested Platforms -- Known Problems -- CMake vs. Autotools installations - - -New Features -============ - - Configuration: - ------------- - - Add toolchain and cross-compile support - - Added info on using a toolchain file to INSTALL_CMAKE.txt. A - toolchain file is also used in cross-compiling, which requires - CMAKE_CROSSCOMPILING_EMULATOR to be set. To help with cross-compiling - the fortran configure process, the HDF5UseFortran.cmake file macros - were improved. Fixed a Fortran configure file issue that incorrectly - used #cmakedefine instead of #define. - - (ADB - 2018/10/04, HDFFV-10594) - - - Add warning flags for Intel compilers - - Identified Intel compiler specific warnings flags that should be used - instead of GNU flags. - - (ADB - 2018/10/04, TRILABS-21) - - - Add default rpath to targets - - Default rpaths should be set in shared executables and - libraries to allow the use of loading dependent libraries - without requiring LD_LIBRARY_PATH to be set. The default - path should be relative using @rpath on osx and $ORIGIN - on linux. Windows is not affected. - - (ADB - 2018/09/26, HDFFV-10594) - - Library: - -------- - - Allow pre-generated H5Tinit.c and H5make_libsettings.c to be used. - - Rather than always running H5detect and generating H5Tinit.c and - H5make_libsettings.c, supply a location for those files. - - (ADB - 2018/09/18, HDFFV-10332) - - -Bug Fixes since HDF5-1.10.3 release -================================== - - Library - ------- - - Allow H5detect and H5make_libsettings to take a file as an argument. - - Rather than only writing to stdout, add a command argument to name - the file that H5detect and H5make_libsettings will use for output. - Without an argument, stdout is still used, so backwards compatibility - is maintained. - - (ADB - 2018/09/05, HDFFV-9059) - - - A bug was discovered in the parallel library where an application - would hang if a collective read/write of a chunked dataset occurred - when collective metadata reads were enabled and some of the ranks - had no selection in the dataset's dataspace. The ranks which had no - selection in the dataset's dataspace called H5D__chunk_addrmap() to - retrieve the lowest chunk address in the dataset. This is because we - require reads/writes to be performed in strictly non-decreasing order - of chunk address in the file. - - When the chunk index used was a version 1 or 2 B-tree, these - non-participating ranks would issue a collective MPI_Bcast() call - that the participating ranks would not issue, causing the hang. Since - the non-participating ranks are not actually reading/writing anything, - the H5D__chunk_addrmap() call can be safely removed and the address used - for the read/write can be set to an arbitrary number (0 was chosen). - - (JTH - 2018/08/25, HDFFV-10501) - - Java Library: - ---------------- - - JNI native library dependencies - - The build for the hdf5_java native library used the wrong - hdf5 target library for CMake builds. Correcting the hdf5_java - library to build with the shared hdf5 library required testing - paths to change also. - - (ADB - 2018/08/31, HDFFV-10568) - - - Java iterator callbacks - - Change global callback object to a small stack structure in order - to fix a runtime crash. This crash was discovered when iterating - through a file with nested group members. The global variable - visit_callback is overwritten when recursion starts. When recursion - completes, visit_callback will be pointing to the wrong callback method. - - (ADB - 2018/08/15, HDFFV-10536) - - - Java HDFLibraryException class - - Change parent class from Exception to RuntimeException. - - (ADB - 2018/07/30, HDFFV-10534) - - - JNI Read and Write - - Refactored variable-length functions, H5DreadVL and H5AreadVL, - to correct dataset and attribute reads. New write functions, - H5DwriteVL and H5AwriteVL, are under construction. - - (ADB - 2018/06/02, HDFFV-10519) - - -Supported Platforms -=================== - - Linux 2.6.32-696.16.1.el6.ppc64 gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-18) - #1 SMP ppc64 GNU/Linux g++ (GCC) 4.4.7 20120313 (Red Hat 4.4.7-18) - (ostrich) GNU Fortran (GCC) 4.4.7 20120313 (Red Hat 4.4.7-18) - 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 17.0.0.098 Build 20160721 - 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 2015 w/ Intel Fortran 16 (cmake) - - Windows 7 x64 Visual Studio 2012 w/ Intel Fortran 15 (cmake) - Visual Studio 2013 w/ Intel Fortran 15 (cmake) - Visual Studio 2015 w/ Intel Fortran 16 (cmake) - Visual Studio 2015 w/ Intel C, Fortran 2017 (cmake) - Visual Studio 2015 w/ MSMPI 8 (cmake) - - Windows 10 Visual Studio 2015 w/ Intel Fortran 18 (cmake) - - Windows 10 x64 Visual Studio 2015 w/ Intel Fortran 18 (cmake) - Visual Studio 2017 w/ Intel Fortran 18 (cmake) - - 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.0 from Xcode 7.3 - 64-bit gfortran GNU Fortran (GCC) 5.2.0 - (osx1011dev/osx1011test) Intel icc/icpc/ifort version 16.0.2 - - Mac OS Sierra 10.12.6 Apple LLVM version 8.1.0 (clang/clang++-802.0.42) - 64-bit gfortran GNU Fortran (GCC) 7.1.0 - (kite) Intel icc/icpc/ifort version 17.0.2 - - -Tested Configuration Features Summary -===================================== - - In the tables below - y = tested - n = not tested in this release - C = Cluster - W = Workstation - x = not working in this release - dna = does not apply - ( ) = footnote appears below second table - = 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 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 -Mac OS Sierra 10.12.6 64-bit n y/y n y y y -CentOS 7.2 Linux 3.10.0 x86_64 PGI n y/y n y y y -CentOS 7.2 Linux 3.10.0 x86_64 GNU y y/y y y y y -CentOS 7.2 Linux 3.10.0 x86_64 Intel n y/y n y y y -Linux 2.6.32-573.18.1.el6.ppc64 n y/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 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 -Mac OS Sierra 10.12.6 64-bit y n y y -CentOS 7.2 Linux 3.10.0 x86_64 PGI y y y n -CentOS 7.2 Linux 3.10.0 x86_64 GNU y y y y -CentOS 7.2 Linux 3.10.0 x86_64 Intel y y y 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.9.3, 5.3.0, 6.2.0 - PGI C, Fortran, C++ for 64-bit target on - x86-64; - Version 17.10-0 - Intel(R) C (icc), C++ (icpc), Fortran (icc) - compilers: - Version 17.0.4.196 Build 20170411 - 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) - GCC Version 7.1.0 - OpenMPI 3.0.0-GCC-7.2.0-2.29, - 3.1.0-GCC-7.2.0-2.29 - Intel(R) C (icc) and C++ (icpc) compilers - Version 17.0.0.098 Build 20160721 - with NAG Fortran Compiler Release 6.1(Tozai) - - Linux 3.10.0-327.10.1.el7 MPICH 3.2 compiled with GCC 5.3.0 - #1 SMP x86_64 GNU/Linux - (moohan) - - 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. - - Three tests fail with OpenMPI 3.0.0/GCC-7.2.0-2.29: - testphdf5 (ecdsetw, selnone, cchunk1, cchunk3, cchunk4, and actualio) - t_shapesame (sscontig2) - t_pflush1/fails on exit - The first two tests fail attempting collective writes. - - Known problems in previous releases can be found in the HISTORY*.txt files - in the HDF5 source. Please report any new problems found to - help@hdfgroup.org. - - -CMake vs. Autotools installations -================================= -While both build systems produce similar results, there are differences. -Each system produces the same set of folders on linux (only CMake works -on standard Windows); bin, include, lib and share. Autotools places the -COPYING and RELEASE.txt file in the root folder, CMake places them in -the share folder. - -The bin folder contains the tools and the build scripts. Additionally, CMake -creates dynamic versions of the tools with the suffix "-shared". Autotools -installs one set of tools depending on the "--enable-shared" configuration -option. - build scripts - ------------- - Autotools: h5c++, h5cc, h5fc - CMake: h5c++, h5cc, h5hlc++, h5hlcc - -The include folder holds the header files and the fortran mod files. CMake -places the fortran mod files into separate shared and static subfolders, -while Autotools places one set of mod files into the include folder. Because -CMake produces a tools library, the header files for tools will appear in -the include folder. - -The lib folder contains the library files, and CMake adds the pkgconfig -subfolder with the hdf5*.pc files used by the bin/build scripts created by -the CMake build. CMake separates the C interface code from the fortran code by -creating C-stub libraries for each Fortran library. In addition, only CMake -installs the tools library. The names of the szip libraries are different -between the build systems. - -The share folder will have the most differences because CMake builds include -a number of CMake specific files for support of CMake's find_package and support -for the HDF5 Examples CMake project. - -%%%%1.10.3%%%% - -HDF5 version 1.10.3 released on 2018-08-21 -================================================================================ - - -INTRODUCTION - -This document describes the differences between this release and the previous -HDF5 release. It contains information on the platforms tested and known -problems in this release. For more details check the HISTORY*.txt files in the -HDF5 source. - -Note that documentation in the links below will be updated at the time of each -final release. - -Links to HDF5 documentation can be found on The HDF5 web page: - - https://portal.hdfgroup.org/display/HDF5/HDF5 - -The official HDF5 releases can be obtained from: - - https://www.hdfgroup.org/downloads/hdf5/ - -Changes from Release to Release and New Features in the HDF5-1.10.x release series -can be found at: - - https://portal.hdfgroup.org/display/HDF5/HDF5+Application+Developer%27s+Guide - -If you have any questions or comments, please send them to the HDF Help Desk: - - help@hdfgroup.org - - -CONTENTS - -- New Features -- Bug Fixes since HDF5-1.10.2 -- Supported Platforms -- Tested Configuration Features Summary -- More Tested Platforms -- Known Problems -- CMake vs. Autotools installations - - -New Features -============ - - Library - ------- - - Moved the H5DOread/write_chunk() API calls to H5Dread/write_chunk() - - The functionality of the direct chunk I/O calls in the high-level - library has been moved to the H5D package in the main library. This - will allow using those functions without building the high-level - library. The parameters and functionality of the H5D calls are - identical to the H5DO calls. - - The original H5DO high-level API calls have been retained, though - they are now just wrappers for the H5D calls. They are marked as - deprecated and are only available when the library is built with - deprecated functions. New code should use the H5D calls for this - reason. - - As a part of this work, the following symbols from H5Dpublic.h are no - longer used: - - H5D_XFER_DIRECT_CHUNK_WRITE_FLAG_NAME - H5D_XFER_DIRECT_CHUNK_WRITE_FILTERS_NAME - H5D_XFER_DIRECT_CHUNK_WRITE_OFFSET_NAME - H5D_XFER_DIRECT_CHUNK_WRITE_DATASIZE_NAME - H5D_XFER_DIRECT_CHUNK_READ_FLAG_NAME - H5D_XFER_DIRECT_CHUNK_READ_OFFSET_NAME - H5D_XFER_DIRECT_CHUNK_READ_FILTERS_NAME - - And properties with these names are no longer stored in the dataset - transfer property lists. The symbols are still defined in H5Dpublic.h, - but only when the library is built with deprecated symbols. - - (DER - 2018/05/04) - - Configuration: - ------------- - - Add missing USE_110_API_DEFAULT option. - - Option USE_110_API_DEFAULT sets the default version of - versioned APIs. The bin/makevers perl script did not set - the maxidx variable correctly when the 1.10 branch was - created. This caused the versioning process to always use - the latest version of any API. - - (ADB - 2018/08/17, HDFFV-10552) - - - Added configuration checks for the following MPI functions: - - MPI_Mprobe - Used for the Parallel Compression feature - MPI_Imrecv - Used for the Parallel Compression feature - - MPI_Get_elements_x - Used for the "big Parallel I/O" feature - MPI_Type_size_x - Used for the "big Parallel I/O" feature - - (JTH - 2018/08/02, HDFFV-10512) - - - Added section to the libhdf5.settings file to indicate - the status of the Parallel Compression and "big Parallel I/O" - features. - - (JTH - 2018/08/02, HDFFV-10512) - - - Add option to execute swmr shell scripts from CMake. - - Option TEST_SHELL_SCRIPTS redirects processing into a - separate ShellTests.cmake file for UNIX types. The tests - execute the shell scripts if a SH program is found. - - (ADB - 2018/07/16) - - - C++ Library: - ------------ - - New wrappers - - Added the following items: - - + Class DSetAccPropList for the dataset access property list. - - + Wrapper for H5Dget_access_plist to class DataSet - // Gets the access property list of this dataset. - DSetAccPropList getAccessPlist() const; - - + Wrappers for H5Pset_chunk_cache and H5Pget_chunk_cache to class DSetAccPropList - // Sets the raw data chunk cache parameters. - void setChunkCache(size_t rdcc_nslots, size_t rdcc_nbytes, double rdcc_w0) - - // Retrieves the raw data chunk cache parameters. - void getChunkCache(size_t &rdcc_nslots, size_t &rdcc_nbytes, double &rdcc_w0) - - + New operator!= to class DataType (HDFFV-10472) - // Determines whether two datatypes are not the same. - bool operator!=(const DataType& compared_type) - - + Wrappers for H5Oget_info2, H5Oget_info_by_name2, and H5Oget_info_by_idx2 - (HDFFV-10458) - - // Retrieves information about an HDF5 object. - void getObjinfo(H5O_info_t& objinfo, unsigned fields = H5O_INFO_BASIC) const; - - // Retrieves information about an HDF5 object, given its name. - void getObjinfo(const char* name, H5O_info_t& objinfo, - unsigned fields = H5O_INFO_BASIC, - const LinkAccPropList& lapl = LinkAccPropList::DEFAULT) const; - void getObjinfo(const H5std_string& name, H5O_info_t& objinfo, - unsigned fields = H5O_INFO_BASIC, - const LinkAccPropList& lapl = LinkAccPropList::DEFAULT) const; - - // Retrieves information about an HDF5 object, given its index. - void getObjinfo(const char* grp_name, H5_index_t idx_type, - H5_iter_order_t order, hsize_t idx, H5O_info_t& objinfo, - unsigned fields = H5O_INFO_BASIC, - const LinkAccPropList& lapl = LinkAccPropList::DEFAULT) const; - void getObjinfo(const H5std_string& grp_name, H5_index_t idx_type, - H5_iter_order_t order, hsize_t idx, H5O_info_t& objinfo, - unsigned fields = H5O_INFO_BASIC, - const LinkAccPropList& lapl = LinkAccPropList::DEFAULT) const; - - (BMR - 2018/07/22, HDFFV-10150, HDFFV-10458, HDFFV-1047) - - - Java Library: - ---------------- - - Java HDFLibraryException class - - Change parent class from Exception to RuntimeException. - - (ADB - 2018/07/30, HDFFV-10534) - - - JNI Read and Write - - Refactored variable-length functions, H5DreadVL and H5AreadVL, - to correct dataset and attribute reads. New write functions, - H5DwriteVL and H5AwriteVL, are under construction. - - (ADB - 2018/06/02, HDFFV-10519) - - -Bug Fixes since HDF5-1.10.2 release -================================== - - Library - ------- - - Performance issue with H5Oget_info - - H5Oget_info family of routines retrieves information for an object such - as object type, access time, number of attributes, and storage space etc. - Retrieving all such information regardless is an overkill and causes - performance issue when doing so for many objects. - - Add an additional parameter "fields" to the the H5Oget_info family of routines - indicating the type of information to be retrieved. The same is done to - the H5Ovisit family of routines which recursively visits an object - returning object information in a callback function. Both sets of routines - are versioned and the corresponding compatibility macros are added. - - The version 2 names of the two sets of routines are: - (1) H5Oget_info2, H5Oget_info_by_idx2, H5Oget_info_by_name2 - (2) H5Ovisit2, H5Ovisit_by_name2 - - (VC - 2018/08/15, HDFFV-10180) - - - Test failure due to metadata size in test/vds.c - - The size of metadata from test_api_get_ex_dcpl() in test/vds.c is not as expected - because the latest format should be used when encoding the layout for VDS. - - Set the latest format in a temporary fapl and pass the setting to the routines that - encode the dataset selection for VDS. - - (VC - 2018/08/14 HDFFV-10469) - - - Java HDF5LibraryException class - - The error minor and major values would be lost after the - constructor executed. - - Created two local class variables to hold the values obtained during - execution of the constructor. Refactored the class functions to retrieve - the class values rather then calling the native functions. - The native functions were renamed and called only during execution - of the constructor. - Added error checking to calling class constructors in JNI classes. - - (ADB - 2018/08/06, HDFFV-10544) - - - Added checks of the defined MPI_VERSION to guard against usage of - MPI-3 functions in the Parallel Compression and "big Parallel I/O" - features when HDF5 is built with MPI-2. Previously, the configure - step would pass but the build itself would fail when it could not - locate the MPI-3 functions used. - - As a result of these new checks, HDF5 can again be built with MPI-2, - but the Parallel Compression feature will be disabled as it relies - on the MPI-3 functions used. - - (JTH - 2018/08/02, HDFFV-10512) - - - User's patches: CVEs - - The following patches have been applied: - - CVE-2018-11202 - NULL pointer dereference was discovered in - H5S_hyper_make_spans in H5Shyper.c (HDFFV-10476) - https://security-tracker.debian.org/tracker/CVE-2018-11202 - https://cve.mitre.org/cgi-bin/cvename.cgi?name=3DCVE-2018-11202 - - CVE-2018-11203 - A division by zero was discovered in - H5D__btree_decode_key in H5Dbtree.c (HDFFV-10477) - https://security-tracker.debian.org/tracker/CVE-2018-11203 - https://cve.mitre.org/cgi-bin/cvename.cgi?name=3DCVE-2018-11203 - - CVE-2018-11204 - A NULL pointer dereference was discovered in - H5O__chunk_deserialize in H5Ocache.c (HDFFV-10478) - https://security-tracker.debian.org/tracker/CVE-2018-11204 - https://cve.mitre.org/cgi-bin/cvename.cgi?name=3DCVE-2018-11204 - - CVE-2018-11206 - An out of bound read was discovered in - H5O_fill_new_decode and H5O_fill_old_decode in H5Ofill.c - (HDFFV-10480) - https://security-tracker.debian.org/tracker/CVE-2018-11206 - https://cve.mitre.org/cgi-bin/cvename.cgi?name=3DCVE-2018-11206 - - CVE-2018-11207 - A division by zero was discovered in - H5D__chunk_init in H5Dchunk.c (HDFFV-10481) - https://security-tracker.debian.org/tracker/CVE-2018-11207 - https://cve.mitre.org/cgi-bin/cvename.cgi?name=3DCVE-2018-11207 - - (BMR - 2018/7/22, PR#s: 1134 and 1139, - HDFFV-10476, HDFFV-10477, HDFFV-10478, HDFFV-10480, HDFFV-10481) - - - H5Adelete - - H5Adelete failed when deleting the last "large" attribute that - is stored densely via fractal heap/v2 b-tree. - - After removing the attribute, update the ainfo message. If the - number of attributes goes to zero, remove the message. - - (VC - 2018/07/20, HDFFV-9277) - - - A bug was discovered in the parallel library which caused partial - parallel reads of filtered datasets to return incorrect data. The - library used the incorrect dataspace for each chunk read, causing - the selection used in each chunk to be wrong. - - The bug was not caught during testing because all of the current - tests which do parallel reads of filtered data read all of the data - using an H5S_ALL selection. Several tests were added which exercise - partial parallel reads. - - (JTH - 2018/07/16, HDFFV-10467) - - - A bug was discovered in the parallel library which caused parallel - writes of filtered datasets to trigger an assertion failure in the - file free space manager. - - This occurred when the filter used caused chunks to repeatedly shrink - and grow over the course of several dataset writes. The previous chunk - information, such as the size of the chunk and the offset in the file, - was being cached and not updated after each write, causing the next write - to the chunk to retrieve the incorrect cached information and run into - issues when reallocating space in the file for the chunk. - - (JTH - 2018/07/16, HDFFV-10509) - - - A bug was discovered in the parallel library which caused the - H5D__mpio_array_gatherv() function to allocate too much memory. - - When the function is called with the 'allgather' parameter set - to a non-true value, the function will receive data from all MPI - ranks and gather it to the single rank specified by the 'root' - parameter. However, the bug in the function caused memory for - the received data to be allocated on all MPI ranks, not just the - singular rank specified as the receiver. In some circumstances, - this would cause an application to fail due to the large amounts - of memory being allocated. - - (JTH - 2018/07/16, HDFFV-10467) - - - Error checks in h5stat and when decoding messages - - h5stat exited with seg fault/core dumped when - errors are encountered in the internal library. - - Add error checks and --enable-error-stack option to h5stat. - Add range checks when decoding messages: old fill value, old - layout and refcount. - - (VC - 2018/07/11, HDFFV-10333) - - - If an HDF5 file contains a malformed compound datatype with a - suitably large offset, the type conversion code can run off - the end of the type conversion buffer, causing a segmentation - fault. - - This issue was reported to The HDF Group as issue #CVE-2017-17507. - - NOTE: The HDF5 C library cannot produce such a file. This condition - should only occur in a corrupt (or deliberately altered) file - or a file created by third-party software. - - THE HDF GROUP WILL NOT FIX THIS BUG AT THIS TIME - - Fixing this problem would involve updating the publicly visible - H5T_conv_t function pointer typedef and versioning the API calls - which use it. We normally only modify the public API during - major releases, so this bug will not be fixed at this time. - - (DER - 2018/02/26, HDFFV-10356) - - - Configuration - ------------- - - Applied patches to address Cywin build issues - - There were three issues for Cygwin builds: - - Shared libs were not built. - - The -std=c99 flag caused a SIG_SETMASK undeclared error. - - Undefined errors when buildbing test shared libraries. - - Patches to address these issues were received and incorporated in this version. - - (LRK - 2018/07/18, HDFFV-10475) - - - The --enable-debug/production configure flags are listed as 'deprecated' - when they should really be listed as 'removed'. - - In the autotools overhaul several years ago, we removed these flags and - implemented a new --enable-build-mode= flag. This was done because we - changed the semantics of the modes and didn't want users to silently - be exposed to them. The newer system is also more flexible and us to - add other modes (like 'clean'). - - The --enable-debug/production flags are now listed as removed. - - (DER - 2018/05/31, HDFFV-10505) - - - Moved the location of gcc attribute. - - The gcc attribute(no_sanitize), named as the macro HDF_NO_UBSAN, - was located after the function name. Builds with GCC 7 did not - indicate any problem, but GCC 8 issued errors. Moved the - attribute before the function name, as required. - - (ADB - 2018/05/22, HDFFV-10473) - - - Reworked java test suite into individual JUnit tests. - - Testing the whole suite of java unit tests in a single JUnit run - made it difficult to determine actual failures when tests would fail. - Running each file set of tests individually, allows individual failures - to be diagnosed easier. A side benefit is that tests for optional components - of the library can be disabled if not configured. - - (ADB - 2018/05/16, HDFFV-9739) - - - Converted CMake global commands ADD_DEFINITIONS and INCLUDE_DIRECTORIES - to use target_* type commands. This change modernizes the CMake usage - in the HDF5 library. - - In addition, there is the intention to convert to generator expressions, - where possible. The exception is Fortran FLAGS on Windows Visual Studio. - The HDF macros TARGET_C_PROPERTIES and TARGET_FORTRAN_PROPERTIES have - been removed with this change in usage. - - The additional language (C++ and Fortran) checks have also been localized - to only be checked when that language is enabled. - - (ADB - 2018/05/08) - - - Performance - ------------- - - Revamped internal use of DXPLs, improving performance - - (QAK - 2018/05/20) - - - Fortran - -------- - - Fixed issue with h5fget_obj_count_f and using a file id of H5F_OBJ_ALL_F not - returning the correct count. - - (MSB - 2018/5/15, HDFFV-10405) - - - C++ APIs - -------- - - Adding default arguments to existing functions - - Added the following items: - + Two more property list arguments are added to H5Location::createDataSet: - const DSetAccPropList& dapl = DSetAccPropList::DEFAULT - const LinkCreatPropList& lcpl = LinkCreatPropList::DEFAULT - - + One more property list argument is added to H5Location::openDataSet: - const DSetAccPropList& dapl = DSetAccPropList::DEFAULT - - (BMR - 2018/07/21, PR# 1146) - - - Improvement C++ documentation - - Replaced the table in main page of the C++ documentation from mht to htm format - for portability. - - (BMR - 2018/07/17, PR# 1141) - - -Supported Platforms -=================== - - Linux 2.6.32-696.16.1.el6.ppc64 gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-18) - #1 SMP ppc64 GNU/Linux g++ (GCC) 4.4.7 20120313 (Red Hat 4.4.7-18) - (ostrich) GNU Fortran (GCC) 4.4.7 20120313 (Red Hat 4.4.7-18) - 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 17.0.0.098 Build 20160721 - 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 2015 w/ Intel Fortran 16 (cmake) - - Windows 7 x64 Visual Studio 2012 w/ Intel Fortran 15 (cmake) - Visual Studio 2013 w/ Intel Fortran 15 (cmake) - Visual Studio 2015 w/ Intel Fortran 16 (cmake) - Visual Studio 2015 w/ Intel C, Fortran 2017 (cmake) - Visual Studio 2015 w/ MSMPI 8 (cmake) - - Windows 10 Visual Studio 2015 w/ Intel Fortran 18 (cmake) - - Windows 10 x64 Visual Studio 2015 w/ Intel Fortran 18 (cmake) - Visual Studio 2017 w/ Intel Fortran 18 (cmake) - - 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.0 from Xcode 7.3 - 64-bit gfortran GNU Fortran (GCC) 5.2.0 - (osx1011dev/osx1011test) Intel icc/icpc/ifort version 16.0.2 - - Mac OS Sierra 10.12.6 Apple LLVM version 8.1.0 (clang/clang++-802.0.42) - 64-bit gfortran GNU Fortran (GCC) 7.1.0 - (swallow/kite) Intel icc/icpc/ifort version 17.0.2 - -Tested Configuration Features Summary -===================================== - - In the tables below - y = tested - n = not tested in this release - C = Cluster - W = Workstation - x = not working in this release - dna = does not apply - ( ) = footnote appears below second table - = 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 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 -Mac OS Sierra 10.12.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 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 -Mac OS Sierra 10.12.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.9.3, 5.3.0, 6.2.0 - PGI C, Fortran, C++ for 64-bit target on - x86-64; - Version 17.10-0 - Intel(R) C (icc), C++ (icpc), Fortran (icc) - compilers: - Version 17.0.4.196 Build 20170411 - 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) - GCC Version 7.1.0 - OpenMPI 3.0.0-GCC-7.2.0-2.29, - 3.1.0-GCC-7.2.0-2.29 - Intel(R) C (icc) and C++ (icpc) compilers - Version 17.0.0.098 Build 20160721 - with NAG Fortran Compiler Release 6.1(Tozai) - - Linux 3.10.0-327.10.1.el7 MPICH 3.2 compiled with GCC 5.3.0 - #1 SMP x86_64 GNU/Linux - (moohan) - - 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. - - Three tests fail with OpenMPI 3.0.0/GCC-7.2.0-2.29: - testphdf5 (ecdsetw, selnone, cchunk1, cchunk3, cchunk4, and actualio) - t_shapesame (sscontig2) - t_pflush1/fails on exit - The first two tests fail attempting collective writes. - - Known problems in previous releases can be found in the HISTORY*.txt files - in the HDF5 source. Please report any new problems found to - help@hdfgroup.org. - - -CMake vs. Autotools installations -================================= -While both build systems produce similar results, there are differences. -Each system produces the same set of folders on linux (only CMake works -on standard Windows); bin, include, lib and share. Autotools places the -COPYING and RELEASE.txt file in the root folder, CMake places them in -the share folder. - -The bin folder contains the tools and the build scripts. Additionally, CMake -creates dynamic versions of the tools with the suffix "-shared". Autotools -installs one set of tools depending on the "--enable-shared" configuration -option. - build scripts - ------------- - Autotools: h5c++, h5cc, h5fc - CMake: h5c++, h5cc, h5hlc++, h5hlcc - -The include folder holds the header files and the fortran mod files. CMake -places the fortran mod files into separate shared and static subfolders, -while Autotools places one set of mod files into the include folder. Because -CMake produces a tools library, the header files for tools will appear in -the include folder. - -The lib folder contains the library files, and CMake adds the pkgconfig -subfolder with the hdf5*.pc files used by the bin/build scripts created by -the CMake build. CMake separates the C interface code from the fortran code by -creating C-stub libraries for each Fortran library. In addition, only CMake -installs the tools library. The names of the szip libraries are different -between the build systems. - -The share folder will have the most differences because CMake builds include -a number of CMake specific files for support of CMake's find_package and support -for the HDF5 Examples CMake project. - - -%%%%1.10.2%%%% - -HDF5 version 1.10.2 released on 2018-03-29 -================================================================================ - - -INTRODUCTION - -This document describes the differences between this release and the previous -HDF5 release. It contains information on the platforms tested and known -problems in this release. For more details check the HISTORY*.txt files in the -HDF5 source. - -Note that documentation in the links below will be updated at the time of each -final release. - -Links to HDF5 documentation can be found on The HDF5 web page: - - https://portal.hdfgroup.org/display/HDF5/HDF5 - -The official HDF5 releases can be obtained from: - - https://www.hdfgroup.org/downloads/hdf5/ - -Changes from Release to Release and New Features in the HDF5-1.10.x release series -can be found at: - - https://portal.hdfgroup.org/display/HDF5/HDF5+Application+Developer%27s+Guide - -If you have any questions or comments, please send them to the HDF Help Desk: - - help@hdfgroup.org - - -CONTENTS - -- New Features -- Support for new platforms and languages -- Bug Fixes since HDF5-1.10.1 -- Supported Platforms -- Tested Configuration Features Summary -- More Tested Platforms -- Known Problems - - -New Features -============ - - Configuration and Build Systems: - -------------------------------- - - CMake builds - -------------- - - - Changed minimum CMake required version to 3.10. - - This change removed the need to support a copy of the FindMPI.cmake module, - which has been removed, along with its subfolder in the config/cmake_ext_mod - location. - - (ADB - 2018/03/09) - - - Added pkg-config file generation - - Added pkg-config file generation for the C, C++, HL, and HL C++ libraries. - In addition, builds on Linux will create h5cc, h5c++, h5hlcc, and h5hlc++ scripts in the bin - directory that use the pkg-config files. The scripts can be used to build HDF5 C and C++ - applications (i.e, similar to the compiler scripts produced by the Autotools builds). - - (ADB - 2018/03/08, HDFFV-4359) - - - Refactored use of CMAKE_BUILD_TYPE for new variable, which understands - the type of generator in use. - - Added new configuration macros to use new HDF_BUILD_TYPE variable. This - variable is set correctly for the type of generator being used for the build. - - (ADB - 2018/01/08, HDFFV-10385, HDFFV-10296) - - - Autotools builds - ------------------ - - - Removed version-specific gcc/gfortran flags for version 4.0 (inclusive) - and earlier. - - The config/gnu-flags file, which is sourced as a part of the configure - process, adds version-specific flags for use when building HDF5. Most of - these flags control warnings and do not affect the final product. - - Flags for older versions of the compiler were consolidated into the - common flags section. Moving these flags simplifies maintenance of - the file. - - The upshot of this is that building with ancient versions of gcc - (<= 4.0) will possibly no longer work without hand-hacking the file - to remove the flags not understood by that version of the compiler. - Nothing should change when building with gcc >= 4.1. - - (DER - 2017/05/31, HDFFV-9937) - - - -fno-omit-frame-pointer was added when building with debugging symbols - enabled. - - Debugging symbols can be enabled independently of the overall build - mode in both the autotools and CMake. This allows (limited) debugging - of optimized code. Since many debuggers rely on the frame pointer, - we've disabled this optimization when debugging symbols are requested - (e.g.: via building with --enable-symbols). - - (DER - 2017/05/31, HDFFV-10226) - - - Library: - -------- - - Added an enumerated value to H5F_libver_t for H5Pset_libver_bounds(). - - Currently, the library defines two values for H5F_libver_t and supports - only two pairs of (low, high) combinations as derived from these values. - Thus the bounds setting via H5Pset_libver_bounds() is rather restricted. - - Added an enumerated value (H5F_LIBVER_V18) to H5F_libver_t and - H5Pset_libver_bounds() now supports five pairs of (low, high) combinations - as derived from these values. This addition provides the user more - flexibility in setting bounds for object creation. - - (VC - 2018/03/14) - - - Added prefix option to VDS files. - - Currently, VDS source files must be in the active directory to be - found by the virtual file. Adding the option of a prefix to be set - on the virtual file, using a data access property list (DAPL), - allows the source files to locate at an absolute or relative path - to the virtual file. - Private utility functions in H5D and H5L packages merged into single - function in H5F package. - - New public APIs: - herr_t H5Pset_virtual_prefix(hid_t dapl_id, const char* prefix); - ssize_t H5Pget_virtual_prefix(hid_t dapl_id, char* prefix /*out*/, size_t size); - The prefix can also be set with an environment variable, HDF5_VDS_PREFIX. - - (ADB - 2017/12/12, HDFFV-9724, HDFFV-10361) - - - H5FDdriver_query() API call added to the C library. - - This new library call allows the user to query a virtual file driver - (VFD) for the feature flags it supports (listed in H5FDpublic.h). - This can be useful to determine if a VFD supports SWMR, for example. - - Note that some VFDs have feature flags that may only be present - after a file has been created or opened (e.g.: the core VFD will - have the H5FD_FEAT_POSIX_COMPAT_HANDLE flag set if the backing - store is switched on). Since the new API call queries a generic VFD - unassociated with a file, these flags will never be returned. - - (DER - 2017/05/31, HDFFV-10215) - - - H5FD_FEAT_DEFAULT_VFD_COMPATIBLE VFD feature flag added to the C library. - - This new feature flag indicates that the VFD is compatible with the - default VFD. VFDs that set this flag create single files that follow - the canonical HDF5 file format. - - (DER - 2017/05/31, HDFFV-10214) - - - The H5I_REFERENCE value in the H5I_type_t enum (defined in H5Ipublic.h) - has been marked as deprecated. - - This ID type value is not used in the C library. i.e.: There are no - hid_t values that are of ID type H5I_REFERENCE. - - This enum value will be removed in a future major version of the library. - The code will remain unchanged in the HDF5 1.10.x releases and branches. - - (DER - 2017/04/05, HDFFV-10252) - - - Parallel Library: - ----------------- - - Enabled compression for parallel applications. - - With this release parallel applications can create and write compressed - datasets (or the datasets with the filters such as Fletcher32 applied). - - (EIP - 2018/03/29) - - - Addressed slow file close on some Lustre file systems. - - Slow file close has been reported on some Lustre file systems. - While the ultimate cause is not understood fully, the proximate - cause appears to be long delays in MPI_File_set_size() calls at - file close and flush. - - To minimize this problem pending a definitive diagnosis and fix, - PHDF5 has been modified to avoid MPI_File_set_size() calls when - possible. This is done by comparing the library's EOA (End of - Allocation) with the file systems EOF, and skipping the - MPI_File_set_size() call if the two match. - - (JRM - 2018/03/29) - - - Optimized parallel open/location of the HDF5 super-block. - - Previous releases of PHDF5 required all parallel ranks to - search for the HDF5 superblock signature when opening the - file. As this is accomplished more or less as a synchronous - operation, a large number of processes can experience a - slowdown in the file open due to filesystem contention. - - As a first step in improving the startup/file-open performance, - we allow MPI rank 0 of the associated MPI communicator to locate - the base offset of the super-block and then broadcast that result - to the remaining ranks in the parallel group. Note that this - approach is utilized ONLY during file opens which employ the MPIO - file driver in HDF5 by previously having called H5Pset_fapl_mpio(). - - HDF5 parallel file operations which do not employ multiple ranks - e.g. specifying MPI_COMM_SELF (whose MPI_Comm_size == 1) - as opposed to MPI_COMM_WORLD, will not be affected by this - optimization. Conversely, parallel file operations on subgroups - of MPI_COMM_WORLD are allowed to be run in parallel with each - subgroup operating as an independent collection of processes. - - (RAW - 2017/10/10, HDFFV-10294) - - - Added large (>2GB) MPI-IO transfers. - - Previous releases of PHDF5 would fail when attempting to - read or write greater than 2GB of data in a single IO operation. - This issue stems principally from an MPI API whose definitions - utilize 32 bit integers to describe the number of data elements - and datatype that MPI should use to effect a data transfer. - Historically, HDF5 has invoked MPI-IO with the number of - elements in a contiguous buffer represented as the length - of that buffer in bytes. - - Resolving the issue and thus enabling larger MPI-IO transfers - is accomplished first, by detecting when a user IO request would - exceed the 2GB limit as described above. Once a transfer request - is identified as requiring special handling, PHDF5 now creates a - derived datatype consisting of a vector of fixed sized blocks - which is in turn wrapped within a single MPI_Type_struct to - contain the vector and any remaining data. The newly created - datatype is then used in place of MPI_BYTE and can be used to - fulfill the original user request without encountering API - errors. - - (RAW - 2017/09/10, HDFFV-8839) - - - C++ Library: - ------------ - - The following C++ API wrappers have been added to the C++ Library: - + H5Lcreate_soft: - // Creates a soft link from link_name to target_name. - void link(const char *target_name, const char *link_name,...) - void link(const H5std_string& target_name,...) - - + H5Lcreate_hard: - // Creates a hard link from new_name to curr_name. - void link(const char *curr_name, const Group& new_loc,...) - void link(const H5std_string& curr_name, const Group& new_loc,...) - - // Creates a hard link from new_name to curr_name in same location. - void link(const char *curr_name, const hid_t same_loc,...) - void link(const H5std_string& curr_name, const hid_t same_loc,...) - - Note: previous version of H5Location::link will be deprecated. - - + H5Lcopy: - // Copy an object from a group of file to another. - void copyLink(const char *src_name, const Group& dst,...) - void copyLink(const H5std_string& src_name, const Group& dst,...) - - // Copy an object from a group of file to the same location. - void copyLink(const char *src_name, const char *dst_name,...) - void copyLink(const H5std_string& src_name,...) - - + H5Lmove: - // Rename an object in a group or file to a new location. - void moveLink(const char* src_name, const Group& dst,...) - void moveLink(const H5std_string& src_name, const Group& dst,...) - - // Rename an object in a group or file to the same location. - void moveLink(const char* src_name, const char* dst_name,...) - void moveLink(const H5std_string& src_name,...) - - Note: previous version H5Location::move will be deprecated. - - + H5Ldelete: - // Removes the specified link from this location. - void unlink(const char *link_name, - const LinkAccPropList& lapl = LinkAccPropList::DEFAULT) - void unlink(const H5std_string& link_name, - const LinkAccPropList& lapl = LinkAccPropList::DEFAULT) - - Note: additional parameter is added to previous H5Location::unlink. - - + H5Tencode and H5Tdecode: - // Creates a binary object description of this datatype. - void DataType::encode() - C API H5Tencode() - - // Returns the decoded type from the binary object description. - DataType::decode() - C API H5Tdecode() - ArrayType::decode() - C API H5Tdecode() - CompType::decode() - C API H5Tdecode() - DataType::decode() - C API H5Tdecode() - EnumType::decode() - C API H5Tdecode() - FloatType::decode() - C API H5Tdecode() - IntType::decode() - C API H5Tdecode() - StrType::decode() - C API H5Tdecode() - VarLenType::decode() - C API H5Tdecode() - - + H5Lget_info: - // Returns the information of the named link. - H5L_info_t getLinkInfo(const H5std_string& link_name,...) - - (BMR - 2018/03/11, HDFFV-10149) - - - Added class LinkCreatPropList for link create property list. - - (BMR - 2018/03/11, HDFFV-10149) - - - Added overloaded functions H5Location::createGroup to take a link - creation property list. - Group createGroup(const char* name, const LinkCreatPropList& lcpl) - Group createGroup(const H5std_string& name, const LinkCreatPropList& lcpl) - - (BMR - 2018/03/11, HDFFV-10149) - - - A document is added to the HDF5 C++ API Reference Manual to show the - mapping from a C API to C++ wrappers. It can be found from the main - page of the C++ API Reference Manual. - - (BMR - 2017/10/17, HDFFV-10151) - - - Java Library: - ---------------- - - Wrapper added for enabling the error stack. - - H5error_off would disable the error stack reporting. In order - to re-enable the reporting, the error stack info needs to be - saved so that H5error_on can revert state. - - (ADB - 2018/03/13, HDFFV-10412) - - - Wrappers were added for the following C APIs: - H5Pset_evict_on_close - H5Pget_evict_on_close - H5Pset_chunk_opts - H5Pget_chunk_opts - H5Pset_efile_prefix - H5Pget_efile_prefix - H5Pset_virtual_prefix - H5Pget_virtual_prefix - - (ADB - 2017/12/20) - - - The H5I_REFERENCE value in the H5I_type_t enum (defined in H5Ipublic.h) - has been marked as deprecated. - - JNI code which refers to this value will be removed in a future - major version of the library. The code will remain unchanged in the - 1.10.x releases and branches. - - See the C library section, above, for further information. - - (HDFFV-10252, DER, 2017/04/05) - - - Tools: - ------ - - h5diff has a new option to display error stack. - - Updated h5diff with the --enable-error-stack argument, which - enables the display of the hdf5 error stack. This completes the - improvement to the main tools: h5copy, h5diff, h5dump, h5ls and - h5repack. - - (ADB - 2017/08/30, HDFFV-9774) - - -Support for new platforms, languages and compilers. -======================================= - - None - -Bug Fixes since HDF5-1.10.1 release -================================== - - Library - ------- - - The data read after a direct chunk write to a chunked dataset with - one chunk was incorrect. - - The problem was due to the passing of a null dataset pointer to - the insert callback for the chunk index in the routine - H5D__chunk_direct_write() in H5Dchunk.c - The dataset was a single-chunked dataset which will use the - single chunk index when latest format was enabled on file creation. - The single chunk index was the only index that used this pointer - in the insert callback. - - Passed the dataset pointer to the insert callback for the chunk - index in H5D__chunk_direct_write(). - - (VC - 2018/03/20, HDFFV-10425) - - - Added public routine H5DOread_chunk to the high-level C library. - - The patch for H5DOwrite_chunk() to write an entire chunk to the file - directly was contributed by GE Healthcare and integrated by The HDF Group - developers. - - (VC - 2017/05/19, HDFFV-9934) - - - Freeing of object header after failed checksum verification. - - It was discovered that the object header (in H5Ocache.c) was not released properly - when the checksum verification failed and a re-load of the object - header was needed. - - Freed the object header that failed the chksum verification only - after the new object header is reloaded, deserialized and set up. - - (VC - 2018/03/14, HDFFV-10209) - - - Updated H5Pset_evict_on_close in H5Pfapl.c - - Changed the minor error number from H5E_CANTSET to H5E_UNSUPPORTED for - parallel library. - - (ADB - 2018/03/06, HDFFV-10414) - - - Fixed the problems with the utility function that could not handle lowercase - Windows drive letters. - - Added call to upper function for drive letter. - - (ADB - 2017/12/18, HDFFV-10307) - - - Fixed H5Sencode() bug when the number of elements selected was > 2^32. - - H5Sencode() incorrectly encodes dataspace selection with number of - elements exceeding 2^32. When decoding such selection via H5Sdecode(), - the number of elements in the decoded dataspace is not the same as - what is encoded. This problem exists for H5S_SEL_HYPER and - H5S_SEL_POINTS encoding. - - The cause of the problem is due to the fact that the library uses 32 bits to - encode counts and block offsets for the selection. - The solution is to use the original 32 bit encodings if possible, - but use a different way to encode selection if more that 32 bits is needed. - See details in the RFC: H5Sencode/H5Sdecode Format Change i - https://bitbucket.hdfgroup.org/projects/HDFFV/repos/hdf5doc/browse/RFCs/HDF5_Library/H5SencodeFormatChange. - - (VC - 2017/11/28, HDFFV-9947) - - - Fixed filter plugin handling in H5PL.c and H5Z.c to not require i availability of - dependent libraries (e.g., szip or zlib). - - It was discovered that the dynamic loading process used by - filter plugins had issues with library dependencies. - - CMake build process changed to use LINK INTERFACE keywords, which - allowed HDF5 C library to make dependent libraries private. The - filter plugin libraries no longer require dependent libraries - (such as szip or zlib) to be available. - - (ADB - 2017/11/16, HDFFV-10328) - - - Fixed rare object header corruption bug. - - In certain cases, such as when converting large attributes to dense - storage, an error could occur which would either fail an assertion or - cause file corruption. Fixed and added test. - - (NAF - 2017/11/14, HDFFV-10274) - - - Updated H5Zfilter_avail in H5Z.c. - - The public function checked for plugins, while the private - function did not. - - Modified H5Zfilter_avail and private function, H5Z_filter_avail. - Moved check for plugin from public to private function. Updated - H5P__set_filter due to change in H5Z_filter_avail. Updated tests. - - (ADB - 2017/10/10, HDFFV-10297, HDFFV-10319) - - - h5dump produced SEGFAULT when dumping corrypted file. - - The behavior was due to the error in the internal function H5HL_offset_into(). - - (1) Fixed H5HL_offset_into() to return error when offset exceeds heap data - block size. - (2) Fixed other places in the library that call this routine to detect - error routine. - - (VC - 2017/08/30, HDFFV-10216) - - - Fixes for paged aggregation feature. - - Skip test in test/fheap.c when: - (1) multi/split drivers and - (2) persisting free-space or using paged aggregation strategy - - (VC, 2017/07/10) - - Changes made based on RFC review comments: - (1) Added maximum value for file space page size - (2) Dropped check for page end metadata threshold - (3) Removed "can_shrink" and "shrink" callbacks for small section class - - (VC - 2017/06/09) - - - Fixed for infinite loop in H5VM_power2up(). - - The function H5VM_power2up() returns the next power of 2 - for n. When n exceeds 2^63, it overflows and becomes 0 causing - the infinite looping. - - The fix ensures that the function checks for n >= 2^63 - and returns 0. - - (VC - 2017/07/10, HDFFV-10217) - - - Fixed for H5Ocopy doesn't work with open identifiers. - - Changes made so that raw data for dataset objects are copied from - cached info when possible instead of flushing objects to file and - read them back in again. - - (VC - 2017/07/05, HDFFV-7853) - - - An uninitialized struct could cause a memory access error when using - variable-length or reference types in a compressed, chunked dataset. - - A struct containing a callback function pointer and a pointer to some - associated data was used before initialization. This could cause a - memory access error and system crash. This could only occur under - unusual conditions when using variable-lenth and reference types in - a compressed, chunked dataset. - - On recent versions of Visual Studio, when built in debug mode, the - debug heap will complain and cause a crash if the code in question - is executed (this will cause the objcopy test to fail). - - (DER - 2017/11/21, HDFFV-10330) - - - Fixed collective metadata writes on file close. - - It was discovered that metadata was being written twice as part of - the parallel file close behavior, once independently and once - collectively. - - A fix for this error was included as part of the parallel compression - feature but remained undocumented here. - - (RAW - 2017/12/01, HDFFV-10272) - - - If an HDF5 file contains a filter pipeline message with a 'number of - filters' field that exceeds the maximum number of allowed filters, - the error handling code will attempt to dereference a NULL pointer. - - This issue was reported to The HDF Group as issue #CVE-2017-17505. - https://security-tracker.debian.org/tracker/CVE-2017-17505 - https://cve.mitre.org/cgi-bin/cvename.cgi?name=3DCVE-2017-17505 - - NOTE: The HDF5 C library cannot produce such a file. This condition - should only occur in a corrupt (or deliberately altered) file - or a file created by third-party software. - - This problem arose because the error handling code assumed that - the 'number of filters' field implied that a dynamic array of that - size had already been created and that the cleanup code should - iterate over that array and clean up each element's resources. If - an error occurred before the array has been allocated, this will - not be true. - - This has been changed so that the number of filters is set to - zero on errors. Additionally, the filter array traversal in the - error handling code now requires that the filter array not be NULL. - - (DER - 2018/02/06, HDFFV-10354) - - - If an HDF5 file contains a filter pipeline message which contains - a 'number of filters' field that exceeds the actual number of - filters in the message, the HDF5 C library will read off the end of - the read buffer. - - This issue was reported to The HDF Group as issue #CVE-2017-17506. - https://security-tracker.debian.org/tracker/CVE-2017-17506 - https://cve.mitre.org/cgi-bin/cvename.cgi?name=3DCVE-2017-17506 - - NOTE: The HDF5 C library cannot produce such a file. This condition - should only occur in a corrupt (or deliberately altered) file - or a file created by third-party software. - - The problem was fixed by passing the buffer size with the buffer - and ensuring that the pointer cannot be incremented off the end - of the buffer. A mismatch between the number of filters declared - and the actual number of filters will now invoke normal HDF5 - error handling. - - (DER - 2018/02/26, HDFFV-10355) - - - If an HDF5 file contains a malformed compound datatype with a - suitably large offset, the type conversion code can run off - the end of the type conversion buffer, causing a segmentation - fault. - - This issue was reported to The HDF Group as issue #CVE-2017-17507. - https://security-tracker.debian.org/tracker/CVE-2017-17506 - https://cve.mitre.org/cgi-bin/cvename.cgi?name=3DCVE-2017-17506 - - NOTE: The HDF5 C library cannot produce such a file. This condition - should only occur in a corrupt (or deliberately altered) file - or a file created by third-party software. - - THE HDF GROUP WILL NOT FIX THIS BUG AT THIS TIME - - Fixing this problem would involve updating the publicly visible - H5T_conv_t function pointer typedef and versioning the API calls - which use it. We normally only modify the public API during - major releases, so this bug will not be fixed at this time. - - (DER - 2018/02/26, HDFFV-10356) - - - If an HDF5 file contains a malformed compound type which contains - a member of size zero, a division by zero error will occur while - processing the type. - - This issue was reported to The HDF Group as issue #CVE-2017-17508. - https://security-tracker.debian.org/tracker/CVE-2017-17508 - https://cve.mitre.org/cgi-bin/cvename.cgi?name=3DCVE-2017-17508 - - NOTE: The HDF5 C library cannot produce such a file. This condition - should only occur in a corrupt (or deliberately altered) file - or a file created by third-party software. - - Checking for zero before dividing fixes the problem. Instead of the - division by zero, the normal HDF5 error handling is invoked. - - (DER - 2018/02/26, HDFFV-10357) - - - If an HDF5 file contains a malformed symbol table node that declares - it contains more symbols than it actually contains, the library - can run off the end of the metadata cache buffer while processing - the symbol table node. - - This issue was reported to The HDF Group as issue #CVE-2017-17509. - https://security-tracker.debian.org/tracker/CVE-2017-17509 - https://cve.mitre.org/cgi-bin/cvename.cgi?name=3DCVE-2017-17509 - - NOTE: The HDF5 C library cannot produce such a file. This condition - should only occur in a corrupt (or deliberately altered) file - or a file created by third-party software. - - Performing bounds checks on the buffer while processing fixes the - problem. Instead of the segmentation fault, the normal HDF5 error - handling is invoked. - - (DER - 2018/03/12, HDFFV-10358) - - - Fixed permissions passed to open(2) on file create. - - On Windows, the POSIX permissions passed to open(2) when creating files - were only incidentally correct. They are now set to the correct value of - (_S_IREAD | _S_IWRITE). - - On other platforms, the permissions were set to a mix of 666, 644, and - 000. They are now set uniformly to 666. - - (DER - 2017/04/28, HDFFV-9877) - - - The H5FD_FEAT_POSIX_COMPAT_HANDLE flag is no longer used to determine - if a virtual file driver (VFD) is compatible with SWMR. - - Use of this VFD feature flag was not in line with the documentation in - the public H5FDpublic.h file. In particular, it was being used as a - proxy for determining if SWMR I/O is allowed. This is unnecessary as we - already have a feature flag for this (H5FD_SUPPORTS_SWMR_IO). - - (DER - 2017/05/31, HDFFV-10214) - - - Configuration - ------------- - - CMake changes - - - Updated CMake commands configuration. - - A number of improvements were made to the CMake commands. Most - changes simplify usage or eliminate unused constructs. Also, - some changes support better cross-platform support. - - (ADB - 2018/02/01, HDFFV-10398) - - - Corrected usage of CMAKE_BUILD_TYPE variable. - - The use of the CMAKE_BUILD_TYPE is incorrect for multi-config - generators (Visual Studio and XCode) and is optional for single - config generators. Created a new macro to check - GLOBAL PROPERTY -> GENERATOR_IS_MULTI_CONFIG - Created two new HDF variable, HDF_BUILD_TYPE and HDF_CFG_BUILD_TYPE. - Defaults for these variables is "Release". - - (ADB - 2018/01/10, HDFFV-10385) - - - Added replacement of fortran flags if using static CRT. - - Added TARGET_STATIC_CRT_FLAGS call to HDFUseFortran.cmake file in - config/cmake_ext_mod folder. - - (ADB - 2018/01/08, HDFFV-10334) - - - - The hdf5 library used shared szip and zlib, which needlessly required - applications to link with the same szip and zlib libraries. - - Changed the target_link_libraries commands to use the static libs. - Removed improper link duplication of szip and zlib. - Adjusted the link dependencies and the link interface values of - the target_link_libraries commands. - - (ADB - 2017/11/14, HDFFV-10329) - - - CMake MPI - - CMake implementation for MPI was problematic and would create incorrect - MPI library references in the hdf5 libraries. - - Reworked the CMake MPI code to properly create CMake targets. Also merged - the latest CMake FindMPI.cmake changes to the local copy. This is necessary - until HDF changes the CMake minimum to 3.9 or greater. - - (ADB - 2017/11/02, HDFFV-10321) - - - Corrected FORTRAN_HAVE_C_LONG_DOUBLE processing in the autotools. - - A bug in the autotools Fortran processing code always set the - FORTRAN_HAVE_C_LONG_DOUBLE variable to be true regardless of - whether or not a C long double type was present. - - This would cause compilation failures on platforms where a C - long double type was not available and the Fortran wrappers - were being built. - - (DER - 2017/07/05, HDFFV-10247) - - - The deprecated --enable-production and --enable-debug configure options - failed to emit errors when passed an empty string - (e.g.: --enable-debug=""). - - Due to the way we checked for these options being set, it was possible - to avoid the error message and continue configuration if an empty string - was passed to the option. - - Any use of --enable-production or --enable-debug will now halt the - configuration step and emit a helpful error message - (use --enable-build-mode=debug|production instead). - - (DER - 2017/07/05, HDFFV-10248) - - - CMake - - Too many commands for POST_BUILD step caused command line to be - too big on windows. - - Changed foreach of copy command to use a custom command with the - use of the HDFTEST_COPY_FILE macro. - - (ADB - 2017/07/12, HDFFV-10254) - - - CMake test execution environment - - The parallel HDF5 test: 't_pread' assumed the use of autotools - and the directory structure associated with that testing approach. - Modified the test code to check whether the 'h5jam' utility can be - found in the same directory as the test executable (which is - preferred directory structure utilized by cmake) and if found - will invoke the tool directly rather than utilizing a relative path. - - (RAW - 2017/11/03, HDFFV-10318) - - - Fortran compilation fails for xlf and CMake builds. - - Fixed CMake shared library build for H5match_types and modules - - (MSB - 2017/12/19, HDFFV-10363) - - - Shared libraries fail test on OSX with Fortran enabled with CMake. - - Fixed by removing the F77 use of EQUIVALENCE and COMMON, replaced - using MODULES. Updated CMake. - - (MSB - 2017/12/07, HDFFV-10223) - - - The bin/trace script now emits an error code on problems and autogen.sh - will fail if bin/trace fails. - - The bin/trace script adds tracing functionality to public HDF5 API calls. - It is only of interest to developers who modify the HDF5 source code. - Previously, bin/trace just wrote an error message to stdout when it - encountered problems, so autogen.sh processing did not halt and a broken - version of the library could be built. The script will now return an - error code when it encounters problems, and autogen.sh will fail. - - This only affects users who run autogen.sh to rebuild the Autotools files, - which is not necessary to build HDF5 from source in official releases of the - library. CMake users are unaffected as bin/trace is not run via CMake - at this time. - - (DER - 2017/04/25, HDFFV-10178) - - - FC_BASENAME was changed from gfortran40 to gfortran in a few places. - - In the autotools, FC_BASENAME was set to gfortran40 in a few locations - (config/gnu-fflags and config/freebsd). This was probably a historical - artifact and did not seem to affect many users. - - The value is now correctly set to gfortran. - - (DER - 2017/05/26, HDFFV-10249) - - - The ar flags were changed to -cr (was: -cru) - - The autotools set the flags for ar to -cru by default. The -u flag, - which allows selective replacement of only the members which have - changed, raises warnings on some platforms, so the flags are now set to - -cr via AR_FLAGS in configure.ac. This causes the static library to - always be completely recreated from the object files on each build. - - (DER - 2017/11/15, HDFFV-10428) - - - Fortran - -------- - - Fixed compilation errors when using Intel 18 Fortran compilers - (MSB - 2017/11/3, HDFFV-10322) - - Tools - ----- - - h5clear - - An enhancement to the tool in setting a file's stored EOA. - - It was discovered that a crashed file's stored EOA in the superblock - was smaller than the actual file's EOF. When the file was reopened - and closed, the library truncated the file to the stored EOA. - - Added an option to the tool in setting the file's stored EOA in the - superblock to the maximum of (EOA, EOF) + increment. - An option was also added to print the file's EOA and EOF. - - (VC - 2018/03/14, HDFFV-10360) - - - h5repack - - h5repack changes the chunk parameters when a change of layout is not - specified and a filter is applied. - - HDFFV-10297, HDFFV-10319 reworked code for h5repack and h5diff code - in the tools library. The check for an existing layout was incorrectly - placed into an if block and not executed. The check was moved into - the normal path of the function. - - (ADB - 2018/02/21, HDFFV-10412) - - - h5dump - - The tools library will hide the error stack during file open. - - While this is preferable almost always, there are reasons to enable - display of the error stack when a tool will not open a file. Adding an - optional argument to the --enable-error-stack will provide this use case. - As an optional argument it will not affect the operation of the - --enable-error-stack. h5dump is the only tool to implement this change. - - (ADB - 2018/02/15, HDFFV-10384) - - - h5dump - - h5dump would output an indented blank line in the filters section. - - h5dump overused the h5tools_simple_prefix function, which is a - function intended to account for the data index (x,y,z) option. - Removed the function call for header information. - - (ADB - 2018/01/25, HDFFV-10396) - - - h5repack - - h5repack incorrectly searched internal object table for name. - - h5repack would search the table of objects for a name, if the - name did not match it tried to determine if the name without a - leading slash would match. The logic was flawed! The table - stored names(paths) without a leading slash and did a strstr - of the table path to the name. - The assumption was that if there was a difference of one then - it was a match, however "pressure" would match "/pressure" as - well as "/pressure1", "/pressure2", etc. Changed logic to remove - any leading slash and then do a full compare of the name. - - (ADB - 2018/01/18, HDFFV-10393) - - - h5repack - - h5repack failed to handle command line parameters for customer filters. - - User defined filter parameter conversions would fail when integers were - represented on the command line with character string - larger then 9 characters. Increased local variable array for storing - the current command line parameter to prevent buffer overflows. - - (ADB - 2018/01/17, HDFFV-10392) - - - h5diff - - h5diff seg faulted if comparing VL strings against fixed strings. - - Reworked solution for HDFFV-8625 and HDFFV-8639. Implemented the check - for string objects of same type in the diff_can_type function by - adding an if(tclass1 == H5T_STRING) block. This "if block" moves the - same check that was added for attributes to this function, which is - used by all object types. This function handles complex type structures. - Also added a new test file in h5diffgenttest for testing this issue - and removed the temporary files used in the test scripts. - - (ADB - 2018/01/04, HDFFV-8745) - - - h5repack - - h5repack failed to copy a dataset with existing filter. - - Reworked code for h5repack and h5diff code in the tools library. Added - improved error handling, cleanup of resources and checks of calls. - Modified H5Zfilter_avail and private function, H5Z_filter_avail. - Moved check for plugin from public to private function. Updated - H5P__set_filter due to change in H5Z_filter_avail. Updated tests. - Note, h5repack output display has changed to clarify the individual - steps of the repack process. The output indicates if an operation - applies to all objects. Lines with notation and no information - have been removed. - - (ADB - 2017/10/10, HDFFV-10297, HDFFV-10319) - - - h5repack - - h5repack always set the User Defined filter flag to H5Z_FLAG_MANDATORY. - - Added another parameter to the 'UD=' option to set the flag by default - to '0' or H5Z_FLAG_MANDATORY, the other choice is '1' or H5Z_FLAG_OPTIONAL. - - (ADB - 2017/08/31, HDFFV-10269) - - - h5ls - - h5ls generated error on stack when it encountered a H5S_NULL - dataspace. - - Adding checks for H5S_NULL before calling H5Sis_simple (located - in the h5tools_dump_mem function) fixed the issue. - - (ADB - 2017/08/17, HDFFV-10188) - - - h5repack - - Added tests to h5repack.sh.in to verify options added for paged - aggregation work as expected. - - (VC - 2017/08/03) - - - h5dump - - h5dump segfaulted on output of XML file. - - Function that escape'd strings used the full buffer length - instead of just the length of the replacement string in a - strncpy call. Using the correct length fixed the issue. - - (ADB - 2017/08/01, HDFFV-10256) - - - h5diff - - h5diff segfaulted on compare of a NULL variable length string. - - Improved h5diff compare of strings by adding a check for - NULL strings and setting the lengths to zero. - - (ADB - 2017/07/25, HDFFV-10246) - - - h5import - - h5import crashed trying to import data from a subset of a dataset. - - Improved h5import by adding the SUBSET keyword. h5import understands - to use the Count times the Block as the size of the dimensions. - Added INPUT_B_ORDER keyword to old-style configuration files. - The import from h5dump function expects the binary files to use native - types (FILE '-b' option) in the binary file. - - (ADB - 2017/06/15, HDFFV-10219) - - - h5repack - - h5repack did not maintain the creation order flag of the root - group. - - Improved h5repack by reading the creation order and applying the - flag to the new root group. Also added arguments to set the - order and index direction, which applies to the traversing of the - original file, on the command line. - - (ADB - 2017/05/26, HDFFV-8611) - - - h5diff - - h5diff failed to account for strpad type and null terminators - of char strings. Also, h5diff failed to account for string length - differences and would give a different result depending on file - order in the command line. - - Improved h5diff compare of strings and arrays by adding a check for - string lengths and if the strpad was null filled. - - (ADB - 2017/05/18, HDFFV-9055, HDFFV-10128) - - High-Level APIs: - ------ - - H5DOwrite_chunk() problems when overwriting an existing chunk with - no filters enabled. - - When overwriting chunks and no filters were being used, the library would - fail (when asserts are enabled, e.g. debug builds) or incorrectly - insert additional chunks instead of overwriting (when asserts are not - enabled, e.g. production builds). - - This has been fixed and a test was added to the hl/test_dset_opt test. - - (DER - 2017/05/11, HDFFV-10187) - - C++ APIs - -------- - - Removal of memory leaks. - - A private function was inadvertently called, causing memory leaks. This - is now fixed. - - (BMR - 2018/03/12 - User's reported in email) - - Testing - ------- - - Memory for three variables in testphdf5's coll_write_test was malloced - but not freed, leaking memory when running the test. - - The variables' memory is now freed. - - (LRK - 2018/03/12, HDFFV-10397) - - - Refactored the testpar/t_bigio.c test to include ALARM macros - - Changed the test to include the ALARM_ON and ALARM_OFF macros which - are intended to prevent nightly test hangs that have been observed - with this particular parallel test example. The code was also modified to - simplify status reporting (only from MPI rank 0) and additional - status checking added. - - (RAW - 2017/11/08, HDFFV-10301) - - -Supported Platforms -=================== - - Linux 2.6.32-696.16.1.el6.ppc64 gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-18) - #1 SMP ppc64 GNU/Linux g++ (GCC) 4.4.7 20120313 (Red Hat 4.4.7-18) - (ostrich) GNU Fortran (GCC) 4.4.7 20120313 (Red Hat 4.4.7-18) - 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 17.0.0.098 Build 20160721 - 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/ Intel C, Fortran 2017 (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 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.0 from Xcode 7.3 - 64-bit gfortran GNU Fortran (GCC) 5.2.0 - (osx1011dev/osx1011test) Intel icc/icpc/ifort version 16.0.2 - - Mac OS Sierra 10.12.6 Apple LLVM version 8.1.0 (clang/clang++-802.0.42) - 64-bit gfortran GNU Fortran (GCC) 7.1.0 - (swallow/kite) Intel icc/icpc/ifort version 17.0.2 - - -Tested Configuration Features Summary -===================================== - - In the tables below - y = tested - n = not tested in this release - C = Cluster - W = Workstation - x = not working in this release - dna = does not apply - ( ) = footnote appears below second table - = 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.9.3, 5.3.0, 6.2.0 - PGI C, Fortran, C++ for 64-bit target on - x86-64; - Version 17.10-0 - Intel(R) C (icc), C++ (icpc), Fortran (icc) - compilers: - Version 17.0.4.196 Build 20170411 - 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) - GCC Version 7.1.0 - OpenMPI 3.0.0-GCC-7.2.0-2.29 - Intel(R) C (icc) and C++ (icpc) compilers - Version 17.0.0.098 Build 20160721 - with NAG Fortran Compiler Release 6.1(Tozai) - - Linux 3.10.0-327.10.1.el7 MPICH 3.2 compiled with GCC 5.3.0 - #1 SMP x86_64 GNU/Linux - (moohan) - - 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. - - Three tests fail with OpenMPI 3.0.0/GCC-7.2.0-2.29: - testphdf5 (ecdsetw, selnone, cchunk1, cchunk3, cchunk4, and actualio) - t_shapesame (sscontig2) - t_pflush1/fails on exit - The first two tests fail attempting collective writes. - - Known problems in previous releases can be found in the HISTORY*.txt files - in the HDF5 source. Please report any new problems found to - help@hdfgroup.org. - - -%%%%1.10.1%%%% - -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 shareable 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 - = 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. - - -%%%%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 additional 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=. Use --enable-internal-debug= - 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/ Multiple 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 - = 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 additional 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=. Use --enable-internal-debug= - 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/ Multiple 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 - = 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_12.txt b/release_docs/HISTORY-1_12.txt deleted file mode 100644 index 6d0c1e2..0000000 --- a/release_docs/HISTORY-1_12.txt +++ /dev/null @@ -1,628 +0,0 @@ -HDF5 History -============ - -This file contains development history of the HDF5 1.12 branch - -01. Release Information for hdf5-1.12.0 - -[Search on the string '%%%%' for section breaks of each release.] - -%%%%1.12.0%%%% - -HDF5 version 1.12.0 released on 2020-02-28 -================================================================================ - - -INTRODUCTION - -This document describes the new features introduced in the HDF5 1.12.0 release. -It contains information on the platforms tested and known problems in this -release. For more details check the HISTORY*.txt files in the HDF5 source. - -Note that documentation in the links below will be updated at the time of the -release. - -Links to HDF5 documentation can be found on The HDF5 web page: - - https://portal.hdfgroup.org/display/HDF5/HDF5 - -The official HDF5 releases can be obtained from: - - https://www.hdfgroup.org/downloads/hdf5/ - -More information about the new features can be found at: - - https://portal.hdfgroup.org/display/HDF5/New+Features+in+HDF5+Release+1.12 - -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.12.0-alpha1 -- Major Bug Fixes since HDF5-1.10.0 -- Supported Platforms -- Tested Configuration Features Summary -- More Tested Platforms -- Known Problems -- CMake vs. Autotools installations - - -New Features -============ - - Configuration: - ------------- - - Added test script for file size compare - - If CMake minimum version is at least 3.14, the fileCompareTest.cmake - script will compare file sizes. - - (ADB - 2020/02/24, HDFFV-11036) - - - Update CMake minimum version to 3.12 - - Updated CMake minimum version to 3.12 and added version checks - for Windows features. - - (ADB - 2020/02/05, TRILABS-142) - - - Fixed CMake include properties for Fortran libraries - - Corrected the library properties for Fortran to use the - correct path for the Fortran module files. - - (ADB - 2020/02/04, HDFFV-11012) - - - Added common warnings files for gnu and intel - - Added warnings files to use one common set of flags - during configure for both autotools and CMake build - systems. The initial implementation only affects a - general set of flags for gnu and intel compilers. - - (ADB - 2020/01/17) - - - Added new options to CMake for control of testing - - Added CMake options (default ON); - HDF5_TEST_SERIAL AND/OR HDF5_TEST_PARALLEL - combined with: - HDF5_TEST_TOOLS - HDF5_TEST_EXAMPLES - HDF5_TEST_SWMR - HDF5_TEST_FORTRAN - HDF5_TEST_CPP - HDF5_TEST_JAVA - - (ADB - 2020/01/15, HDFFV-11001) - - - Added Clang sanitizers to CMake for analyzer support if compiler is clang. - - Added CMake code and files to execute the Clang sanitizers if - HDF5_ENABLE_SANITIZERS is enabled and the USE_SANITIZER option - is set to one of the following: - Address - Memory - MemoryWithOrigins - Undefined - Thread - Leak - 'Address;Undefined' - - (ADB - 2019/12/12, TRILAB-135) - - - Update CMake for VS2019 support - - CMake added support for VS2019 in version 3.15. Changes to the CMake - generator setting required changes to scripts. Also updated version - references in CMake files as necessary. - - (ADB - 2019/11/18, HDFFV-10962) - - - Library: - -------- - - Refactored public exposure of haddr_t type in favor of "object tokens" - - To better accommodate HDF5 VOL connectors where "object addresses in a file" - may not make much sense, the following changes were made to the library: - - * Introduced new H5O_token_t "object token" type, which represents a - unique and permanent identifier for referencing an HDF5 object within - a container; these "object tokens" are meant to replace object addresses. - Along with the new type, a new H5Oopen_by_token API call was introduced - to open an object by a token, similar to how object addresses were - previously used with H5Oopen_by_addr. - - * Introduced new H5Lget_info2, H5Lget_info_by_idx2, H5Literate2, H5Literate_by_name2, - H5Lvisit2 and H5Lvisit_by_name2 API calls, along with their associated H5L_info2_t - struct and H5L_iterate2_t callback function, which work with the newly-introduced - object tokens, instead of object addresses. The original functions have been - renamed to version 1 functions and are deprecated in favor of the new version 2 - functions. The H5L_info_t and H5L_iterate_t types have been renamed to version 1 - types and are now deprecated in favor of their version 2 counterparts. For each of - the functions and types, compatibility macros take place of the original symbols. - - * Introduced new H5Oget_info3, H5Oget_info_by_name3, H5Oget_info_by_idx3, - H5Ovisit3 and H5Ovisit_by_name3 API calls, along with their associated H5O_info2_t - struct and H5O_iterate2_t callback function, which work with the newly-introduced - object tokens, instead of object addresses. The version 2 functions are now - deprecated in favor of the version 3 functions. The H5O_info_t and H5O_iterate_t - types have been renamed to version 1 types and are now deprecated in favor of their - version 2 counterparts. For each, compatibility macros take place of the original - symbols. - - * Introduced new H5Oget_native_info, H5Oget_native_info_by_name and - H5Oget_native_info_by_idx API calls, along with their associated H5O_native_info_t - struct, which are used to retrieve the native HDF5 file format-specific information - about an object. This information (such as object header info and B-tree/heap info) - has been removed from the new H5O_info2_t struct so that the more generic - H5Oget_info(_by_name/_by_idx)3 routines will not try to retrieve it for non-native - VOL connectors. - - * Added new H5Otoken_cmp, H5Otoken_to_str and H5Otoken_from_str routines to compare - two object tokens, convert an object token into a nicely-readable string format and - to convert an object token string back into a real object token, respectively. - - (DER, QAK, JTH - 2020/01/16) - - - Virtual Object Layer (VOL) - - In this major HDF5 release we introduce HDF5 Virtual Object Layer (VOL). - VOL is an abstraction layer within the HDF5 library that enables different - methods for accessing data and objects that conform to the HDF5 data model. - The VOL layer intercepts all HDF5 API calls that potentially modify data - on disk and forwards those calls to a plugin "object driver". The data on - disk can be a different format than the HDF5 format. For more information - about VOL we refer the reader to the following documents (under review): - - VOL HDF5 APIs - https://portal.hdfgroup.org/display/HDF5/Virtual+Object++Layer - - VOL Documentation - https://bitbucket.hdfgroup.org/projects/HDFFV/repos/hdf5doc/browse/RFCs/HDF5/VOL - - Repository with VOL plugins - https://bitbucket.hdfgroup.org/projects/HDF5VOL - - - Enhancements to HDF5 References - - HDF5 references were extended to support attributes, and object and dataset - selections that reside in another HDF5 file. For more information including - a list of new APIs, see - - https://portal.hdfgroup.org/display/HDF5/Update+to+References - - - Add new public function H5Sselect_adjust. - - This function shifts a dataspace selection by a specified logical offset - within the dataspace extent. This can be useful for VOL developers to - implement chunked datasets. - - (NAF - 2019/11/18) - - - Add new public function H5Sselect_project_intersection. - - This function computes the intersection between two dataspace selections - and projects that intersection into a third selection. This can be useful - for VOL developers to implement chunked or virtual datasets. - - (NAF - 2019/11/13, ID-148) - - - Add new public function H5VLget_file_type. - - This function returns a datatype equivalent to the supplied datatype but - with the location set to be in the file. This datatype can then be used - with H5Tconvert to convert data between file and in-memory representation. - This funcition is intended for use only by VOL connector developers. - - (NAF - 2019/11/08, ID-127) - - - New S3 and HDFS Virtual File Drivers (VFDs) - - This release has two new VFDs. The S3 VFD allows accessing HDF5 files on - AWS S3 buckets. HDFS VFD allows accessing HDF5 files stored on Apache HDFS. - See https://portal.hdfgroup.org/display/HDF5/Virtual+File+Drivers+-+S3+and+HDFS - for information on enabling those drivers and using those APIs. - - Below are specific instructions for enabling S3 VFD on Windows: - - Fix windows requirements and java tests. Windows requires CMake 3.13. - - Install openssl library (with dev files); - from "Shining Light Productions". msi package preferred. - - PATH should have been updated with the installation dir. - - set ENV variable OPENSSL_ROOT_DIR to the installation dir. - - set ENV variable OPENSSL_CONF to the cfg file, likely %OPENSSL_ROOT_DIR%\bin\openssl.cfg - - Install libcurl library (with dev files); - - download the latest released version using git: https://github.com/curl/curl.git - - Open a Visual Studio Command prompt - - change to the libcurl root folder - - run the "buildconf.bat" batch file - - change to the winbuild directory - - nmake /f Makefile.vc mode=dll MACHINE=x64 - - copy libcurl-vc-x64-release-dll-ipv6-sspi-winssl dir to C:\curl (installation dir) - - set ENV variable CURL_ROOT to C:\curl (installation dir) - - update PATH ENV variable to %CURL_ROOT%\bin (installation bin dir). - - the aws credentials file should be in %USERPROFILE%\.aws folder - - set the ENV variable HDF5_ROS3_TEST_BUCKET_URL to the s3 url for the - s3 bucket containing the HDF5 files to be accessed. - - FORTRAN Library: - ---------------- - - Added new Fortran parameters: - - H5F_LIBVER_ERROR_F - H5F_LIBVER_NBOUNDS_F - H5F_LIBVER_V18_F - H5F_LIBVER_V110_F - H5F_LIBVER_V112_F - - - Added new Fortran API: h5pget_libver_bounds_f - - (MSB - 2020/02/11, HDFFV-11018) - - Java Library: - ---------------- - - Added ability to test java library with VOLs. - - Created new CMake script that combines the java and vol test scripts. - - (ADB - 2020/02/03, HDFFV-10996) - - - Tests fail for non-English locale. - - In the JUnit tests with a non-English locale, only the part before - the decimal comma is replaced by XXXX and this leads to a comparison - error. Changed the regex for the Time substitution. - - (ADB - 2020/01/09, HDFFV-10995) - - - Tools: - ------ - - h5diff was updated to use the new reference APIs. - - h5diff uses the new reference APIs to compare references. - Attribute references can also be compared. - - (ADB - 2019/12/19, HDFFV-10980) - - - h5dump and h5ls were updated to use the new reference APIs. - - The tools library now use the new reference APIs to inspect a - file. Also the DDL spec was updated to reflect the format - changes produced with the new APIs. The export API and support - functions in the JNI were updated to match. - - - Other improvements and changes: - - - Hyperslab selection code was reworked to improve performance, getting more - than 10x speedup in some cases. - - - The HDF5 Library was enhanced to open files with Unicode names on Windows. - - - Deprecated H5Dvlen_reclaim() and replaced it with H5Treclaim(). - This routine is meant to be used when resources are internally allocated - when reading data, i.e. when using either vlen or new reference types. - This is applicable to both attribute and dataset reads. - - - h5repack was fixed to repack datasets with external storage - to other types of storage. - - -Support for new platforms, languages and compilers. -======================================= - - Added spectrum-mpi with clang, gcc and xl compilers on Linux 3.10.0 - - Added OpenMPI 3.1 and 4.0 with clang, gcc and Intel compilers on Linux 3.10.0 - - Added cray-mpich/PrgEnv with gcc and Intel compilers on Linux 4.14.180 - - Added spectrum mpi with clang, gcc and xl compilers on Linux 4.14.0 - - -Bug Fixes since HDF5-1.12.0-alpha1 release -========================================== - Library - ------- - - Improved performance when creating a large number of small datasets by - retrieving default property values from the API context instead of doing - skip list searches. - - (CJH - 2019/12/10, HDFFV-10658) - - - Fixed user-created data access properties not existing in the property list - returned by H5Dget_access_plist. Thanks to Steven Varga for submitting a - reproducer and a patch. - - (CJH - 2019/12/09, HDFFV-10934) - - - Fixed an assertion failure in the parallel library when collectively - filling chunks. As it is required that chunks be written in - monotonically non-decreasing order of offset in the file, this assertion - was being triggered when the list of chunk file space allocations being - passed to the collective chunk filling routine was not sorted according - to this particular requirement. - - The addition of a sort of the out of order chunks trades a bit of - performance for the elimination of this assertion and of any complaints - from MPI implementations about the file offsets used being out of order. - - (JTH - 2019/10/07, HDFFV-10792) - - FORTRAN library: - ---------------- - - - Corrected INTERFACE INTENT(IN) to INTENT(OUT) for buf_size in h5fget_file_image_f. - - (MSB - 2020/2/18, HDFFV-11029) - - Java Library: - ---------------- - - Added ability to test java library with VOLs. - - Created new CMake script that combines the java and vol test scripts. - - (ADB - 2020/02/03, HDFFV-10996) - - - Tests fail for non-English locale. - - In the JUnit tests with a non-English locale, only the part before - the decimal comma is replaced by XXXX and this leads to a comparison - error. Changed the regex for the Time substitution. - - (ADB - 2020/01/09, HDFFV-10995) - - Tools: - ------ - - h5repack was fixed to repack the reference attributes properly. - The code line that checks if the update of reference inside a compound - datatype is misplaced outside the code block loop that carries out the - check. In consequence, the next attribute that is not the reference - type was repacked again as the reference type and caused the failure of - repacking. The fix is to move the corresponding code line to the correct - code block. - - (KY -2020/02/10, HDFFV-11014) - - - h5diff was updated to use the new reference APIs. - - h5diff uses the new reference APIs to compare references. - Attribute references can also be compared. - - (ADB - 2019/12/19, HDFFV-10980) - - - h5dump and h5ls were updated to use the new reference APIs. - - The tools library now use the new reference APIs to inspect a - file. Also the DDL spec was updated to reflect the format - changes produced with the new APIs. The export API and support - functions in the JNI were updated to match. - - (ADB - 2019/12/06, HDFFV-10876 and HDFFV-10877) - - -Major Bug Fixes since HDF5-1.10.0 release -========================================= - - - For major bug fixes please see HISTORY-1_10_0-1_12_0.txt file - - -Supported Platforms -=================== - - Linux 2.6.32-696.16.1.el6.ppc64 gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-18) - #1 SMP ppc64 GNU/Linux g++ (GCC) 4.4.7 20120313 (Red Hat 4.4.7-18) - (ostrich) GNU Fortran (GCC) 4.4.7 20120313 (Red Hat 4.4.7-18) - 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, 5.2.0, 7.1.0 - Intel(R) C (icc), C++ (icpc), Fortran (icc) - compilers: - Version 17.0.0.098 Build 20160721 - MPICH 3.1.4 - - Linux-3.10.0- spectrum-mpi/rolling-release with cmake>3.10 and - 862.14.4.1chaos.ch6.ppc64le clang/3.9,8.0 - #1 SMP ppc64le GNU/Linux gcc/7.3 - (ray) xl/2016,2019 - - Linux 3.10.0- openmpi/3.1,4.0 with cmake>3.10 and - 957.12.2.1chaos.ch6.x86_64 clang 5.0 - #1 SMP x86_64 GNU/Linux gcc/7.3,8.2 - (serrano) intel/17.0,18.0/19.0 - - Linux 3.10.0- openmpi/3.1/4.0 with cmake>3.10 and - 1062.1.1.1chaos.ch6.x86_64 clang/3.9,5.0,8.0 - #1 SMP x86_64 GNU/Linux gcc/7.3,8.1,8.2 - (chama,quartz) intel/16.0,18.0,19.0 - - Linux 4.4.180-94.100-default cray-mpich/7.7.6 with PrgEnv-*/6.0.5, cmake>3.10 and - #1 SMP x86_64 GNU/Linux gcc/7.2.0,8.2.0 - (mutrino) intel/17.0,18.0 - - Linux 4.14.0- spectrum-mpi/rolling-release with cmake>3.10 and - 49.18.1.bl6.ppc64le clang/6.0,8.0 - #1 SMP ppc64le GNU/Linux gcc/7.3 - (lassen) xl/2019 - - 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 x64 Visual Studio 2015 w/ Intel C, Fortran 2018 (cmake) - Visual Studio 2015 w/ MSMPI 10 (cmake) - - Windows 10 x64 Visual Studio 2015 w/ Intel Fortran 18 (cmake) - Visual Studio 2017 w/ Intel Fortran 19 (cmake) - Visual Studio 2019 w/ Intel Fortran 19 (cmake) - - macOS 10.13.6 High Sierra Apple LLVM version 10.0.0 (clang/clang++-1000.10.44.4) - 64-bit gfortran GNU Fortran (GCC) 6.3.0 - (bear) Intel icc/icpc/ifort version 19.0.4 - - macOS 10.14.6 Mohave Apple LLVM version 10.0.1 (clang/clang++-1001.0.46.4) - 64-bit gfortran GNU Fortran (GCC) 6.3.0 - (bobcat) Intel icc/icpc/ifort version 19.0.4 - - -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 - = 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/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 -macOS 10.13.6 64-bit n y/y n y y ? -macOS 10.14.6 64-bit n y/y n y y ? -CentOS 6.7 Linux 2.6.18 x86_64 GNU n y/y n y y y -CentOS 6.7 Linux 2.6.18 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.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/n n y y y - - -Platform Shared Shared Shared Thread- - C libs F90 libs C++ libs safe -SunOS 5.11 32-bit y y y y -SunOS 5.11 64-bit y y y y -Windows 7 y y y y -Windows 7 x64 y y y y -Windows 7 Cygwin n n n y -Windows 7 x64 Cygwin n n n y -Windows 10 y y y y -Windows 10 x64 y y y y -macOS 10.13.6 64-bit y n y y -macOS 10.14.6 64-bit y n y y -CentOS 6.7 Linux 2.6.18 x86_64 GNU y y y y -CentOS 6.7 Linux 2.6.18 x86_64 Intel y y y n -CentOS 6.7 Linux 2.6.32 x86_64 PGI y y y n -CentOS 7.2 Linux 2.6.32 x86_64 GNU y y y n -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.9.3, 5.3.0, 6.2.0 - PGI C, Fortran, C++ for 64-bit target on - x86-64; - Version 17.10-0 - Intel(R) C (icc), C++ (icpc), Fortran (icc) - compilers: - Version 17.0.4.196 Build 20170411 - 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) - GCC Version 7.1.0 - OpenMPI 3.0.0-GCC-7.2.0-2.29 - Intel(R) C (icc) and C++ (icpc) compilers - Version 17.0.0.098 Build 20160721 - with NAG Fortran Compiler Release 6.1(Tozai) - PGI C (pgcc), C++ (pgc++), Fortran (pgf90) - compilers: - Version 18.4, 19.4 - MPICH 3.3 - OpenMPI 2.1.5, 3.1.3, 4.0.0 - - Fedora30 5.3.11-200.fc30.x86_64 - #1 SMP x86_64 GNU/Linux GNU gcc (GCC) 9.2.1 20190827 (Red Hat 9.2.1 20190827) - GNU Fortran (GCC) 9.2.1 20190827 (Red Hat 9.2.1 20190827) - (cmake and autotools) - - Mac OS X El Capitan 10.11.6 Apple LLVM version 7.3.0 (clang/clang++-703.0.29) - 64-bit gfortran GNU Fortran (GCC) 5.2.0 - (osx1011dev/osx1011test) Intel icc/icpc/ifort version 16.0.2 - - macOS 10.12.6 Sierra Apple LLVM version 9.0.0 (clang/clang++-900.0.39.2) - 64-bit gfortran GNU Fortran (GCC) 7.4.0 - (kite) Intel icc/icpc/ifort version 17.0.8 - - -Known Problems -============== - CMake files do not behave correctly with paths containing spaces. - Do not use spaces in paths because the required escaping for handling spaces - results in very complex and fragile build files. - ADB - 2019/05/07 - - 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, and in the HDF5 Jira database, available at - https://jira.hdfgroup.org/. Please register at https://www.hdfgroup.org to - create a free account for accessing the Jira database. Please report any - new problems found to help@hdfgroup.org. - - -CMake vs. Autotools installations -================================= -While both build systems produce similar results, there are differences. -Each system produces the same set of folders on linux (only CMake works -on standard Windows); bin, include, lib and share. Autotools places the -COPYING and RELEASE.txt file in the root folder, CMake places them in -the share folder. - -The bin folder contains the tools and the build scripts. Additionally, CMake -creates dynamic versions of the tools with the suffix "-shared". Autotools -installs one set of tools depending on the "--enable-shared" configuration -option. - build scripts - ------------- - Autotools: h5c++, h5cc, h5fc - CMake: h5c++, h5cc, h5hlc++, h5hlcc - -The include folder holds the header files and the fortran mod files. CMake -places the fortran mod files into separate shared and static subfolders, -while Autotools places one set of mod files into the include folder. Because -CMake produces a tools library, the header files for tools will appear in -the include folder. - -The lib folder contains the library files, and CMake adds the pkgconfig -subfolder with the hdf5*.pc files used by the bin/build scripts created by -the CMake build. CMake separates the C interface code from the fortran code by -creating C-stub libraries for each Fortran library. In addition, only CMake -installs the tools library. The names of the szip libraries are different -between the build systems. - -The share folder will have the most differences because CMake builds include -a number of CMake specific files for support of CMake's find_package and support -for the HDF5 Examples CMake project. - diff --git a/release_docs/HISTORY-1_13.txt b/release_docs/HISTORY-1_13.txt deleted file mode 100644 index 73b7feb..0000000 --- a/release_docs/HISTORY-1_13.txt +++ /dev/null @@ -1,3194 +0,0 @@ -HDF5 History -============ - -This file contains development history of the HDF5 1.13 releases from -the develop branch - -04. Release Information for hdf5-1.13.3 -03. Release Information for hdf5-1.13.2 -02. Release Information for hdf5-1.13.1 -01. Release Information for hdf5-1.13.0 - -[Search on the string '%%%%' for section breaks of each release.] - - -%%%%1.13.3%%%% - -HDF5 version 1.13.3 released on 2022-10-28 -================================================================================ - - -INTRODUCTION -============ - -This document describes the differences between this release and the previous -HDF5 release. It contains information on the platforms tested and known -problems in this release. For more details check the HISTORY*.txt files in the -HDF5 source. - -Note that documentation in the links below will be updated at the time of each -final release. - -Links to HDF5 documentation can be found on The HDF5 web page: - - https://portal.hdfgroup.org/display/HDF5/HDF5 - -The official HDF5 releases can be obtained from: - - https://www.hdfgroup.org/downloads/hdf5/ - -Changes from Release to Release and New Features in the HDF5-1.13.x release series -can be found at: - - https://portal.hdfgroup.org/display/HDF5/HDF5+Application+Developer%27s+Guide - -If you have any questions or comments, please send them to the HDF Help Desk: - - help@hdfgroup.org - - -CONTENTS -======== - -- New Features -- Support for new platforms and languages -- Bug Fixes since HDF5-1.13.2 -- Platforms Tested -- Known Problems -- CMake vs. Autotools installations - -New features and bug fixes previously added in 1.13.0 - 1.13.2 releases can be -found in release_docs/HISTORY-1_13.txt in the HDF5 source code. - - -New Features -============ - - Configuration: - ------------- - - Add new CMake configuration variable HDF5_USE_GNU_DIRS - - HDF5_USE_GNU_DIRS (default OFF) selects the use of GNU Coding Standard install - directory variables by including the CMake module, GNUInstallDirs(see CMake - documentation for details). The HDF_DIR_PATHS macro in the HDFMacros.cmake file - sets various PATH variables for use during the build, test and install processes. - By default, the historical settings for these variables will be used. - - (ADB - 2022/10/21, GH-2175, GH-1716) - - - Update CMake minimum version to 3.18 - - Updated CMake minimum version from 3.12 to 3.18 and removed version checks - which were added for Windows features not yet available in version 3.12. Also - removed configure macros and code checks for old style code compile checks. - - (ADB - 2022/08/29, HDFFV-11329) - - - Library: - -------- - - Added multi dataset I/O feature - - Added H5Dread_multi, H5Dread_multi_async, H5Dwrite_multi, and - H5Dwrite_multi_async API routines to allow I/O on multiple datasets with a - single API call. Added H5Dread_multi_f and H5Dwrite_multi_f Fortran - wrappers. Updated VOL callbacks for dataset I/O to support multi dataset - I/O. - - (NAF - 2022/10/19) - - - Parallel Library: - ----------------- - - - - - Fortran Library: - ---------------- - - Added pointer based H5Dfill_f API - - Added Fortran H5Dfill_f, which is fully equivalent to the C API. It accepts pointers, - fill value datatype and datatype of dataspace elements. - - (MSB - 2022/10/10, HDFFV-10734.) - - C++ Library: - ------------ - - - - - Java Library: - ------------- - - - - - Tools: - ------ - - - - - High-Level APIs: - ---------------- - - - - - C Packet Table API: - ------------------- - - - - - Internal header file: - --------------------- - - - - - Documentation: - -------------- - - Doxygen User Guide documentation is available when configured and generated. - The resulting documentation files will be in the share/html subdirectory - of the HDF5 install directory. - - (ADB - 2022/08/09) - - -Support for new platforms, languages and compilers -================================================== - - - - -Bug Fixes since HDF5-1.13.2 release -=================================== - Library - ------- - - Fixed an issue with variable length attributes - - Previously, if a variable length attribute was held open while its file - was opened through another handle, the same attribute was opened through - the second file handle, and the second file and attribute handles were - closed, attempting to write to the attribute through the first handle - would cause an error. - - (NAF - 2022/10/24) - - - Memory leak - - A memory leak was observed with variable-length fill value in - H5O_fill_convert() function in H5Ofill.c. The leak is - manifested by running valgrind on test/set_extent.c. - - Previously, fill->buf is used for datatype conversion - if it is large enough and the variable-length information - is therefore lost. A buffer is now allocated regardless - so that the element in fill->buf can later be reclaimed. - - (VC - 2022/10/10, HDFFV-10840) - - - Fixed an issue with hyperslab selections - - Previously, when combining hyperslab selections, it was possible for the - library to produce an incorrect combined selection. - - (NAF - 2022/09/25) - - - Fixed an issue with attribute type conversion with compound datatypes - - Previously, when performing type conversion for attribute I/O with a - compound datatype, the library would not fill the background buffer with - the contents of the destination, potentially causing data to be lost when - only writing to a subset of the compound fields. - - (NAF - 2022/08/22, GitHub #2016) - - - Java Library - ------------ - - Improve variable-length datatype handling in JNI. - - The existing JNI read-write functions could handle variable-length datatypes - that were simple variable-length datatype with an atomic sub-datatype. More - complex combinations could not be handled. Reworked the JNI read-write functions - to recursively inspect datatypes for variable-length sub-datatypes. - - (ADB - 2022/10/12, HDFFV-8701,10375) - - - Configuration - ------------- - - - - - Tools - ----- - - - - - Performance - ------------- - - - - - Fortran API - ----------- - - - - High-Level Library - ------------------ - - - - - Fortran High-Level APIs - ----------------------- - - - - - Documentation - ------------- - - - - - F90 APIs - -------- - - - - - C++ APIs - -------- - - - - - Testing - ------- - - - - -Platforms Tested -=================== - - Linux 5.16.14-200.fc35 GNU gcc (GCC) 11.2.1 20220127 (Red Hat 11.2.1-9) - #1 SMP x86_64 GNU/Linux GNU Fortran (GCC) 11.2.1 20220127 (Red Hat 11.2.1-9) - Fedora35 clang version 13.0.0 (Fedora 13.0.0-3.fc35) - (cmake and autotools) - - Linux 5.11.0-34-generic GNU gcc (GCC) 9.3.0-17ubuntu1 - #36-Ubuntu SMP x86_64 GNU/Linux GNU Fortran (GCC) 9.3.0-17ubuntu1 - Ubuntu 20.04 Ubuntu clang version 10.0.0-4 - (cmake and autotools) - - Linux 5.3.18-150300-cray_shasta_c cray-mpich/8.1.16 - #1 SMP x86_64 GNU/Linux Cray clang 14.0.0 - (crusher) GCC 11.2.0 - (cmake) - - Linux 4.14.0-115.35.1.1chaos openmpi 4.0.5 - #1 SMP aarch64 GNU/Linux GCC 9.2.0 (ARM-build-5) - (stria) GCC 7.2.0 (Spack GCC) - (cmake) - - Linux 4.14.0-115.35.1.3chaos spectrum-mpi/rolling-release - #1 SMP ppc64le GNU/Linux clang 12.0.1 - (vortex) GCC 8.3.1 - XL 16.1.1 - (cmake) - - Linux-4.14.0-115.21.2 spectrum-mpi/rolling-release - #1 SMP ppc64le GNU/Linux clang 12.0.1, 14.0.5 - (lassen) GCC 8.3.1 - XL 16.1.1.2, 2021,09.22, 2022.08.05 - (cmake) - - Linux-4.12.14-197.99-default cray-mpich/7.7.14 - #1 SMP x86_64 GNU/Linux cce 12.0.3 - (theta) GCC 11.2.0 - llvm 9.0 - Intel 19.1.2 - - Linux 3.10.0-1160.36.2.el7.ppc64 gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-39) - #1 SMP ppc64be GNU/Linux g++ (GCC) 4.8.5 20150623 (Red Hat 4.8.5-39) - Power8 (echidna) GNU Fortran (GCC) 4.8.5 20150623 (Red Hat 4.8.5-39) - - Linux 3.10.0-1160.24.1.el7 GNU C (gcc), Fortran (gfortran), C++ (g++) - #1 SMP x86_64 GNU/Linux compilers: - Centos7 Version 4.8.5 20150623 (Red Hat 4.8.5-4) - (jelly/kituo/moohan) Version 4.9.3, Version 5.3.0, Version 6.3.0, - Version 7.2.0, Version 8.3.0, Version 9.1.0 - Intel(R) C (icc), C++ (icpc), Fortran (icc) - compilers: - Version 17.0.0.098 Build 20160721 - GNU C (gcc) and C++ (g++) 4.8.5 compilers - with NAG Fortran Compiler Release 6.1(Tozai) - Intel(R) C (icc) and C++ (icpc) 17.0.0.098 compilers - with NAG Fortran Compiler Release 6.1(Tozai) - MPICH 3.1.4 compiled with GCC 4.9.3 - MPICH 3.3 compiled with GCC 7.2.0 - OpenMPI 2.1.6 compiled with icc 18.0.1 - OpenMPI 3.1.3 and 4.0.0 compiled with GCC 7.2.0 - PGI C, Fortran, C++ for 64-bit target on - x86_64; - Version 19.10-0 - (autotools and cmake) - - Linux-3.10.0-1160.0.0.1chaos openmpi-4.1.2 - #1 SMP x86_64 GNU/Linux clang 6.0.0, 11.0.1 - (quartz) GCC 7.3.0, 8.1.0 - Intel 19.0.4, 2022.2, oneapi.2022.2 - - Linux-3.10.0-1160.71.1.1chaos openmpi/4.1 - #1 SMP x86_64 GNU/Linux GCC 7.2.0 - (skybridge) Intel/19.1 - (cmake) - - Linux-3.10.0-1160.66.1.1chaos openmpi/4.1 - #1 SMP x86_64 GNU/Linux GCC 7.2.0 - (attaway) Intel/19.1 - (cmake) - - Linux-3.10.0-1160.59.1.1chaos openmpi/4.1 - #1 SMP x86_64 GNU/Linux Intel/19.1 - (chama) (cmake) - - macOS Apple M1 11.6 Apple clang version 12.0.5 (clang-1205.0.22.11) - Darwin 20.6.0 arm64 gfortran GNU Fortran (Homebrew GCC 11.2.0) 11.1.0 - (macmini-m1) Intel icc/icpc/ifort version 2021.3.0 202106092021.3.0 20210609 - - macOS Big Sur 11.3.1 Apple clang version 12.0.5 (clang-1205.0.22.9) - Darwin 20.4.0 x86_64 gfortran GNU Fortran (Homebrew GCC 10.2.0_3) 10.2.0 - (bigsur-1) Intel icc/icpc/ifort version 2021.2.0 20210228 - - macOS High Sierra 10.13.6 Apple LLVM version 10.0.0 (clang-1000.10.44.4) - 64-bit gfortran GNU Fortran (GCC) 6.3.0 - (bear) Intel icc/icpc/ifort version 19.0.4.233 20190416 - - macOS Sierra 10.12.6 Apple LLVM version 9.0.0 (clang-900.39.2) - 64-bit gfortran GNU Fortran (GCC) 7.4.0 - (kite) Intel icc/icpc/ifort version 17.0.2 - - Mac OS X El Capitan 10.11.6 Apple clang version 7.3.0 from Xcode 7.3 - 64-bit gfortran GNU Fortran (GCC) 5.2.0 - (osx1011test) Intel icc/icpc/ifort version 16.0.2 - - - Linux 2.6.32-573.22.1.el6 GNU C (gcc), Fortran (gfortran), C++ (g++) - #1 SMP x86_64 GNU/Linux compilers: - Centos6 Version 4.4.7 20120313 - (platypus) Version 4.9.3, 5.3.0, 6.2.0 - MPICH 3.1.4 compiled with GCC 4.9.3 - PGI C, Fortran, C++ for 64-bit target on - x86_64; - Version 19.10-0 - - Windows 10 x64 Visual Studio 2015 w/ Intel C/C++/Fortran 18 (cmake) - Visual Studio 2017 w/ Intel C/C++/Fortran 19 (cmake) - Visual Studio 2019 w/ clang 12.0.0 - with MSVC-like command-line (C/C++ only - cmake) - Visual Studio 2019 w/ Intel C/C++/Fortran oneAPI 2021 (cmake) - Visual Studio 2019 w/ MSMPI 10.1 (C only - cmake) - - -Known Problems -============== - - ************************************************************ - * _ * - * (_) * - * __ ____ _ _ __ _ __ _ _ __ __ _ * - * \ \ /\ / / _` | '__| '_ \| | '_ \ / _` | * - * \ V V / (_| | | | | | | | | | | (_| | * - * \_/\_/ \__,_|_| |_| |_|_|_| |_|\__, | * - * __/ | * - * |___/ * - * * - * Please refrain from running any program (including * - * HDF5 tests) which uses the subfiling VFD on Perlmutter * - * at the National Energy Research Scientific Computing * - * Center, NERSC. * - * Doing so may cause a system disruption due to subfiling * - * crashing Lustre. The sytem's Lustre bug is expected * - * to be resolved by 2023. * - * * - ************************************************************ - - CMake files do not behave correctly with paths containing spaces. - Do not use spaces in paths because the required escaping for handling spaces - results in very complex and fragile build files. - ADB - 2019/05/07 - - 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. - - CPP ptable test fails on both VS2017 and VS2019 with Intel compiler, JIRA - issue: HDFFV-10628. This test will pass with VS2015 with Intel compiler. - - The subsetting option in ph5diff currently will fail and should be avoided. - The subsetting option works correctly in serial h5diff. - - Several tests currently fail on certain platforms: - MPI_TEST-t_bigio fails with spectrum-mpi on ppc64le platforms. - - MPI_TEST-t_subfiling_vfd and MPI_TEST_EXAMPLES-ph5_subfiling fail with - cray-mpich on theta and with XL compilers on ppc64le platforms. - - MPI_TEST_testphdf5_tldsc fails with cray-mpich 7.7 on cori and theta. - - Known problems in previous releases can be found in the HISTORY*.txt files - in the HDF5 source. Please report any new problems found to - help@hdfgroup.org. - - -CMake vs. Autotools installations -================================= -While both build systems produce similar results, there are differences. -Each system produces the same set of folders on linux (only CMake works -on standard Windows); bin, include, lib and share. Autotools places the -COPYING and RELEASE.txt file in the root folder, CMake places them in -the share folder. - -The bin folder contains the tools and the build scripts. Additionally, CMake -creates dynamic versions of the tools with the suffix "-shared". Autotools -installs one set of tools depending on the "--enable-shared" configuration -option. - build scripts - ------------- - Autotools: h5c++, h5cc, h5fc - CMake: h5c++, h5cc, h5hlc++, h5hlcc - -The include folder holds the header files and the fortran mod files. CMake -places the fortran mod files into separate shared and static subfolders, -while Autotools places one set of mod files into the include folder. Because -CMake produces a tools library, the header files for tools will appear in -the include folder. - -The lib folder contains the library files, and CMake adds the pkgconfig -subfolder with the hdf5*.pc files used by the bin/build scripts created by -the CMake build. CMake separates the C interface code from the fortran code by -creating C-stub libraries for each Fortran library. In addition, only CMake -installs the tools library. The names of the szip libraries are different -between the build systems. - -The share folder will have the most differences because CMake builds include -a number of CMake specific files for support of CMake's find_package and support -for the HDF5 Examples CMake project. - -The issues with the gif tool are: - HDFFV-10592 CVE-2018-17433 - HDFFV-10593 CVE-2018-17436 - HDFFV-11048 CVE-2020-10809 -These CVE issues have not yet been addressed and can be avoided by not building -the gif tool. Disable building the High-Level tools with these options: - autotools: --disable-hltools - cmake: HDF5_BUILD_HL_TOOLS=OFF - - -%%%%1.13.2%%%% - -HDF5 version 1.13.2 released on 2022-08-15 -================================================================================ - - -INTRODUCTION -============ - -This document describes the differences between this release and the previous -HDF5 release. It contains information on the platforms tested and known -problems in this release. For more details check the HISTORY*.txt files in the -HDF5 source. - -Note that documentation in the links below will be updated at the time of each -final release. - -Links to HDF5 documentation can be found on The HDF5 web page: - - https://portal.hdfgroup.org/display/HDF5/HDF5 - -The official HDF5 releases can be obtained from: - - https://www.hdfgroup.org/downloads/hdf5/ - -Changes from Release to Release and New Features in the HDF5-1.13.x release series -can be found at: - - https://portal.hdfgroup.org/display/HDF5/HDF5+Application+Developer%27s+Guide - -If you have any questions or comments, please send them to the HDF Help Desk: - - help@hdfgroup.org - - -CONTENTS -======== - -- New Features -- Support for new platforms and languages -- Bug Fixes since HDF5-1.13.1 -- Platforms Tested -- Known Problems -- CMake vs. Autotools installations - - -New Features -============ - - Configuration: - ------------- - - Correct the usage of CMAKE_Fortran_MODULE_DIRECTORY and where to - install Fortran mod files. - - The Fortran modules files, ending in .mod are files describing a - Fortran 90 (and above) module API and ABI. These are not like C - header files describing an API, they are compiler dependent and - arch dependent, and not easily readable by a human being. They are - nevertheless searched for in the includes directories by gfortran - (in directories specified with -I). - - Autotools configure uses the -fmoddir option to specify the folder. - CMake will use "mod" folder by default unless overridden by the CMake - variable; HDF5_INSTALL_MODULE_DIR. - - (ADB - 2022/07/21) - - - HDF5 memory allocation sanity checking is now off by default for - Autotools debug builds - - HDF5 can be configured to perform sanity checking on internal memory - allocations by adding heap canaries to these allocations. However, - enabling this option can cause issues with external filter plugins - when working with (reallocating/freeing/allocating and passing back) - buffers. - - Previously, this option was off by default for all CMake build types, - but only off by default for non-debug Autotools builds. Since debug - is the default build mode for HDF5 when built from source with - Autotools, this can result in surprising segfaults that don't occur - when an application is built against a release version of HDF5. - Therefore, this option is now off by default for all build types - across both CMake and Autotools. - - (JTH - 2022/03/01) - - - Library: - -------- - - Onion VFD - - The onion VFD allows creating "versioned" HDF5 files. File open/close - operations after initial file creation will add changes to an external - "onion" file (.onion extension by default) instead of the original file. - Each written revision can be opened independently. - - To open a file with the onion VFD, use the H5Pset_fapl_onion() API call - (does not need to be used for the initial creation of the file). The - options for the H5FD_onion_fapl_info_t struct are described in H5FDonion.h. - - The H5FDonion_get_revision_count() API call can be used to query a file - to find out how many revisions have been created. - - (DER - 2022/08/02) - - - Subfiling VFD - - The HDF5 Subfiling VFD is a new MPI-based file driver that allows an - HDF5 application to distribute an HDF5 file across a collection of - "sub-files" in equal-sized data segment "stripes". I/O to the logical - HDF5 file is then directed to the appropriate "sub-file" according to - the Subfiling configuration and a system of I/O concentrators, which - are MPI ranks operating worker threads. - - By allowing a configurable stripe size, number of I/O concentrators and - method for selecting MPI ranks as I/O concentrators, the Subfiling VFD - aims to enable an HDF5 application to find a middle ground between the - single shared file and file-per-process approaches to parallel file I/O - for the particular machine the application is running on. In general, the - goal is to avoid some of the complexity of the file-per-process approach - while also minimizing the locking issues of the single shared file approach - on a parallel file system. - - Also included with the Subfiling VFD is a new h5fuse.sh script which - reads a Subfiling configuration file and then combines the various - sub-files back into a single HDF5 file. By default, the h5fuse.sh script - looks in the current directory for the Subfiling configuration file, - but can also be pointed to the configuration file with a command-line - option. - - The Subfiling VFD can be used by calling H5Pset_fapl_subfiling() on a - File Access Property List and using that FAPL for file operations. Note - that the Subfiling VFD currently has the following limitations: - - * Does not currently support HDF5 collective I/O, other than collective - metadata writes and reads as set by H5Pset_coll_metadata_write() and - H5Pset_all_coll_metadata_ops() - - * The Subfiling VFD should not currently be used with an HDF5 library - that has been built with thread-safety enabled. This can cause deadlocks - when failures occur due to interactions between the VFD's internal - threads and HDF5's global lock. - - (JTH - 2022/07/22) - - - Parallel Library: - ----------------- - - - - - Fortran Library: - ---------------- - - - - - C++ Library: - ------------ - - Added two new constructors to H5::H5File class - - Two new constructors were added to allow opening a file with non-default - access property list. - - - Java Library: - ------------- - - Added version of H5Rget_name to return the name as a Java string. - - Other functions that get_name process the get_size then get the name - within the JNI implementation. Now H5Rget_name has a H5Rget_name_string. - - (ADB - 2022/07/12) - - - Added reference support to H5A and H5D read write vlen JNI functions. - - Added the implementation to handle VL references as an Array of Lists - of byte arrays. - - The JNI wrappers translate the Array of Lists to/from the hvl_t vlen - structures. The wrappers use the specified datatype arguments for the - List type translation, it is expected that the Java type is correct. - - (ADB - 2022/07/11, HDFFV-11318) - - - H5A and H5D read write vlen JNI functions were incorrect. - - Corrected the vlen function implementations for the basic primitive types. - The VLStrings functions now correctly use the implementation that had been - the VL functions. (VLStrings functions did not have an implementation.) - The new VL functions implementation now expect an Array of Lists between - Java and the JNI wrapper. - - The JNI wrappers translate the Array of Lists to/from the hvl_t vlen - structures. The wrappers use the specified datatype arguments for the - List type translation, it is expected that the Java type is correct. - - (ADB - 2022/07/07, HDFFV-11310) - - - H5A and H5D read write JNI functions had flawed vlen datatype check. - - Adapted tools function for JNI utils file. This reduced multiple calls - to a single check and variable. The variable can then be used to call - the H5Treclaim function. Adjusted existing test and added new test. - - (ADB - 2022/06/22) - - - Tools: - ------ - - Building h5perf/h5perf_serial in "standalone mode" has been removed - - Building h5perf separately from the library was added circa 2008 - in HDF5 1.6.8. It's unclear what purpose this serves and the current - implementation is currently broken. The existing files require - H5private.h and the symbols we use to determine how the copied - platform-independence scheme should be used come from H5pubconf.h, - which may not match the compiler being used to build standalone h5perf. - - Due to the maintenance overhead and lack of a clear use case, support - for building h5perf and h5perf_serial separately from the HDF5 library - has been removed. - - (DER - 2022/07/15) - - - The perf tool has been removed - - The small `perf` tool didn't really do anything special and the name - conflicts with gnu's perf tool. - - (DER - 2022/07/15, GitHub #1787) - - - 1.10 References in containers were not displayed properly by h5dump. - - Ported 1.10 tools display function to provide ability to inspect and - display 1.10 reference data. - - (ADB - 2022/06/22) - - - High-Level APIs: - ---------------- - - - - - C Packet Table API: - ------------------- - - - - - Internal header file: - --------------------- - - All the #defines named H5FD_CTL__* were renamed to H5FD_CTL_*, i.e. the double underscore was reduced to a single underscore. - - - Documentation: - -------------- - - - - -Support for new platforms, languages and compilers -================================================== - - - - -Bug Fixes since HDF5-1.13.1 release -=================================== - Library - ------- - - The offset parameter in H5Dchunk_iter() is now scaled properly - - In earlier HDF5 1.13.x versions, the chunk offset was not scaled by the - chunk dimensions. This offset parameter in the callback now matches - that of H5Dget_chunk_info(). - - (@mkitti - 2022/08/06, GitHub #1419) - - - Converted an assertion on (possibly corrupt) file contents to a normal - error check - - Previously, the library contained an assertion check that a read superblock - doesn't contain a superblock extension message when the superblock - version < 2. When a corrupt HDF5 file is read, this assertion can be triggered - in debug builds of HDF5. In production builds, this situation could cause - either a library error or a crash, depending on the platform. - - (JTH - 2022/07/08, HDFFV-11316/HDFFV-11317) - - - Java Library - ------------ - - - - - Configuration - ------------- - - - - - Tools - ----- - - - - - Performance - ------------- - - - - - Fortran API - ----------- - - h5open_f and h5close_f fixes - * Fixed it so both h5open_f and h5close_f can be called multiple times. - * Fixed an issue with open objects remaining after h5close_f was called. - * Added additional tests. - (MSB, 2022/04/19, HDFFV-11306) - - - High-Level Library - ------------------ - - - - - Fortran High-Level APIs - ----------------------- - - - - - Documentation - ------------- - - - - - F90 APIs - -------- - - - - - C++ APIs - -------- - - - - - Testing - ------- - - - - -Platforms Tested -=================== - - Linux 5.16.14-200.fc35 GNU gcc (GCC) 11.2.1 20220127 (Red Hat 11.2.1-9) - #1 SMP x86_64 GNU/Linux GNU Fortran (GCC) 11.2.1 20220127 (Red Hat 11.2.1-9) - Fedora35 clang version 13.0.0 (Fedora 13.0.0-3.fc35) - (cmake and autotools) - - Linux 5.11.0-34-generic GNU gcc (GCC) 9.3.0-17ubuntu1 - #36-Ubuntu SMP x86_64 GNU/Linux GNU Fortran (GCC) 9.3.0-17ubuntu1 - Ubuntu 20.04 Ubuntu clang version 10.0.0-4 - (cmake and autotools) - - Linux 5.3.18-150300-cray_shasta_c cray-mpich/8.1.16 - #1 SMP x86_64 GNU/Linux Cray clang 14.0.0 - (crusher) GCC 11.2.0 - (cmake) - - Linux 5.3.18-24-cray_shasta_c cray-mpich/8.1.12 - #1 SMP x86_64 GNU/Linux Cray clang 13.0.0 - (spock) AMD clang 13.0.0 - GCC 8.2.0, 11.2.0 - (cmake) - - Linux 4.14.0-115.35.1.1chaos openmpi 4.0.5 - #1 SMP aarch64 GNU/Linux GCC 9.2.0 (ARM-build-5) - (stria) GCC 7.2.0 (Spack GCC) - (cmake) - - Linux 4.14.0-115.35.1.3chaos spectrum-mpi/rolling-release - #1 SMP ppc64le GNU/Linux clang 12.0.1 - (vortex) GCC 8.3.1 - XL 16.1.1 - (cmake) - - Linux-4.14.0-115.21.2 spectrum-mpi/rolling-release - #1 SMP ppc64le GNU/Linux clang 8.0.1, 11.0.1 - (lassen) GCC 7.3.1 - XL 16.1.1.2 - (cmake) - - Linux-4.12.14-150.75-default cray-mpich/7.7.10 - #1 SMP x86_64 GNU/Linux GCC 7.3.0, 8.2.0 - (cori) Intel (R) Version 19.0.3.199 - (cmake) - - Linux 3.10.0-1160.36.2.el7.ppc64 gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-39) - #1 SMP ppc64be GNU/Linux g++ (GCC) 4.8.5 20150623 (Red Hat 4.8.5-39) - Power8 (echidna) GNU Fortran (GCC) 4.8.5 20150623 (Red Hat 4.8.5-39) - - Linux 3.10.0-1160.24.1.el7 GNU C (gcc), Fortran (gfortran), C++ (g++) - #1 SMP x86_64 GNU/Linux compilers: - Centos7 Version 4.8.5 20150623 (Red Hat 4.8.5-4) - (jelly/kituo/moohan) Version 4.9.3, Version 5.3.0, Version 6.3.0, - Version 7.2.0, Version 8.3.0, Version 9.1.0 - Intel(R) C (icc), C++ (icpc), Fortran (icc) - compilers: - Version 17.0.0.098 Build 20160721 - GNU C (gcc) and C++ (g++) 4.8.5 compilers - with NAG Fortran Compiler Release 6.1(Tozai) - Intel(R) C (icc) and C++ (icpc) 17.0.0.098 compilers - with NAG Fortran Compiler Release 6.1(Tozai) - MPICH 3.1.4 compiled with GCC 4.9.3 - MPICH 3.3 compiled with GCC 7.2.0 - OpenMPI 2.1.6 compiled with icc 18.0.1 - OpenMPI 3.1.3 and 4.0.0 compiled with GCC 7.2.0 - PGI C, Fortran, C++ for 64-bit target on - x86_64; - Version 19.10-0 - (autotools and cmake) - - Linux-3.10.0-1160.71.1.1chaos openmpi-4.0.0 - #1 SMP x86_64 GNU/Linux clang 6.0.0, 11.0.1 - (quartz) GCC 7.3.0, 8.1.0 - Intel 16.0.4, 18.0.2, 19.0.4 - (cmake) - - Linux-3.10.0-1160.71.1.1chaos openmpi/4.1 - #1 SMP x86_64 GNU/Linux GCC 7.2.0 - (skybridge) Intel/19.1 - (cmake) - - Linux-3.10.0-1160.66.1.1chaos openmpi/4.1 - #1 SMP x86_64 GNU/Linux GCC 7.2.0 - (attaway) Intel/19.1 - (cmake) - - Linux-3.10.0-1160.59.1.1chaos openmpi/4.1 - #1 SMP x86_64 GNU/Linux Intel/19.1 - (chama) (cmake) - - macOS Apple M1 11.6 Apple clang version 12.0.5 (clang-1205.0.22.11) - Darwin 20.6.0 arm64 gfortran GNU Fortran (Homebrew GCC 11.2.0) 11.1.0 - (macmini-m1) Intel icc/icpc/ifort version 2021.3.0 202106092021.3.0 20210609 - - macOS Big Sur 11.3.1 Apple clang version 12.0.5 (clang-1205.0.22.9) - Darwin 20.4.0 x86_64 gfortran GNU Fortran (Homebrew GCC 10.2.0_3) 10.2.0 - (bigsur-1) Intel icc/icpc/ifort version 2021.2.0 20210228 - - macOS High Sierra 10.13.6 Apple LLVM version 10.0.0 (clang-1000.10.44.4) - 64-bit gfortran GNU Fortran (GCC) 6.3.0 - (bear) Intel icc/icpc/ifort version 19.0.4.233 20190416 - - macOS Sierra 10.12.6 Apple LLVM version 9.0.0 (clang-900.39.2) - 64-bit gfortran GNU Fortran (GCC) 7.4.0 - (kite) Intel icc/icpc/ifort version 17.0.2 - - Mac OS X El Capitan 10.11.6 Apple clang version 7.3.0 from Xcode 7.3 - 64-bit gfortran GNU Fortran (GCC) 5.2.0 - (osx1011test) Intel icc/icpc/ifort version 16.0.2 - - - Linux 2.6.32-573.22.1.el6 GNU C (gcc), Fortran (gfortran), C++ (g++) - #1 SMP x86_64 GNU/Linux compilers: - Centos6 Version 4.4.7 20120313 - (platypus) Version 4.9.3, 5.3.0, 6.2.0 - MPICH 3.1.4 compiled with GCC 4.9.3 - PGI C, Fortran, C++ for 64-bit target on - x86_64; - Version 19.10-0 - - Windows 10 x64 Visual Studio 2015 w/ Intel C/C++/Fortran 18 (cmake) - Visual Studio 2017 w/ Intel C/C++/Fortran 19 (cmake) - Visual Studio 2019 w/ clang 12.0.0 - with MSVC-like command-line (C/C++ only - cmake) - Visual Studio 2019 w/ Intel C/C++/Fortran oneAPI 2021 (cmake) - Visual Studio 2019 w/ MSMPI 10.1 (C only - cmake) - - -Known Problems -============== - Setting a variable-length dataset fill value will leak the memory allocated - for the p field of the hvl_t struct. A fix is in progress for this. - HDFFV-10840 - - CMake files do not behave correctly with paths containing spaces. - Do not use spaces in paths because the required escaping for handling spaces - results in very complex and fragile build files. - ADB - 2019/05/07 - - 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. - - CPP ptable test fails on both VS2017 and VS2019 with Intel compiler, JIRA - issue: HDFFV-10628. This test will pass with VS2015 with Intel compiler. - - The subsetting option in ph5diff currently will fail and should be avoided. - The subsetting option works correctly in serial h5diff. - - Several tests currently fail on certain platforms: - MPI_TEST-t_bigio fails with spectrum-mpi on ppc64le platforms. - - MPI_TEST-t_subfiling_vfd and MPI_TEST_EXAMPLES-ph5_subfiling fail with - cray-mpich on theta and with XL compilers on ppc64le platforms. - - MPI_TEST_testphdf5_tldsc fails with cray-mpich 7.7 on cori and theta. - - Known problems in previous releases can be found in the HISTORY*.txt files - in the HDF5 source. Please report any new problems found to - help@hdfgroup.org. - - -CMake vs. Autotools installations -================================= -While both build systems produce similar results, there are differences. -Each system produces the same set of folders on linux (only CMake works -on standard Windows); bin, include, lib and share. Autotools places the -COPYING and RELEASE.txt file in the root folder, CMake places them in -the share folder. - -The bin folder contains the tools and the build scripts. Additionally, CMake -creates dynamic versions of the tools with the suffix "-shared". Autotools -installs one set of tools depending on the "--enable-shared" configuration -option. - build scripts - ------------- - Autotools: h5c++, h5cc, h5fc - CMake: h5c++, h5cc, h5hlc++, h5hlcc - -The include folder holds the header files and the fortran mod files. CMake -places the fortran mod files into separate shared and static subfolders, -while Autotools places one set of mod files into the include folder. Because -CMake produces a tools library, the header files for tools will appear in -the include folder. - -The lib folder contains the library files, and CMake adds the pkgconfig -subfolder with the hdf5*.pc files used by the bin/build scripts created by -the CMake build. CMake separates the C interface code from the fortran code by -creating C-stub libraries for each Fortran library. In addition, only CMake -installs the tools library. The names of the szip libraries are different -between the build systems. - -The share folder will have the most differences because CMake builds include -a number of CMake specific files for support of CMake's find_package and support -for the HDF5 Examples CMake project. - -The issues with the gif tool are: - HDFFV-10592 CVE-2018-17433 - HDFFV-10593 CVE-2018-17436 - HDFFV-11048 CVE-2020-10809 -These CVE issues have not yet been addressed and can be avoided by not building -the gif tool. Disable building the High-Level tools with these options: - autotools: --disable-hltools - cmake: HDF5_BUILD_HL_TOOLS=OFF - - -%%%%1.13.1%%%% - -HDF5 version 1.13.1 released on 2022-03-02 -================================================================================ - - -INTRODUCTION -============ - -This document describes the differences between this release and the previous -HDF5 release. It contains information on the platforms tested and known -problems in this release. For more details check the HISTORY*.txt files in the -HDF5 source. - -Note that documentation in the links below will be updated at the time of each -final release. - -Links to HDF5 documentation can be found on The HDF5 web page: - - https://portal.hdfgroup.org/display/HDF5/HDF5 - -The official HDF5 releases can be obtained from: - - https://www.hdfgroup.org/downloads/hdf5/ - -Changes from Release to Release and New Features in the HDF5-1.13.x release series -can be found at: - - https://portal.hdfgroup.org/display/HDF5/HDF5+Application+Developer%27s+Guide - -If you have any questions or comments, please send them to the HDF Help Desk: - - help@hdfgroup.org - - -CONTENTS -======== - -- New Features -- Support for new platforms and languages -- Bug Fixes since HDF5-1.13.0 -- Platforms Tested -- Known Problems -- CMake vs. Autotools installations - - -New Features -============ - - Configuration: - ------------- - - Reworked corrected path searched by CMake find_package command - - The install path for cmake find_package files had been changed to use - "share/cmake" - for all platforms. However setting the HDF5_ROOT variable failed to locate - the configuration files. The build variable HDF5_INSTALL_CMAKE_DIR is now - set to the /cmake folder. The location of the configuration - files can still be specified by the "HDF5_DIR" variable. - - (ADB - 2022/02/02) - - - CPack will now generate RPM/DEB packages. - - Enabled the RPM and DEB CPack generators on linux. In addition to - generating STGZ and TGZ packages, CPack will try to package the - library for RPM and DEB packages. This is the initial attempt and - may change as issues are resolved. - - (ADB - 2022/01/27) - - - Added new option to the h5cc scripts produced by CMake. - - Add -showconfig option to h5cc scripts to cat the - libhdf5.settings file to the standard output. - - (ADB - 2022/01/25) - - - CMake will now run the PowerShell script tests in test/ by default - on Windows. - - The test directory includes several shell script tests that previously - were not run by CMake on Windows. These are now run by default. - If TEST_SHELL_SCRIPTS is ON and PWSH is found, the PowerShell scripts - will execute. Similar to the bash scripts on unix platforms. - - (ADB - 2021/11/23) - - - Library: - -------- - - Add a new public function, H5ESget_requests() - - This function allows the user to retrieve request pointers from an event - set. It is intended for use primarily by VOL plugin developers. - - (NAF - 2022/01/11) - - - Parallel Library: - ----------------- - - Several improvements to parallel compression feature, including: - - * Improved support for collective I/O (for both writes and reads) - - * Significant reduction of memory usage for the feature as a whole - - * Reduction of copying of application data buffers passed to H5Dwrite - - * Addition of support for incremental file space allocation for filtered - datasets created in parallel. Incremental file space allocation is the - default for these types of datasets (early file space allocation is - also still supported), while early file space allocation is still the - default (and only supported at allocation time) for unfiltered datasets - created in parallel. Incremental file space allocation should help with - parallel HDF5 applications that wish to use fill values on filtered - datasets, but would typically avoid doing so since dataset creation in - parallel would often take an excessive amount of time. Since these - datasets previously used early file space allocation, HDF5 would - allocate space for and write fill values to every chunk in the dataset - at creation time, leading to noticeable overhead. Instead, with - incremental file space allocation, allocation of file space for chunks - and writing of fill values to those chunks will be delayed until each - individual chunk is initially written to. - - * Addition of support for HDF5's "don't filter partial edge chunks" flag - (https://portal.hdfgroup.org/display/HDF5/H5P_SET_CHUNK_OPTS) - - * Addition of proper support for HDF5 fill values with the feature - - * Addition of 'H5_HAVE_PARALLEL_FILTERED_WRITES' macro to H5pubconf.h - so HDF5 applications can determine at compile-time whether the feature - is available - - * Addition of simple examples (ph5_filtered_writes.c and - ph5_filtered_writes_no_sel.c) under examples directory to demonstrate - usage of the feature - - * Improved coverage of regression testing for the feature - - (JTH - 2022/2/23) - - -Support for new platforms, languages and compilers -================================================== - - None - - -Bug Fixes since HDF5-1.13.0 release -=================================== - Library - ------- - - Fixed a metadata cache bug when resizing a pinned/protected cache entry - - When resizing a pinned/protected cache entry, the metadata - cache code previously would wait until after resizing the - entry to attempt to log the newly-dirtied entry. This - caused H5C_resize_entry to mark the entry as dirty and made - H5AC_resize_entry think that it didn't need to add the - newly-dirtied entry to the dirty entries skiplist. - - Thus, a subsequent H5AC__log_moved_entry would think it - needed to allocate a new entry for insertion into the dirty - entry skip list, since the entry didGn't exist on that list. - This caused an assertion failure, as the code to allocate a - new entry assumes that the entry is not dirty. - - (JRM - 2022/02/28) - - - Issue #1436 identified a problem with the H5_VERS_RELEASE check in the - H5check_version function. - - Investigating the original fix, #812, we discovered some inconsistencies - with a new block added to check H5_VERS_RELEASE for incompatibilities. - This new block was not using the new warning text dealing with the - H5_VERS_RELEASE check and would cause the warning to be duplicated. - - By removing the H5_VERS_RELEASE argument in the first check for - H5_VERS_MAJOR and H5_VERS_MINOR, the second check would only check - the H5_VERS_RELEASE for incompatible release versions. This adheres - to the statement that except for the develop branch, all release versions - in a major.minor maintenance branch should be compatible. The prerequisite - is that an application will not use any APIs not present in all release versions. - - (ADB - 2022/02/24, #1438) - - - Unified handling of collective metadata reads to correctly fix old bugs - - Due to MPI-related issues occurring in HDF5 from mismanagement of the - status of collective metadata reads, they were forced to be disabled - during chunked dataset raw data I/O in the HDF5 1.10.5 release. This - wouldn't generally have affected application performance because HDF5 - already disables collective metadata reads during chunk lookup, since - it is generally unlikely that the same chunks will be read by all MPI - ranks in the I/O operation. However, this was only a partial solution - that wasn't granular enough. - - This change now unifies the handling of the file-global flag and the - API context-level flag for collective metadata reads in order to - simplify querying of the true status of collective metadata reads. Thus, - collective metadata reads are once again enabled for chunked dataset - raw data I/O, but manually controlled at places where some processing - occurs on MPI rank 0 only and would cause issues when collective - metadata reads are enabled. - - (JTH - 2021/11/16, HDFFV-10501/HDFFV-10562) - - - Fixed several potential MPI deadlocks in library failure conditions - - In the parallel library, there were several places where MPI rank 0 - could end up skipping past collective MPI operations when some failure - occurs in rank 0-specific processing. This would lead to deadlocks - where rank 0 completes an operation while other ranks wait in the - collective operation. These places have been rewritten to have rank 0 - push an error and try to cleanup after the failure, then continue to - participate in the collective operation to the best of its ability. - - (JTH - 2021/11/09) - - -Platforms Tested -=================== - - Linux 5.13.14-200.fc34 GNU gcc (GCC) 11.2.1 2021078 (Red Hat 11.2.1-1) - #1 SMP x86_64 GNU/Linux GNU Fortran (GCC) 11.2.1 2021078 (Red Hat 11.2.1-1) - Fedora34 clang version 12.0.1 (Fedora 12.0.1-1.fc34) - (cmake and autotools) - - Linux 5.11.0-34-generic GNU gcc (GCC) 9.3.0-17ubuntu1 - #36-Ubuntu SMP x86_64 GNU/Linux GNU Fortran (GCC) 9.3.0-17ubuntu1 - Ubuntu 20.04 Ubuntu clang version 10.0.0-4 - (cmake and autotools) - - Linux 5.8.0-63-generic GNU gcc (GCC) 10.3.0-1ubuntu1 - #71-Ubuntu SMP x86_64 GNU/Linux GNU Fortran (GCC) 10.3.0-1ubuntu1 - Ubuntu20.10 Ubuntu clang version 11.0.0-2 - (cmake and autotools) - - Linux 5.3.18-22-default GNU gcc (SUSE Linux) 7.5.0 - #1 SMP x86_64 GNU/Linux GNU Fortran (SUSE Linux) 7.5.0 - SUSE15sp2 clang version 7.0.1 (tags/RELEASE_701/final 349238) - (cmake and autotools) - - Linux-4.14.0-115.21.2 spectrum-mpi/rolling-release - #1 SMP ppc64le GNU/Linux clang 8.0.1, 11.0.1 - (lassen) GCC 7.3.1 - XL 16.1.1.2 - (cmake) - - Linux-3.10.0-1160.49.1 openmpi-intel/4.1 - #1 SMP x86_64 GNU/Linux Intel(R) Version 18.0.5, 19.1.2 - (chama) (cmake) - - Linux-4.12.14-150.75-default cray-mpich/7.7.10 - #1 SMP x86_64 GNU/Linux GCC 7.3.0, 8.2.0 - (cori) Intel (R) Version 19.0.3.199 - (cmake) - - Linux-4.12.14-197.86-default cray-mpich/7.7.6 - # 1SMP x86_64 GNU/Linux GCC 7.3.0, 9.3.0, 10.2.0 - (mutrino) Intel (R) Version 17.0.4, 18.0.5, 19.1.3 - (cmake) - - Linux 3.10.0-1160.36.2.el7.ppc64 gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-39) - #1 SMP ppc64be GNU/Linux g++ (GCC) 4.8.5 20150623 (Red Hat 4.8.5-39) - Power8 (echidna) GNU Fortran (GCC) 4.8.5 20150623 (Red Hat 4.8.5-39) - - Linux 3.10.0-1160.24.1.el7 GNU C (gcc), Fortran (gfortran), C++ (g++) - #1 SMP x86_64 GNU/Linux compilers: - Centos7 Version 4.8.5 20150623 (Red Hat 4.8.5-4) - (jelly/kituo/moohan) Version 4.9.3, Version 5.3.0, Version 6.3.0, - Version 7.2.0, Version 8.3.0, Version 9.1.0 - Intel(R) C (icc), C++ (icpc), Fortran (icc) - compilers: - Version 17.0.0.098 Build 20160721 - GNU C (gcc) and C++ (g++) 4.8.5 compilers - with NAG Fortran Compiler Release 6.1(Tozai) - Intel(R) C (icc) and C++ (icpc) 17.0.0.098 compilers - with NAG Fortran Compiler Release 6.1(Tozai) - MPICH 3.1.4 compiled with GCC 4.9.3 - MPICH 3.3 compiled with GCC 7.2.0 - OpenMPI 2.1.6 compiled with icc 18.0.1 - OpenMPI 3.1.3 and 4.0.0 compiled with GCC 7.2.0 - PGI C, Fortran, C++ for 64-bit target on - x86_64; - Version 19.10-0 - - Linux-3.10.0-1127.0.0.1chaos openmpi-4.0.0 - #1 SMP x86_64 GNU/Linux clang 6.0.0, 11.0.1 - (quartz) GCC 7.3.0, 8.1.0 - Intel 16.0.4, 18.0.2, 19.0.4 - - macOS Apple M1 11.6 Apple clang version 12.0.5 (clang-1205.0.22.11) - Darwin 20.6.0 arm64 gfortran GNU Fortran (Homebrew GCC 11.2.0) 11.1.0 - (macmini-m1) Intel icc/icpc/ifort version 2021.3.0 202106092021.3.0 20210609 - - macOS Big Sur 11.3.1 Apple clang version 12.0.5 (clang-1205.0.22.9) - Darwin 20.4.0 x86_64 gfortran GNU Fortran (Homebrew GCC 10.2.0_3) 10.2.0 - (bigsur-1) Intel icc/icpc/ifort version 2021.2.0 20210228 - - macOS High Sierra 10.13.6 Apple LLVM version 10.0.0 (clang-1000.10.44.4) - 64-bit gfortran GNU Fortran (GCC) 6.3.0 - (bear) Intel icc/icpc/ifort version 19.0.4.233 20190416 - - macOS Sierra 10.12.6 Apple LLVM version 9.0.0 (clang-900.39.2) - 64-bit gfortran GNU Fortran (GCC) 7.4.0 - (kite) Intel icc/icpc/ifort version 17.0.2 - - Mac OS X El Capitan 10.11.6 Apple clang version 7.3.0 from Xcode 7.3 - 64-bit gfortran GNU Fortran (GCC) 5.2.0 - (osx1011test) Intel icc/icpc/ifort version 16.0.2 - - - Linux 2.6.32-573.22.1.el6 GNU C (gcc), Fortran (gfortran), C++ (g++) - #1 SMP x86_64 GNU/Linux compilers: - Centos6 Version 4.4.7 20120313 - (platypus) Version 4.9.3, 5.3.0, 6.2.0 - MPICH 3.1.4 compiled with GCC 4.9.3 - PGI C, Fortran, C++ for 64-bit target on - x86_64; - Version 19.10-0 - - Windows 10 x64 Visual Studio 2015 w/ Intel C/C++/Fortran 18 (cmake) - Visual Studio 2017 w/ Intel C/C++/Fortran 19 (cmake) - Visual Studio 2019 w/ clang 12.0.0 - with MSVC-like command-line (C/C++ only - cmake) - Visual Studio 2019 w/ Intel Fortran 19 (cmake) - Visual Studio 2019 w/ MSMPI 10.1 (C only - cmake) - - -Known Problems -============== - Setting a variable-length dataset fill value will leak the memory allocated - for the p field of the hvl_t struct. A fix is in progress for this. - HDFFV-10840 - - CMake files do not behave correctly with paths containing spaces. - Do not use spaces in paths because the required escaping for handling spaces - results in very complex and fragile build files. - ADB - 2019/05/07 - - 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. - - CPP ptable test fails on both VS2017 and VS2019 with Intel compiler, JIRA - issue: HDFFV-10628. This test will pass with VS2015 with Intel compiler. - - The subsetting option in ph5diff currently will fail and should be avoided. - The subsetting option works correctly in serial h5diff. - - Known problems in previous releases can be found in the HISTORY*.txt files - in the HDF5 source. Please report any new problems found to - help@hdfgroup.org. - - -CMake vs. Autotools installations -================================= -While both build systems produce similar results, there are differences. -Each system produces the same set of folders on linux (only CMake works -on standard Windows); bin, include, lib and share. Autotools places the -COPYING and RELEASE.txt file in the root folder, CMake places them in -the share folder. - -The bin folder contains the tools and the build scripts. Additionally, CMake -creates dynamic versions of the tools with the suffix "-shared". Autotools -installs one set of tools depending on the "--enable-shared" configuration -option. - build scripts - ------------- - Autotools: h5c++, h5cc, h5fc - CMake: h5c++, h5cc, h5hlc++, h5hlcc - -The include folder holds the header files and the fortran mod files. CMake -places the fortran mod files into separate shared and static subfolders, -while Autotools places one set of mod files into the include folder. Because -CMake produces a tools library, the header files for tools will appear in -the include folder. - -The lib folder contains the library files, and CMake adds the pkgconfig -subfolder with the hdf5*.pc files used by the bin/build scripts created by -the CMake build. CMake separates the C interface code from the fortran code by -creating C-stub libraries for each Fortran library. In addition, only CMake -installs the tools library. The names of the szip libraries are different -between the build systems. - -The share folder will have the most differences because CMake builds include -a number of CMake specific files for support of CMake's find_package and support -for the HDF5 Examples CMake project. - -The issues with the gif tool are: - HDFFV-10592 CVE-2018-17433 - HDFFV-10593 CVE-2018-17436 - HDFFV-11048 CVE-2020-10809 -These CVE issues have not yet been addressed and can be avoided by not building -the gif tool. Disable building the High-Level tools with these options: - autotools: --disable-hltools - - -%%%%1.13.0%%%% - -HDF5 version 1.13.0 released on 2021-12-01 -================================================================================ - - -INTRODUCTION -============ - -This document describes the differences between this release and the previous -HDF5 release. It contains information on the platforms tested and known -problems in this release. For more details check the HISTORY*.txt files in the -HDF5 source. - -Note that documentation in the links below will be updated at the time of each -final release. - -Links to HDF5 documentation can be found on The HDF5 web page: - - https://portal.hdfgroup.org/display/HDF5/HDF5 - -The official HDF5 releases can be obtained from: - - https://www.hdfgroup.org/downloads/hdf5/ - -Changes from Release to Release and New Features in the HDF5-1.13.x release series -can be found at: - - https://portal.hdfgroup.org/display/HDF5/HDF5+Application+Developer%27s+Guide - -If you have any questions or comments, please send them to the HDF Help Desk: - - help@hdfgroup.org - - -CONTENTS -======== - -- New Features -- New platforms, languages and compilers tested -- Bug Fixes since HDF5-1.12.0 -- Platforms Tested -- Known Problems -- CMake vs. Autotools installations - - -New Features -============ - - Configuration: - ------------- - - Added new configure option to support building parallel tools. - See Tools below (autotools - CMake): - --enable-parallel-tools HDF5_BUILD_PARALLEL_TOOLS - - (RAW - 2021/10/25) - - - Added new configure options to enable dimension scales APIs (H5DS*) to - use new object references with the native VOL connector (aka native HDF5 - library). New references are always used for non-native terminal VOL - connectors (e.g., DAOS). - - Autotools --enable-dimension-scales-with-new-ref - CMake HDF5_DIMENSION_SCALES_NEW_REF=ON - - (EIP - 2021/10/25, HDFFV-11180) - - - Refactored the utils folder. - - Added subfolder test and moved the 'swmr_check_compat_vfd.c file' - from test into utils/test. Deleted the duplicate swmr_check_compat_vfd.c - file in hl/tools/h5watch folder. Also fixed vfd check options. - - (ADB - 2021/10/18) - - - Changed autotools and CMake configurations to derive both - compilation warnings-as-errors and warnings-only-warn configurations - from the same files, 'config/*/*error*'. Removed redundant files - 'config/*/*noerror*'. - - (DCY - 2021/09/29) - - - Added new option to control the build of High-Level tools - that default ON/enabled. - - Add configure options (autotools - CMake): - --enable-hltools HDF5_BUILD_HL_TOOLS - - Disabling this option prevents building the gif tool which - contains the following CVEs: - HDFFV-10592 CVE-2018-17433 - HDFFV-10593 CVE-2018-17436 - HDFFV-11048 CVE-2020-10809 - - (ADB - 2021/09/16, HDFFV-11266) - - - Adds C++ Autotools configuration file for Intel - - * Checks for icpc as the compiler - * Sets std=c++11 - * Copies most non-warning flags from intel-flags - - (DER - 2021/06/02) - - - Adds C++ Autotools configuration file for PGI - - * Checks for pgc++ as the compiler name (was: pgCC) - * Sets -std=c++11 - * Other options basically match new C options (below) - - (DER - 2021/06/02) - - - Updates PGI C options - - * -Minform set to warn (was: inform) to suppress spurious messages - * Sets -gopt -O2 as debug options - * Sets -O4 as 'high optimization' option - * Sets -O0 as 'no optimization' option - * Removes specific settings for PGI 9 and 10 - - (DER - 2021/06/02) - - - A C++11-compliant compiler is now required to build the C++ wrappers - - CMAKE_CXX_STANDARD is now set to 11 when building with CMake and - -std=c++11 is added when building with clang/gcc via the Autotools. - - (DER - 2021/05/27) - - - CMake will now run the shell script tests in test/ by default - - The test directory includes several shell script tests that previously - were not run by CMake. These are now run by default. TEST_SHELL_SCRIPTS - has been set to ON and SH_PROGRAM has been set to bash (some test - scripts use bash-isms). Platforms without bash (e.g., Windows) will - ignore the script tests. - - (DER - 2021/05/23) - - - Removed unused HDF5_ENABLE_HSIZET option from CMake - - This has been unused for some time and has no effect. - - (DER - 2021/05/23) - - - CMake no longer builds the C++ library by default - - HDF5_BUILD_CPP_LIB now defaults to OFF, which is in line with the - Autotools build defaults. - - (DER - 2021/04/20) - - - Removal of pre-VS2015 work-arounds - - HDF5 now requires Visual Studio 2015 or greater, so old work-around - code and definitions have been removed, including: - - * - * snprintf and vsnprintf - * llround, llroundf, lround, lroundf, round, roundf - * strtoll and strtoull - * va_copy - * struct timespec - - (DER - 2021/03/22) - - - Add CMake variable HDF5_LIB_INFIX - - This infix is added to all library names after 'hdf5'. - e.g. the infix '_openmpi' results in the library name 'libhdf5_openmpi.so' - This name is used in packages on debian based systems. - (see https://packages.debian.org/jessie/amd64/libhdf5-openmpi-8/filelist) - - (barcode - 2021/03/22) - - - On macOS, Universal Binaries can now be built, allowing native execution on - both Intel and Apple Silicon (ARM) based Macs. - - To do so, set CMAKE_OSX_ARCHITECTURES="x86_64;arm64" - - (SAM - 2021/02/07, github-311) - - - Added a configure-time option to control certain compiler warnings - diagnostics - - A new configure-time option was added that allows some compiler warnings - diagnostics to have the default operation. This is mainly intended for - library developers and currently only works for gcc 10 and above. The - diagnostics flags apply to C, C++ and Fortran compilers and will appear - in "H5 C Flags", H5 C++ Flags" and H5 Fortran Flags, respectively. They - will NOT be exported to h5cc, etc. - - The default is OFF, which will disable the warnings URL and color attributes - for the warnings output. ON will not add the flags and allow default behavior. - - Autotools: --enable-diags - - CMake: HDF5_ENABLE_BUILD_DIAGS - - (ADB - 2021/02/05, HDFFV-11213) - - - CMake option to build the HDF filter plugins project as an external project - - The HDF filter plugins project is a collection of registered compression - filters that can be dynamically loaded when needed to access data stored - in a hdf5 file. This CMake-only option allows the plugins to be built and - distributed with the hdf5 library and tools. Like the options for szip and - zlib, either a tgz file or a git repository can be specified for the source. - - The option was refactored to use the CMake FetchContent process. This allows - more control over the filter targets, but required external project command - options to be moved to a CMake include file, HDF5PluginCache.cmake. Also - enabled the filter examples to be used as tests for operation of the - filter plugins. - - (ADB - 2020/12/10, OESS-98) - - - FreeBSD Autotools configuration now defaults to 'cc' and 'c++' compilers - - On FreeBSD, the autotools defaulted to 'gcc' as the C compiler and did - not process C++ options. Since FreeBSD 10, the default compiler has - been clang (via 'cc'). - - The default compilers have been set to 'cc' for C and 'c++' for C++, - which will pick up clang and clang++ respectively on FreeBSD 10+. - Additionally, clang options are now set correctly for both C and C++ - and g++ options will now be set if that compiler is being used (an - omission from the former functionality). - - (DER - 2020/11/28, HDFFV-11193) - - - Fixed POSIX problems when building w/ gcc on Solaris - - When building on Solaris using gcc, the POSIX symbols were not - being set correctly, which could lead to issues like clock_gettime() - not being found. - - The standard is now set to gnu99 when building with gcc on Solaris, - which allows POSIX things to be #defined and linked correctly. This - differs slightly from the gcc norm, where we set the standard to c99 - and manually set POSIX #define symbols. - - (DER - 2020/11/25, HDFFV-11191) - - - Added a configure-time option to consider certain compiler warnings - as errors - - A new configure-time option was added that converts some compiler warnings - to errors. This is mainly intended for library developers and currently - only works for gcc and clang. The warnings that are considered errors - will appear in the generated libhdf5.settings file. These warnings apply - to C and C++ code and will appear in "H5 C Flags" and H5 C++ Flags", - respectively. They will NOT be exported to h5cc, etc. - - The default is OFF. Building with this option may fail when compiling - on operating systems and with compiler versions not commonly used by - the library developers. Compilation may also fail when headers not - under the control of the library developers (e.g., mpi.h, hdfs.h) raise - warnings. - - Autotools: --enable-warnings-as-errors - - CMake: HDF5_ENABLE_WARNINGS_AS_ERRORS - - (DER - 2020/11/23, HDFFV-11189) - - - Autotools and CMake target added to produce doxygen generated documentation - - The default is OFF or disabled. - Autoconf option is '--enable-doxygen' - autotools make target is 'doxygen' and will build all doxygen targets - CMake configure option is 'HDF5_BUILD_DOC'. - CMake target is 'doxygen' for all available doxygen targets - CMake target is 'hdf5lib_doc' for the src subdirectory - - (ADB - 2020/11/03) - - - CMake option to use MSVC naming conventions with MinGW - - HDF5_MSVC_NAMING_CONVENTION option enable to use MSVC naming conventions - when using a MinGW toolchain - - (xan - 2020/10/30) - - - CMake option to statically link gcc libs with MinGW - - HDF5_MINGW_STATIC_GCC_LIBS allows to statically link libg/libstdc++ - with the MinGW toolchain - - (xan - 2020/10/30) - - - CMake option to build the HDF filter plugins project as an external project - - The HDF filter plugins project is a collection of registered compression - filters that can be dynamically loaded when needed to access data stored - in a hdf5 file. This CMake-only option allows the plugins to be built and - distributed with the hdf5 library and tools. Like the options for szip and - zlib, either a tgz file or a git repository can be specified for the source. - - The necessary options are (see the INSTALL_CMake.txt file): - HDF5_ENABLE_PLUGIN_SUPPORT - PLUGIN_TGZ_NAME or PLUGIN_GIT_URL - There are more options necessary for various filters and the plugin project - documents should be referenced. - - (ADB - 2020/09/27, OESS-98) - - - Added CMake option to format source files - - HDF5_ENABLE_FORMATTERS option will enable creation of targets using the - pattern - HDF5_*_SRC_FORMAT - where * corresponds to the source folder - or tool folder. All sources can be formatted by executing the format target; - make format - - (ADB - 2020/08/24) - - - Add file locking configure and CMake options - - HDF5 1.10.0 introduced a file locking scheme, primarily to help - enforce SWMR setup. Formerly, the only user-level control of the scheme - was via the HDF5_USE_FILE_LOCKING environment variable. - - This change introduces configure-time options that control whether - or not file locking will be used and whether or not the library - ignores errors when locking has been disabled on the file system - (useful on some HPC Lustre installations). - - In both the Autotools and CMake, the settings have the effect of changing - the default property list settings (see the H5Pset/get_file_locking() - entry, below). - - The yes/no/best-effort file locking configure setting has also been - added to the libhdf5.settings file. - - Autotools: - - An --enable-file-locking=(yes|no|best-effort) option has been added. - - yes: Use file locking. - no: Do not use file locking. - best-effort: Use file locking and ignore "disabled" errors. - - CMake: - - Two self-explanatory options have been added: - - HDF5_USE_FILE_LOCKING - HDF5_IGNORE_DISABLED_FILE_LOCKS - - Setting both of these to ON is the equivalent to the Autotools' - best-effort setting. - - NOTE: - The precedence order of the various file locking control mechanisms is: - - 1) HDF5_USE_FILE_LOCKING environment variable (highest) - - 2) H5Pset_file_locking() - - 3) configure/CMake options (which set the property list defaults) - - 4) library defaults (currently best-effort) - - (DER - 2020/07/30, HDFFV-11092) - - - CMake option to link the generated Fortran MOD files into the include - directory. - - The Fortran generation of MOD files by a Fortran compile can produce - different binary files between SHARED and STATIC compiles with different - compilers and/or different platforms. Note that it has been found that - different versions of Fortran compilers will produce incompatible MOD - files. Currently, CMake will locate these MOD files in subfolders of - the include directory and add that path to the Fortran library target - in the CMake config file, which can be used by the CMake find library - process. For other build systems using the binary from a CMake install, - a new CMake configuration can be used to copy the pre-chosen version - of the Fortran MOD files into the install include directory. - - The default will depend on the configuration of - BUILD_STATIC_LIBS and BUILD_SHARED_LIBS: - YES YES Default to SHARED - YES NO Default to STATIC - NO YES Default to SHARED - NO NO Default to SHARED - The defaults can be overridden by setting the config option - HDF5_INSTALL_MOD_FORTRAN to one of NO, SHARED, or STATIC - - (ADB - 2020/07/09, HDFFV-11116) - - - CMake option to use AEC (open source SZip) library instead of SZip - - The open source AEC library is a replacement library for SZip. In - order to use it for hdf5 the libaec CMake source was changed to add - "-fPIC" and exclude test files. Autotools does not build the - compression libraries within hdf5 builds. New option USE_LIBAEC is - required to compensate for the different files produced by AEC build. - - (ADB - 2020/04/22, OESS-65) - - - CMake ConfigureChecks.cmake file now uses CHECK_STRUCT_HAS_MEMBER - - Some handcrafted tests in HDFTests.c has been removed and the CMake - CHECK_STRUCT_HAS_MEMBER module has been used. - - (ADB - 2020/03/24, TRILAB-24) - - - Both build systems use same set of warnings flags - - GNU C, C++ and gfortran warnings flags were moved to files in a config - sub-folder named gnu-warnings. Flags that only are available for a specific - version of the compiler are in files named with that version. - Clang C warnings flags were moved to files in a config sub-folder - named clang-warnings. - Intel C, Fortran warnings flags were moved to files in a config sub-folder - named intel-warnings. - - There are flags in named "error-xxx" files with warnings that may - be promoted to errors. Some source files may still need fixes. - - There are also pairs of files named "developer-xxx" and "no-developer-xxx" - that are chosen by the CMake option:HDF5_ENABLE_DEV_WARNINGS or the - configure option:--enable-developer-warnings. - - In addition, CMake no longer applies these warnings for examples. - - (ADB - 2020/03/24, TRILAB-192) - - - Added test script for file size compare - - If CMake minimum version is at least 3.14, the fileCompareTest.cmake - script will compare file sizes. - - (ADB - 2020/02/24, HDFFV-11036) - - - Update CMake minimum version to 3.12 - - Updated CMake minimum version to 3.12 and added version checks - for Windows features. - - (ADB - 2020/02/05, TRILABS-142) - - - Fixed CMake include properties for Fortran libraries - - Corrected the library properties for Fortran to use the - correct path for the Fortran module files. - - (ADB - 2020/02/04, HDFFV-11012) - - - Added common warnings files for gnu and intel - - Added warnings files to use one common set of flags - during configure for both autotools and CMake build - systems. The initial implementation only affects a - general set of flags for gnu and intel compilers. - - (ADB - 2020/01/17) - - - Added new options to CMake for control of testing - - Added CMake options (default ON); - HDF5_TEST_SERIAL AND/OR HDF5_TEST_PARALLEL - combined with: - HDF5_TEST_TOOLS - HDF5_TEST_EXAMPLES - HDF5_TEST_SWMR - HDF5_TEST_FORTRAN - HDF5_TEST_CPP - HDF5_TEST_JAVA - - (ADB - 2020/01/15, HDFFV-11001) - - - Added Clang sanitizers to CMake for analyzer support if compiler is clang. - - Added CMake code and files to execute the Clang sanitizers if - HDF5_ENABLE_SANITIZERS is enabled and the USE_SANITIZER option - is set to one of the following: - Address - Memory - MemoryWithOrigins - Undefined - Thread - Leak - 'Address;Undefined' - - (ADB - 2019/12/12, TRILAB-135) - - - Update CMake for VS2019 support - - CMake added support for VS2019 in version 3.15. Changes to the CMake - generator setting required changes to scripts. Also updated version - references in CMake files as necessary. - - (ADB - 2019/11/18, HDFFV-10962) - - - Update CMake options to match new autotools options - - Add configure options (autotools - CMake): - enable-asserts HDF5_ENABLE_ASSERTS - enable-symbols HDF5_ENABLE_SYMBOLS - enable-profiling HDF5_ENABLE_PROFILING - enable-optimization HDF5_ENABLE_OPTIMIZATION - In addition NDEBUG is no longer forced defined and relies on the CMake - process. - - (ADB - 2019/10/07, HDFFV-100901, HDFFV-10637, TRILAB-97) - - - Library: - -------- - - Adds new file driver-level memory copy operation for - "ctl" callback and updates compact dataset I/O routines - to utilize it - - When accessing an HDF5 file with a file driver that uses - memory allocated in special ways (e.g., without standard - library's `malloc`), a crash could be observed when HDF5 - tries to perform `memcpy` operations on such a memory - region. - - These changes add a new H5FD_FEAT_MEMMANAGE VFD feature - flag, which, if specified as supported by a VFD, will - inform HDF5 that the VFD either uses special memory - management routines or wishes to perform memory management - in a specific way. Therefore, this flag instructs HDF5 to - ask the file driver to perform memory management for - certain operations. - - These changes also introduce a new "ctl" callback - operation identified by the H5FD_CTL__MEM_COPY op code. - This operation simply asks a VFD to perform a memory copy. - The arguments to this operation are passed to the "ctl" - callback's "input" parameter as a pointer to a struct - defined as: - - struct H5FD_ctl_memcpy_args_t { - void * dstbuf; /**< Destination buffer */ - hsize_t dst_off; /**< Offset within destination buffer */ - const void *srcbuf; /**< Source buffer */ - hsize_t src_off; /**< Offset within source buffer */ - size_t len; /**< Length of data to copy from source buffer */ - } H5FD_ctl_memcpy_args_t; - - Further, HDF5's compact dataset I/O routines were - identified as a problematic area that could cause a crash - for VFDs that make use of special memory management. Those - I/O routines were therefore updated to make use of this new - "ctl" callback operation in order to ask the underlying - file driver to correctly handle memory copies. - - (JTH - 2021/09/28) - - - Adds new "ctl" callback to VFD H5FD_class_t structure - with the following prototype: - - herr_t (*ctl)(H5FD_t *file, uint64_t op_code, - uint64_t flags, const void *input, - void **output); - - This newly-added "ctl" callback allows Virtual File - Drivers to intercept and handle arbitrary operations - identified by an operation code. Its parameters are - as follows: - - `file` [in] - A pointer to the file to be operated on - `op_code` [in] - The operation code identifying the - operation to be performed - `flags` [in] - Flags governing the behavior of the - operation performed (see H5FDpublic.h - for a list of valid flags) - `input` [in] - A pointer to arguments passed to the - VFD performing the operation - `output` [out] - A pointer for the receiving VFD to - use for output from the operation - - (JRM - 2021/08/16) - - - Change how the release part of version, in major.minor.release is checked - for compatibility - - The HDF5 library uses a function, H5check_version, to check that - the version defined in the header files, which is used to compile an - application is compatible with the version codified in the library, which - the application loads at runtime. This previously required an exact match - or the library would print a warning, dump the build settings and then - abort or continue. An environment variable controlled the logic. - - Now the function first checks that the library release version, in - major.minor.release, is not older than the version in the headers. - Secondly, if the release version is different, it checks if either - the library version or the header version is in the exception list, in - which case the release part of version, in major.minor.release, must - be exact. An environment variable still controls the logic. - - (ADB - 2021/07/27) - - - gcc warning suppression macros were moved out of H5public.h - - The HDF5 library uses a set of macros to suppress warnings on gcc. - These warnings were originally located in H5public.h so that the - multi VFD (which only uses public headers) could also make use of them - but internal macros should not be publicly exposed like this. - - These macros have now been moved to H5private.h. Pending future multi - VFD refactoring, the macros have been duplicated in H5FDmulti.c to - suppress the format string warnings there. - - (DER - 2021/06/03) - - - H5Gcreate1() now rejects size_hint parameters larger than UINT32_MAX - - The size_hint value is ultimately stored in a uint32_t struct field, - so specifying a value larger than this on a 64-bit machine can cause - undefined behavior including crashing the system. - - The documentation for this API call was also incorrect, stating that - passing a negative value would cause the library to use a default - value. Instead, passing a "negative" value actually passes a very large - value, which is probably not what the user intends and can cause - crashes on 64-bit systems. - - The Doxygen documentation has been updated and passing values larger - than UINT32_MAX for size_hint will now produce a normal HDF5 error. - - (DER - 2021/04/29, HDFFV-11241) - - - - H5Pset_fapl_log() no longer crashes when passed an invalid fapl ID - - When passed an invalid fapl ID, H5Pset_fapl_log() would usually - segfault when attempting to free an uninitialized pointer in the error - handling code. This behavior is more common in release builds or - when the memory sanitization checks were not selected as a build - option. - - The pointer is now correctly initialized and the API call now - produces a normal HDF5 error when fed an invalid fapl ID. - - (DER - 2021/04/28, HDFFV-11240) - - - Fixes a segfault when H5Pset_mdc_log_options() is called multiple times - - The call incorrectly attempts to free an internal copy of the previous - log location string, which causes a segfault. This only happens - when the call is invoked multiple times on the same property list. - On the first call to a given fapl, the log location is set to NULL so - the segfault does not occur. - - The string is now handled properly and the segfault no longer occurs. - - (DER - 2021/04/27, HDFFV-11239) - - - HSYS_GOTO_ERROR now emits the results of GetLastError() on Windows - - HSYS_GOTO_ERROR is an internal macro that is used to produce error - messages when system calls fail. These strings include errno and the - the associated strerror() value, which are not particularly useful - when a Win32 API call fails. - - On Windows, this macro has been updated to include the result of - GetLastError(). When a system call fails on Windows, usually only - one of errno and GetLastError() will be useful, however we emit both - for the user to parse. The Windows error message is not emitted as - it would be awkward to free the FormatMessage() buffer given the - existing HDF5 error framework. Users will have to look up the error - codes in MSDN. - - The format string on Windows has been changed from: - - "%s, errno = %d, error message = '%s'" - - to: - - "%s, errno = %d, error message = '%s', Win32 GetLastError() = %"PRIu32"" - - for those inclined to parse it for error values. - - (DER - 2021/03/21) - - - File locking now works on Windows - - Since version 1.10.0, the HDF5 library has used a file locking scheme - to help enforce one reader at a time accessing an HDF5 file, which can - be helpful when setting up readers and writers to use the single- - writer/multiple-readers (SWMR) access pattern. - - In the past, this was only functional on POSIX systems where flock() or - fcntl() were present. Windows used a no-op stub that always succeeded. - - HDF5 now uses LockFileEx() and UnlockFileEx() to lock the file using the - same scheme as POSIX systems. We lock the entire file when we set up the - locks (by passing DWORDMAX as both size parameters to LockFileEx()). - - (DER - 2021/03/19, HDFFV-10191) - - - H5Epush_ret() now requires a trailing semicolon - - H5Epush_ret() is a function-like macro that has been changed to - contain a `do {} while(0)` loop. Consequently, a trailing semicolon - is now required to end the `while` statement. Previously, a trailing - semi would work, but was not mandatory. This change was made to allow - clang-format to correctly format the source code. - - (SAM - 2021/03/03) - - - Improved performance of H5Sget_select_elem_pointlist - - Modified library to cache the point after the last block of points - retrieved by H5Sget_select_elem_pointlist, so a subsequent call to the - same function to retrieve the next block of points from the list can - proceed immediately without needing to iterate over the point list. - - (NAF - 2021/01/19) - - - Replaced H5E_ATOM with H5E_ID in H5Epubgen.h - - The term "atom" is archaic and not in line with current HDF5 library - terminology, which uses "ID" instead. "Atom" has mostly been purged - from the library internals and this change removes H5E_ATOM from - the H5Epubgen.h (exposed via H5Epublic.h) and replaces it with - H5E_ID. - - (DER - 2020/11/24, HDFFV-11190) - - - Add a new public function H5Ssel_iter_reset - - This function resets a dataspace selection iterator back to an - initial state so that it may be used for iteration once more. - This can be useful when needing to iterate over a selection - multiple times without having to repeatedly create/destroy - a selection iterator for that dataspace selection. - - (JTH - 2020/09/18) - - - Remove HDFS VFD stubs - - The original implementation of the HDFS VFD included non-functional - versions of the following public API calls when the HDFS VFD is - not built as a part of the HDF5 library: - - * H5FD_hdfs_init() - * H5Pget_fapl_hdfs() - * H5Pset_fapl_hdfs() - - They will remain present in HDF5 1.10 and HDF5 1.12 releases - for binary compatibility purposes but have been removed as of 1.14.0. - - Note that this has nothing to do with the real HDFS VFD API calls - that are fully functional when the HDFS VFD is configured and built. - - We simply changed: - - #ifdef LIBHDFS - - #else - - #endif - - to: - - #ifdef LIBHDFS - - #endif - - Which is how the other optional VFDs are handled. - - (DER - 2020/08/27) - - - Add Mirror VFD - - Use TCP/IP sockets to perform write-only (W/O) file I/O on a remote - machine. Must be used in conjunction with the Splitter VFD. - - (JOS - 2020/03/13, TBD) - - - Add Splitter VFD - - Maintain separate R/W and W/O channels for "concurrent" file writes - to two files using a single HDF5 file handle. - - (JOS - 2020/03/13, TBD) - - - Refactored public exposure of haddr_t type in favor of "object tokens" - - To better accommodate HDF5 VOL connectors where "object addresses in a file" - may not make much sense, the following changes were made to the library: - - * Introduced new H5O_token_t "object token" type, which represents a - unique and permanent identifier for referencing an HDF5 object within - a container; these "object tokens" are meant to replace object addresses. - Along with the new type, a new H5Oopen_by_token API call was introduced - to open an object by a token, similar to how object addresses were - previously used with H5Oopen_by_addr. - - * Introduced new H5Lget_info2, H5Lget_info_by_idx2, H5Literate2, H5Literate_by_name2, - H5Lvisit2 and H5Lvisit_by_name2 API calls, along with their associated H5L_info2_t - struct and H5L_iterate2_t callback function, which work with the newly-introduced - object tokens, instead of object addresses. The original functions have been - renamed to version 1 functions and are deprecated in favor of the new version 2 - functions. The H5L_info_t and H5L_iterate_t types have been renamed to version 1 - types and are now deprecated in favor of their version 2 counterparts. For each of - the functions and types, compatibility macros take place of the original symbols. - - * Introduced new H5Oget_info3, H5Oget_info_by_name3, H5Oget_info_by_idx3, - H5Ovisit3 and H5Ovisit_by_name3 API calls, along with their associated H5O_info2_t - struct and H5O_iterate2_t callback function, which work with the newly-introduced - object tokens, instead of object addresses. The version 2 functions are now - deprecated in favor of the version 3 functions. The H5O_info_t and H5O_iterate_t - types have been renamed to version 1 types and are now deprecated in favor of their - version 2 counterparts. For each, compatibility macros take place of the original - symbols. - - * Introduced new H5Oget_native_info, H5Oget_native_info_by_name and - H5Oget_native_info_by_idx API calls, along with their associated H5O_native_info_t - struct, which are used to retrieve the native HDF5 file format-specific information - about an object. This information (such as object header info and B-tree/heap info) - has been removed from the new H5O_info2_t struct so that the more generic - H5Oget_info(_by_name/_by_idx)3 routines will not try to retrieve it for non-native - VOL connectors. - - * Added new H5Otoken_cmp, H5Otoken_to_str and H5Otoken_from_str routines to compare - two object tokens, convert an object token into a nicely-readable string format and - to convert an object token string back into a real object token, respectively. - - (DER, QAK, JTH - 2020/01/16) - - - Add new public function H5Sselect_adjust. - - This function shifts a dataspace selection by a specified logical offset - within the dataspace extent. This can be useful for VOL developers to - implement chunked datasets. - - (NAF - 2019/11/18) - - - Add new public function H5Sselect_project_intersection. - - This function computes the intersection between two dataspace selections - and projects that intersection into a third selection. This can be useful - for VOL developers to implement chunked or virtual datasets. - - (NAF - 2019/11/13, ID-148) - - - Add new public function H5VLget_file_type. - - This function returns a datatype equivalent to the supplied datatype but - with the location set to be in the file. This datatype can then be used - with H5Tconvert to convert data between file and in-memory representation. - This function is intended for use only by VOL connector developers. - - (NAF - 2019/11/08, ID-127) - - - Parallel Library: - ----------------- - - - - - Fortran Library: - ---------------- - - H5Fget_name_f fixed to handle correctly trailing whitespaces and - newly allocated buffers. - - (MSB - 2021/08/30, github-826,972) - - - Add wrappers for H5Pset/get_file_locking() API calls - - h5pget_file_locking_f() - h5pset_file_locking_f() - - See the configure option discussion for HDFFV-11092 (above) for more - information on the file locking feature and how it's controlled. - - (DER - 2020/07/30, HDFFV-11092) - - C++ Library: - ------------ - - Add wrappers for H5Pset/get_file_locking() API calls - - FileAccPropList::setFileLocking() - FileAccPropList::getFileLocking() - - See the configure option discussion for HDFFV-11092 (above) for more - information on the file locking feature and how it's controlled. - - (DER - 2020/07/30, HDFFV-11092) - - - Java Library: - ------------- - - Replaced HDF5AtomException with HDF5IdException - - Since H5E_ATOM changed to H5E_ID in the C library, the Java exception - that wraps the error category was also renamed. Its functionality - remains unchanged aside from the name. - - (See also the HDFFV-11190 note in the C library section) - - (DER - 2020/11/24, HDFFV-11190) - - - Added new H5S functions. - - H5Sselect_copy, H5Sselect_shape_same, H5Sselect_adjust, - H5Sselect_intersect_block, H5Sselect_project_intersection, - H5Scombine_hyperslab, H5Smodify_select, H5Scombine_select - wrapper functions added. - - (ADB - 2020/10/27, HDFFV-10868) - - - Add wrappers for H5Pset/get_file_locking() API calls - - H5Pset_file_locking() - H5Pget_use_file_locking() - H5Pget_ignore_disabled_file_locking() - - Unlike the C++ and Fortran wrappers, there are separate getters for the - two file locking settings, each of which returns a boolean value. - - See the configure option discussion for HDFFV-11092 (above) for more - information on the file locking feature and how it's controlled. - - (DER - 2020/07/30, HDFFV-11092) - - - Added ability to test java library with VOLs. - - Created a new CMake script that combines the java and vol test scripts. - - (ADB - 2020/02/03, HDFFV-10996) - - - Tests fail for non-English locales. - - In the JUnit tests with a non-English locale, only the part before - the decimal comma is replaced by XXXX and this leads to a comparison - error. Changed the regex for the Time substitution. - - (ADB - 2020/01/09, HDFFV-10995) - - - Tools: - ------ - - h5repack added an optional verbose value for reporting R/W timing. - - In addition to adding timing capture around the read/write calls in - h5repack, added help text to indicate how to show timing for read/write; - -v N, --verbose=N Verbose mode, print object information. - N - is an integer greater than 1, 2 displays read/write timing - (ADB - 2021/11/08) - - - Added a new (unix ONLY) parallel meta tool 'h5dwalk', which utilizes the - mpifileutils (https://hpc.github.io/mpifileutils) open source utility - library to enable parallel execution of other HDF5 tools. - This approach can greatly enhance the serial hdf5 tool performance over large - collections of files by utilizing MPI parallelism to distribute an application - load over many independent MPI ranks and files. - - An introduction to the mpifileutils library and initial 'User Guide' for - the new 'h5dwalk" tool can be found at: - https://github.com/HDFGroup/hdf5doc/tree/master/RFCs/HDF5/tools/parallel_tools - - (RAW - 2021/10/25) - - - Refactored the perform tools and removed depends on test library. - - Moved the perf and h5perf tools from tools/test/perform to - tools/src/h5perf so that they can be installed. This required - that the test library dependency be removed by copying the - needed functions from h5test.c. - The standalone scripts and other perform tools remain in the - tools/test/perform folder. - - (ADB - 2021/08/10) - - - Removed partial long exceptions - - Some of the tools accepted shortened versions of the long options - (ex: --datas instead of --dataset). These were implemented inconsistently, - are difficult to maintian, and occasionally block useful long option - names. These partial long options have been removed from all the tools. - - (DER - 2021/08/03) - - - h5repack added help text for user-defined filters. - - Added help text line that states the valid values of the filter flag - for user-defined filters; - filter_flag: 1 is OPTIONAL or 0 is MANDATORY - - (ADB - 2021/01/14, HDFFV-11099) - - - Added h5delete tool - - Deleting HDF5 storage when using the VOL can be tricky when the VOL - does not create files. The h5delete tool is a simple wrapper around - the H5Fdelete() API call that uses the VOL specified in the - HDF5_VOL_CONNECTOR environment variable to delete a "file". If - the call to H5Fdelete() fails, the tool will attempt to use - the POSIX remove(3) call to remove the file. - - Note that the HDF5 library does currently have support for - H5Fdelete() in the native VOL connector. - - (DER - 2020/12/16) - - - h5repack added options to control how external links are handled. - - Currently h5repack preserves external links and cannot copy and merge - data from the external files. Two options, merge and prune, were added to - control how to merge data from an external link into the resulting file. - --merge Follow external soft link recursively and merge data. - --prune Do not follow external soft links and remove link. - --merge --prune Follow external link, merge data and remove dangling link. - - (ADB - 2020/08/05, HDFFV-9984) - - - h5repack was fixed to repack the reference attributes properly. - The code line that checks if the update of reference inside a compound - datatype is misplaced outside the code block loop that carries out the - check. In consequence, the next attribute that is not the reference - type was repacked again as the reference type and caused the failure of - repacking. The fix is to move the corresponding code line to the correct - code block. - - (KY -2020/02/07, HDFFV-11014) - - - h5diff was updated to use the new reference APIs. - - h5diff uses the new reference APIs to compare references. - Attribute references can also be compared. - - (ADB - 2019/12/19, HDFFV-10980) - - - h5dump and h5ls were updated to use the new reference APIs. - - The tools library now use the new reference APIs to inspect a - file. Also the DDL spec was updated to reflect the format - changes produced with the new APIs. The export API and support - functions in the JNI were updated to match. - - (ADB - 2019/12/06, HDFFV-10876 and HDFFV-10877) - - - High-Level APIs: - ---------------- - - added set/get for unsigned long long attributes - - The attribute writing high-level API has been expanded to include - public set/get functions for ULL attributes, analogously to the - existing set/get for other types. - - (AF - 2021/09/08) - - C Packet Table API: - ------------------- - - - - Internal header file: - --------------------- - - - - Documentation: - -------------- - - - - -New platforms, languages and compilers tested -============================================= - - Linux 5.13.14-200.fc34 #1 SMP x86_64 GNU/Linux Fedora34 - - Linux 5.11.0-34-generic #36-Ubuntu SMP x86_64 GNU/Linux Ubuntu 20.04 - - Linux 5.3.18-22-default #1 SMP x86_64 GNU/Linux SUSE15sp2 - - Linux-4.14.0-115.21.2 #1 SMP ppc64le GNU/Linux - - Linux-4.12.14-150.75-default #1 SMP x86_64 GNU/Linux - - macOS Apple M1 11.6 Darwin 20.6.0 arm64 - - macOS Big Sur 11.3.1 Darwin 20.4.0 x86_64 - - clang versions 11.0.1, 12.0.5 - - Visual Studio 2019 w/ clang 12.0.0 with MSVC-like command-line - - -Bug Fixes since HDF5-1.12.0 release -=================================== - Library - ------- - - Fixed an H5Pget_filter_by_id1/2() assert w/ out of range filter IDs - - Both H5Pget_filter_by_id1 and 2 did not range check the filter ID, which - could trip as assert in debug versions of the library. The library now - returns a normal HDF5 error when the filter ID is out of range. - - (DER - 2021/11/23, HDFFV-11286) - - - Fixed an issue with collective metadata reads being permanently disabled - after a dataset chunk lookup operation. This would usually cause a - mismatched MPI_Bcast and MPI_ERR_TRUNCATE issue in the library for - simple cases of H5Dcreate() -> H5Dwrite() -> H5Dcreate(). - - (JTH - 2021/11/08, HDFFV-11090) - - - Fixed cross platform incompatibility of references within variable length - types - - Reference types within variable length types previously could not be - read on a platform with different endianness from where they were - written. Fixed so cross platform portability is restored. - - (NAF - 2021/09/30) - - - Detection of simple data transform function "x" - - In the case of the simple data transform function "x" the (parallel) - library recognizes this is the same as not applying this data transform - function. This improves the I/O performance. In the case of the parallel - library, it also avoids breaking to independent I/O, which makes it - possible to apply a filter when writing or reading data to or from - the HDF5 file. - - (JWSB - 2021/09/13) - - - Fixed an invalid read and memory leak when parsing corrupt file space - info messages - - When the corrupt file from CVE-2020-10810 was parsed by the library, - the code that imports the version 0 file space info object header - message to the version 1 struct could read past the buffer read from - the disk, causing an invalid memory read. Not catching this error would - cause downstream errors that eventually resulted in a previously - allocated buffer to be unfreed when the library shut down. In builds - where the free lists are in use, this could result in an infinite loop - and SIGABRT when the library shuts down. - - We now track the buffer size and raise an error on attempts to read - past the end of it. - - (DER - 2021/08/12, HDFFV-11053) - - - - Fixed CVE-2018-14460 - - The tool h5repack produced a segfault when the rank in dataspace - message was corrupted, causing invalid read while decoding the - dimension sizes. - - The problem was fixed by ensuring that decoding the dimension sizes - and max values will not go beyond the end of the buffer. - - (BMR - 2021/05/12, HDFFV-11223) - - - Fixed CVE-2018-11206 - - The tool h5dump produced a segfault when the size of a fill value - message was corrupted and caused a buffer overflow. - - The problem was fixed by verifying the fill value's size - against the buffer size before attempting to access the buffer. - - (BMR - 2021/03/15, HDFFV-10480) - - - Fixed CVE-2018-14033 (same issue as CVE-2020-10811) - - The tool h5dump produced a segfault when the storage size message - was corrupted and caused a buffer overflow. - - The problem was fixed by verifying the storage size against the - buffer size before attempting to access the buffer. - - (BMR - 2021/03/15, HDFFV-11159/HDFFV-11049) - - - Remove underscores on header file guards - - Header file guards used a variety of underscores at the beginning of the define. - - Removed all leading (some trailing) underscores from header file guards. - - (ADB - 2021/03/03, #361) - - - Fixed a segmentation fault - - A segmentation fault occurred with a Mathworks corrupted file. - - A detection of accessing a null pointer was added to prevent the problem. - - (BMR - 2021/02/19, HDFFV-11150) - - - Fixed issue with MPI communicator and info object not being - copied into new FAPL retrieved from H5F_get_access_plist - - Added logic to copy the MPI communicator and info object into - the output FAPL. MPI communicator is retrieved from the VFD, while - the MPI info object is retrieved from the file's original FAPL. - - (JTH - 2021/02/15, HDFFV-11109) - - - Fixed problems with vlens and refs inside compound using - H5VLget_file_type() - - Modified library to properly ref count H5VL_object_t structs and only - consider file vlen and reference types to be equal if their files are - the same. - - (NAF - 2021/01/22) - - - Fixed CVE-2018-17432 - - The tool h5repack produced a segfault on a corrupted file which had - invalid rank for scalar or NULL datatype. - - The problem was fixed by modifying the dataspace encode and decode - functions to detect and report invalid rank. h5repack now fails - with an error message for the corrupted file. - - (BMR - 2020/10/26, HDFFV-10590) - - - Creation of dataset with optional filter - - When the combination of type, space, etc doesn't work for filter - and the filter is optional, it was supposed to be skipped but it was - not skipped and the creation failed. - - Allowed the creation of the dataset in such a situation. - - (BMR - 2020/08/13, HDFFV-10933) - - - Explicitly declared dlopen to use RTLD_LOCAL - - dlopen documentation states that if neither RTLD_GLOBAL nor - RTLD_LOCAL are specified, then the default behavior is unspecified. - The default on linux is usually RTLD_LOCAL while macos will default - to RTLD_GLOBAL. - - (ADB - 2020/08/12, HDFFV-11127) - - - H5Sset_extent_none() sets the dataspace class to H5S_NO_CLASS which - causes asserts/errors when passed to other dataspace API calls. - - H5S_NO_CLASS is an internal class value that should not have been - exposed via a public API call. - - In debug builds of the library, this can cause assert() function to - trip. In non-debug builds, it will produce normal library errors. - - The new library behavior is for H5Sset_extent_none() to convert - the dataspace into one of type H5S_NULL, which is better handled - by the library and easier for developers to reason about. - - (DER - 2020/07/27, HDFFV-11027) - - - Fixed issues CVE-2018-13870 and CVE-2018-13869 - - When a buffer overflow occurred because a name length was corrupted - and became very large, h5dump crashed on memory access violation. - - A check for reading pass the end of the buffer was added to multiple - locations to prevent the crashes and h5dump now simply fails with an - error message when this error condition occurs. - - (BMR - 2020/07/22, HDFFV-11120 and HDFFV-11121) - - - Fixed the segmentation fault when reading attributes with multiple threads - - It was reported that the reading of attributes with variable length string - datatype will crash with segmentation fault particularly when the number of - threads is high (>16 threads). The problem was due to the file pointer that - was set in the variable length string datatype for the attribute. That file - pointer was already closed when the attribute was accessed. - - The problem was fixed by setting the file pointer to the current opened file pointer - when the attribute was accessed. Similar patch up was done before when reading - dataset with variable length string datatype. - - (VC - 2020/07/13, HDFFV-11080) - - - Fixed CVE-2020-10810 - - The tool h5clear produced a segfault during an error recovery in - the superblock decoding. An internal pointer was reset to prevent - further accessing when it is not assigned with a value. - - (BMR - 2020/06/29, HDFFV-11053) - - - Fixed CVE-2018-17435 - - The tool h52gif produced a segfault when the size of an attribute - message was corrupted and caused a buffer overflow. - - The problem was fixed by verifying the attribute message's size - against the buffer size before accessing the buffer. h52gif was - also fixed to display the failure instead of silently exiting - after the segfault was eliminated. - - (BMR - 2020/06/19, HDFFV-10591) - - - Java Library - ------------ - - JNI utility function does not handle new references. - - The JNI utility function for converting reference data to string did - not use the new APIs. In addition to fixing that function, added new - java tests for using the new APIs. - - (ADB - 2021/02/16, HDFFV-11212) - - - The H5FArray.java class, in which virtually the entire execution time - is spent using the HDFNativeData method that converts from an array - of bytes to an array of the destination Java type. - - 1. Convert the entire byte array into a 1-d array of the desired type, - rather than performing 1 conversion per row; - 2. Use the Java Arrays method copyOfRange to grab the section of the - array from (1) that is desired to be inserted into the destination array. - - (PGT,ADB - 2020/12/13, HDFFV-10865) - - - Added ability to test java library with VOLs. - - Created a new CMake script that combines the java and vol test scripts. - - (ADB - 2020/02/03, HDFFV-10996) - - - Tests fail for non-English locales. - - In the JUnit tests with a non-English locale, only the part before - the decimal comma is replaced by XXXX and this leads to a comparison - error. Changed the regex for the Time substitution. - - (ADB - 2020/01/09, HDFFV-10995) - - - Configuration - ------------- - - Corrected path searched by CMake find_package command - - The install path for cmake find_package files had been changed to use - "share/cmake" - for all platforms. However the trailing "hdf5" directory was not removed. - This "hdf5" additional directory has been removed. - - (ADB - 2021/09/27) - - - Corrected pkg-config compile script - - It was discovered that the position of the "$@" argument for the command - in the compile script may fail on some platforms and configurations. The - position of the "$@"command argument was moved before the pkg-config sub command. - - (ADB - 2021/08/30) - - - Fixed CMake C++ compiler flags - - A recent refactoring of the C++ configure files accidentally removed the - file that executed the enable_language command for C++ needed by the - HDFCXXCompilerFlags.cmake file. Also updated the intel warnings files, - including adding support for windows platforms. - - (ADB - 2021/08/10) - - - Better support for libaec (open-source Szip library) in CMake - - Implemented better support for libaec 1.0.5 (or later) library. This version - of libaec contains improvements for better integration with HDF5. Furthermore, - the variable USE_LIBAEC_STATIC has been introduced to allow to make use of - static version of libaec library. Use libaec_DIR or libaec_ROOT to set - the location in which libaec can be found. - - Be aware, the Szip library of libaec 1.0.4 depends on another library within - libaec library. This dependency is not specified in the current CMake - configuration which means that one can not use the static Szip library of - libaec 1.0.4 when building HDF5. This has been resolved in libaec 1.0.5. - - (JWSB - 2021/06/22) - - - Refactor CMake configure for Fortran - - The Fortran configure tests for KINDs reused a single output file that was - read to form the Integer and Real Kinds defines. However, if config was run - more then once, the CMake completed variable prevented the tests from executing - again and the last value saved in the file was used to create the define. - Creating separate files for each KIND solved the issue. - - In addition the test for H5_PAC_C_MAX_REAL_PRECISION was not pulling in - defines for proper operation and did not define H5_PAC_C_MAX_REAL_PRECISION - correctly for a zero value. This was fixed by supplying the required defines. - In addition it was moved from the Fortran specific HDF5UseFortran.camke file - to the C centric ConfigureChecks.cmake file. - - (ADB - 2021/06/03) - - - Move emscripten flag to compile flags - - The emscripten flag, -O0, was removed from target_link_libraries command - to the correct target_compile_options command. - - (ADB - 2021/04/26 HDFFV-11083) - - - Remove arbitrary warning flag groups from CMake builds - - The arbitrary groups were created to reduce the quantity of warnings being - reported that overwhelmed testing report systems. Considerable work has - been accomplished to reduce the warning count and these arbitrary groups - are no longer needed. - Also the default for all warnings, HDF5_ENABLE_ALL_WARNINGS, is now ON. - - Visual Studio warnings C4100, C4706, and C4127 have been moved to - developer warnings, HDF5_ENABLE_DEV_WARNINGS, and are disabled for normal builds. - - (ADB - 2021/03/22, HDFFV-11228) - - - Reclassify CMake messages, to allow new modes and --log-level option - - CMake message commands have a mode argument. By default, STATUS mode - was chosen for any non-error message. CMake version 3.15 added additional - modes, NOTICE, VERBOSE, DEBUG and TRACE. All message commands with a mode - of STATUS were reviewed and most were reclassified as VERBOSE. The new - mode was protected by a check for a CMake version of at least 3.15. If CMake - version 3.17 or above is used, the user can use the command line option - of "--log-level" to further restrict which message commands are displayed. - - (ADB - 2021/01/11, HDFFV-11144) - - - Fixes Autotools determination of the stat struct having an st_blocks field - - A missing parenthesis in an autoconf macro prevented building the test - code used to determine if the stat struct contains the st_blocks field. - Now that the test functions correctly, the H5_HAVE_STAT_ST_BLOCKS #define - found in H5pubconf.h will be defined correctly on both the Autotools and - CMake. This #define is only used in the tests and does not affect the - HDF5 C library. - - (DER - 2021/01/07, HDFFV-11201) - - - Add missing ENV variable line to hdfoptions.cmake file - - Using the build options to use system SZIP/ZLIB libraries need to also - specify the library root directory. Setting the {library}_ROOT ENV - variable was added to the hdfoptions.cmake file. - - (ADB - 2020/10/19 HDFFV-11108) - - - Tools - ----- - - Changed how h5dump and h5ls identify long double. - - Long double support is not consistent across platforms. Tools will always - identify long double as 128-bit [little/big]-endian float nn-bit precision. - New test file created for datasets with attributes for float, double and - long double. In addition any unknown integer or float datatype will now - also show the number of bits for precision. - These files are also used in the java tests. - - (ADB - 2021/03/24, HDFFV-11229,HDFFV-11113) - - - Fixed tools argument parsing. - - Tools parsing used the length of the option from the long array to match - the option from the command line. This incorrectly matched a shorter long - name option that happened to be a subset of another long option. - Changed to match whole names. - - (ADB - 2021/01/19, HDFFV-11106) - - - The tools library was updated by standardizing the error stack process. - - General sequence is: - h5tools_setprogname(PROGRAMNAME); - h5tools_setstatus(EXIT_SUCCESS); - h5tools_init(); - ... process the command-line (check for error-stack enable) ... - h5tools_error_report(); - ... (do work) ... - h5diff_exit(ret); - - (ADB - 2020/07/20, HDFFV-11066) - - - h5diff fixed a command line parsing error. - - h5diff would ignore the argument to -d (delta) if it is smaller than DBL_EPSILON. - The macro H5_DBL_ABS_EQUAL was removed and a direct value comparison was used. - - (ADB - 2020/07/20, HDFFV-10897) - - - h5diff added a command line option to ignore attributes. - - h5diff would ignore all objects with a supplied path if the exclude-path argument is used. - Adding the exclude-attribute argument will only exclude attributes, with the supplied path, - from comparison. - - (ADB - 2020/07/20, HDFFV-5935) - - - h5diff added another level to the verbose argument to print filenames. - - Added verbose level 3 that is level 2 plus the filenames. The levels are: - 0 : Identical to '-v' or '--verbose' - 1 : All level 0 information plus one-line attribute status summary - 2 : All level 1 information plus extended attribute status report - 3 : All level 2 information plus file names - - (ADB - 2020/07/20, HDFFV-1005) - - - h5repack was fixed to repack the reference attributes properly. - - The code line that checks if the update of reference inside a compound - datatype is misplaced outside the code block loop that carries out the - check. In consequence, the next attribute that is not the reference - type was repacked again as the reference type and caused the failure of - repacking. The fix is to move the corresponding code line to the correct - code block. - - (KY -2020/02/10, HDFFV-11014) - - - h5diff was updated to use the new reference APIs. - - h5diff uses the new reference APIs to compare references. - Attribute references can also be compared. - - (ADB - 2019/12/19, HDFFV-10980) - - - h5dump and h5ls were updated to use the new reference APIs. - - The tools library now use the new reference APIs to inspect a - file. Also the DDL spec was updated to reflect the format - changes produced with the new APIs. The export API and support - functions in the JNI were updated to match. - - (ADB - 2019/12/06, HDFFV-10876 and HDFFV-10877) - - - Performance - ------------- - - - - - Fortran API - ----------- - - Corrected INTERFACE INTENT(IN) to INTENT(OUT) for buf_size in h5fget_file_image_f. - - (MSB - 2020/02/18, HDFFV-11029) - - - High-Level Library - ------------------ - - Fixed HL_test_packet, test for packet table vlen of vlen. - - Incorrect length assignment. - - (ADB - 2021/10/14) - - - Fortran High-Level APIs - ----------------------- - - - - - Documentation - ------------- - - - - - F90 APIs - -------- - - - - - C++ APIs - -------- - - Added DataSet::operator= - - Some compilers complain if the copy constructor is given explicitly - but the assignment operator is implicitly set to default. - - (2021/05/19) - - - Testing - ------- - - Stopped java/test/junit.sh.in installing libs for testing under ${prefix} - - Lib files needed are now copied to a subdirectory in the java/test - directory, and on Macs the loader path for libhdf5.xxxs.so is changed - in the temporary copy of libhdf5_java.dylib. - - (LRK, 2020/07/02, HDFFV-11063) - - -Platforms Tested -=================== - - Linux 5.13.14-200.fc34 GNU gcc (GCC) 11.2.1 2021078 (Red Hat 11.2.1-1) - #1 SMP x86_64 GNU/Linux GNU Fortran (GCC) 11.2.1 2021078 (Red Hat 11.2.1-1) - Fedora34 clang version 12.0.1 (Fedora 12.0.1-1.fc34) - (cmake and autotools) - - Linux 5.11.0-34-generic GNU gcc (GCC) 9.3.0-17ubuntu1 - #36-Ubuntu SMP x86_64 GNU/Linux GNU Fortran (GCC) 9.3.0-17ubuntu1 - Ubuntu 20.04 Ubuntu clang version 10.0.0-4 - (cmake and autotools) - - Linux 5.8.0-63-generic GNU gcc (GCC) 10.3.0-1ubuntu1 - #71-Ubuntu SMP x86_64 GNU/Linux GNU Fortran (GCC) 10.3.0-1ubuntu1 - Ubuntu20.10 Ubuntu clang version 11.0.0-2 - (cmake and autotools) - - Linux 5.3.18-22-default GNU gcc (SUSE Linux) 7.5.0 - #1 SMP x86_64 GNU/Linux GNU Fortran (SUSE Linux) 7.5.0 - SUSE15sp2 clang version 7.0.1 (tags/RELEASE_701/final 349238) - (cmake and autotools) - - Linux-4.14.0-115.21.2 spectrum-mpi/rolling-release - #1 SMP ppc64le GNU/Linux clang 8.0.1, 11.0.1 - (lassen) GCC 7.3.1 - XL 16.1.1.2 - (cmake) - - Linux-4.12.14-150.75-default cray-mpich/7.7.10 - #1 SMP x86_64 GNU/Linux GCC 7.3.0, 8.2.0 - (cori) Intel (R) Version 19.0.3.199 - (cmake) - - Linux-4.12.14-197.86-default cray-mpich/7.7.6 - # 1SMP x86_64 GNU/Linux GCC 7.3.0, 9.3.0, 10.2.0 - (mutrino) Intel (R) Version 17.0.4, 18.0.5, 19.1.3 - (cmake) - - Linux 3.10.0-1160.36.2.el7.ppc64 gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-39) - #1 SMP ppc64be GNU/Linux g++ (GCC) 4.8.5 20150623 (Red Hat 4.8.5-39) - Power8 (echidna) GNU Fortran (GCC) 4.8.5 20150623 (Red Hat 4.8.5-39) - - Linux 3.10.0-1160.24.1.el7 GNU C (gcc), Fortran (gfortran), C++ (g++) - #1 SMP x86_64 GNU/Linux compilers: - Centos7 Version 4.8.5 20150623 (Red Hat 4.8.5-4) - (jelly/kituo/moohan) Version 4.9.3, Version 5.3.0, Version 6.3.0, - Version 7.2.0, Version 8.3.0, Version 9.1.0 - Intel(R) C (icc), C++ (icpc), Fortran (icc) - compilers: - Version 17.0.0.098 Build 20160721 - GNU C (gcc) and C++ (g++) 4.8.5 compilers - with NAG Fortran Compiler Release 6.1(Tozai) - Intel(R) C (icc) and C++ (icpc) 17.0.0.098 compilers - with NAG Fortran Compiler Release 6.1(Tozai) - MPICH 3.1.4 compiled with GCC 4.9.3 - MPICH 3.3 compiled with GCC 7.2.0 - OpenMPI 2.1.6 compiled with icc 18.0.1 - OpenMPI 3.1.3 and 4.0.0 compiled with GCC 7.2.0 - PGI C, Fortran, C++ for 64-bit target on - x86_64; - Version 19.10-0 - - Linux-3.10.0-1127.0.0.1chaos openmpi-4.0.0 - #1 SMP x86_64 GNU/Linux clang 6.0.0, 11.0.1 - (quartz) GCC 7.3.0, 8.1.0 - Intel 16.0.4, 18.0.2, 19.0.4 - - macOS Apple M1 11.6 Apple clang version 12.0.5 (clang-1205.0.22.11) - Darwin 20.6.0 arm64 gfortran GNU Fortran (Homebrew GCC 11.2.0) 11.1.0 - (macmini-m1) Intel icc/icpc/ifort version 2021.3.0 202106092021.3.0 20210609 - - macOS Big Sur 11.3.1 Apple clang version 12.0.5 (clang-1205.0.22.9) - Darwin 20.4.0 x86_64 gfortran GNU Fortran (Homebrew GCC 10.2.0_3) 10.2.0 - (bigsur-1) Intel icc/icpc/ifort version 2021.2.0 20210228 - - macOS High Sierra 10.13.6 Apple LLVM version 10.0.0 (clang-1000.10.44.4) - 64-bit gfortran GNU Fortran (GCC) 6.3.0 - (bear) Intel icc/icpc/ifort version 19.0.4.233 20190416 - - macOS Sierra 10.12.6 Apple LLVM version 9.0.0 (clang-900.39.2) - 64-bit gfortran GNU Fortran (GCC) 7.4.0 - (kite) Intel icc/icpc/ifort version 17.0.2 - - Mac OS X El Capitan 10.11.6 Apple clang version 7.3.0 from Xcode 7.3 - 64-bit gfortran GNU Fortran (GCC) 5.2.0 - (osx1011test) Intel icc/icpc/ifort version 16.0.2 - - - Linux 2.6.32-573.22.1.el6 GNU C (gcc), Fortran (gfortran), C++ (g++) - #1 SMP x86_64 GNU/Linux compilers: - Centos6 Version 4.4.7 20120313 - (platypus) Version 4.9.3, 5.3.0, 6.2.0 - MPICH 3.1.4 compiled with GCC 4.9.3 - PGI C, Fortran, C++ for 64-bit target on - x86_64; - Version 19.10-0 - - Windows 10 x64 Visual Studio 2015 w/ Intel C/C++/Fortran 18 (cmake) - Visual Studio 2017 w/ Intel C/C++/Fortran 19 (cmake) - Visual Studio 2019 w/ clang 12.0.0 - with MSVC-like command-line (C/C++ only - cmake) - Visual Studio 2019 w/ Intel Fortran 19 (cmake) - Visual Studio 2019 w/ MSMPI 10.1 (C only - cmake) - - -Known Problems -============== - Setting a variable-length dataset fill value will leak the memory allocated - for the p field of the hvl_t struct. A fix is in progress for this. - HDFFV-10840 - - CMake files do not behave correctly with paths containing spaces. - Do not use spaces in paths because the required escaping for handling spaces - results in very complex and fragile build files. - ADB - 2019/05/07 - - 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. - - CPP ptable test fails on both VS2017 and VS2019 with Intel compiler, JIRA - issue: HDFFV-10628. This test will pass with VS2015 with Intel compiler. - - The subsetting option in ph5diff currently will fail and should be avoided. - The subsetting option works correctly in serial h5diff. - - Known problems in previous releases can be found in the HISTORY*.txt files - in the HDF5 source. Please report any new problems found to - help@hdfgroup.org. - - -CMake vs. Autotools installations -================================= -While both build systems produce similar results, there are differences. -Each system produces the same set of folders on linux (only CMake works -on standard Windows); bin, include, lib and share. Autotools places the -COPYING and RELEASE.txt file in the root folder, CMake places them in -the share folder. - -The bin folder contains the tools and the build scripts. Additionally, CMake -creates dynamic versions of the tools with the suffix "-shared". Autotools -installs one set of tools depending on the "--enable-shared" configuration -option. - build scripts - ------------- - Autotools: h5c++, h5cc, h5fc - CMake: h5c++, h5cc, h5hlc++, h5hlcc - -The include folder holds the header files and the fortran mod files. CMake -places the fortran mod files into separate shared and static subfolders, -while Autotools places one set of mod files into the include folder. Because -CMake produces a tools library, the header files for tools will appear in -the include folder. - -The lib folder contains the library files, and CMake adds the pkgconfig -subfolder with the hdf5*.pc files used by the bin/build scripts created by -the CMake build. CMake separates the C interface code from the fortran code by -creating C-stub libraries for each Fortran library. In addition, only CMake -installs the tools library. The names of the szip libraries are different -between the build systems. - -The share folder will have the most differences because CMake builds include -a number of CMake specific files for support of CMake's find_package and support -for the HDF5 Examples CMake project. - -The issues with the gif tool are: - HDFFV-10592 CVE-2018-17433 - HDFFV-10593 CVE-2018-17436 - HDFFV-11048 CVE-2020-10809 -These CVE issues have not yet been addressed and can be avoided by not building -the gif tool. Disable building the High-Level tools with these options: - autotools: --disable-hltools - cmake: HDF5_BUILD_HL_TOOLS=OFF - cmake: HDF5_BUILD_HL_TOOLS=OFF diff --git a/release_docs/HISTORY-1_14.txt b/release_docs/HISTORY-1_14.txt new file mode 100644 index 0000000..f012f47 --- /dev/null +++ b/release_docs/HISTORY-1_14.txt @@ -0,0 +1,2315 @@ +HDF5 History +============ + +This file contains development history of the HDF5 1.14 branch + +01. Release Information for hdf5-1.14.0 + +[Search on the string '%%%%' for section breaks of each release.] + +%%%%1.14.0%%%% + +HDF5 version 1.14.0 released on 2022-12-28 +================================================================================ + + +INTRODUCTION +============ + +This document describes the differences between this release and the previous +HDF5 release. It contains information on the platforms tested and known +problems in this release. For more details check the HISTORY*.txt files in the +HDF5 source. + +Note that documentation in the links below will be updated at the time of each +final release. + +Links to HDF5 documentation can be found on The HDF5 web page: + + https://portal.hdfgroup.org/display/HDF5/HDF5 + +The official HDF5 releases can be obtained from: + + https://www.hdfgroup.org/downloads/hdf5/ + +Changes from Release to Release and New Features in the HDF5-1.13.x release series +can be found at: + + https://portal.hdfgroup.org/display/HDF5/Release+Specific+Information + +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.12.0 +- Platforms Tested +- Known Problems +- CMake vs. Autotools installations + + +New Features +============ + + Configuration: + ------------- + - Removal of MPE support + + The ability to build with MPE instrumentation has been removed along with + the following configure options: + + Autotools: + --with-mpe= + + CMake has never supported building with MPE support. + + (DER - 2022/11/08) + + - Removal of dmalloc support + + The ability to build with dmalloc support has been removed along with + the following configure options: + + Autotools: + --with-dmalloc= + + CMake: + HDF5_ENABLE_USING_DMALLOC + + (DER - 2022/11/08) + + - Removal of memory allocation sanity checks configure options + + With the removal of the memory allocation sanity checks feature, the + following configure options are no longer necessary and have been + removed: + + Autotools: + --enable-memory-alloc-sanity-check + + CMake: + HDF5_MEMORY_ALLOC_SANITY_CHECK + HDF5_ENABLE_MEMORY_STATS + + (DER - 2022/11/03) + + - Add new CMake configuration variable HDF5_USE_GNU_DIRS + + HDF5_USE_GNU_DIRS (default OFF) selects the use of GNU Coding Standard install + directory variables by including the CMake module, GNUInstallDirs(see CMake + documentation for details). The HDF_DIR_PATHS macro in the HDFMacros.cmake file + sets various PATH variables for use during the build, test and install processes. + By default, the historical settings for these variables will be used. + + (ADB - 2022/10/21, GH-2175, GH-1716) + + - Update CMake minimum version to 3.18 + + Updated CMake minimum version from 3.12 to 3.18 and removed version checks + which were added for Windows features not yet available in version 3.12. Also + removed configure macros and code checks for old style code compile checks. + + (ADB - 2022/08/29, HDFFV-11329) + + - Correct the usage of CMAKE_Fortran_MODULE_DIRECTORY and where to + install Fortran mod files. + + The Fortran modules files, ending in .mod are files describing a + Fortran 90 (and above) module API and ABI. These are not like C + header files describing an API, they are compiler dependent and + arch dependent, and not easily readable by a human being. They are + nevertheless searched for in the includes directories by gfortran + (in directories specified with -I). + + Autotools configure uses the -fmoddir option to specify the folder. + CMake will use "mod" folder by default unless overridden by the CMake + variable; HDF5_INSTALL_MODULE_DIR. + + (ADB - 2022/07/21) + + - HDF5 memory allocation sanity checking is now off by default for + Autotools debug builds + + HDF5 can be configured to perform sanity checking on internal memory + allocations by adding heap canaries to these allocations. However, + enabling this option can cause issues with external filter plugins + when working with (reallocating/freeing/allocating and passing back) + buffers. + + Previously, this option was off by default for all CMake build types, + but only off by default for non-debug Autotools builds. Since debug + is the default build mode for HDF5 when built from source with + Autotools, this can result in surprising segfaults that don't occur + when an application is built against a release version of HDF5. + Therefore, this option is now off by default for all build types + across both CMake and Autotools. + + (JTH - 2022/03/01) + + - Reworked corrected path searched by CMake find_package command + + The install path for cmake find_package files had been changed to use + "share/cmake" + for all platforms. However setting the HDF5_ROOT variable failed to locate + the configuration files. The build variable HDF5_INSTALL_CMAKE_DIR is now + set to the /cmake folder. The location of the configuration + files can still be specified by the "HDF5_DIR" variable. + + (ADB - 2022/02/02) + + - CPack will now generate RPM/DEB packages. + + Enabled the RPM and DEB CPack generators on linux. In addition to + generating STGZ and TGZ packages, CPack will try to package the + library for RPM and DEB packages. This is the initial attempt and + may change as issues are resolved. + + (ADB - 2022/01/27) + + - Added new option to the h5cc scripts produced by CMake. + + Add -showconfig option to h5cc scripts to cat the + libhdf5.settings file to the standard output. + + (ADB - 2022/01/25) + + - CMake will now run the PowerShell script tests in test/ by default + on Windows. + + The test directory includes several shell script tests that previously + were not run by CMake on Windows. These are now run by default. + If TEST_SHELL_SCRIPTS is ON and PWSH is found, the PowerShell scripts + will execute. Similar to the bash scripts on unix platforms. + + (ADB - 2021/11/23) + + - Added new configure option to support building parallel tools. + See Tools below (autotools - CMake): + --enable-parallel-tools HDF5_BUILD_PARALLEL_TOOLS + + (RAW - 2021/10/25) + + - Added new configure options to enable dimension scales APIs (H5DS*) to + use new object references with the native VOL connector (aka native HDF5 + library). New references are always used for non-native terminal VOL + connectors (e.g., DAOS). + + Autotools --enable-dimension-scales-with-new-ref + CMake HDF5_DIMENSION_SCALES_NEW_REF=ON + + (EIP - 2021/10/25, HDFFV-11180) + + - Refactored the utils folder. + + Added subfolder test and moved the 'swmr_check_compat_vfd.c file' + from test into utils/test. Deleted the duplicate swmr_check_compat_vfd.c + file in hl/tools/h5watch folder. Also fixed vfd check options. + + (ADB - 2021/10/18) + + - Changed autotools and CMake configurations to derive both + compilation warnings-as-errors and warnings-only-warn configurations + from the same files, 'config/*/*error*'. Removed redundant files + 'config/*/*noerror*'. + + (DCY - 2021/09/29) + + - Adds C++ Autotools configuration file for Intel + + * Checks for icpc as the compiler + * Sets std=c++11 + * Copies most non-warning flags from intel-flags + + (DER - 2021/06/02) + + - Adds C++ Autotools configuration file for PGI + + * Checks for pgc++ as the compiler name (was: pgCC) + * Sets -std=c++11 + * Other options basically match new C options (below) + + (DER - 2021/06/02) + + - Updates PGI C options + + * -Minform set to warn (was: inform) to suppress spurious messages + * Sets -gopt -O2 as debug options + * Sets -O4 as 'high optimization' option + * Sets -O0 as 'no optimization' option + * Removes specific settings for PGI 9 and 10 + + (DER - 2021/06/02) + + - A C++11-compliant compiler is now required to build the C++ wrappers + + CMAKE_CXX_STANDARD is now set to 11 when building with CMake and + -std=c++11 is added when building with clang/gcc via the Autotools. + + (DER - 2021/05/27) + + - CMake will now run the shell script tests in test/ by default + + The test directory includes several shell script tests that previously + were not run by CMake. These are now run by default. TEST_SHELL_SCRIPTS + has been set to ON and SH_PROGRAM has been set to bash (some test + scripts use bash-isms). Platforms without bash (e.g., Windows) will + ignore the script tests. + + (DER - 2021/05/23) + + - Removed unused HDF5_ENABLE_HSIZET option from CMake + + This has been unused for some time and has no effect. + + (DER - 2021/05/23) + + - CMake no longer builds the C++ library by default + + HDF5_BUILD_CPP_LIB now defaults to OFF, which is in line with the + Autotools build defaults. + + (DER - 2021/04/20) + + - Removal of pre-VS2015 work-arounds + + HDF5 now requires Visual Studio 2015 or greater, so old work-around + code and definitions have been removed, including: + + * + * snprintf and vsnprintf + * llround, llroundf, lround, lroundf, round, roundf + * strtoll and strtoull + * va_copy + * struct timespec + + (DER - 2021/03/22) + + - Add CMake variable HDF5_LIB_INFIX + + This infix is added to all library names after 'hdf5'. + e.g. the infix '_openmpi' results in the library name 'libhdf5_openmpi.so' + This name is used in packages on debian based systems. + (see https://packages.debian.org/jessie/amd64/libhdf5-openmpi-8/filelist) + + (barcode - 2021/03/22) + + - On macOS, Universal Binaries can now be built, allowing native execution on + both Intel and Apple Silicon (ARM) based Macs. + + To do so, set CMAKE_OSX_ARCHITECTURES="x86_64;arm64" + + (SAM - 2021/02/07, github-311) + + - Added a configure-time option to control certain compiler warnings + diagnostics + + A new configure-time option was added that allows some compiler warnings + diagnostics to have the default operation. This is mainly intended for + library developers and currently only works for gcc 10 and above. The + diagnostics flags apply to C, C++ and Fortran compilers and will appear + in "H5 C Flags", H5 C++ Flags" and H5 Fortran Flags, respectively. They + will NOT be exported to h5cc, etc. + + The default is OFF, which will disable the warnings URL and color attributes + for the warnings output. ON will not add the flags and allow default behavior. + + Autotools: --enable-diags + + CMake: HDF5_ENABLE_BUILD_DIAGS + + (ADB - 2021/02/05, HDFFV-11213) + + - CMake option to build the HDF filter plugins project as an external project + + The HDF filter plugins project is a collection of registered compression + filters that can be dynamically loaded when needed to access data stored + in a hdf5 file. This CMake-only option allows the plugins to be built and + distributed with the hdf5 library and tools. Like the options for szip and + zlib, either a tgz file or a git repository can be specified for the source. + + The option was refactored to use the CMake FetchContent process. This allows + more control over the filter targets, but required external project command + options to be moved to a CMake include file, HDF5PluginCache.cmake. Also + enabled the filter examples to be used as tests for operation of the + filter plugins. + + (ADB - 2020/12/10, OESS-98) + + - FreeBSD Autotools configuration now defaults to 'cc' and 'c++' compilers + + On FreeBSD, the autotools defaulted to 'gcc' as the C compiler and did + not process C++ options. Since FreeBSD 10, the default compiler has + been clang (via 'cc'). + + The default compilers have been set to 'cc' for C and 'c++' for C++, + which will pick up clang and clang++ respectively on FreeBSD 10+. + Additionally, clang options are now set correctly for both C and C++ + and g++ options will now be set if that compiler is being used (an + omission from the former functionality). + + (DER - 2020/11/28, HDFFV-11193) + + - Fixed POSIX problems when building w/ gcc on Solaris + + When building on Solaris using gcc, the POSIX symbols were not + being set correctly, which could lead to issues like clock_gettime() + not being found. + + The standard is now set to gnu99 when building with gcc on Solaris, + which allows POSIX things to be #defined and linked correctly. This + differs slightly from the gcc norm, where we set the standard to c99 + and manually set POSIX #define symbols. + + (DER - 2020/11/25, HDFFV-11191) + + - Added a configure-time option to consider certain compiler warnings + as errors + + A new configure-time option was added that converts some compiler warnings + to errors. This is mainly intended for library developers and currently + only works for gcc and clang. The warnings that are considered errors + will appear in the generated libhdf5.settings file. These warnings apply + to C and C++ code and will appear in "H5 C Flags" and H5 C++ Flags", + respectively. They will NOT be exported to h5cc, etc. + + The default is OFF. Building with this option may fail when compiling + on operating systems and with compiler versions not commonly used by + the library developers. Compilation may also fail when headers not + under the control of the library developers (e.g., mpi.h, hdfs.h) raise + warnings. + + Autotools: --enable-warnings-as-errors + + CMake: HDF5_ENABLE_WARNINGS_AS_ERRORS + + (DER - 2020/11/23, HDFFV-11189) + + - Autotools and CMake target added to produce doxygen generated documentation + + The default is OFF or disabled. + Autoconf option is '--enable-doxygen' + autotools make target is 'doxygen' and will build all doxygen targets + CMake configure option is 'HDF5_BUILD_DOC'. + CMake target is 'doxygen' for all available doxygen targets + CMake target is 'hdf5lib_doc' for the src subdirectory + + (ADB - 2020/11/03) + + - CMake option to use MSVC naming conventions with MinGW + + HDF5_MSVC_NAMING_CONVENTION option enable to use MSVC naming conventions + when using a MinGW toolchain + + (xan - 2020/10/30) + + - CMake option to statically link gcc libs with MinGW + + HDF5_MINGW_STATIC_GCC_LIBS allows to statically link libg/libstdc++ + with the MinGW toolchain + + (xan - 2020/10/30) + + - CMake option to build the HDF filter plugins project as an external project + + The HDF filter plugins project is a collection of registered compression + filters that can be dynamically loaded when needed to access data stored + in a hdf5 file. This CMake-only option allows the plugins to be built and + distributed with the hdf5 library and tools. Like the options for szip and + zlib, either a tgz file or a git repository can be specified for the source. + + The necessary options are (see the INSTALL_CMake.txt file): + HDF5_ENABLE_PLUGIN_SUPPORT + PLUGIN_TGZ_NAME or PLUGIN_GIT_URL + There are more options necessary for various filters and the plugin project + documents should be referenced. + + (ADB - 2020/09/27, OESS-98) + + - Added CMake option to format source files + + HDF5_ENABLE_FORMATTERS option will enable creation of targets using the + pattern - HDF5_*_SRC_FORMAT - where * corresponds to the source folder + or tool folder. All sources can be formatted by executing the format target; + make format + + (ADB - 2020/08/24) + + - Add file locking configure and CMake options + + HDF5 1.10.0 introduced a file locking scheme, primarily to help + enforce SWMR setup. Formerly, the only user-level control of the scheme + was via the HDF5_USE_FILE_LOCKING environment variable. + + This change introduces configure-time options that control whether + or not file locking will be used and whether or not the library + ignores errors when locking has been disabled on the file system + (useful on some HPC Lustre installations). + + In both the Autotools and CMake, the settings have the effect of changing + the default property list settings (see the H5Pset/get_file_locking() + entry, below). + + The yes/no/best-effort file locking configure setting has also been + added to the libhdf5.settings file. + + Autotools: + + An --enable-file-locking=(yes|no|best-effort) option has been added. + + yes: Use file locking. + no: Do not use file locking. + best-effort: Use file locking and ignore "disabled" errors. + + CMake: + + Two self-explanatory options have been added: + + HDF5_USE_FILE_LOCKING + HDF5_IGNORE_DISABLED_FILE_LOCKS + + Setting both of these to ON is the equivalent to the Autotools' + best-effort setting. + + NOTE: + The precedence order of the various file locking control mechanisms is: + + 1) HDF5_USE_FILE_LOCKING environment variable (highest) + + 2) H5Pset_file_locking() + + 3) configure/CMake options (which set the property list defaults) + + 4) library defaults (currently best-effort) + + (DER - 2020/07/30, HDFFV-11092) + + - CMake option to link the generated Fortran MOD files into the include + directory. + + The Fortran generation of MOD files by a Fortran compile can produce + different binary files between SHARED and STATIC compiles with different + compilers and/or different platforms. Note that it has been found that + different versions of Fortran compilers will produce incompatible MOD + files. Currently, CMake will locate these MOD files in subfolders of + the include directory and add that path to the Fortran library target + in the CMake config file, which can be used by the CMake find library + process. For other build systems using the binary from a CMake install, + a new CMake configuration can be used to copy the pre-chosen version + of the Fortran MOD files into the install include directory. + + The default will depend on the configuration of + BUILD_STATIC_LIBS and BUILD_SHARED_LIBS: + YES YES Default to SHARED + YES NO Default to STATIC + NO YES Default to SHARED + NO NO Default to SHARED + The defaults can be overridden by setting the config option + HDF5_INSTALL_MOD_FORTRAN to one of NO, SHARED, or STATIC + + (ADB - 2020/07/09, HDFFV-11116) + + - CMake option to use AEC (open source SZip) library instead of SZip + + The open source AEC library is a replacement library for SZip. In + order to use it for hdf5 the libaec CMake source was changed to add + "-fPIC" and exclude test files. Autotools does not build the + compression libraries within hdf5 builds. New option USE_LIBAEC is + required to compensate for the different files produced by AEC build. + + (ADB - 2020/04/22, OESS-65) + + - CMake ConfigureChecks.cmake file now uses CHECK_STRUCT_HAS_MEMBER + + Some handcrafted tests in HDFTests.c has been removed and the CMake + CHECK_STRUCT_HAS_MEMBER module has been used. + + (ADB - 2020/03/24, TRILAB-24) + + - Both build systems use same set of warnings flags + + GNU C, C++ and gfortran warnings flags were moved to files in a config + sub-folder named gnu-warnings. Flags that only are available for a specific + version of the compiler are in files named with that version. + Clang C warnings flags were moved to files in a config sub-folder + named clang-warnings. + Intel C, Fortran warnings flags were moved to files in a config sub-folder + named intel-warnings. + + There are flags in named "error-xxx" files with warnings that may + be promoted to errors. Some source files may still need fixes. + + There are also pairs of files named "developer-xxx" and "no-developer-xxx" + that are chosen by the CMake option:HDF5_ENABLE_DEV_WARNINGS or the + configure option:--enable-developer-warnings. + + In addition, CMake no longer applies these warnings for examples. + + (ADB - 2020/03/24, TRILAB-192) + + + Library: + -------- + - Overhauled the Virtual Object Layer (VOL) + + The virtual object layer (VOL) was added in HDF5 1.12.0 but the initial + implementation required API-breaking changes to better support optional + operations and pass-through VOL connectors. The original VOL API is + now considered deprecated and VOL users and connector authors should + target the 1.14 VOL API. + + The specific changes are too extensive to document in a release note, so + VOL users and connector authors should consult the updated VOL connector + author's guide and the 1.12-1.14 VOL migration guide. + + (DER - 2022/12/28) + + - H5VLquery_optional() signature change + + The last parameter of this API call has changed from a pointer to hbool_t + to a pointer to uint64_t. Due to the changes in how optional operations + are handled in the 1.14 VOL API, we cannot make the old API call work + with the new scheme, so there is no API compatibility macro for it. + + (DER - 2022/12/28) + + - H5I_free_t callback signature change + + In order to support asynchronous operations and future IDs, the signature + of the H5I_free_t callback has been modified to take a second 'request' + parameter. Due to the nature of the internal library changes, no API + compatibility macro is available for this change. + + (DER - 2022/12/28) + + - Fix for CVE-2019-8396 + + Malformed HDF5 files may have truncated content which does not match + the expected size. When H5O__pline_decode() attempts to decode these it + may read past the end of the allocated space leading to heap overflows + as bounds checking is incomplete. + + The fix ensures each element is within bounds before reading. + + (2022/11/09 - HDFFV-10712, CVE-2019-8396, GitHub #2209) + + - Removal of memory allocation sanity checks feature + + This feature added heap canaries and statistics tracking for internal + library memory operations. Unfortunately, the heap canaries caused + problems when library memory operations were mixed with standard C + library memory operations (such as in the filter pipeline, where + buffers may have to be reallocated). Since any platform with a C + compiler also usually has much more sophisticated memory sanity + checking tools than the HDF5 library provided (e.g., valgrind), we + have decided to to remove the feature entirely. + + In addition to the configure changes described above, this also removes + the following from the public API: + H5get_alloc_stats() + H5_alloc_stats_t + + (DER - 2022/11/03) + + - Added multi dataset I/O feature + + Added H5Dread_multi, H5Dread_multi_async, H5Dwrite_multi, and + H5Dwrite_multi_async API routines to allow I/O on multiple datasets with a + single API call. Added H5Dread_multi_f and H5Dwrite_multi_f Fortran + wrappers. Updated VOL callbacks for dataset I/O to support multi dataset + I/O. + + (NAF - 2022/10/19) + + - Onion VFD + + The onion VFD allows creating "versioned" HDF5 files. File open/close + operations after initial file creation will add changes to an external + "onion" file (.onion extension by default) instead of the original file. + Each written revision can be opened independently. + + To open a file with the onion VFD, use the H5Pset_fapl_onion() API call + (does not need to be used for the initial creation of the file). The + options for the H5FD_onion_fapl_info_t struct are described in H5FDonion.h. + + The H5FDonion_get_revision_count() API call can be used to query a file + to find out how many revisions have been created. + + (DER - 2022/08/02) + + - Subfiling VFD + + The HDF5 Subfiling VFD is a new MPI-based file driver that allows an + HDF5 application to distribute an HDF5 file across a collection of + "sub-files" in equal-sized data segment "stripes". I/O to the logical + HDF5 file is then directed to the appropriate "sub-file" according to + the Subfiling configuration and a system of I/O concentrators, which + are MPI ranks operating worker threads. + + By allowing a configurable stripe size, number of I/O concentrators and + method for selecting MPI ranks as I/O concentrators, the Subfiling VFD + aims to enable an HDF5 application to find a middle ground between the + single shared file and file-per-process approaches to parallel file I/O + for the particular machine the application is running on. In general, the + goal is to avoid some of the complexity of the file-per-process approach + while also minimizing the locking issues of the single shared file approach + on a parallel file system. + + Also included with the Subfiling VFD is a new h5fuse.sh script which + reads a Subfiling configuration file and then combines the various + sub-files back into a single HDF5 file. By default, the h5fuse.sh script + looks in the current directory for the Subfiling configuration file, + but can also be pointed to the configuration file with a command-line + option. + + The Subfiling VFD can be used by calling H5Pset_fapl_subfiling() on a + File Access Property List and using that FAPL for file operations. Note + that the Subfiling VFD currently has the following limitations: + + * Does not currently support HDF5 collective I/O, other than collective + metadata writes and reads as set by H5Pset_coll_metadata_write() and + H5Pset_all_coll_metadata_ops() + + * The Subfiling VFD should not currently be used with an HDF5 library + that has been built with thread-safety enabled. This can cause deadlocks + when failures occur due to interactions between the VFD's internal + threads and HDF5's global lock. + + (JTH - 2022/07/22) + + - Add a new public function, H5ESget_requests() + + This function allows the user to retrieve request pointers from an event + set. It is intended for use primarily by VOL plugin developers. + + (NAF - 2022/01/11) + + - Adds new file driver-level memory copy operation for + "ctl" callback and updates compact dataset I/O routines + to utilize it + + When accessing an HDF5 file with a file driver that uses + memory allocated in special ways (e.g., without standard + library's `malloc`), a crash could be observed when HDF5 + tries to perform `memcpy` operations on such a memory + region. + + These changes add a new H5FD_FEAT_MEMMANAGE VFD feature + flag, which, if specified as supported by a VFD, will + inform HDF5 that the VFD either uses special memory + management routines or wishes to perform memory management + in a specific way. Therefore, this flag instructs HDF5 to + ask the file driver to perform memory management for + certain operations. + + These changes also introduce a new "ctl" callback + operation identified by the H5FD_CTL__MEM_COPY op code. + This operation simply asks a VFD to perform a memory copy. + The arguments to this operation are passed to the "ctl" + callback's "input" parameter as a pointer to a struct + defined as: + + struct H5FD_ctl_memcpy_args_t { + void * dstbuf; /**< Destination buffer */ + hsize_t dst_off; /**< Offset within destination buffer */ + const void *srcbuf; /**< Source buffer */ + hsize_t src_off; /**< Offset within source buffer */ + size_t len; /**< Length of data to copy from source buffer */ + } H5FD_ctl_memcpy_args_t; + + Further, HDF5's compact dataset I/O routines were + identified as a problematic area that could cause a crash + for VFDs that make use of special memory management. Those + I/O routines were therefore updated to make use of this new + "ctl" callback operation in order to ask the underlying + file driver to correctly handle memory copies. + + (JTH - 2021/09/28) + + - Adds new "ctl" callback to VFD H5FD_class_t structure + with the following prototype: + + herr_t (*ctl)(H5FD_t *file, uint64_t op_code, + uint64_t flags, const void *input, + void **output); + + This newly-added "ctl" callback allows Virtual File + Drivers to intercept and handle arbitrary operations + identified by an operation code. Its parameters are + as follows: + + `file` [in] - A pointer to the file to be operated on + `op_code` [in] - The operation code identifying the + operation to be performed + `flags` [in] - Flags governing the behavior of the + operation performed (see H5FDpublic.h + for a list of valid flags) + `input` [in] - A pointer to arguments passed to the + VFD performing the operation + `output` [out] - A pointer for the receiving VFD to + use for output from the operation + + (JRM - 2021/08/16) + + - Change how the release part of version, in major.minor.release is checked + for compatibility + + The HDF5 library uses a function, H5check_version, to check that + the version defined in the header files, which is used to compile an + application is compatible with the version codified in the library, which + the application loads at runtime. This previously required an exact match + or the library would print a warning, dump the build settings and then + abort or continue. An environment variable controlled the logic. + + Now the function first checks that the library release version, in + major.minor.release, is not older than the version in the headers. + Secondly, if the release version is different, it checks if either + the library version or the header version is in the exception list, in + which case the release part of version, in major.minor.release, must + be exact. An environment variable still controls the logic. + + (ADB - 2021/07/27) + + - gcc warning suppression macros were moved out of H5public.h + + The HDF5 library uses a set of macros to suppress warnings on gcc. + These warnings were originally located in H5public.h so that the + multi VFD (which only uses public headers) could also make use of them + but internal macros should not be publicly exposed like this. + + These macros have now been moved to H5private.h. Pending future multi + VFD refactoring, the macros have been duplicated in H5FDmulti.c to + suppress the format string warnings there. + + (DER - 2021/06/03) + + - H5Gcreate1() now rejects size_hint parameters larger than UINT32_MAX + + The size_hint value is ultimately stored in a uint32_t struct field, + so specifying a value larger than this on a 64-bit machine can cause + undefined behavior including crashing the system. + + The documentation for this API call was also incorrect, stating that + passing a negative value would cause the library to use a default + value. Instead, passing a "negative" value actually passes a very large + value, which is probably not what the user intends and can cause + crashes on 64-bit systems. + + The Doxygen documentation has been updated and passing values larger + than UINT32_MAX for size_hint will now produce a normal HDF5 error. + + (DER - 2021/04/29, HDFFV-11241) + + + - H5Pset_fapl_log() no longer crashes when passed an invalid fapl ID + + When passed an invalid fapl ID, H5Pset_fapl_log() would usually + segfault when attempting to free an uninitialized pointer in the error + handling code. This behavior is more common in release builds or + when the memory sanitization checks were not selected as a build + option. + + The pointer is now correctly initialized and the API call now + produces a normal HDF5 error when fed an invalid fapl ID. + + (DER - 2021/04/28, HDFFV-11240) + + - Fixes a segfault when H5Pset_mdc_log_options() is called multiple times + + The call incorrectly attempts to free an internal copy of the previous + log location string, which causes a segfault. This only happens + when the call is invoked multiple times on the same property list. + On the first call to a given fapl, the log location is set to NULL so + the segfault does not occur. + + The string is now handled properly and the segfault no longer occurs. + + (DER - 2021/04/27, HDFFV-11239) + + - HSYS_GOTO_ERROR now emits the results of GetLastError() on Windows + + HSYS_GOTO_ERROR is an internal macro that is used to produce error + messages when system calls fail. These strings include errno and the + the associated strerror() value, which are not particularly useful + when a Win32 API call fails. + + On Windows, this macro has been updated to include the result of + GetLastError(). When a system call fails on Windows, usually only + one of errno and GetLastError() will be useful, however we emit both + for the user to parse. The Windows error message is not emitted as + it would be awkward to free the FormatMessage() buffer given the + existing HDF5 error framework. Users will have to look up the error + codes in MSDN. + + The format string on Windows has been changed from: + + "%s, errno = %d, error message = '%s'" + + to: + + "%s, errno = %d, error message = '%s', Win32 GetLastError() = %"PRIu32"" + + for those inclined to parse it for error values. + + (DER - 2021/03/21) + + - File locking now works on Windows + + Since version 1.10.0, the HDF5 library has used a file locking scheme + to help enforce one reader at a time accessing an HDF5 file, which can + be helpful when setting up readers and writers to use the single- + writer/multiple-readers (SWMR) access pattern. + + In the past, this was only functional on POSIX systems where flock() or + fcntl() were present. Windows used a no-op stub that always succeeded. + + HDF5 now uses LockFileEx() and UnlockFileEx() to lock the file using the + same scheme as POSIX systems. We lock the entire file when we set up the + locks (by passing DWORDMAX as both size parameters to LockFileEx()). + + (DER - 2021/03/19, HDFFV-10191) + + - H5Epush_ret() now requires a trailing semicolon + + H5Epush_ret() is a function-like macro that has been changed to + contain a `do {} while(0)` loop. Consequently, a trailing semicolon + is now required to end the `while` statement. Previously, a trailing + semi would work, but was not mandatory. This change was made to allow + clang-format to correctly format the source code. + + (SAM - 2021/03/03) + + - Improved performance of H5Sget_select_elem_pointlist + + Modified library to cache the point after the last block of points + retrieved by H5Sget_select_elem_pointlist, so a subsequent call to the + same function to retrieve the next block of points from the list can + proceed immediately without needing to iterate over the point list. + + (NAF - 2021/01/19) + + - Replaced H5E_ATOM with H5E_ID in H5Epubgen.h + + The term "atom" is archaic and not in line with current HDF5 library + terminology, which uses "ID" instead. "Atom" has mostly been purged + from the library internals and this change removes H5E_ATOM from + the H5Epubgen.h (exposed via H5Epublic.h) and replaces it with + H5E_ID. + + (DER - 2020/11/24, HDFFV-11190) + + - Add a new public function H5Ssel_iter_reset + + This function resets a dataspace selection iterator back to an + initial state so that it may be used for iteration once more. + This can be useful when needing to iterate over a selection + multiple times without having to repeatedly create/destroy + a selection iterator for that dataspace selection. + + (JTH - 2020/09/18) + + - Remove HDFS VFD stubs + + The original implementation of the HDFS VFD included non-functional + versions of the following public API calls when the HDFS VFD is + not built as a part of the HDF5 library: + + * H5FD_hdfs_init() + * H5Pget_fapl_hdfs() + * H5Pset_fapl_hdfs() + + They will remain present in HDF5 1.10 and HDF5 1.12 releases + for binary compatibility purposes but have been removed as of 1.14.0. + + Note that this has nothing to do with the real HDFS VFD API calls + that are fully functional when the HDFS VFD is configured and built. + + We simply changed: + + #ifdef LIBHDFS + + #else + + #endif + + to: + + #ifdef LIBHDFS + + #endif + + Which is how the other optional VFDs are handled. + + (DER - 2020/08/27) + + - Add Mirror VFD + + Use TCP/IP sockets to perform write-only (W/O) file I/O on a remote + machine. Must be used in conjunction with the Splitter VFD. + + (JOS - 2020/03/13, TBD) + + - Add Splitter VFD + + Maintain separate R/W and W/O channels for "concurrent" file writes + to two files using a single HDF5 file handle. + + (JOS - 2020/03/13, TBD) + + + Parallel Library: + ----------------- + - Several improvements to parallel compression feature, including: + + * Improved support for collective I/O (for both writes and reads) + + * Significant reduction of memory usage for the feature as a whole + + * Reduction of copying of application data buffers passed to H5Dwrite + + * Addition of support for incremental file space allocation for filtered + datasets created in parallel. Incremental file space allocation is the + default for these types of datasets (early file space allocation is + also still supported), while early file space allocation is still the + default (and only supported at allocation time) for unfiltered datasets + created in parallel. Incremental file space allocation should help with + parallel HDF5 applications that wish to use fill values on filtered + datasets, but would typically avoid doing so since dataset creation in + parallel would often take an excessive amount of time. Since these + datasets previously used early file space allocation, HDF5 would + allocate space for and write fill values to every chunk in the dataset + at creation time, leading to noticeable overhead. Instead, with + incremental file space allocation, allocation of file space for chunks + and writing of fill values to those chunks will be delayed until each + individual chunk is initially written to. + + * Addition of support for HDF5's "don't filter partial edge chunks" flag + (https://portal.hdfgroup.org/display/HDF5/H5P_SET_CHUNK_OPTS) + + * Addition of proper support for HDF5 fill values with the feature + + * Addition of 'H5_HAVE_PARALLEL_FILTERED_WRITES' macro to H5pubconf.h + so HDF5 applications can determine at compile-time whether the feature + is available + + * Addition of simple examples (ph5_filtered_writes.c and + ph5_filtered_writes_no_sel.c) under examples directory to demonstrate + usage of the feature + + * Improved coverage of regression testing for the feature + + (JTH - 2022/2/23) + + + Fortran Library: + ---------------- + - Added pointer based H5Dfill_f API + + Added Fortran H5Dfill_f, which is fully equivalent to the C API. It accepts pointers, + fill value datatype and datatype of dataspace elements. + + (MSB - 2022/10/10, HDFFV-10734.) + + - H5Fget_name_f fixed to handle correctly trailing whitespaces and + newly allocated buffers. + + (MSB - 2021/08/30, github-826,972) + + - Add wrappers for H5Pset/get_file_locking() API calls + + h5pget_file_locking_f() + h5pset_file_locking_f() + + See the configure option discussion for HDFFV-11092 (above) for more + information on the file locking feature and how it's controlled. + + (DER - 2020/07/30, HDFFV-11092) + + + C++ Library: + ------------ + - Added two new constructors to H5::H5File class + + Two new constructors were added to allow opening a file with non-default + access property list. + + - Add wrappers for H5Pset/get_file_locking() API calls + + FileAccPropList::setFileLocking() + FileAccPropList::getFileLocking() + + See the configure option discussion for HDFFV-11092 (above) for more + information on the file locking feature and how it's controlled. + + (DER - 2020/07/30, HDFFV-11092) + + + Java Library: + ------------- + - Added version of H5Rget_name to return the name as a Java string. + + Other functions that get_name process the get_size then get the name + within the JNI implementation. Now H5Rget_name has a H5Rget_name_string. + + (ADB - 2022/07/12) + + - Added reference support to H5A and H5D read write vlen JNI functions. + + Added the implementation to handle VL references as an Array of Lists + of byte arrays. + + The JNI wrappers translate the Array of Lists to/from the hvl_t vlen + structures. The wrappers use the specified datatype arguments for the + List type translation, it is expected that the Java type is correct. + + (ADB - 2022/07/11, HDFFV-11318) + + - H5A and H5D read write vlen JNI functions were incorrect. + + Corrected the vlen function implementations for the basic primitive types. + The VLStrings functions now correctly use the implementation that had been + the VL functions. (VLStrings functions did not have an implementation.) + The new VL functions implementation now expect an Array of Lists between + Java and the JNI wrapper. + + The JNI wrappers translate the Array of Lists to/from the hvl_t vlen + structures. The wrappers use the specified datatype arguments for the + List type translation, it is expected that the Java type is correct. + + (ADB - 2022/07/07, HDFFV-11310) + + - H5A and H5D read write JNI functions had flawed vlen datatype check. + + Adapted tools function for JNI utils file. This reduced multiple calls + to a single check and variable. The variable can then be used to call + the H5Treclaim function. Adjusted existing test and added new test. + + (ADB - 2022/06/22) + + - Replaced HDF5AtomException with HDF5IdException + + Since H5E_ATOM changed to H5E_ID in the C library, the Java exception + that wraps the error category was also renamed. Its functionality + remains unchanged aside from the name. + + (See also the HDFFV-11190 note in the C library section) + + (DER - 2020/11/24, HDFFV-11190) + + - Added new H5S functions. + + H5Sselect_copy, H5Sselect_shape_same, H5Sselect_adjust, + H5Sselect_intersect_block, H5Sselect_project_intersection, + H5Scombine_hyperslab, H5Smodify_select, H5Scombine_select + wrapper functions added. + + (ADB - 2020/10/27, HDFFV-10868) + + - Add wrappers for H5Pset/get_file_locking() API calls + + H5Pset_file_locking() + H5Pget_use_file_locking() + H5Pget_ignore_disabled_file_locking() + + Unlike the C++ and Fortran wrappers, there are separate getters for the + two file locking settings, each of which returns a boolean value. + + See the configure option discussion for HDFFV-11092 (above) for more + information on the file locking feature and how it's controlled. + + (DER - 2020/07/30, HDFFV-11092) + + + Tools: + ------ + - Building h5perf/h5perf_serial in "standalone mode" has been removed + + Building h5perf separately from the library was added circa 2008 + in HDF5 1.6.8. It's unclear what purpose this serves and the current + implementation is currently broken. The existing files require + H5private.h and the symbols we use to determine how the copied + platform-independence scheme should be used come from H5pubconf.h, + which may not match the compiler being used to build standalone h5perf. + + Due to the maintenance overhead and lack of a clear use case, support + for building h5perf and h5perf_serial separately from the HDF5 library + has been removed. + + (DER - 2022/07/15) + + - The perf tool has been removed + + The small `perf` tool didn't really do anything special and the name + conflicts with gnu's perf tool. + + (DER - 2022/07/15, GitHub #1787) + + - 1.10 References in containers were not displayed properly by h5dump. + + Ported 1.10 tools display function to provide ability to inspect and + display 1.10 reference data. + + (ADB - 2022/06/22) + + - h5repack added an optional verbose value for reporting R/W timing. + + In addition to adding timing capture around the read/write calls in + h5repack, added help text to indicate how to show timing for read/write; + -v N, --verbose=N Verbose mode, print object information. + N - is an integer greater than 1, 2 displays read/write timing + (ADB - 2021/11/08) + + - Added a new (unix ONLY) parallel meta tool 'h5dwalk', which utilizes the + mpifileutils (https://hpc.github.io/mpifileutils) open source utility + library to enable parallel execution of other HDF5 tools. + This approach can greatly enhance the serial hdf5 tool performance over large + collections of files by utilizing MPI parallelism to distribute an application + load over many independent MPI ranks and files. + + An introduction to the mpifileutils library and initial 'User Guide' for + the new 'h5dwalk" tool can be found at: + https://github.com/HDFGroup/hdf5doc/tree/master/RFCs/HDF5/tools/parallel_tools + + (RAW - 2021/10/25) + + - Refactored the perform tools and removed depends on test library. + + Moved the perf and h5perf tools from tools/test/perform to + tools/src/h5perf so that they can be installed. This required + that the test library dependency be removed by copying the + needed functions from h5test.c. + The standalone scripts and other perform tools remain in the + tools/test/perform folder. + + (ADB - 2021/08/10) + + - Removed partial long exceptions + + Some of the tools accepted shortened versions of the long options + (ex: --datas instead of --dataset). These were implemented inconsistently, + are difficult to maintian, and occasionally block useful long option + names. These partial long options have been removed from all the tools. + + (DER - 2021/08/03) + + - h5repack added help text for user-defined filters. + + Added help text line that states the valid values of the filter flag + for user-defined filters; + filter_flag: 1 is OPTIONAL or 0 is MANDATORY + + (ADB - 2021/01/14, HDFFV-11099) + + - Added h5delete tool + + Deleting HDF5 storage when using the VOL can be tricky when the VOL + does not create files. The h5delete tool is a simple wrapper around + the H5Fdelete() API call that uses the VOL specified in the + HDF5_VOL_CONNECTOR environment variable to delete a "file". If + the call to H5Fdelete() fails, the tool will attempt to use + the POSIX remove(3) call to remove the file. + + Note that the HDF5 library does currently have support for + H5Fdelete() in the native VOL connector. + + (DER - 2020/12/16) + + - h5repack added options to control how external links are handled. + + Currently h5repack preserves external links and cannot copy and merge + data from the external files. Two options, merge and prune, were added to + control how to merge data from an external link into the resulting file. + --merge Follow external soft link recursively and merge data. + --prune Do not follow external soft links and remove link. + --merge --prune Follow external link, merge data and remove dangling link. + + (ADB - 2020/08/05, HDFFV-9984) + + - h5repack was fixed to repack the reference attributes properly. + The code line that checks if the update of reference inside a compound + datatype is misplaced outside the code block loop that carries out the + check. In consequence, the next attribute that is not the reference + type was repacked again as the reference type and caused the failure of + repacking. The fix is to move the corresponding code line to the correct + code block. + + (KY -2020/02/07, HDFFV-11014) + + + High-Level APIs: + ---------------- + - added set/get for unsigned long long attributes + + The attribute writing high-level API has been expanded to include + public set/get functions for ULL attributes, analogously to the + existing set/get for other types. + + (AF - 2021/09/08) + + + C Packet Table API: + ------------------- + - + + + Internal header file: + --------------------- + - All the #defines named H5FD_CTL__* were renamed to H5FD_CTL_*, i.e. the double underscore was reduced to a single underscore. + + + Documentation: + -------------- + - Doxygen User Guide documentation is available when configured and generated. + The resulting documentation files will be in the share/html subdirectory + of the HDF5 install directory. + + (ADB - 2022/08/09) + + +Support for new platforms, languages and compilers +================================================== + - + + +Bug Fixes since HDF5-1.12.0 release +=================================== + Library + ------- + - Seg fault on file close + + h5debug fails at file close with core dump on a file that has an + illegal file size in its cache image. In H5F_dest(), the library + performs all the closing operations for the file and keeps track of + the error encountered when reading the file cache image. + At the end of the routine, it frees the file's file structure and + returns error. Due to the error return, the file object is not removed + from the ID node table. This eventually causes assertion failure in + H5VL__native_file_close() when the library finally exits and tries to + access that file object in the table for closing. + + The closing routine, H5F_dest(), will not free the file structure if + there is error, keeping a valid file structure in the ID node table. + It will be freed later in H5VL__native_file_close() when the + library exits and terminates the file package. + + (VC - 2022/12/14, HDFFV-11052, CVE-2020-10812) + + - Fix CVE-2018-13867 / GHSA-j8jr-chrh-qfrf + + Validate location (offset) of the accumulated metadata when comparing. + + Initially, the accumulated metadata location is initialized to HADDR_UNDEF + - the highest available address. Bogus input files may provide a location + or size matching this value. Comparing this address against such bogus + values may provide false positives. Thus make sure, the value has been + initialized or fail the comparison early and let other parts of the + code deal with the bogus address/size. + Note: To avoid unnecessary checks, it is assumed that if the 'dirty' + member in the same structure is true the location is valid. + + (EFE - 2022/10/10 GH-2230) + + - Fix CVE-2018-16438 / GHSA-9xmm-cpf8-rgmx + + Make sure info block for external links has at least 3 bytes. + + According to the specification, the information block for external links + contains 1 byte of version/flag information and two 0 terminated strings + for the object linked to and the full path. + Although not very useful, the minimum string length for each (with + terminating 0) would be one byte. + Checking this helps to avoid SEGVs triggered by bogus files. + + (EFE - 2022/10/09 GH-2233) + + - CVE-2021-46244 / GHSA-vrxh-5gxg-rmhm + + Compound datatypes may not have members of size 0 + + A member size of 0 may lead to an FPE later on as reported in + CVE-2021-46244. To avoid this, check for this as soon as the + member is decoded. + + (EFE - 2022/10/05 GEH-2242) + + + - Fix CVE-2021-45830 / GHSA-5h2h-fjjr-x9m2 + + Make H5O__fsinfo_decode() more resilient to out-of-bound reads. + + When decoding a file space info message in H5O__fsinfo_decode() make + sure each element to be decoded is still within the message. Malformed + hdf5 files may have trunkated content which does not match the + expected size. Checking this will prevent attempting to decode + unrelated data and heap overflows. So far, only free space manager + address data was checked before decoding. + + (EFE - 2022/10/05 GH-2228) + + - Fix CVE-2021-46242 / GHSA-x9pw-hh7v-wjpf + + When evicting driver info block, NULL the corresponding entry. + + Since H5C_expunge_entry() called (from H5AC_expunge_entry()) sets the flag + H5C__FLUSH_INVALIDATE_FLAG, the driver info block will be freed. NULLing + the pointer in f->shared->drvinfo will prevent use-after-free when it is + used in other functions (like H5F__dest()) - as other places will check + whether the pointer is initialized before using its value. + + (EFE - 2022/09/29 GH-2254) + + - Fix CVE-2021-45833 / GHSA-x57p-jwp6-4v79 + + Report error if dimensions of chunked storage in data layout < 2 + + For Data Layout Messages version 1 & 2 the specification state + that the value stored in the data field is 1 greater than the + number of dimensions in the dataspace. For version 3 this is + not explicitly stated but the implementation suggests it to be + the case. + Thus the set value needs to be at least 2. For dimensionality + < 2 an out-of-bounds access occurs. + + (EFE - 2022/09/28 GH-2240) + + - Fix CVE-2018-14031 / GHSA-2xc7-724c-r36j + + Parent of enum datatype message must have the same size as the + enum datatype message itself. + Functions accessing the enumeration values use the size of the + enumeration datatype to determine the size of each element and + how much data to copy. + Thus the size of the enumeration and its parent need to match. + Check in H5O_dtype_decode_helper() to avoid unpleasant surprises + later. + + (EFE - 2022/09/28 GH-2236) + + - Fix CVE-2018-17439 / GHSA-vcxv-vp43-rch7 + + H5IMget_image_info(): Make sure to not exceed local array size + + Malformed hdf5 files may provide more dimensions than the array dim[] in + H5IMget_image_info() is able to hold. Check number of elements first by calling + H5Sget_simple_extent_dims() with NULL for both 'dims' and 'maxdims' arguments. + This will cause the function to return only the number of dimensions. + The fix addresses a stack overflow on write. + + (EFE - 2022/09/27 HDFFV-10589, GH-2226) + + - Fixed an issue with variable length attributes + + Previously, if a variable length attribute was held open while its file + was opened through another handle, the same attribute was opened through + the second file handle, and the second file and attribute handles were + closed, attempting to write to the attribute through the first handle + would cause an error. + + (NAF - 2022/10/24) + + - Memory leak + + A memory leak was observed with variable-length fill value in + H5O_fill_convert() function in H5Ofill.c. The leak is + manifested by running valgrind on test/set_extent.c. + + Previously, fill->buf is used for datatype conversion + if it is large enough and the variable-length information + is therefore lost. A buffer is now allocated regardless + so that the element in fill->buf can later be reclaimed. + + (VC - 2022/10/10, HDFFV-10840) + + - Fixed an issue with hyperslab selections + + Previously, when combining hyperslab selections, it was possible for the + library to produce an incorrect combined selection. + + (NAF - 2022/09/25) + + - Fixed an issue with attribute type conversion with compound datatypes + + Previously, when performing type conversion for attribute I/O with a + compound datatype, the library would not fill the background buffer with + the contents of the destination, potentially causing data to be lost when + only writing to a subset of the compound fields. + + (NAF - 2022/08/22, GitHub #2016) + + - The offset parameter in H5Dchunk_iter() is now scaled properly + + In earlier HDF5 1.13.x versions, the chunk offset was not scaled by the + chunk dimensions. This offset parameter in the callback now matches + that of H5Dget_chunk_info(). + + (@mkitti - 2022/08/06, GitHub #1419) + + - Converted an assertion on (possibly corrupt) file contents to a normal + error check + + Previously, the library contained an assertion check that a read superblock + doesn't contain a superblock extension message when the superblock + version < 2. When a corrupt HDF5 file is read, this assertion can be triggered + in debug builds of HDF5. In production builds, this situation could cause + either a library error or a crash, depending on the platform. + + (JTH - 2022/07/08, HDFFV-11316/HDFFV-11317) + + - Fixed a metadata cache bug when resizing a pinned/protected cache entry + + When resizing a pinned/protected cache entry, the metadata + cache code previously would wait until after resizing the + entry to attempt to log the newly-dirtied entry. This + caused H5C_resize_entry to mark the entry as dirty and made + H5AC_resize_entry think that it didn't need to add the + newly-dirtied entry to the dirty entries skiplist. + + Thus, a subsequent H5AC__log_moved_entry would think it + needed to allocate a new entry for insertion into the dirty + entry skip list, since the entry didGn't exist on that list. + This caused an assertion failure, as the code to allocate a + new entry assumes that the entry is not dirty. + + (JRM - 2022/02/28) + + - Issue #1436 identified a problem with the H5_VERS_RELEASE check in the + H5check_version function. + + Investigating the original fix, #812, we discovered some inconsistencies + with a new block added to check H5_VERS_RELEASE for incompatibilities. + This new block was not using the new warning text dealing with the + H5_VERS_RELEASE check and would cause the warning to be duplicated. + + By removing the H5_VERS_RELEASE argument in the first check for + H5_VERS_MAJOR and H5_VERS_MINOR, the second check would only check + the H5_VERS_RELEASE for incompatible release versions. This adheres + to the statement that except for the develop branch, all release versions + in a major.minor maintenance branch should be compatible. The prerequisite + is that an application will not use any APIs not present in all release versions. + + (ADB - 2022/02/24, #1438) + + - Unified handling of collective metadata reads to correctly fix old bugs + + Due to MPI-related issues occurring in HDF5 from mismanagement of the + status of collective metadata reads, they were forced to be disabled + during chunked dataset raw data I/O in the HDF5 1.10.5 release. This + wouldn't generally have affected application performance because HDF5 + already disables collective metadata reads during chunk lookup, since + it is generally unlikely that the same chunks will be read by all MPI + ranks in the I/O operation. However, this was only a partial solution + that wasn't granular enough. + + This change now unifies the handling of the file-global flag and the + API context-level flag for collective metadata reads in order to + simplify querying of the true status of collective metadata reads. Thus, + collective metadata reads are once again enabled for chunked dataset + raw data I/O, but manually controlled at places where some processing + occurs on MPI rank 0 only and would cause issues when collective + metadata reads are enabled. + + (JTH - 2021/11/16, HDFFV-10501/HDFFV-10562) + + - Fixed several potential MPI deadlocks in library failure conditions + + In the parallel library, there were several places where MPI rank 0 + could end up skipping past collective MPI operations when some failure + occurs in rank 0-specific processing. This would lead to deadlocks + where rank 0 completes an operation while other ranks wait in the + collective operation. These places have been rewritten to have rank 0 + push an error and try to cleanup after the failure, then continue to + participate in the collective operation to the best of its ability. + + (JTH - 2021/11/09) + + - Fixed an H5Pget_filter_by_id1/2() assert w/ out of range filter IDs + + Both H5Pget_filter_by_id1 and 2 did not range check the filter ID, which + could trip as assert in debug versions of the library. The library now + returns a normal HDF5 error when the filter ID is out of range. + + (DER - 2021/11/23, HDFFV-11286) + + - Fixed an issue with collective metadata reads being permanently disabled + after a dataset chunk lookup operation. This would usually cause a + mismatched MPI_Bcast and MPI_ERR_TRUNCATE issue in the library for + simple cases of H5Dcreate() -> H5Dwrite() -> H5Dcreate(). + + (JTH - 2021/11/08, HDFFV-11090) + + - Fixed cross platform incompatibility of references within variable length + types + + Reference types within variable length types previously could not be + read on a platform with different endianness from where they were + written. Fixed so cross platform portability is restored. + + (NAF - 2021/09/30) + + - Detection of simple data transform function "x" + + In the case of the simple data transform function "x" the (parallel) + library recognizes this is the same as not applying this data transform + function. This improves the I/O performance. In the case of the parallel + library, it also avoids breaking to independent I/O, which makes it + possible to apply a filter when writing or reading data to or from + the HDF5 file. + + (JWSB - 2021/09/13) + + - Fixed an invalid read and memory leak when parsing corrupt file space + info messages + + When the corrupt file from CVE-2020-10810 was parsed by the library, + the code that imports the version 0 file space info object header + message to the version 1 struct could read past the buffer read from + the disk, causing an invalid memory read. Not catching this error would + cause downstream errors that eventually resulted in a previously + allocated buffer to be unfreed when the library shut down. In builds + where the free lists are in use, this could result in an infinite loop + and SIGABRT when the library shuts down. + + We now track the buffer size and raise an error on attempts to read + past the end of it. + + (DER - 2021/08/12, HDFFV-11053) + + + - Fixed CVE-2018-14460 + + The tool h5repack produced a segfault when the rank in dataspace + message was corrupted, causing invalid read while decoding the + dimension sizes. + + The problem was fixed by ensuring that decoding the dimension sizes + and max values will not go beyond the end of the buffer. + + (BMR - 2021/05/12, HDFFV-11223) + + - Fixed CVE-2018-11206 + + The tool h5dump produced a segfault when the size of a fill value + message was corrupted and caused a buffer overflow. + + The problem was fixed by verifying the fill value's size + against the buffer size before attempting to access the buffer. + + (BMR - 2021/03/15, HDFFV-10480) + + - Fixed CVE-2018-14033 (same issue as CVE-2020-10811) + + The tool h5dump produced a segfault when the storage size message + was corrupted and caused a buffer overflow. + + The problem was fixed by verifying the storage size against the + buffer size before attempting to access the buffer. + + (BMR - 2021/03/15, HDFFV-11159/HDFFV-11049) + + - Remove underscores on header file guards + + Header file guards used a variety of underscores at the beginning of the define. + + Removed all leading (some trailing) underscores from header file guards. + + (ADB - 2021/03/03, #361) + + - Fixed a segmentation fault + + A segmentation fault occurred with a Mathworks corrupted file. + + A detection of accessing a null pointer was added to prevent the problem. + + (BMR - 2021/02/19, HDFFV-11150) + + - Fixed issue with MPI communicator and info object not being + copied into new FAPL retrieved from H5F_get_access_plist + + Added logic to copy the MPI communicator and info object into + the output FAPL. MPI communicator is retrieved from the VFD, while + the MPI info object is retrieved from the file's original FAPL. + + (JTH - 2021/02/15, HDFFV-11109) + + - Fixed problems with vlens and refs inside compound using + H5VLget_file_type() + + Modified library to properly ref count H5VL_object_t structs and only + consider file vlen and reference types to be equal if their files are + the same. + + (NAF - 2021/01/22) + + - Fixed CVE-2018-17432 + + The tool h5repack produced a segfault on a corrupted file which had + invalid rank for scalar or NULL datatype. + + The problem was fixed by modifying the dataspace encode and decode + functions to detect and report invalid rank. h5repack now fails + with an error message for the corrupted file. + + (BMR - 2020/10/26, HDFFV-10590) + + - Creation of dataset with optional filter + + When the combination of type, space, etc doesn't work for filter + and the filter is optional, it was supposed to be skipped but it was + not skipped and the creation failed. + + Allowed the creation of the dataset in such a situation. + + (BMR - 2020/08/13, HDFFV-10933) + + - Explicitly declared dlopen to use RTLD_LOCAL + + dlopen documentation states that if neither RTLD_GLOBAL nor + RTLD_LOCAL are specified, then the default behavior is unspecified. + The default on linux is usually RTLD_LOCAL while macos will default + to RTLD_GLOBAL. + + (ADB - 2020/08/12, HDFFV-11127) + + - H5Sset_extent_none() sets the dataspace class to H5S_NO_CLASS which + causes asserts/errors when passed to other dataspace API calls. + + H5S_NO_CLASS is an internal class value that should not have been + exposed via a public API call. + + In debug builds of the library, this can cause assert() function to + trip. In non-debug builds, it will produce normal library errors. + + The new library behavior is for H5Sset_extent_none() to convert + the dataspace into one of type H5S_NULL, which is better handled + by the library and easier for developers to reason about. + + (DER - 2020/07/27, HDFFV-11027) + + - Fixed issues CVE-2018-13870 and CVE-2018-13869 + + When a buffer overflow occurred because a name length was corrupted + and became very large, h5dump crashed on memory access violation. + + A check for reading pass the end of the buffer was added to multiple + locations to prevent the crashes and h5dump now simply fails with an + error message when this error condition occurs. + + (BMR - 2020/07/22, HDFFV-11120 and HDFFV-11121) + + - Fixed the segmentation fault when reading attributes with multiple threads + + It was reported that the reading of attributes with variable length string + datatype will crash with segmentation fault particularly when the number of + threads is high (>16 threads). The problem was due to the file pointer that + was set in the variable length string datatype for the attribute. That file + pointer was already closed when the attribute was accessed. + + The problem was fixed by setting the file pointer to the current opened file pointer + when the attribute was accessed. Similar patch up was done before when reading + dataset with variable length string datatype. + + (VC - 2020/07/13, HDFFV-11080) + + - Fixed CVE-2020-10810 + + The tool h5clear produced a segfault during an error recovery in + the superblock decoding. An internal pointer was reset to prevent + further accessing when it is not assigned with a value. + + (BMR - 2020/06/29, HDFFV-11053) + + - Fixed CVE-2018-17435 + + The tool h52gif produced a segfault when the size of an attribute + message was corrupted and caused a buffer overflow. + + The problem was fixed by verifying the attribute message's size + against the buffer size before accessing the buffer. h52gif was + also fixed to display the failure instead of silently exiting + after the segfault was eliminated. + + (BMR - 2020/06/19, HDFFV-10591) + + + Java Library + ------------ + - Improve variable-length datatype handling in JNI. + + The existing JNI read-write functions could handle variable-length datatypes + that were simple variable-length datatype with an atomic sub-datatype. More + complex combinations could not be handled. Reworked the JNI read-write functions + to recursively inspect datatypes for variable-length sub-datatypes. + + (ADB - 2022/10/12, HDFFV-8701,10375) + + - JNI utility function does not handle new references. + + The JNI utility function for converting reference data to string did + not use the new APIs. In addition to fixing that function, added new + java tests for using the new APIs. + + (ADB - 2021/02/16, HDFFV-11212) + + - The H5FArray.java class, in which virtually the entire execution time + is spent using the HDFNativeData method that converts from an array + of bytes to an array of the destination Java type. + + 1. Convert the entire byte array into a 1-d array of the desired type, + rather than performing 1 conversion per row; + 2. Use the Java Arrays method copyOfRange to grab the section of the + array from (1) that is desired to be inserted into the destination array. + + (PGT,ADB - 2020/12/13, HDFFV-10865) + + + Configuration + ------------- + - Remove Javadoc generation + + The use of doxygen now supersedes the requirement to build javadocs. We do not + have the resources to continue to support two documentation methods and have + chosen doxygen as our standard. + + (ADB - 2022/12/19) + + - Change the default for building the high-level GIF tools + + The gif2h5 and h52gif high-level tools are deprecated and will be removed + in a future release. The default build setting for them has been changed + from enabled to disabled. A user can enable the build of these tools if + needed. + + autotools: --enable-hlgiftools + cmake: HDF5_BUILD_HL_GIF_TOOLS=ON + + Disabling the GIF tools eliminates the following CVEs: + + HDFFV-10592 CVE-2018-17433 + HDFFV-10593 CVE-2018-17436 + HDFFV-11048 CVE-2020-10809 + + (ADB - 2022/12/16) + + - Change the settings of the *pc files to use the correct format + + The pkg-config files generated by CMake uses incorrect syntax for the 'Requires' + settings. Changing the set to use 'lib-name = version' instead 'lib-name-version' + fixes the issue + + (ADB - 2022/12/06 HDFFV-11355) + + - Move MPI libraries link from PRIVATE to PUBLIC + + The install dependencies were not including the need for MPI libraries when + an application or library was built with the C library. Also updated the + CMake target link command to use the newer style MPI::MPI_C link variable. + + (ADB - 2022/10/27) + + - Corrected path searched by CMake find_package command + + The install path for cmake find_package files had been changed to use + "share/cmake" + for all platforms. However the trailing "hdf5" directory was not removed. + This "hdf5" additional directory has been removed. + + (ADB - 2021/09/27) + + - Corrected pkg-config compile script + + It was discovered that the position of the "$@" argument for the command + in the compile script may fail on some platforms and configurations. The + position of the "$@"command argument was moved before the pkg-config sub command. + + (ADB - 2021/08/30) + + - Fixed CMake C++ compiler flags + + A recent refactoring of the C++ configure files accidentally removed the + file that executed the enable_language command for C++ needed by the + HDFCXXCompilerFlags.cmake file. Also updated the intel warnings files, + including adding support for windows platforms. + + (ADB - 2021/08/10) + + - Better support for libaec (open-source Szip library) in CMake + + Implemented better support for libaec 1.0.5 (or later) library. This version + of libaec contains improvements for better integration with HDF5. Furthermore, + the variable USE_LIBAEC_STATIC has been introduced to allow to make use of + static version of libaec library. Use libaec_DIR or libaec_ROOT to set + the location in which libaec can be found. + + Be aware, the Szip library of libaec 1.0.4 depends on another library within + libaec library. This dependency is not specified in the current CMake + configuration which means that one can not use the static Szip library of + libaec 1.0.4 when building HDF5. This has been resolved in libaec 1.0.5. + + (JWSB - 2021/06/22) + + - Refactor CMake configure for Fortran + + The Fortran configure tests for KINDs reused a single output file that was + read to form the Integer and Real Kinds defines. However, if config was run + more then once, the CMake completed variable prevented the tests from executing + again and the last value saved in the file was used to create the define. + Creating separate files for each KIND solved the issue. + + In addition the test for H5_PAC_C_MAX_REAL_PRECISION was not pulling in + defines for proper operation and did not define H5_PAC_C_MAX_REAL_PRECISION + correctly for a zero value. This was fixed by supplying the required defines. + In addition it was moved from the Fortran specific HDF5UseFortran.camke file + to the C centric ConfigureChecks.cmake file. + + (ADB - 2021/06/03) + + - Move emscripten flag to compile flags + + The emscripten flag, -O0, was removed from target_link_libraries command + to the correct target_compile_options command. + + (ADB - 2021/04/26 HDFFV-11083) + + - Remove arbitrary warning flag groups from CMake builds + + The arbitrary groups were created to reduce the quantity of warnings being + reported that overwhelmed testing report systems. Considerable work has + been accomplished to reduce the warning count and these arbitrary groups + are no longer needed. + Also the default for all warnings, HDF5_ENABLE_ALL_WARNINGS, is now ON. + + Visual Studio warnings C4100, C4706, and C4127 have been moved to + developer warnings, HDF5_ENABLE_DEV_WARNINGS, and are disabled for normal builds. + + (ADB - 2021/03/22, HDFFV-11228) + + - Reclassify CMake messages, to allow new modes and --log-level option + + CMake message commands have a mode argument. By default, STATUS mode + was chosen for any non-error message. CMake version 3.15 added additional + modes, NOTICE, VERBOSE, DEBUG and TRACE. All message commands with a mode + of STATUS were reviewed and most were reclassified as VERBOSE. The new + mode was protected by a check for a CMake version of at least 3.15. If CMake + version 3.17 or above is used, the user can use the command line option + of "--log-level" to further restrict which message commands are displayed. + + (ADB - 2021/01/11, HDFFV-11144) + + - Fixes Autotools determination of the stat struct having an st_blocks field + + A missing parenthesis in an autoconf macro prevented building the test + code used to determine if the stat struct contains the st_blocks field. + Now that the test functions correctly, the H5_HAVE_STAT_ST_BLOCKS #define + found in H5pubconf.h will be defined correctly on both the Autotools and + CMake. This #define is only used in the tests and does not affect the + HDF5 C library. + + (DER - 2021/01/07, HDFFV-11201) + + - Add missing ENV variable line to hdfoptions.cmake file + + Using the build options to use system SZIP/ZLIB libraries need to also + specify the library root directory. Setting the {library}_ROOT ENV + variable was added to the hdfoptions.cmake file. + + (ADB - 2020/10/19 HDFFV-11108) + + + Tools + ----- + - Fix h5repack to only print output when verbose option is selected + + When timing option was added to h5repack, the check for verbose was + incorrectly implemented. + + (ADB - 2022/12/02, GH #2270) + + - Changed how h5dump and h5ls identify long double. + + Long double support is not consistent across platforms. Tools will always + identify long double as 128-bit [little/big]-endian float nn-bit precision. + New test file created for datasets with attributes for float, double and + long double. In addition any unknown integer or float datatype will now + also show the number of bits for precision. + These files are also used in the java tests. + + (ADB - 2021/03/24, HDFFV-11229,HDFFV-11113) + + - Fixed tools argument parsing. + + Tools parsing used the length of the option from the long array to match + the option from the command line. This incorrectly matched a shorter long + name option that happened to be a subset of another long option. + Changed to match whole names. + + (ADB - 2021/01/19, HDFFV-11106) + + - The tools library was updated by standardizing the error stack process. + + General sequence is: + h5tools_setprogname(PROGRAMNAME); + h5tools_setstatus(EXIT_SUCCESS); + h5tools_init(); + ... process the command-line (check for error-stack enable) ... + h5tools_error_report(); + ... (do work) ... + h5diff_exit(ret); + + (ADB - 2020/07/20, HDFFV-11066) + + - h5diff fixed a command line parsing error. + + h5diff would ignore the argument to -d (delta) if it is smaller than DBL_EPSILON. + The macro H5_DBL_ABS_EQUAL was removed and a direct value comparison was used. + + (ADB - 2020/07/20, HDFFV-10897) + + - h5diff added a command line option to ignore attributes. + + h5diff would ignore all objects with a supplied path if the exclude-path argument is used. + Adding the exclude-attribute argument will only exclude attributes, with the supplied path, + from comparison. + + (ADB - 2020/07/20, HDFFV-5935) + + - h5diff added another level to the verbose argument to print filenames. + + Added verbose level 3 that is level 2 plus the filenames. The levels are: + 0 : Identical to '-v' or '--verbose' + 1 : All level 0 information plus one-line attribute status summary + 2 : All level 1 information plus extended attribute status report + 3 : All level 2 information plus file names + + (ADB - 2020/07/20, HDFFV-1005) + + + Performance + ------------- + - + + + Fortran API + ----------- + - h5open_f and h5close_f fixes + * Fixed it so both h5open_f and h5close_f can be called multiple times. + * Fixed an issue with open objects remaining after h5close_f was called. + * Added additional tests. + (MSB, 2022/04/19, HDFFV-11306) + + + High-Level Library + ------------------ + - Fixed HL_test_packet, test for packet table vlen of vlen. + + Incorrect length assignment. + + (ADB - 2021/10/14) + + + Fortran High-Level APIs + ----------------------- + - + + + Documentation + ------------- + - + + + F90 APIs + -------- + - + + + C++ APIs + -------- + - Added DataSet::operator= + + Some compilers complain if the copy constructor is given explicitly + but the assignment operator is implicitly set to default. + + (2021/05/19) + + + Testing + ------- + - Stopped java/test/junit.sh.in installing libs for testing under ${prefix} + + Lib files needed are now copied to a subdirectory in the java/test + directory, and on Macs the loader path for libhdf5.xxxs.so is changed + in the temporary copy of libhdf5_java.dylib. + + (LRK, 2020/07/02, HDFFV-11063) + + +Platforms Tested +=================== + + Linux 5.16.14-200.fc35 GNU gcc (GCC) 11.2.1 20220127 (Red Hat 11.2.1-9) + #1 SMP x86_64 GNU/Linux GNU Fortran (GCC) 11.2.1 20220127 (Red Hat 11.2.1-9) + Fedora35 clang version 13.0.0 (Fedora 13.0.0-3.fc35) + (cmake and autotools) + + Linux 5.15.0-1026-aws gcc (Ubuntu 11.3.0-1ubuntu1~22.04) 11.3.0 + #30-Ubuntu SMP x86_64 GNU/Linux GNU Fortran (Ubuntu 11.3.0-1ubuntu1~22.04) 11.3.0 + Ubuntu 22.04 Ubuntu clang version 14.0.0-1ubuntu1 + (cmake and autotools) + + Linux 5.13.0-1031-aws GNU gcc (GCC) 9.4.0-1ubuntu1 + #35-Ubuntu SMP x86_64 GNU/Linux GNU Fortran (GCC) 9.4.0-1ubuntu1 + Ubuntu 20.04 clang version 10.0.0-4ubuntu1 + (cmake and autotools) + + Linux 5.3.18-150300-cray_shasta_c cray-mpich/8.3.3 + #1 SMP x86_64 GNU/Linux Cray clang 14.0.2, 15.0.0 + (crusher) GCC 11.2.0, 12.1.0 + (cmake) + + Linux 4.18.0-348.7.1.el8_5 gcc (GCC) 8.5.0 20210514 (Red Hat 8.5.0-4) + #1 SMP x86_64 GNU/Linux GNU Fortran (GCC) 8.5.0 20210514 (Red Hat 8.5.0-4) + CentOS8 clang version 12.0.1 (Red Hat 12.0.1) + (cmake and autotools) + + Linux 4.14.0-115.35.1.1chaos openmpi 4.0.5 + #1 SMP aarch64 GNU/Linux GCC 9.3.0 (ARM-build-5) + (stria) GCC 7.2.0 (Spack GCC) + arm/20.1 + arm/22.1 + (cmake) + + Linux 4.14.0-115.35.1.3chaos spectrum-mpi/rolling-release + #1 SMP ppc64le GNU/Linux clang 12.0.1 + (vortex) GCC 8.3.1 + XL 16.1.1 + (cmake) + + Linux-4.14.0-115.21.2 spectrum-mpi/rolling-release + #1 SMP ppc64le GNU/Linux clang 12.0.1, 14.0.5 + (lassen) GCC 8.3.1 + XL 16.1.1.2, 2021,09.22, 2022.08.05 + (cmake) + + Linux-4.12.14-197.99-default cray-mpich/7.7.14 + #1 SMP x86_64 GNU/Linux cce 12.0.3 + (theta) GCC 11.2.0 + llvm 9.0 + Intel 19.1.2 + + Linux 3.10.0-1160.36.2.el7.ppc64 gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-39) + #1 SMP ppc64be GNU/Linux g++ (GCC) 4.8.5 20150623 (Red Hat 4.8.5-39) + Power8 (echidna) GNU Fortran (GCC) 4.8.5 20150623 (Red Hat 4.8.5-39) + + Linux 3.10.0-1160.24.1.el7 GNU C (gcc), Fortran (gfortran), C++ (g++) + #1 SMP x86_64 GNU/Linux compilers: + Centos7 Version 4.8.5 20150623 (Red Hat 4.8.5-4) + (jelly/kituo/moohan) Version 4.9.3, Version 5.3.0, Version 6.3.0, + Version 7.2.0, Version 8.3.0, Version 9.1.0 + Intel(R) C (icc), C++ (icpc), Fortran (icc) + compilers: + Version 17.0.0.098 Build 20160721 + GNU C (gcc) and C++ (g++) 4.8.5 compilers + with NAG Fortran Compiler Release 6.1(Tozai) + Intel(R) C (icc) and C++ (icpc) 17.0.0.098 compilers + with NAG Fortran Compiler Release 6.1(Tozai) + MPICH 3.1.4 compiled with GCC 4.9.3 + MPICH 3.3 compiled with GCC 7.2.0 + OpenMPI 2.1.6 compiled with icc 18.0.1 + OpenMPI 3.1.3 and 4.0.0 compiled with GCC 7.2.0 + PGI C, Fortran, C++ for 64-bit target on + x86_64; + Version 19.10-0 + (autotools and cmake) + + Linux-3.10.0-1160.0.0.1chaos openmpi-4.1.2 + #1 SMP x86_64 GNU/Linux clang 6.0.0, 11.0.1 + (quartz) GCC 7.3.0, 8.1.0 + Intel 19.0.4, 2022.2, oneapi.2022.2 + + Linux-3.10.0-1160.71.1.1chaos openmpi/4.1 + #1 SMP x86_64 GNU/Linux GCC 7.2.0 + (skybridge) Intel/19.1 + (cmake) + + Linux-3.10.0-1160.66.1.1chaos openmpi/4.1 + #1 SMP x86_64 GNU/Linux GCC 7.2.0 + (attaway) Intel/19.1 + (cmake) + + Linux-3.10.0-1160.59.1.1chaos openmpi/4.1 + #1 SMP x86_64 GNU/Linux Intel/19.1 + (chama) (cmake) + + macOS Apple M1 11.6 Apple clang version 12.0.5 (clang-1205.0.22.11) + Darwin 20.6.0 arm64 gfortran GNU Fortran (Homebrew GCC 11.2.0) 11.1.0 + (macmini-m1) Intel icc/icpc/ifort version 2021.3.0 202106092021.3.0 20210609 + + macOS Big Sur 11.3.1 Apple clang version 12.0.5 (clang-1205.0.22.9) + Darwin 20.4.0 x86_64 gfortran GNU Fortran (Homebrew GCC 10.2.0_3) 10.2.0 + (bigsur-1) Intel icc/icpc/ifort version 2021.2.0 20210228 + + macOS High Sierra 10.13.6 Apple LLVM version 10.0.0 (clang-1000.10.44.4) + 64-bit gfortran GNU Fortran (GCC) 6.3.0 + (bear) Intel icc/icpc/ifort version 19.0.4.233 20190416 + + macOS Sierra 10.12.6 Apple LLVM version 9.0.0 (clang-900.39.2) + 64-bit gfortran GNU Fortran (GCC) 7.4.0 + (kite) Intel icc/icpc/ifort version 17.0.2 + + Mac OS X El Capitan 10.11.6 Apple clang version 7.3.0 from Xcode 7.3 + 64-bit gfortran GNU Fortran (GCC) 5.2.0 + (osx1011test) Intel icc/icpc/ifort version 16.0.2 + + + Linux 2.6.32-573.22.1.el6 GNU C (gcc), Fortran (gfortran), C++ (g++) + #1 SMP x86_64 GNU/Linux compilers: + Centos6 Version 4.4.7 20120313 + (platypus) Version 4.9.3, 5.3.0, 6.2.0 + MPICH 3.1.4 compiled with GCC 4.9.3 + PGI C, Fortran, C++ for 64-bit target on + x86_64; + Version 19.10-0 + + Windows 10 x64 Visual Studio 2015 w/ Intel C/C++/Fortran 18 (cmake) + Visual Studio 2017 w/ Intel C/C++/Fortran 19 (cmake) + Visual Studio 2019 w/ clang 12.0.0 + with MSVC-like command-line (C/C++ only - cmake) + Visual Studio 2019 w/ Intel C/C++/Fortran oneAPI 2022 (cmake) + Visual Studio 2022 w/ clang 15.0.1 + with MSVC-like command-line (C/C++ only - cmake) + Visual Studio 2022 w/ Intel C/C++/Fortran oneAPI 2022 (cmake) + Visual Studio 2019 w/ MSMPI 10.1 (C only - cmake) + + +Known Problems +============== + + ************************************************************ + * _ * + * (_) * + * __ ____ _ _ __ _ __ _ _ __ __ _ * + * \ \ /\ / / _` | '__| '_ \| | '_ \ / _` | * + * \ V V / (_| | | | | | | | | | | (_| | * + * \_/\_/ \__,_|_| |_| |_|_|_| |_|\__, | * + * __/ | * + * |___/ * + * * + * Please refrain from running any program (including * + * HDF5 tests) which uses the subfiling VFD on Perlmutter * + * at the National Energy Research Scientific Computing * + * Center, NERSC. * + * Doing so may cause a system disruption due to subfiling * + * crashing Lustre. The system's Lustre bug is expected * + * to be resolved by 2023. * + * * + ************************************************************ + + There is a bug in OpenMPI 4.1.0-4.1.4 that can result in incorrect + results from MPI I/O requests unless one of the following parameters + is passed to mpirun: + + --mca io ^ompio + + --mca fbtl_posix_read_data_sieving 0 + + This bug has been fixed in later versions of OpenMPI. + + Further discussion can be found here: + + https://www.hdfgroup.org/2022/11/workarounds-for-openmpi-bug-exposed-by-make-check-in-hdf5-1-13-3/ + + When using the subfiling feature with OpenMPI it is often necessary to + increase the maximum number of threads: + + --mca common_pami_max_threads 4096 + + There is a bug in MPICH 4.0.0-4.0.3 where using device=ch4:ofi (the default) + can cause failures in the testphdf5 test program. Using ch4:ucx or ch3 + allows the test to pass. The bug appears to be fixed in the upcoming 4.1 + release. + + These MPI implementation bugs may also be present in implementations derived + from OpenMPI or MPICH. The workarounds listed above may need to be adjusted + to match the derived implementation, or in some cases, there may be no + workaround. + + The accum test fails on MacOS 12.6.2 (Monterey) with clang 14.0.0. The + reason for this failure and its impact are unknown. + + The onion test has failures on Windows when built using Intel OneAPI + 2022.3. The cause of these failures is under investigation. + + CMake files do not behave correctly with paths containing spaces. + Do not use spaces in paths because the required escaping for handling spaces + results in very complex and fragile build files. + ADB - 2019/05/07 + + 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. + + CPP ptable test fails on both VS2017 and VS2019 with Intel compiler, JIRA + issue: HDFFV-10628. This test will pass with VS2015 with Intel compiler. + + The subsetting option in ph5diff currently will fail and should be avoided. + The subsetting option works correctly in serial h5diff. + + Several tests currently fail on certain platforms: + MPI_TEST-t_bigio fails with spectrum-mpi on ppc64le platforms. + + MPI_TEST-t_subfiling_vfd and MPI_TEST_EXAMPLES-ph5_subfiling fail with + cray-mpich on theta and with XL compilers on ppc64le platforms. + + MPI_TEST_testphdf5_tldsc fails with cray-mpich 7.7 on cori and theta. + + Known problems in previous releases can be found in the HISTORY*.txt files + in the HDF5 source. Please report any new problems found to + help@hdfgroup.org. + + +CMake vs. Autotools installations +================================= +While both build systems produce similar results, there are differences. +Each system produces the same set of folders on linux (only CMake works +on standard Windows); bin, include, lib and share. Autotools places the +COPYING and RELEASE.txt file in the root folder, CMake places them in +the share folder. + +The bin folder contains the tools and the build scripts. Additionally, CMake +creates dynamic versions of the tools with the suffix "-shared". Autotools +installs one set of tools depending on the "--enable-shared" configuration +option. + build scripts + ------------- + Autotools: h5c++, h5cc, h5fc + CMake: h5c++, h5cc, h5hlc++, h5hlcc + +The include folder holds the header files and the fortran mod files. CMake +places the fortran mod files into separate shared and static subfolders, +while Autotools places one set of mod files into the include folder. Because +CMake produces a tools library, the header files for tools will appear in +the include folder. + +The lib folder contains the library files, and CMake adds the pkgconfig +subfolder with the hdf5*.pc files used by the bin/build scripts created by +the CMake build. CMake separates the C interface code from the fortran code by +creating C-stub libraries for each Fortran library. In addition, only CMake +installs the tools library. The names of the szip libraries are different +between the build systems. + +The share folder will have the most differences because CMake builds include +a number of CMake specific files for support of CMake's find_package and support +for the HDF5 Examples CMake project. + +The issues with the gif tool are: + HDFFV-10592 CVE-2018-17433 + HDFFV-10593 CVE-2018-17436 + HDFFV-11048 CVE-2020-10809 +These CVE issues have not yet been addressed and are avoided by not building +the gif tool by default. Enable building the High-Level tools with these options: + autotools: --enable-hltools + cmake: HDF5_BUILD_HL_TOOLS=ON diff --git a/release_docs/HISTORY-1_8.txt b/release_docs/HISTORY-1_8.txt deleted file mode 100644 index 461e0be..0000000 --- a/release_docs/HISTORY-1_8.txt +++ /dev/null @@ -1,14439 +0,0 @@ -HDF5 History -============ - -This file contains development history of HDF5 1.8 branch - -23. Release Information for hdf5-1.8.21 -22. Release Information for hdf5-1.8.20 -21. Release Information for hdf5-1.8.19 -20. Release Information for hdf5-1.8.18 -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.21%%%% - - -HDF5 version 1.8.21 released on 2018-06-04 -================================================================================ - -INTRODUCTION -============ - -This document describes the differences between HDF5-1.8.20 and -HDF5-1.8.21, and contains information on the platforms tested and -known problems in HDF5-1.8.21. -For more details, see the files HISTORY-1_0-1_8_0_rc3.txt -and HISTORY-1_8.txt in the release_docs/ directory of the HDF5 source. - -Links to the HDF5 1.8.21 source code, documentation, and additional materials -can be found on the HDF5 web page at: - - https://support.hdfgroup.org/HDF5/ - -The HDF5 1.8.21 release can be obtained from: - - https://support.hdfgroup.org/HDF5/release/obtain518.html - -User documentation for 1.8.21 can be accessed directly at this location: - - https://support.hdfgroup.org/HDF5/doc1.8/ - -New features in the HDF5-1.8.x release series, including brief general -descriptions of some new and modified APIs, are described in the "What's New -in 1.8.0?" document: - - https://support.hdfgroup.org/HDF5/doc/ADGuide/WhatsNew180.html - -All new and modified APIs are listed in detail in the "HDF5 Software Changes -from Release to Release" document, in the section "Release 1.8.21 (current -release) versus Release 1.8.20 - - https://support.hdfgroup.org/HDF5/doc1.8/ADGuide/Changes.html - -If you have any questions or comments, please send them to the HDF Help Desk: - - help@hdfgroup.org - - -CONTENTS -======== - -- New Features -- Support for New Platforms, Languages, and Compilers -- Bug Fixes since HDF5-1.8.20 -- Supported Platforms -- Supported Configuration Features Summary -- More Tested Platforms -- Known Problems - - -New Features -============ - - Configuration - ------------- - - CMake - - Change minimum version to 3.10. - - This change removes the need to support a copy of the FindMPI.cmake module, - which has been removed, along with its subfolder in the config/cmake_ext_mod - location. - - (ADB - 2018/03/09) - - - CMake - - Add pkg-config file generation - - Added pkg-config file generation for the C, C++, HL, and HL C++ libraries. - In addition, builds on linux will create h5cXXX scripts that use the pkg-config - files. This is a limited implementation of a script like autotools h5cc. - - (ADB - 2018/03/08, HDFFV-4359) - - - CMake - - Refactor use of CMAKE_BUILD_TYPE for new variable, which understands - the type of generator in use. - - Added new configuration macros to use new HDF_BUILD_TYPE variable. This - variable is set correctly for the type of generator being used for the build. - - (ADB - 2018/01/08, HDFFV-10385, HDFFV-10296) - - C++ API - ------- - - The following C++ API wrappers have been added to class H5Location - + H5Lcreate_soft: - // Creates a soft link from link_name to target_name. - void link(const char *target_name, const char *link_name,...) - void link(const H5std_string& target_name,...) - - + H5Lcreate_hard: - // Creates a hard link from new_name to curr_name. - void link(const char *curr_name, const Group& new_loc,...) - void link(const H5std_string& curr_name, const Group& new_loc,...) - - // Creates a hard link from new_name to curr_name in the same location. - void link(const char *curr_name, const hid_t same_loc,...) - void link(const H5std_string& curr_name, const hid_t same_loc,...) - - Note: previous version CommonFG::link will be deprecated. - - + H5Lcopy: - // Copy an object from a group of file to another. - void copyLink(const char *src_name, const Group& dst,...) - void copyLink(const H5std_string& src_name, const Group& dst,...) - - // Copy an object from a group of file to the same location. - void copyLink(const char *src_name, const char *dst_name,...) - void copyLink(const H5std_string& src_name,...) - - + H5Lmove: - // Rename an object in a group or file to a new location. - void moveLink(const char* src_name, const Group& dst,...) - void moveLink(const H5std_string& src_name, const Group& dst,...) - - // Rename an object in a group or file to the same location. - void moveLink(const char* src_name, const char* dst_name,...) - void moveLink(const H5std_string& src_name,...) - - Note: previous version CommonFG::move will be deprecated. - - + H5Ldelete: - // Removes the specified link from this location. - void unlink(const char *link_name, - const LinkAccPropList& lapl = LinkAccPropList::DEFAULT) - void unlink(const H5std_string& link_name, - const LinkAccPropList& lapl = LinkAccPropList::DEFAULT) - - Note: An additional parameter is added to CommonFG::unlink and it - is moved to H5Location. - - (BMR - 2018/05/11 - HDFFV-10445) - - - New property list subclasses - - Property list subclasses StrCreatPropList, LinkCreatPropList, and - AttrCreatPropList are added for the C property list classes - H5P_STRING_CREATE, H5P_LINK_CREATE, and H5P_ATTRIBUTE_CREATE. - - (BMR - 2018/05/11 - HDFFV-10445) - - - Another argument, LinkCreatPropList& lcpl, is added to the following - functions for the use of link creation property list. - Group createGroup(const char* name, size_t size_hint = 0, - const LinkCreatPropList& lcpl = LinkCreatPropList::DEFAULT) - Group createGroup(const H5std_string& name, size_t size_hint = 0, - const LinkCreatPropList& lcpl = LinkCreatPropList::DEFAULT) - - (BMR - 2018/05/11 - HDFFV-10445) - - - -Support for New Platforms, Languages, and Compilers -=================================================== - - - Added support for Visual Studio 2017 w/ Intel Fortran 18 on Windows 10 x64. - - -Bug Fixes since HDF5-1.8.20 -=========================== - - - If an HDF5 file contains a filter pipeline message with a 'number of - filters' field that exceeds the maximum number of allowed filters, - the error handling code will attempt to dereference a NULL pointer. - - This issue was reported to The HDF Group as issue #CVE-2017-17505. - - NOTE: The HDF5 C library cannot produce such a file. This condition - should only occur in a corrupt (or deliberately altered) file - or a file created by third-party software. - - This problem arose because the error handling code assumed that - the 'number of filters' field implied that a dynamic array of that - size had already been created and that the cleanup code should - iterate over that array and clean up each element's resources. If - an error occurred before the array has been allocated, this will - not be true. - - This has been changed so that the number of filters is set to - zero on errors. Additionally, the filter array traversal in the - error handling code now requires that the filter array not be NULL. - - (DER - 2018/02/06, HDFFV-10354) - - - If an HDF5 file contains a filter pipeline message which contains - a 'number of filters' field that exceeds the actual number of - filters in the message, the HDF5 C library will read off the end of - the read buffer. - - This issue was reported to The HDF Group as issue #CVE-2017-17506. - - NOTE: The HDF5 C library cannot produce such a file. This condition - should only occur in a corrupt (or deliberately altered) file - or a file created by third-party software. - - The problem was fixed by passing the buffer size with the buffer - and ensuring that the pointer cannot be incremented off the end - of the buffer. A mismatch between the number of filters declared - and the actual number of filters will now invoke normal HDF5 - error handling. - - (DER - 2018/02/26, HDFFV-10355) - - - If an HDF5 file contains a malformed compound datatype with a - suitably large offset, the type conversion code can run off - the end of the type conversion buffer, causing a segmentation - fault. - - This issue was reported to The HDF Group as issue #CVE-2017-17507. - - NOTE: The HDF5 C library cannot produce such a file. This condition - should only occur in a corrupt (or deliberately altered) file - or a file created by third-party software. - - THE HDF GROUP WILL NOT FIX THIS BUG AT THIS TIME - - Fixing this problem would involve updating the publicly visible - H5T_conv_t function pointer typedef and versioning the API calls - which use it. We normally only modify the public API during - major releases, so this bug will not be fixed at this time. - - (DER - 2018/02/26, HDFFV-10356) - - - If an HDF5 file contains a malformed compound type which contains - a member of size zero, a division by zero error will occur while - processing the type. - - This issue was reported to The HDF Group as issue #CVE-2017-17508. - - NOTE: The HDF5 C library cannot produce such a file. This condition - should only occur in a corrupt (or deliberately altered) file - or a file created by third-party software. - - Checking for zero before dividing fixes the problem. Instead of the - division by zero, the normal HDF5 error handling is invoked. - - (DER - 2018/02/26, HDFFV-10357) - - - If an HDF5 file contains a malformed symbol table node that declares - it contains more symbols than it actually contains, the library - can run off the end of the metadata cache buffer while processing - the symbol table node. - - This issue was reported to The HDF Group as issue #CVE-2017-17509. - - NOTE: The HDF5 C library cannot produce such a file. This condition - should only occur in a corrupt (or deliberately altered) file - or a file created by third-party software. - - Performing bounds checks on the buffer while processing fixes the - problem. Instead of the segmentation fault, the normal HDF5 error - handling is invoked. - - (DER - 2018/03/12, HDFFV-10358) - - - Configuration - ------------- - - Library - - Moved the location of gcc attribute. - - The gcc attribute(no_sanitize), named as the macro HDF_NO_UBSAN, - was located after the function name. Builds with GCC 7 did not - indicate any problem, but GCC 8 issued errors. Moved the - attribute before the function name, as required. - - (ADB 2018/05/22, HDFFV-10473) - - - CMake - - Update CMake commands configuration. - - A number of improvements were made to the CMake commands. Most - changes simplify usage or eliminate unused constructs. Also, - some changes support better cross-platform support. - - (ADB - 2018/02/01, HDFFV-10398) - - - CMake - - Correct usage of CMAKE_BUILD_TYPE variable. - - The use of the CMAKE_BUILD_TYPE is incorrect for multi-config - generators (Visual Studio and XCode) and is optional for single - config generators. Created a new macro to check - GLOBAL PROPERTY -> GENERATOR_IS_MULTI_CONFIG - Created two new HDF variable, HDF_BUILD_TYPE and HDF_CFG_BUILD_TYPE. - Defaults for these variables is "Release". - - (ADB - 2018/01/10, HDFFV-10385) - - - CMake - - Add replacement of fortran flags if using static CRT. - - Added TARGET_STATIC_CRT_FLAGS call to HDFUseFortran.cmake file in - config/cmake_ext_mod folder. - - (ADB - 2018/01/08, HDFFV-10334) - - - Library - ------- - - Utility function can not handle lowercase Windows drive letters - - Added call to toupper function for drive letter. - - (ADB - 2017/12/18, HDFFV-10307) - - - Tools - ----- - - h5repack - - h5repack changes the chunk parameters when a change of layout is not - specified and a filter is applied. - - HDFFV-10297, HDFFV-10319 reworked code for h5repack and h5diff code - in the tools library. The check for an existing layout was incorrectly - placed into an if block and not executed. The check was moved into - the normal path of the function. - - (ADB - 2018/02/21, HDFFV-10412) - - - h5dump - - the tools library will hide the error stack during file open. - - While this is preferable almost always, there are reasons to enable - display of the error stack when a tool will not open a file. Adding an - optional argument to the --enable-error-stack will provide this use case. - As an optional argument it will not affect the operation of the - --enable-error-stack. h5dump is the only tool to implement this change. - - (ADB - 2018/02/15, HDFFV-10384) - - - h5dump - - h5dump would output an indented blank line in the filters section. - - h5dump overused the h5tools_simple_prefix function, which is a - function intended to account for the data index (x,y,z) option. - Removed the function call for header information. - - (ADB - 2018/01/25, HDFFV-10396) - - - h5repack - - h5repack incorrectly searched internal object table for name. - - h5repack would search the table of objects for a name, if the - name did not match it tried to determine if the name without a - leading slash would match. The logic was flawed! The table - stored names(paths) without a leading slash and did a strstr - of the table path to the name. - The assumption was that if there was a difference of one then - it was a match, however "pressure" would match "/pressure" as - well as "/pressure1", "/pressure2", etc. Changed logic to remove - any leading slash and then do a full compare of the name. - - (ADB - 2018/01/18, HDFFV-10393) - - - h5repack - - h5repack failed to handle command line parameters for customer filters. - - User defined filter parameter conversions would fail when integers - were represented on the command line with character strings - larger than 9 characters. Increased local variable array for storing - the current command line parameter to prevent buffer overflows. - - (ADB - 2018/01/17, HDFFV-10392) - - - h5diff - - h5diff seg faulted if comparing VL strings against fixed strings. - - Reworked solution for HDFFV-8625 and HDFFV-8639. Implemented the check - for string objects of same type in the diff_can_type function by - adding an if(tclass1 == H5T_STRING) block. This "if block" moves the - same check that was added for attributes to this function, which is - used by all object types. This function handles complex type structures. - Also added a new test file in h5diffgentest for testing this issue - and removed the temporary files used in the test scripts. - - (ADB - 2018/01/04, HDFFV-8745) - - - C++ API - ------- - - Removal of memory leaks - - A private function was inadvertently called, causing memory leaks. This - is now fixed. - - (BMR - 2018/04/12 - User reported in email) - - - Changes in exception classes - - Some exception classes are reorganized to reflect the HDF5 object - hierarchy and allow customization. - DataSetIException -> LocationException -> Exception - DataTypeIException -> LocationException -> Exception - GroupIException -> LocationException -> Exception - AttributeIException -> LocationException -> Exception - FileIException -> GroupIException -> LocationException -> Exception - Member functions in H5Location and H5Object now throw specific exceptions - associated with the invoking objects. - - (BMR - 2018/05/11) - - - H5Location::closeObjId is made static - (BMR - 2018/05/11) - - - H5A wrappers in H5Location are removed as they have been in H5Object. - (BMR - 2018/05/11) - - -Supported Platforms -=================== -The following platforms are supported and have been tested for this release. -They are built with the configure process unless specified otherwise. - - Linux 2.6.32-573.22.1.el6 GNU C (gcc), Fortran (gfortran), C++ (g++) - #1 SMP x86_64 GNU/Linux compilers: - (platypus/mayll) Version 4.4.7 20120313 - Versions 4.9.3, 5.3.0, 6.2.0 - PGI C, Fortran, C++ for 64-bit target on - x86-64; - Version 17.10-0 - Intel(R) C (icc), C++ (icpc), Fortran (icc) - compilers: - Version 17.0.4.196 Build 20160721 - MPICH 3.1.4 compiled with GCC 4.9.3 - OpenMPI 2.0.1 compiled with GCC 4.9.3 - - Linux 2.6.32-573.18.1.el6 gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-16) - #1 SMP ppc64 GNU/Linux g++ (GCC) 4.4.7 20120313 (Red Hat 4.4.7-16) - (ostrich) GNU Fortran (GCC) 4.4.7 20120313 (Red Hat 4.4.7-16) - IBM XL C/C++ V13.1 - IBM XL Fortran V15.1 - - Linux 3.10.0-327.10.1.el7 GNU C (gcc), Fortran (gfortran), C++ (g++) - #1 SMP x86_64 GNU/Linux compilers: - (kituo/moohan/jelly Version 4.8.5 20150623 (Red Hat 4.8.5-4) - Versions 4.9.3, 5.3.0, 6.2.0 - Intel(R) C (icc), C++ (icpc), Fortran (icc) - compilers: - Version 17.0.4.196 Build 20170411 - MPICH 3.1.4 compiled with GCC 4.9.3 - NAG Fortran Compiler Release 6.1(Tozai) Build 6116 - - SunOS 5.11 32- and 64-bit Sun C 5.12 SunOS_sparc - (emu) Sun Fortran 95 8.6 SunOS_sparc - Sun C++ 5.12 SunOS_sparc - - Windows 7 Visual Studio 2015 w/ Intel Fortran 16 (cmake) - - Windows 7 x64 Visual Studio 2012 w/ Intel Fortran 15 (cmake) - Visual Studio 2013 w/ Intel Fortran 15 (cmake) - Visual Studio 2015 w/ Intel Fortran 16 (cmake) - Visual Studio 2015 w/ Intel C, Fortran 2017 (cmake) - Visual Studio 2015 w/ MSMPI 8 (cmake) - - Windows 10 Visual Studio 2015 w/ Intel Fortran 16 (cmake) - - Windows 10 x64 Visual Studio 2015 w/ Intel Fortran 16 (cmake) - Visual Studio 2017 w/ Intel Fortran 18 (cmake) - - Mac OS X Mavericks 10.9.5 Apple LLVM version 6.0 (clang-600.0.57) - 64-bit gfortran GNU Fortran (GCC) 4.9.2 - (wren/quail) Intel icc/icpc/ifort version 15.0.3 - - Mac OS X Yosemite 10.10.5 Apple LLVM version 6.1 (clang-602.0.53) - 64-bit gfortran GNU Fortran (GCC) 4.9.2 - (osx1010dev/osx1010test) Intel icc/icpc/ifort version 15.0.3 - - Mac OS X El Capitan 10.11.6 Apple LLVM version 7.3.0 (clang-703.0.29) - 64-bit gfortran GNU Fortran (GCC) 5.2.0 - (VM osx1011dev/osx1011test) Intel icc/icpc/ifort version 16.0.2 - - Mac OS Sierra 10.12.6 Apple LLVM version 8.1 (clang-802.0.42) - 64-bit gfortran GNU Fortran (GCC) 7.1.0 - (kite) Intel icc/icpc/ifort version 17.0.2 - - -Tested Configuration Features Summary -===================================== - - In the tables below - y = tested - n = not tested in this release - C = Cluster - W = Workstation - x = not working in this release - dna = does not apply - ( ) = footnote appears below second table - = testing incomplete on this feature or platform - -Platform C F90/ F90 C++ zlib SZIP - parallel F2003 parallel -SunOS 5.11 32-bit n y/y n y y y -SunOS 5.11 64-bit n y/y n y y y -Windows 7 y y/y n y y y -Windows 7 x64 y y/y n y y y -Windows 7 Cygwin n y/n n y y y -Windows 7 x64 Cygwin n y/n n y y y -Windows 10 y y/y n y y y -Windows 10 x64 y y/y n y y y -Mac OS X Yosemite 10.10.5 64-bit n y/y n y y y -Mac OS X El Capitan 10.11.6 64-bit n y/y n y y y -Mac OS Sierra 10.12.6 64-bit n y/y n y y y -AIX 6.1 32- and 64-bit n y/n n y y y -CentOS 6.7 Linux 2.6.32 x86_64 GNU y y/y y y y y -CentOS 6.7 Linux 2.6.32 x86_64 Intel n y/y n y y y -CentOS 6.7 Linux 2.6.32 x86_64 PGI n y/y n y y y -CentOS 7.1 Linux 3.10.0 x86_64 GNU y y/y y y y y -CentOS 7.1 Linux 3.10.0 x86_64 Intel n y/y n y y y -Linux 2.6.32-573.18.1.el6.ppc64 n y/n n y y y - -Platform Shared Shared Shared Thread- - C libs F90 libs C++ libs safe -SunOS 5.11 32-bit y y y y -SunOS 5.11 64-bit y y y y -Windows 7 y y y y -Windows 7 x64 y y y y -Windows 7 Cygwin n n n y -Windows 7 x64 Cygwin n n n y -Windows 10 y y y y -Windows 10 x64 y y y y -Mac OS X Yosemite 10.10.5 64-bit y n y y -Mac OS X El Capitan 10.11.6 64-bit y n y y -Mac OS Sierra 10.12.6 64-bit y n y y -AIX 6.1 32- and 64-bit y n n y -CentOS 6.7 Linux 2.6.32 x86_64 GNU y y y y -CentOS 6.7 Linux 2.6.32 x86_64 Intel y y y y -CentOS 6.7 Linux 2.6.32 x86_64 PGI y y y y -CentOS 7.1 Linux 3.10.0 x86_64 GNU y y y y -CentOS 7.1 Linux 3.10.0 x86_64 Intel y y y y -Linux 2.6.32-573.18.1.el6.ppc64 y y y y - -Compiler versions for each platform are listed in the preceding -"Supported Platforms" table. - - -More Tested Platforms -===================== -The following platforms are not supported but have been tested for this release. - - Linux 2.6.32-573.22.1.el6 g95 (GCC 4.0.3 (g95 0.94!) - #1 SMP x86_64 GNU/Linux - (mayll) - - Debian8.4.0 3.16.0-4-amd64 #1 SMP Debian 3.16.36-1 x86_64 GNU/Linux - gcc (Debian 4.9.2-10) 4.9.2 - GNU Fortran (Debian 4.9.2-10) 4.9.2 - (cmake and autotools) - - Fedora24 4.7.2-201.fc24.x86_64 #1 SMP x86_64 x86_64 x86_64 GNU/Linux - gcc (GCC) 6.1.1 20160621 (Red Hat 6.1.1-3) - GNU Fortran (GCC) 6.1.1 20160621 (Red Hat 6.1.1-3) - (cmake and autotools) - - CentOS 7.2 3.10.0-327.28.2.el7.x86_64 #1 SMP x86_64 x86_64 x86_64 GNU/Linux - gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-4) - GNU Fortran (GCC) 4.8.5 20150623 (Red Hat 4.8.5-4) - (cmake and autotools) - - Ubuntu 16.04 4.4.0-38-generic #62-Ubuntu SMP x86_64 GNU/Linux - gcc (Ubuntu 5.4.0-6ubuntu1~16.04.2) 5.4.0 - GNU Fortran (Ubuntu 5.4.0-6ubuntu1~16.04.2) 5.4.0 - (cmake and autotools) - - -Known Problems -============== - - The dynamically loaded plugin test libraries require undefined references - to HDF5 functions to be resolved at runtime in order to function properly. - With autotools on CYGWIN this results in build errors, and we have not - found a solution that satisfies both. Therefore the dynamically loaded - plugin tests have been disabled on CYGWIN. - - Mac OS X 10.13 added additional subdirectory structure in .libs for shared - libraries. Consequently "make check" will fail testing java and dynamically - loaded plugin test libraries attempting to copy files from the previous - locations in .libs directories. This will be addressed in the next release - when support for the Mac OS X 10.13 platform is added. - - Known problems in previous releases can be found in the HISTORY*.txt files - in the HDF5 source. Please report any new problems found to - help@hdfgroup.org. - - -%%%%1.8.20%%%% - - -HDF5 version 1.8.20 released on 2017-11-28 -================================================================================ - -INTRODUCTION -============ - -This document describes the differences between HDF5-1.8.19 and -HDF5-1.8.20, and contains information on the platforms tested and -known problems in HDF5-1.8.20. -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.20 source code, documentation, and additional materials -can be found on the HDF5 web page at: - - https://support.hdfgroup.org/HDF5/ - -The HDF5 1.8.20 release can be obtained from: - - https://support.hdfgroup.org/HDF5/release/obtain518.html - -User documentation for 1.8.20 can be accessed directly at this location: - - https://support.hdfgroup.org/HDF5/doc1.8/ - -New features in the HDF5-1.8.x release series, including brief general -descriptions of some new and modified APIs, are described in the "What's New -in 1.8.0?" document: - - https://support.hdfgroup.org/HDF5/doc/ADGuide/WhatsNew180.html - -All new and modified APIs are listed in detail in the "HDF5 Software Changes -from Release to Release" document, in the section "Release 1.8.20 (current -release) versus Release 1.8.19 - - https://support.hdfgroup.org/HDF5/doc1.8/ADGuide/Changes.html - -If you have any questions or comments, please send them to the HDF Help Desk: - - help@hdfgroup.org - - -CONTENTS -======== - -- New Features -- Support for New Platforms, Languages, and Compilers -- Bug Fixes since HDF5-1.8.20 -- Supported Platforms -- Supported Configuration Features Summary -- More Tested Platforms -- Known Problems - - -New Features -============ - - Tools - ----- - - h5diff - - h5diff has new option enable-error-stack. - - Updated h5diff with the --enable-error-stack argument, which - enables the display of the hdf5 error stack. This completes the - improvement to the main tools; h5copy, h5diff, h5dump, h5ls and - h5repack. - - (ADB - 2017/08/30, HDFFV-9774) - - - C++ API - ------- - - The following C++ API wrappers have been added to the C++ Library: - - // Creates a binary object description of this datatype. - void DataType::encode() - C API H5Tencode() - - // Returns the decoded type from the binary object description. - DataType::decode() - C API H5Tdecode() - ArrayType::decode() - C API H5Tdecode() - CompType::decode() - C API H5Tdecode() - DataType::decode() - C API H5Tdecode() - EnumType::decode() - C API H5Tdecode() - FloatType::decode() - C API H5Tdecode() - IntType::decode() - C API H5Tdecode() - StrType::decode() - C API H5Tdecode() - VarLenType::decode() - C API H5Tdecode() - - // Three overloaded functions to retrieve information about an object - H5Location::getObjectInfo() - H5Oget_info()/H5Oget_info_by_name() - - (BMR - 2017/10/17, HDFFV-10175) - - - New constructors to open existing datatypes added in ArrayType, - CompType, DataType, EnumType, FloatType, IntType, StrType, and - VarLenType. - - (BMR - 2017/10/17, HDFFV-10175) - - - A document is added to the HDF5 C++ API Reference Manual to show the - mapping from a C API to C++ wrappers. It can be found from the main - page of the C++ API Reference Manual. - - (BMR - 2017/10/17, HDFFV-10151) - - - High-Level APIs - --------------- - - H5DOread_chunk - - Users wanted to read compressed data directly from a file without any - processing by the HDF5 data transfer pipeline, just as they were able - to write it directly to a file with H5DOwrite_chunk. - - New API function, corresponding to existing function H5DOwrite_chunk. - H5DOread_chunk reads a raw data chunk directly from a chunked dataset - in the file into the application buffer, bypassing the library’s internal - data transfer pipeline, including filters. - - (VC - 2017/05/02, HDFFV-9934) - - -Support for New Platforms, Languages, and Compilers -=================================================== - - - Added NAG compiler - - -Bug Fixes since HDF5-1.8.19 -=========================== - - Configuration - ------------- - - cmake - - The hdf5 library used shared szip and zlib, which needlessly required - applications to link with the same szip and zlib libraries. - - Changed the target_link_libraries commands to use the static libs. - Removed improper link duplication of szip and zlib. - Adjusted the link dependencies and the link interface values of - the target_link_libraries commands. - - (ADB - 2017/11/14, HDFFV-10329) - - - cmake MPI - - CMake implementation for MPI was problematic and would create incorrect - MPI library references in the hdf5 libraries. - - Reworked the CMake MPI code to properly create CMake targets.Also merged - the latest CMake FindMPI.cmake changes to the local copy. This is necessary - until HDF changes the CMake minimum to 3.9 or greater. - - (ADB - 2017/11/02, HDFFV-10321) - - - - Fixed Fortran linker flags when using the NAG Fortran compiler (autotools). - - (HDFFV-10037, MSB, 2017/10/21) - - - cmake - - Too many commands for POST_BUILD step caused command line to be - too big on windows. - - Changed foreach of copy command to use a custom command with the - use of the HDFTEST_COPY_FILE macro. - - (ADB - 2017/07/12, HDFFV-10254) - - - Library - ------- - - filter plugin handling in H5PL.c and H5Z.c - - It was discovered that the dynamic loading process used by - filter plugins had issues with library dependencies. - - CMake build process changed to use LINK INTERFACE keywords, which - allowed HDF5 C library to make dependent libraries private. The - filter plugin libraries no longer require dependent libraries - (such as szip or zlib) to be available. - (ADB - 2017/11/16, HDFFV-10328) - - - Fix rare object header corruption bug - - In certain cases, such as when converting large attributes to dense - storage, an error could occur which would either fail an assertion or - cause file corruption. Fixed and added test. - - (NAF - 2017/11/14, HDFFV-10274) - - - H5Zfilter_avail in H5Z.c - - The public function checked for plugins, while the private - function did not. - - Modified H5Zfilter_avail and private function, H5Z_filter_avail. - Moved check for plugin from public to private function. Updated - H5P__set_filter due to change in H5Z_filter_avail. Updated tests. - - (ADB - 2017/10/10, HDFFV-10297, HDFFV-10319) - - - Fix H5Sencode bug when num points selected is >2^32 - - Modified to fail if the 32 bit limit is exceeded when encoding either - offsets or counts in the selection. - - (HDFFV-10323, VC, 2017/09/07) - - - Fix H5HL_offset_into() - - (1) Fix H5HL_offset_into() to return error when offset exceeds heap data - block size. - (2) Fix other places in the library that call this routine to detect - error routine. - - (HDFFV-10216, VC, 2017/09/05) - - - Tools - ----- - - h5repack - - h5repack failed to copy a dataset with existing filter. - - Reworked code for h5repack and h5diff code in tools library. Added - improved error handling, cleanup of resources and checks of calls. - Modified H5Zfilter_avail and private function, H5Z_filter_avail. - Moved check for plugin from public to private function. Updated - H5P__set_filter due to change in H5Z_filter_avail. Updated tests. - Note, h5repack output display has changed to clarify the individual - steps of the repack process. The output indicates if an operation - applies to all objects. Lines with notation and no information - have been removed. - - (ADB - 2017/10/10, HDFFV-10297, HDFFV-10319) - - - h5repack - - h5repack always set the User Defined filter flag to H5Z_FLAG_MANDATORY. - - Added another parameter to the 'UD=' option to set the flag by default - to '0' or H5Z_FLAG_MANDATORY, the other choice is '1' or H5Z_FLAG_OPTIONAL. - - (ADB - 2017/08/31, HDFFV-10269) - - - h5ls - - h5ls generated error on stack when it encountered a H5S_NULL - dataspace. - - Adding checks for H5S_NULL before calling H5Sis_simple (located - in the h5tools_dump_mem function) fixed the issue. - - (ADB - 2017/08/17, HDFFV-10188) - - - h5dump - - h5dump segfaulted on output of XML file. - - Function that escape'd strings used the full buffer length - instead of just the length of the replacement string in a - strncpy call. Using the correct length fixed the issue. - - (ADB - 2017/08/01, HDFFV-10256) - - - h5diff - - h5diff segfaulted on compare of a NULL variable length string. - - Improved h5diff compare of strings by adding a check for - NULL strings and setting the lengths to zero. - - (ADB - 2017/07/25, HDFFV-10246) - - - h5import - - h5import crashed trying to import data from a subset of a dataset. - - Improved h5import by adding the SUBSET keyword. h5import understands - to use the Count times the Block as the size of the dimensions. - Added INPUT_B_ORDER keyword to old-style configuration files. - The import from h5dump function expects the binary files to use native - types (FILE '-b' option) in the binary file. - - (ADB - 2017/06/15, HDFFV-10219) - - - C++ API - ------- - - Marked the following functions deprecated because they were moved to - class H5Object: - H5Location::createAttribute() - H5Location::openAttribute() - H5Location::attrExists() - H5Location::removeAttr() - H5Location::renameAttr() - H5Location::getNumAttrs() - - (BMR - 2017/10/17) - - -Supported Platforms -=================== -The following platforms are supported and have been tested for this release. -They are built with the configure process unless specified otherwise. - - Linux 2.6.32-573.22.1.el6 GNU C (gcc), Fortran (gfortran), C++ (g++) - #1 SMP x86_64 GNU/Linux compilers: - (platypus/mayll) Version 4.4.7 20120313 - Versions 4.9.3, 5.3.0, 6.2.0 - PGI C, Fortran, C++ for 64-bit target on - x86-64; - Version 16.10-0 - Intel(R) C (icc), C++ (icpc), Fortran (icc) - compilers: - Version 17.0.0.196 Build 20160721 - MPICH 3.1.4 compiled with GCC 4.9.3 - OpenMPI 2.0.1 compiled with GCC 4.9.3 - - Linux 2.6.32-573.18.1.el6 gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-16) - #1 SMP ppc64 GNU/Linux g++ (GCC) 4.4.7 20120313 (Red Hat 4.4.7-16) - (ostrich) GNU Fortran (GCC) 4.4.7 20120313 (Red Hat 4.4.7-16) - IBM XL C/C++ V13.1 - IBM XL Fortran V15.1 - - Linux 3.10.0-327.10.1.el7 GNU C (gcc), Fortran (gfortran), C++ (g++) - #1 SMP x86_64 GNU/Linux compilers: - (kituo/moohan/jelly Version 4.8.5 20150623 (Red Hat 4.8.5-4) - Versions 4.9.3, 5.3.0, 6.2.0 - Intel(R) C (icc), C++ (icpc), Fortran (icc) - compilers: - Version 17.0.4.196 Build 20170411 - MPICH 3.1.4 compiled with GCC 4.9.3 - NAG Fortran Compiler Release 6.1(Tozai) Build 6116 - - SunOS 5.11 32- and 64-bit Sun C 5.12 SunOS_sparc - (emu) Sun Fortran 95 8.6 SunOS_sparc - Sun C++ 5.12 SunOS_sparc - - Windows 7 Visual Studio 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/ Intel C, Fortran 2017 (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 Mavericks 10.9.5 Apple LLVM version 6.0 (clang-600.0.57) - 64-bit gfortran GNU Fortran (GCC) 4.9.2 - (wren/quail) Intel icc/icpc/ifort version 15.0.3 - - Mac OS X Yosemite 10.10.5 Apple LLVM version 6.1 (clang-602.0.53) - 64-bit gfortran GNU Fortran (GCC) 4.9.2 - (osx1010dev/osx1010test) Intel icc/icpc/ifort version 15.0.3 - - Mac OS X El Capitan 10.11.6 Apple LLVM version 7.3.0 (clang-703.0.29) - 64-bit gfortran GNU Fortran (GCC) 5.2.0 - (VM osx1011dev/osx1011test) Intel icc/icpc/ifort version 16.0.2 - - Mac OS Sierra 10.12.6 Apple LLVM version 8.1 (clang-802.0.42) - 64-bit gfortran GNU Fortran (GCC) 7.1.0 - (kite) Intel icc/icpc/ifort version 17.0.2 - -Tested Configuration Features Summary -===================================== - - In the tables below - y = tested - n = not tested in this release - C = Cluster - W = Workstation - x = not working in this release - dna = does not apply - ( ) = footnote appears below second table - = testing incomplete on this feature or platform - -Platform C F90/ F90 C++ zlib SZIP - parallel F2003 parallel -SunOS 5.11 32-bit n y/y n y y y -SunOS 5.11 64-bit n y/y n y y y -Windows 7 y y/y n y y y -Windows 7 x64 y y/y n y y y -Windows 7 Cygwin n y/n n y y y -Windows 7 x64 Cygwin n y/n n y y y -Windows 10 y y/y n y y y -Windows 10 x64 y y/y n y y y -Mac OS X 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 -Mac OS Sierra 10.12.6 64-bit n y/y n y y y -AIX 6.1 32- and 64-bit n y/n n y y y -CentOS 6.7 Linux 2.6.32 x86_64 GNU y y/y y y y y -CentOS 6.7 Linux 2.6.32 x86_64 Intel n y/y n y y y -CentOS 6.7 Linux 2.6.32 x86_64 PGI n y/y n y y y -CentOS 7.1 Linux 3.10.0 x86_64 GNU y y/y y y y y -CentOS 7.1 Linux 3.10.0 x86_64 Intel n y/y n y y y -Linux 2.6.32-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 7 x64 Cygwin n n n y -Windows 10 y y y y -Windows 10 x64 y y 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 -Mac OS Sierra 10.12.6 64-bit y n y y -AIX 6.1 32- and 64-bit y n n y -CentOS 6.7 Linux 2.6.32 x86_64 GNU y y y y -CentOS 6.7 Linux 2.6.32 x86_64 Intel y y y y -CentOS 6.7 Linux 2.6.32 x86_64 PGI y y y y -CentOS 7.1 Linux 3.10.0 x86_64 GNU y y y y -CentOS 7.1 Linux 3.10.0 x86_64 Intel y y y y -Linux 2.6.32-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.32-573.22.1.el6 g95 (GCC 4.0.3 (g95 0.94!) - #1 SMP x86_64 GNU/Linux - (mayll) - - Debian8.4.0 3.16.0-4-amd64 #1 SMP Debian 3.16.36-1 x86_64 GNU/Linux - gcc (Debian 4.9.2-10) 4.9.2 - GNU Fortran (Debian 4.9.2-10) 4.9.2 - (cmake and autotools) - - Fedora24 4.7.2-201.fc24.x86_64 #1 SMP x86_64 x86_64 x86_64 GNU/Linux - gcc (GCC) 6.1.1 20160621 (Red Hat 6.1.1-3) - GNU Fortran (GCC) 6.1.1 20160621 (Red Hat 6.1.1-3) - (cmake and autotools) - - CentOS 7.2 3.10.0-327.28.2.el7.x86_64 #1 SMP x86_64 x86_64 x86_64 GNU/Linux - gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-4) - GNU Fortran (GCC) 4.8.5 20150623 (Red Hat 4.8.5-4) - (cmake and autotools) - - Ubuntu 16.04 4.4.0-38-generic #62-Ubuntu SMP x86_64 GNU/Linux - gcc (Ubuntu 5.4.0-6ubuntu1~16.04.2) 5.4.0 - GNU Fortran (Ubuntu 5.4.0-6ubuntu1~16.04.2) 5.4.0 - (cmake and autotools) - - -Known Problems -============== - - The dynamically loaded plugin test libraries require undefined references - to HDF5 functions to be resolved at runtime in order to function properly. - With autotools on CYGWIN this results in build errors, and we have not - found a solution that satisfies both. Therefore the dynamically loaded - plugin tests have been disabled on CYGWIN. - - Mac OS X 10.13 added additional subdirectory structure in .libs for shared - libraries. Consequently "make check" will fail testing java and dynamically - loaded plugin test libraries attempting to copy files from the previous - locations in .libs directories. This will be addressed in the next release - when support for the Mac OS X 10.13 platform is added. - - Known problems in previous releases can be found in the HISTORY*.txt files - in the HDF5 source. Please report any new problems found to - help@hdfgroup.org. - - -%%%%1.8.19%%%% - - -HDF5 version 1.8.19 released on 2017-06-15 -================================================================================ - -INTRODUCTION -============ - -This document describes the differences between HDF5-1.8.18 and -HDF5-1.8.19, and contains information on the platforms tested and -known problems in HDF5-1.8.19. -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.19 source code, documentation, and additional materials -can be found on the HDF5 web page at: - - https://support.hdfgroup.org/HDF5/ - -The HDF5 1.8.19 release can be obtained from: - - https://support.hdfgroup.org/HDF5/release/obtain518.html - -User documentation for 1.8.19 can be accessed directly at this location: - - https://support.hdfgroup.org/HDF5/doc1.8/ - -New features in the HDF5-1.8.x release series, including brief general -descriptions of some new and modified APIs, are described in the "What's New -in 1.8.0?" document: - - https://support.hdfgroup.org/HDF5/doc/ADGuide/WhatsNew180.html - -All new and modified APIs are listed in detail in the "HDF5 Software Changes -from Release to Release" document, in the section "Release 1.8.19 (current -release) versus Release 1.8.18 - - https://support.hdfgroup.org/HDF5/doc1.8/ADGuide/Changes.html - -If you have any questions or comments, please send them to the HDF Help Desk: - - help@hdfgroup.org - - -CONTENTS -======== - -- New Features -- Support for New Platforms, Languages, and Compilers -- Bug Fixes since HDF5-1.8.19 -- Supported Platforms -- Supported Configuration Features Summary -- More Tested Platforms -- Known Problems - - -New Features -============ - - Configuration - -------------- - - CMake in the Tools - - User-defined filters on Windows require that tools be built - with shared libraries. - - CMake command code added to build tools with - shared libraries as well as with static libraries. - - (ADB - 2017/02/07, HDFFV-10123) - - - Library - ------- - - H5PL package - - Users would like to be able to set the plugin path programmatically - instead of through the environment variable. - - H5PL package obtained new APIs for manipulating the entries of - the plugin path table. The new APIs are; - H5PLappend - Insert a plugin path at the end of the list. - H5PLprepend - Insert a plugin path at the beginning of the list. - H5PLreplace - Replace the path at the specified index. - H5PLinsert - Insert a plugin path at the specified index, moving - other paths after the index. - H5PLremove - Remove the plugin path at the specified index and - compacting the list. - H5PLget - Query the plugin path at the specified index. - H5PLsize - Query the size of the current list of plugin paths. - - (ADB - 2017/04/04, HDFFV-10143) - - - H5Dget_chunk_storage_size - - The storage size of a chunk in the file is needed to determine the size - of the buffer to be allocated for reading a chunk directly from a file. - - New API function gets the size in bytes currently allocated within a - file for a raw data chunk in a dataset. This function was added to get - the chunk size in support of the implementation of H5DOread_chunks, but - may also be useful for other purposes. - - (VC - 2017/05/02, HDFFV-9934) - - C++ API - ------- - - The following C++ API wrappers have been added to the C++ Library: - // Determines if a name exists. - H5Location::nameExists() - C API H5Lexists() - - // Checks if an ID is valid. - IdComponent::isValid() - C API H5Iis_valid() - - // Sets the number of soft or user-defined links that can be - // traversed before a failure occurs. - LinkAccPropList::setNumLinks() - C API H5Pset_nlinks() - - // Gets the number of soft or user-defined link traversals allowed - LinkAccPropList::getNumLinks() - C API H5Pget_nlinks() - - // Returns a copy of the creation property list of a datatype. - DataType::getCreatePlist() - C API H5Tget_create_plist() - - // Opens an object within a location, regardless its type. - H5Location::openObjId() - C API H5Oopen() - H5Location::openObjId() - C API H5Oopen() - - // Closes an object opened by openObjId(). - H5Location::closeObjId() - C API H5Oclose() - - // Gets general information about a file. - H5File::getFileInfo() - C API H5Fget_info() - - // Returns the header version of an HDF5 object. - H5Object::objVersion() - C API H5Oget_info() - - (BMR, 2017/05/13, HDFFV-10004, HDFFV-10156) - - - New class LinkAccPropList is added for link access property list - - (BMR, 2017/05/13, HDFFV-10156) - - High-Level APIs - --------------- - - H5DOread_chunk - - Users wanted to read compressed data directly from a file without any - processing by the HDF5 data transfer pipeline, just as they were able - to write it directly to a file with H5DOwrite_chunk. - - New API function, corresponding to existing function H5DOwrite_chunk. - H5DOread_chunk reads a raw data chunk directly from a chunked dataset - in the file into the application buffer, bypassing the library’s internal - data transfer pipeline, including filters. - - (VC - 2017/05/02, HDFFV-9934) - - -Support for New Platforms, Languages, and Compilers -=================================================== - - - Added OpenMPI 2.0.1 compiled with GCC 4.9.3 - - -Bug Fixes since HDF5-1.8.18 -=========================== - - Configuration - ------------- - - Support for Fortran shared libraries on OS X with autotools now - works. Cmake builds still disables Fortran shared libraries on OS X. - (MSB - 2017/04/30, HDFFV-2772) - - - Library - ------- - - bitfield datatypes - - bitfield datatypes did not fully support endianness of the data. - - Improved the endianness of bitfield datatypes by adding missing functional - code. This code used integer types as a template. - - (ADB - 2017/05/12, HDFFV-10186) - - - Newly created datasets with H5D_COMPACT layout failed to open after - several H5Dopen/H5Dclose cycles. - - The layout "dirty" flag for a compact dataset is now properly reset - before flushing the message. - - (VC - 2017/05/11, HDFFV-10051) - - Missing #ifdef __cplusplus macros were added to the generated H5Epubgen.h file. - - (DER - 2017/04/25, HDFFV-9638) - - - Tools - ----- - - h5repack - - h5repack did not maintain the creation order flag of the root - group. - - Improved h5repack by reading the creation order and applying the - flag to the new root group. Also added arguments to set the - order and index direction, which applies to the traversing of the - original file, on the command line. - - (ADB - 2017/05/26, HDFFV-8611) - - - h5diff - - h5diff failed to account for strpad type and null terminators - of char strings. Also, h5diff failed to account for string length - differences and would give a different result depending on file - order in the command line. - - Improved h5diff compare of strings and arrays by adding a check for - string lengths and if the strpad was null filled. - - (ADB - 2017/05/18, HDFFV-9055, HDFFV-10128) - - - h5diff - - h5diff help text about epsilon comparison was confusing. - - Changed h5diff help text to indicate that the 'a' refers to the - datapoint in file1 and 'b' refers to the datapoint value in file2. - - (ADB - 2017/05/16, HDFFV-9995) - - - h5diff - - h5diff did not report user-defined filter data differences correctly. - - Improved h5diff compare of user-defined filter data by reporting an - error if the user-defined filter plugin cannot be found. - - (ADB - 2017/01/18, HDFFV-9994) - C++ API - ------- - - The class hierarchy is revised to better reflect the HDF5 model. - Class H5File is now derived from class Group instead of H5Location. - Class Attribute is now derived from H5Location instead of IdComponent. - Wrappers of H5A APIs in H5Location are now duplicated in H5Object, - the original wrappers in H5Location will be deprecated in future - releases. - - (BMR - 2017/05/15, HDFFV-10156) - - - -Supported Platforms -=================== -The following platforms are supported and have been tested for this release. -They are built with the configure process unless specified otherwise. - - Linux 2.6.32-573.22.1.el6 GNU C (gcc), Fortran (gfortran), C++ (g++) - #1 SMP x86_64 GNU/Linux compilers: - (platypus/mayll) Version 4.4.7 20120313 - Versions 4.9.3, 5.2.0, 6.2.0 - PGI C, Fortran, C++ for 64-bit target on - x86-64; - Version 16.10-0 - Intel(R) C (icc), C++ (icpc), Fortran (icc) - compilers: - Version 17.0.0.098 Build 20160721 - MPICH 3.1.4 compiled with GCC 4.9.3 - OpenMPI 2.0.1 compiled with GCC 4.9.3 - - Linux 2.6.32-573.18.1.el6 gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-16) - #1 SMP ppc64 GNU/Linux g++ (GCC) 4.4.7 20120313 (Red Hat 4.4.7-16) - (ostrich) GNU Fortran (GCC) 4.4.7 20120313 (Red Hat 4.4.7-16) - IBM XL C/C++ V13.1 - IBM XL Fortran V15.1 - - Linux 3.10.0-327.10.1.el7 GNU C (gcc), Fortran (gfortran), C++ (g++) - #1 SMP x86_64 GNU/Linux compilers: - (kituo/moohan) Version 4.8.5 20150623 (Red Hat 4.8.5-4) - Versions 4.9.3, 5.3.0, 6.2.0 - Intel(R) C (icc), C++ (icpc), Fortran (icc) - compilers: - Version 17.0.4.196 Build 20170411 - MPICH 3.1.4 compiled with GCC 4.9.3 - - 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/ Intel C, Fortran 2017 (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 LLVM version 5.1 (clang-503.0.40) - 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 LLVM version 6.0 (clang-600.0.57) - 64-bit gfortran GNU Fortran (GCC) 4.9.2 - (wren/quail) Intel icc/icpc/ifort version 15.0.3 - - Mac OS X Yosemite 10.10.5 Apple LLVM version 6.1 (clang-602.0.53) - 64-bit gfortran GNU Fortran (GCC) 4.9.2 - (osx1010dev/osx1010test) Intel icc/icpc/ifort version 15.0.3 - - Mac OS X El Capitan 10.11.4 Apple LLVM version 7.3.0 (clang-703.0.29) - 64-bit gfortran GNU Fortran (GCC) 5.2.0 - (VM osx1011dev/osx1011test) Intel icc/icpc/ifort version 16.0.2 - - -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 - = testing incomplete on this feature or platform -Platform C F90/ F90 C++ zlib SZIP - parallel F2003 parallel -SunOS 5.11 32-bit n y/y n y y y -SunOS 5.11 64-bit n y/y n y y y -Windows 7 y y/y n y y y -Windows 7 x64 y y/y n y y y -Windows 7 Cygwin n y/n n y y y -Windows 7 x64 Cygwin n y/n n y y y -Windows 10 y y/y n y y y -Windows 10 x64 y y/y n y y y -Mac OS X 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 -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 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 -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.32-573.22.1.el6 g95 (GCC 4.0.3 (g95 0.94!) - #1 SMP x86_64 GNU/Linux - (mayll) - - Debian8.4.0 3.16.0-4-amd64 #1 SMP Debian 3.16.36-1 x86_64 GNU/Linux - gcc (Debian 4.9.2-10) 4.9.2 - GNU Fortran (Debian 4.9.2-10) 4.9.2 - (cmake and autotools) - - Fedora24 4.7.2-201.fc24.x86_64 #1 SMP x86_64 x86_64 x86_64 GNU/Linux - gcc (GCC) 6.1.1 20160621 (Red Hat 6.1.1-3) - GNU Fortran (GCC) 6.1.1 20160621 (Red Hat 6.1.1-3) - (cmake and autotools) - - CentOS 7.2 3.10.0-327.28.2.el7.x86_64 #1 SMP x86_64 x86_64 x86_64 GNU/Linux - gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-4) - GNU Fortran (GCC) 4.8.5 20150623 (Red Hat 4.8.5-4) - (cmake and autotools) - - Ubuntu 16.04 4.4.0-38-generic #62-Ubuntu SMP x86_64 GNU/Linux - gcc (Ubuntu 5.4.0-6ubuntu1~16.04.2) 5.4.0 - GNU Fortran (Ubuntu 5.4.0-6ubuntu1~16.04.2) 5.4.0 - (cmake and autotools) - - -Known Problems -============== - - The dynamically loaded plugin test libraries require undefined references - to HDF5 functions to be resolved at runtime in order to function properly. - With autotools on CYGWIN this results in build errors, and we have not - found a solution that satisfies both. Therefore the dynamically loaded - plugin tests have been disabled on CYGWIN. - - Known problems in previous releases can be found in the HISTORY*.txt files - in the HDF5 source. Please report any new problems found to - help@hdfgroup.org. - - -%%%%1.8.18%%%% - - -HDF5 version 1.8.18 released on 2016-11-14 -================================================================================ - -INTRODUCTION -============ - -This document describes the differences between HDF5-1.8.17 and -HDF5-1.8.18, and contains information on the platforms tested and -known problems in HDF5-1.8.18. -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.18 source code, documentation, and additional materials -can be found on the HDF5 web page at: - - https://support.hdfgroup.org/HDF5/ - -The HDF5 1.8.18 release can be obtained from: - - https://support.hdfgroup.org/HDF5/release/obtain518.html - -User documentation for 1.8.18 can be accessed directly at this location: - - https://support.hdfgroup.org/HDF5/doc1.8/ - -New features in the HDF5-1.8.x release series, including brief general -descriptions of some new and modified APIs, are described in the "What's New -in 1.8.0?" document: - - https://support.hdfgroup.org/HDF5/doc/ADGuide/WhatsNew180.html - -All new and modified APIs are listed in detail in the "HDF5 Software Changes -from Release to Release" document, in the section "Release 1.8.18 (current -release) versus Release 1.8.17 - - https://support.hdfgroup.org/HDF5/doc1.8/ADGuide/Changes.html - -If you have any questions or comments, please send them to the HDF Help Desk: - - help@hdfgroup.org - - -CONTENTS -======== - -- New Features -- Support for New Platforms, Languages, and Compilers -- Bug Fixes since HDF5-1.8.17 -- Supported Platforms -- Supported Configuration Features Summary -- More Tested Platforms -- Known Problems - - -New Features -============ - - Configuration - ------------- - - - 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. - - (ADB, 2016/10/17, HDFFV-10003) - - - - CMake: Changed the CTEST_BUILD_CONFIGURATION option to - CTEST_CONFIGURATION_TYPE as recommended by the CMake documentation. - - (ADB, 2016/10/17, HDFFV-9971) - - - CMake: Added support for GIT - - (ADB, 2016/07/12) - - - Library - ------- - - None - - - Parallel Library - ---------------- - - None - - - Tools - ----- - - None - - - High-Level APIs - --------------- - - None - - - Fortran API - ----------- - - None - - - C++ API - ------- - - None - - -Support for New Platforms, Languages, and Compilers -=================================================== - - - -Bug Fixes since HDF5-1.8.17 -=========================== - - Configuration - ------------- - - - 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) - - - - 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) - - - - 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) - - - Library - ------- - - - Fixed a memory leak that would occur when the library allocated memory - for an external file prefix (H5Pset_efile_prefix) and failed to free it. - - (DER, 2016/04/29) - - - - 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-04, HDFFV-9940) - - - - 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 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) - - - - 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 shareable 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-10-17, HDFFV-7991) - - - 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) - - - Performance - ------------- - - None - - - Tools - ----- - - - 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/06/08, 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. - - (ADB, 2016/10/19, HDFFV-9996, HDFFV-9974, HDFFV-9515, HDFFV-9039) - - - Fortran API - ----------- - - - Fortran library fails to compile and fails tests with NAG compiler. - - * Removed the non-standard assumption that KIND=SIZEOF, in the HDF5 - configure programs. - * Removed Fortran 66 character/integer conversions from tests. - * Removed the use of C_SIZEOF in the test programs - * Changed to using STORAGE_SIZE in the test programs if available. Otherwise, - uses C_SIZEOF or SIZEOF. - - (MSB, 2016/9/22, HDFFV-9973) - - - - Fortran segfaults for F03 tests with NAG compiler - - * Removed INTENT(OUT) from 'fillvalue' in F2003 interface - for H5Pget_fill_value_f. - - (MSB, 2016/9/22, HDFFV-9980) - - - C++ API - ------- - - - The macro H5_NO_NAMESPACE is deprecated from the HDF5 C++ API library. - In future releases, the macros H5_NO_STD and OLD_HEADER_FILENAME may - also be removed. - - (BMR, 2016/10/27, HDFFV-9532) - - - High-Level APIs: - --------------- - - - 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 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, HDFFV-10023. - - (BMR, 2016/10/27, HDFFV-9758) - - - 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. - - Linux 2.6.32-573.22.1.el6 GNU C (gcc), Fortran (gfortran), C++ (g++) - #1 SMP x86_64 GNU/Linux compilers: - (platypus/mayll) Version 4.4.7 20120313 - Versions 4.8.4, 4.9.3, 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 gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-16) - #1 SMP ppc64 GNU/Linux g++ (GCC) 4.4.7 20120313 (Red Hat 4.4.7-16) - (ostrich) GNU Fortran (GCC) 4.4.7 20120313 (Red Hat 4.4.7-16) - IBM XL C/C++ V13.1 - IBM XL Fortran V15.1 - - Linux 3.10.0-327.10.1.el7 GNU C (gcc), Fortran (gfortran), C++ (g++) - #1 SMP x86_64 GNU/Linux compilers: - (kituo/moohan) Version 4.8.5 20150623 (Red Hat 4.8.5-4) - Versions 4.9.3, 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 10 Visual Studio 2015 w/ Intel Fortran 16 (cmake) - - Windows 10 x64 Visual Studio 2015 w/ Intel Fortran 16 (cmake) - - Mac OS X Mt. Lion 10.8.5 Apple LLVM version 5.1 (clang-503.0.40) - 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 LLVM version 6.0 (clang-600.0.57) - 64-bit gfortran GNU Fortran (GCC) 4.9.2 - (wren/quail) Intel icc/icpc/ifort version 15.0.3 - - Mac OS X Yosemite 10.10.5 Apple LLVM version 6.1 (clang-602.0.53) - 64-bit gfortran GNU Fortran (GCC) 4.9.2 - (osx1010dev/osx1010test) Intel icc/icpc/ifort version 15.0.3 - - Mac OS X El Capitan 10.11.4 Apple LLVM version 7.3.0 (clang-703.0.29) - 64-bit gfortran GNU Fortran (GCC) 5.2.0 - (VM osx1011dev/osx1011test) Intel icc/icpc/ifort version 16.0.2 - - -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 - = 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 10 n y/y n y y y -Windows 10 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 Yosemite 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 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 -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.32-573.22.1.el6 g95 (GCC 4.0.3 (g95 0.94!) - #1 SMP x86_64 GNU/Linux - (platypus) - - Debian8.4.0 3.16.0-4-amd64 #1 SMP Debian 3.16.36-1 x86_64 GNU/Linux - gcc (Debian 4.9.2-10) 4.9.2 - GNU Fortran (Debian 4.9.2-10) 4.9.2 - (cmake and autotools) - - Fedora24 4.7.2-201.fc24.x86_64 #1 SMP x86_64 x86_64 x86_64 GNU/Linux - gcc (GCC) 6.1.1 20160621 (Red Hat 6.1.1-3) - GNU Fortran (GCC) 6.1.1 20160621 (Red Hat 6.1.1-3) - (cmake and autotools) - - CentOS 7.2 3.10.0-327.28.2.el7.x86_64 #1 SMP x86_64 x86_64 x86_64 GNU/Linux - gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-4) - GNU Fortran (GCC) 4.8.5 20150623 (Red Hat 4.8.5-4) - (cmake and autotools) - - Ubuntu 16.04 4.4.0-38-generic #62-Ubuntu SMP x86_64 GNU/Linux - gcc (Ubuntu 5.4.0-6ubuntu1~16.04.2) 5.4.0 - GNU Fortran (Ubuntu 5.4.0-6ubuntu1~16.04.2) 5.4.0 - (cmake and autotools) - - -Known Problems -============== -* 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.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 - = 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 - = 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 (/bin, - instead of \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. - - (const hid_t h5_id); - (const & 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 - = 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 - compilers 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 library 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 - = 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= 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 - = 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 - - 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 kernel - (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 - = 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 - - 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 uninitialized 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 . - libdir libraries, default is /lib. - includedir header files, default is . - 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 - = 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 - - 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 kernel - (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 - = 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 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) 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 - = 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 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) 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 - character 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 Fortran (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 - = 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 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) 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 - dimension 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: - - (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 dimension 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 - = 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 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 - 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; - ::= H5T_REFERENCE { } - ::= 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 - = 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 earlier 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 - = 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 - = 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 attendant 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 - = 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 compilers 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 - = 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 - = 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 transparent 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 - = 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 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. - -* 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 - = 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 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. - -* 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/NEWSLETTER.txt b/release_docs/NEWSLETTER.txt new file mode 100644 index 0000000..f03f710 --- /dev/null +++ b/release_docs/NEWSLETTER.txt @@ -0,0 +1,25 @@ +INTRODUCTION +============ + +This purpose of this document is to contain entries that can be used to quickly +produce a release newsletter. When something is added to the library that is +"newsletter worthy" (i.e., new feature, CVE fix, etc.) a summary note should +be added here. + +The format should look like this: + +* SUMMARY OF NEWSLETTER-WORTHY THING + + Here is where you describe the summary. Summarize the feature, fix, or + change in general language. Remember, RELEASE.txt is for communicating + technical specifics. Text entered here is more like advertising. + + (GitHub #123, #125) + +The GitHub #s could be relevant issues or PRs. They will probably not appear +in the final newsletter, but are so that the person writing the newsletter +has easy access to context if they have questions. + +Every entry in RELEASE.txt does NOT require an entry here. The newsletter is +for communicating major changes that are of interest to anyone. Minor bugfixes, +memory leak fixes, etc. do not require entries. diff --git a/release_docs/README.md b/release_docs/README.md new file mode 100644 index 0000000..1532f1a --- /dev/null +++ b/release_docs/README.md @@ -0,0 +1,102 @@ +# The `release_docs` directory + +## Intro + +This directory contains instructions for building and using the library as +well as the HDF5 history files. + +## HISTORY files + +The `HISTORY` files contain the history of this branch of HDF5. They fall into +three categories. + +### HISTORY-\[VERSION 1\]-\[VERSION 2\].txt + +These files are created when we release a new major version and include all +the changes that were made to the `develop` branch while creating a major release. + +### HISTORY-\[VERSION\].txt + +This file contains the changes that were made to a maintenance branch since +it split off from `develop`. It will also be found in the `develop` branch +when experimental releases have been created. + +### RELEASE.txt + +This is the changelog for the current version of the library. + +For a MAJOR release (or in `develop`) this files lists all the changes since the +last major version. For a MINOR release (or in a maintenance branch), this file +lists all the changes since the last release in the maintenance branch. + +Examples: + +* The file for HDF5 1.14.0 includes all the changes since HDF5 1.12.0 +* The file for HDF5 1.10.9 includes all the changes since HDF5 1.10.8 +* The file in `develop` includes all the changes since the last major release +* The file in `hdf5_1_14` includes all the changes since the last minor HDF5 1.14 release + +Note that we make no effort to bring maintenance branch `HISTORY` files back to +develop. If you want to compare, say, 1.10.4 with 1.12.3, you'd have to get +the history files from those releases and compare them by hand. + +## Creating new releases + +### MAJOR release + +* If there were experimental releases, merge the experimental `HISTORY` file + and the current `RELEASE.txt` by category to create a separate, unified + file that ignores the experimental releases. Don't check this in yet or + clobber any existing `HISTORY`/`RELEASE` files, but put it someplace handy for + use in later steps. + +* Create the new maintenance branch + +In develop: +* Create the new `HISTORY-\[VERSION 1\]-\[VERSION 2\].txt` file + * If there is an experimental `HISTORY` file, add `RELEASE.txt` to the beginning of it and use that + * Otherwise, start with `RELEASE.txt` + * Add the introduction boilerplate like in the other `HISTORY` files (TOC, etc.) +* Delete any experimental `HISTORY` file +* Clear out `RELEASE.txt` + +Note that we're KEEPING any experimental release history information in the +`HISTORY-\[VERSION 1\]-\[VERSION 2\].txt` file, so do NOT use the merged file in +the above steps! + +In the new maintenance branch: +* Create the new `HISTORY-\[VERSION\].txt` file + * If there is an experimental `HISTORY` file use the combined file you created earlier + * Otherwise, start with `RELEASE.txt` + * Add the introduction boilerplate like in the other `HISTORY` files (TOC, etc.) +* Delete any experimental `HISTORY` file +* Clear out `RELEASE.txt` + +* Create the new release branch + +In the new release branch: +* If there were experimental releases, use the combined file you created earlier as `RELEASE.txt` +* Otherwise the `RELEASE.txt` will be used as-is + +### MINOR release + +* Create the release branch + +In the maintenance branch: +* Add the contents of `RELEASE.txt` to the beginnnig of `HISTORY-\[VERSION\].txt` +* Clear out `RELEASE.txt` + +### EXPERIMENTAL release + +* Add the contents of `RELEASE.txt` to the beginnnig of `HISTORY-\[VERSION\].txt` +* Clear out `RELEASE.txt` + +## INSTALL files + +These files include instructions for building and installing HDF5 on various +platforms. + +## USING files + +These files document how to build HDF5 applications with an installed HDF5 +library. diff --git a/release_docs/RELEASE.txt b/release_docs/RELEASE.txt index 2cef92d..052428a 100644 --- a/release_docs/RELEASE.txt +++ b/release_docs/RELEASE.txt @@ -21,7 +21,7 @@ The official HDF5 releases can be obtained from: https://www.hdfgroup.org/downloads/hdf5/ -Changes from Release to Release and New Features in the HDF5-1.13.x release series +Changes from release to release and new features in the HDF5-1.14.x release series can be found at: https://portal.hdfgroup.org/display/HDF5/Release+Specific+Information @@ -36,7 +36,7 @@ CONTENTS - New Features - Support for new platforms and languages -- Bug Fixes since HDF5-1.13.3 +- Bug Fixes since HDF5-1.14.0 - Platforms Tested - Known Problems - CMake vs. Autotools installations @@ -47,108 +47,13 @@ New Features Configuration: ------------- - - Removal of MPE support - - The ability to build with MPE instrumentation has been removed along with - the following configure options: - - Autotools: - --with-mpe= - - CMake has never supported building with MPE support. - - (DER - 2022/11/08) - - - Removal of dmalloc support - - The ability to build with dmalloc support has been removed along with - the following configure options: - - Autotools: - --with-dmalloc= - - CMake: - HDF5_ENABLE_USING_DMALLOC - - (DER - 2022/11/08) - - - Removal of memory allocation sanity checks configure options - - With the removal of the memory allocation sanity checks feature, the - following configure options are no longer necessary and have been - removed: - - Autotools: - --enable-memory-alloc-sanity-check - - CMake: - HDF5_MEMORY_ALLOC_SANITY_CHECK - HDF5_ENABLE_MEMORY_STATS + - - (DER - 2022/11/03) Library: -------- - - Overhauled the Virtual Object Layer (VOL) - - The virtual object layer (VOL) was added in HDF5 1.12.0 but the initial - implementation required API-breaking changes to better support optional - operations and pass-through VOL connectors. The original VOL API is - now considered deprecated and VOL users and connector authors should - target the 1.14 VOL API. - - The specific changes are too extensive to document in a release note, so - VOL users and connector authors should consult the updated VOL connector - author's guide and the 1.12-1.14 VOL migration guide. - - (DER - 2022/12/28) - - - H5VLquery_optional() signature change - - The last parameter of this API call has changed from a pointer to hbool_t - to a pointer to uint64_t. Due to the changes in how optional operations - are handled in the 1.14 VOL API, we cannot make the old API call work - with the new scheme, so there is no API compatibility macro for it. - - (DER - 2022/12/28) - - - H5I_free_t callback signature change - - In order to support asynchronous operations and future IDs, the signature - of the H5I_free_t callback has been modified to take a second 'request' - parameter. Due to the nature of the internal library changes, no API - compatibility macro is available for this change. - - (DER - 2022/12/28) - - - Fix for CVE-2019-8396 - - Malformed HDF5 files may have truncated content which does not match - the expected size. When H5O__pline_decode() attempts to decode these it - may read past the end of the allocated space leading to heap overflows - as bounds checking is incomplete. - - The fix ensures each element is within bounds before reading. - - (2022/11/09 - HDFFV-10712, CVE-2019-8396, GitHub #2209) - - - Removal of memory allocation sanity checks feature - - This feature added heap canaries and statistics tracking for internal - library memory operations. Unfortunately, the heap canaries caused - problems when library memory operations were mixed with standard C - library memory operations (such as in the filter pipeline, where - buffers may have to be reallocated). Since any platform with a C - compiler also usually has much more sophisticated memory sanity - checking tools than the HDF5 library provided (e.g., valgrind), we - have decided to to remove the feature entirely. - - In addition to the configure changes described above, this also removes - the following from the public API: - H5get_alloc_stats() - H5_alloc_stats_t + - - (DER - 2022/11/03) Parallel Library: ----------------- @@ -198,132 +103,13 @@ New Features Support for new platforms, languages and compilers ================================================== - - -Bug Fixes since HDF5-1.13.3 release + + +Bug Fixes since HDF5-1.14.0 release =================================== Library ------- - - Seg fault on file close - - h5debug fails at file close with core dump on a file that has an - illegal file size in its cache image. In H5F_dest(), the library - performs all the closing operations for the file and keeps track of - the error encountered when reading the file cache image. - At the end of the routine, it frees the file's file structure and - returns error. Due to the error return, the file object is not removed - from the ID node table. This eventually causes assertion failure in - H5VL__native_file_close() when the library finally exits and tries to - access that file object in the table for closing. - - The closing routine, H5F_dest(), will not free the file structure if - there is error, keeping a valid file structure in the ID node table. - It will be freed later in H5VL__native_file_close() when the - library exits and terminates the file package. - - (VC - 2022/12/14, HDFFV-11052, CVE-2020-10812) - - - Fix CVE-2018-13867 / GHSA-j8jr-chrh-qfrf - - Validate location (offset) of the accumulated metadata when comparing. - - Initially, the accumulated metadata location is initialized to HADDR_UNDEF - - the highest available address. Bogus input files may provide a location - or size matching this value. Comparing this address against such bogus - values may provide false positives. Thus make sure, the value has been - initialized or fail the comparison early and let other parts of the - code deal with the bogus address/size. - Note: To avoid unnecessary checks, it is assumed that if the 'dirty' - member in the same structure is true the location is valid. - - (EFE - 2022/10/10 GH-2230) - - - Fix CVE-2018-16438 / GHSA-9xmm-cpf8-rgmx - - Make sure info block for external links has at least 3 bytes. - - According to the specification, the information block for external links - contains 1 byte of version/flag information and two 0 terminated strings - for the object linked to and the full path. - Although not very useful, the minimum string length for each (with - terminating 0) would be one byte. - Checking this helps to avoid SEGVs triggered by bogus files. - - (EFE - 2022/10/09 GH-2233) - - - CVE-2021-46244 / GHSA-vrxh-5gxg-rmhm - - Compound datatypes may not have members of size 0 - - A member size of 0 may lead to an FPE later on as reported in - CVE-2021-46244. To avoid this, check for this as soon as the - member is decoded. - - (EFE - 2022/10/05 GEH-2242) - - - - Fix CVE-2021-45830 / GHSA-5h2h-fjjr-x9m2 - - Make H5O__fsinfo_decode() more resilient to out-of-bound reads. - - When decoding a file space info message in H5O__fsinfo_decode() make - sure each element to be decoded is still within the message. Malformed - hdf5 files may have trunkated content which does not match the - expected size. Checking this will prevent attempting to decode - unrelated data and heap overflows. So far, only free space manager - address data was checked before decoding. - - (EFE - 2022/10/05 GH-2228) - - - Fix CVE-2021-46242 / GHSA-x9pw-hh7v-wjpf - - When evicting driver info block, NULL the corresponding entry. - - Since H5C_expunge_entry() called (from H5AC_expunge_entry()) sets the flag - H5C__FLUSH_INVALIDATE_FLAG, the driver info block will be freed. NULLing - the pointer in f->shared->drvinfo will prevent use-after-free when it is - used in other functions (like H5F__dest()) - as other places will check - whether the pointer is initialized before using its value. - - (EFE - 2022/09/29 GH-2254) - - - Fix CVE-2021-45833 / GHSA-x57p-jwp6-4v79 - - Report error if dimensions of chunked storage in data layout < 2 - - For Data Layout Messages version 1 & 2 the specification state - that the value stored in the data field is 1 greater than the - number of dimensions in the dataspace. For version 3 this is - not explicitly stated but the implementation suggests it to be - the case. - Thus the set value needs to be at least 2. For dimensionality - < 2 an out-of-bounds access occurs. - - (EFE - 2022/09/28 GH-2240) - - - Fix CVE-2018-14031 / GHSA-2xc7-724c-r36j - - Parent of enum datatype message must have the same size as the - enum datatype message itself. - Functions accessing the enumeration values use the size of the - enumeration datatype to determine the size of each element and - how much data to copy. - Thus the size of the enumeration and its parent need to match. - Check in H5O_dtype_decode_helper() to avoid unpleasant surprises - later. - - (EFE - 2022/09/28 GH-2236) - - - Fix CVE-2018-17439 / GHSA-vcxv-vp43-rch7 - - H5IMget_image_info(): Make sure to not exceed local array size - - Malformed hdf5 files may provide more dimensions than the array dim[] in - H5IMget_image_info() is able to hold. Check number of elements first by calling - H5Sget_simple_extent_dims() with NULL for both 'dims' and 'maxdims' arguments. - This will cause the function to return only the number of dimensions. - The fix addresses a stack overflow on write. - - (EFE - 2022/09/27 HDFFV-10589, GH-2226) + - Java Library @@ -333,49 +119,12 @@ Bug Fixes since HDF5-1.13.3 release Configuration ------------- - - Remove Javadoc generation - - The use of doxygen now supersedes the requirement to build javadocs. We do not - have the resources to continue to support two documentation methods and have - chosen doxygen as our standard. - - (ADB - 2022/12/19) - - - Change the default for building the high-level tools - - The gif2hdf5 and hdf2gif high-level tools are deprecated and will be removed - in a future release. The default build setting for them have been changed from enabled - to disabled. A user can enable the build of these tools if needed. - autotools: --enable-hlgiftools - cmake: HDF5_BUILD_HL_GIF_TOOLS=ON - - (ADB - 2022/12/16) - - - Change the settings of the *pc files to use the correct format - - The pkg-config files generated by CMake uses incorrect syntax for the 'Requires' - settings. Changing the set to use 'lib-name = version' instead 'lib-name-version' - fixes the issue - - (ADB - 2022/12/06 HDFFV-11355) - - - Move MPI libraries link from PRIVATE to PUBLIC - - The install dependencies were not including the need for MPI libraries when - an application or library was built with the C library. Also updated the - CMake target link command to use the newer style MPI::MPI_C link variable. - - (ADB - 2022/10/27) + - Tools ----- - - Fix h5repack to only print output when verbose option is selected - - When timing option was added to h5repack, the check for verbose was - incorrectly implemented. - - (ADB - 2022/12/02, GH #2270) + - Performance @@ -387,6 +136,7 @@ Bug Fixes since HDF5-1.13.3 release ----------- - + High-Level Library ------------------ - -- cgit v0.12