summaryrefslogtreecommitdiffstats
path: root/release_docs
diff options
context:
space:
mode:
authorScot Breitenfeld <brtnfld@hdfgroup.org>2008-04-30 19:51:13 (GMT)
committerScot Breitenfeld <brtnfld@hdfgroup.org>2008-04-30 19:51:13 (GMT)
commitaec106e324ce20e5efb725c25a6a333c7970127b (patch)
tree234df369115a46b08037c5f385061cf58823e497 /release_docs
parent5773fd34bc5adf59b4530d95ac9f0c0585902803 (diff)
downloadhdf5-aec106e324ce20e5efb725c25a6a333c7970127b.zip
hdf5-aec106e324ce20e5efb725c25a6a333c7970127b.tar.gz
hdf5-aec106e324ce20e5efb725c25a6a333c7970127b.tar.bz2
[svn-r14903] Undoing change committed in r14902.
Diffstat (limited to 'release_docs')
-rw-r--r--release_docs/HISTORY-1_0-1_8_0_rc3.txt (renamed from release_docs/HISTORY.txt)2550
-rw-r--r--release_docs/HISTORY-1_9.txt6
-rw-r--r--release_docs/INSTALL1315
-rw-r--r--release_docs/INSTALL_Cygwin.txt55
-rw-r--r--release_docs/INSTALL_VMS.txt2
-rw-r--r--release_docs/INSTALL_Windows.txt22
-rw-r--r--release_docs/INSTALL_parallel35
-rw-r--r--release_docs/RELEASE.txt1168
8 files changed, 3410 insertions, 1743 deletions
diff --git a/release_docs/HISTORY.txt b/release_docs/HISTORY-1_0-1_8_0_rc3.txt
index 1327827..964d374 100644
--- a/release_docs/HISTORY.txt
+++ b/release_docs/HISTORY-1_0-1_8_0_rc3.txt
@@ -1,9 +1,14 @@
HDF5 HISTORY
============
-This file contains history of the HDF5 libraries releases
+This file contains history of the HDF5 libraries releases starting with
+HDF5-1.0.0 and ending with HDF5-1.8.0-rc3 (the state of the code before i
+the HDF5 1.8.0 release).
CONTENTS
+22. Changes from 1.6.0 to 1.8.0-rc3
+21. Release Information for hdf5-1.6.7
+20. Release Information for hdf5-1.6.6
19. Release Information for hdf5-1.6.5
18. Release Information for hdf5-1.6.4
17. Release Information for hdf5-1.6.3
@@ -27,6 +32,2549 @@ CONTENTS
[Search on the string '%%%%' for per-release section breaks.]
+%%%%1.8.0-rc3%%%% Changes from 1.6.0 to 1.8.0-rc3
+
+
+HDF5 version 1.8.0-rc3
+================================================================================
+
+
+INTRODUCTION
+
+This document describes the differences between HDF5-1.6.* and
+Hdf5 1.8.0 release candidate "HDF5-1.8.0-rc3", and contains information
+on the platforms tested and known problems in HDF5-1.8.0-rc3.
+For more details check the HISTORY.txt file in the HDF5 source.
+
+
+Links to HDF5 1.8.0-rc3 source code, documentation, and additional materials
+can be found on THG's development server (www.hdfgroup.uiuc.edu) at the
+following location:
+ http://www.hdfgroup.uiuc.edu/HDF5/release/beta/obtain518.html
+User documentation for the beta can be accessed directly at this location:
+ http://www.hdfgroup.uiuc.edu/HDF5/doc_1.8pre/doc/
+
+New features of the upcoming 1.8.0 release are described in
+the "What's New in 1.8.0?" document:
+ http://www.hdfgroup.uiuc.edu/HDF5/doc_1.8pre/WhatsNew180.html
+
+New and modified APIs are described briefly in
+ http://www.hdfgroup.uiuc.edu/HDF5/doc_1.8pre/WhatsNew180.html
+and will be listed in the "HDF5 Software Changes" document:
+ http://www.hdfgroup.uiuc.edu/HDF5/doc_1.8pre/doc/ADGuide/Changes.html
+
+
+
+For more information, see the HDF5 home page:
+
+ http://www.hdfgroup.org/HDF5/
+
+If you have any questions or comments, please send them to the HDF Help Desk:
+
+ help@hdfgroup.org
+
+
+CONTENTS
+
+- New Features
+- Support for new platforms and languages
+- Bug Fixes since HDF5-1.6.0
+- Platforms Tested
+- Known Problems
+
+
+New Features
+============
+
+ Configuration:
+ --------------
+ - Removed stream-vfd from the HDF5 library. - AKC 2007/11/19.
+ - Updated versions of autotools. HDF5 now uses automake 1.10.0,
+ autoconf 2.61, and libtool 1.5.22. MAM - 2007/7/25.
+ - Changed default fortran compiler to g95 when gcc is used. - AKC
+ 2007/2/17.
+ - 'make check-vfd' can now be run from the top level directory. Not all
+ tests that 'make check' invokes work with certain Virtual File Drivers,
+ so those tests have been skipped. - MAM 2006/7/17
+ - Added the variable HDF5TestExpress to control how long tests run.
+ Setting it to a value between 0 and 3 controls how thoroughly the
+ library is tested, with 0 being an "exhaustive run" and 3 being a
+ very quick "smoke test." 1 (a "full run") is the default.
+ -JML 2006/6/21
+ - If both shared and static libraries are installed, now both will be
+ tested during 'make install'. -MAM 2006/06/21
+ - Added support to explicity enable stream_vfd or shared libraries
+ when using parallel via the '--enable-stream_vfd' and
+ '--enable-shared' options, respectively. If not explicity defined,
+ These settings default to enabled when parallel is not used,
+ and disabled when parallel is used. -MAM 2006/06/17
+ - Remove the flexible parallel code and the --enable-fphdf5
+ configure option, it was never up to production standards
+ anyway. -QAK 2006/4/20
+ - Added a macro hdf5_mpi_special_collective_io_works to filter out
+ some mpi-io packages that don't support collective IO for no IO
+ contributions in some processes. -KY 2006/2/16
+ - Added -shlib option to link against installed shared libraries to
+ h5c++ and h5fc. -JML 2005/11/1
+ - Added --enable-build-all option to configure, which only developers
+ should need to use. -JML 2005/10/24
+ - Configure uses the 'TR' variable to let the user override the path
+ to the 'tr' utility. -JML 2005/10/17
+ - Configure can recognize -lmpich as a form of MPI library. -AKC-
+ 2005/9/28.
+ - MD5 checksumming has been added to snapshot releases. Release
+ tarballs will be accompanied by .md5 checksum files, which can
+ be verified using the md5sum utility. -JML 2005/9/6
+ - Some configure flags are incompatible (e.g., the C++ APIs cannot
+ be built using the parallel version of HDF5). configure will now
+ output errors when some common incompatible features are used
+ together. -JML 2005/9/6
+ - A new API function, H5Tis_hard(), was added to the library. It
+ checks if a conversion function is a compiler (hard) conversion.
+ SLU - 2005/9/6
+ - t_mpi will run the test_mpio_derived_dtype by default unless it is
+ known not working (indicated by macro H5_MPI_COMPLEX_DERIVED_DATATYPE_WORKS
+ not defined.) -AKC- 2005/8/23.
+ - Test execution has changed in a number of ways:
+ When make is invoked in parallel (using -j), sequential tests
+ are now executed as parallel make targets. This should make them
+ finish more quickly on machines with multiple processors.
+ Since test output is garbled when they are executed by parallel make,
+ tests now dump their output to foo.log files and foo.logsh files
+ (for test scripts). These logs are printed to the screen only
+ when a test fails or when all tests in the current directory have
+ completed successfully.
+ When tests pass, they will create a foo.chkexe file.
+ This prevents the test from executing again until the test or
+ main library changes.
+ All files generated by tests (*.chkexe, *.log, and any *.h5 files
+ created) can be removed by invoking 'make check-clean'.
+ Sequential and parallel library tests can now be invoked separately.
+ 'make check-s' will execute only sequential tests, and 'make check-p'
+ will execute only parallel tests. 'make check' will still execute
+ all tests.
+ -JML 2005/08/03
+ - On windows, all.zip is deprecated. users should
+ read INSTALL_Windows.txt to know the details.
+ Reasons to deprecate all.zip:
+ 1. Avoid confliction for windows programmers
+ 2. Decrease size of CVS tree by adding all.zip
+ 3. Avoid using winzip as the intermediate step
+ --KY 2005/04/22
+ - When HDF5 is created as a shared library, it now uses libtool's
+ shared library versioning scheme. -JML 2005/04/18
+ - HDF5 now uses automake 1.9.5 to generate Makefiles.in.
+ This has a number of effects on users:
+ The Fortran compiler should be set using the environment
+ variable $FC, not $F9X. F9X still works, but is depreciated.
+ The output of make may be different. This should be only a
+ cosmetic effect.
+ make depened (or make dep) is no longer recognized, since automake
+ handles dependency tracking.
+ Some new configure options exist. --enable-dependency-tracking
+ and --disable-dependency-tracking are used to control automake's
+ dependency tracking. Dependencies are on by default *on most
+ platforms and compilers*. If --enable-dependency-tracking is
+ used, they will be enabled on any platform. However, this can
+ slow down builds or even cause build errors in some cases.
+ Likewise, --disable-dependency-tracking can speed up builds and
+ avoid some build errors.
+ Some make targets have alternate names. make check-install and
+ make installcheck do the same thing, for instance.
+ pmake on IRIX can be invoked from the root directory, but the
+ -V flag must be used to invoke it in any subdirectory or it
+ will give an error about undefined variables.
+ JML 2005/01 - 2005/03
+ - Hardware conversion between long double and integers is also added.
+ SLU 2005/02/10
+ - Started to support software conversion between long double and
+ integers. Hardware conversion will come very soon. SLU - 2005/1/6
+ - Intel v8.0 compiler would infinite loop when compiling some test
+ code with -O3 option. Changed enable-production default compiler
+ option to -O2. AKC - 2004/12/06
+ - Long double is assumed to be a supported C data type. It is a
+ stanadard C89 type. AKC - 2004/10/22
+ - The IA64 will use ecc as the C++ compiler by default.
+ - Added some initial support for making valgrind/Purify (or similar
+ memory checking products) happier by initializing buffers to zero
+ and disabling the internal free list code. To take advantage of
+ this, use the "--enable-using-memchecker" configure option when
+ building the library. QAK - 2004/07/23
+ - Fixed the long compile time of H5detect.c when v7.x Intel Compiler
+ is used with optimization NOT off. AKC - 2004/05/20
+ - Fixed configure setting of C++ for OSF1 platform. AKC - 2004/01/06
+ - Prefix default is changed from /usr/local to `pwd`/hdf5.
+ AKC - 2003/07/09
+
+ Library:
+ --------
+ - Removed size restrictions on attributes, when using the "latest"
+ version of the file format. - QAK - 2007/02/21
+ - Relaxed restrictions on attribute operations to allow a file ID to
+ be used as the "location ID". If a file ID is used, the attribute
+ operation will occur on the root group of the file.
+ - QAK - 2007/02/09
+ - Enabled the CORE driver to read an existing file depending on
+ the setting of the backing_store for H5Pset_fapl_core and file
+ open flags. - SLU - 2006/11/30
+ - Added new H5Gget_info_by_idx() routine to query the information about
+ a group according to the order within an index.
+ - QAK - 2006/11/27
+ - Added new H5Gget_info() routine to query the information about a
+ group by name.
+ - QAK - 2006/11/27
+ - Added new H5Oget_info_by_idx() routine to query the information about
+ an object in a group according to the order within an index.
+ - QAK - 2006/11/26
+ - Added new H5Oget_info() routine to query the information about an
+ object in a group by name.
+ - QAK - 2006/11/26
+ - Added new H5Oopen_by_idx() routine to open an object in a group
+ according to the order within an index.
+ - QAK - 2006/11/20
+ - Added new H5Literate() routine to iterate over links in a group
+ according to the order within an index.
+ - QAK - 2006/11/20
+ - Added new H5Ldelete_by_idx() routine to delete a link according to
+ the order within an index.
+ - QAK - 2006/11/13
+ - Added new H5Lget_val_by_idx() routine to query the value of a soft link
+ according to the order within an index.
+ - QAK - 2006/11/13
+ - Added new H5Lget_name_by_idx() routine to query the name of a link
+ according to the order within an index.
+ - QAK - 2006/11/12
+ - Added new H5Rget_name() routine to determine the name of the object
+ that a reference points to, as long as the object is still
+ reachable in the group hierarchy.
+ - QAK - 2006/11/10
+ - Added new H5Lget_info_by_idx() routine to query the link information
+ according to the order within an index.
+ - QAK - 2006/11/10
+ - Added feature to H5Iget_name to allow retrieving the name of any
+ object's ID, as long as the object is still reachable in the
+ group hierarchy.
+ - LA - 2006/11/01
+ - Added External and User-defined links.
+ External links are links from one HDF5 file to another; they
+ require both the name of the file and a path within that file.
+ User-defined links allow users to supply callback functions
+ for link traversals, allowing links to exhibit essentially
+ any behavior.
+ External links are a kind of user-defined link, so their default
+ behavior can be overridden by the user.
+ -JML 2006/8/23
+ - Added H5Oopen and H5Oclose for opening objects of unknown type
+ (as link callback functions do).
+ -JML 2006/8/23
+ - Added H5Oopen_by_addr, H5Oincr_refcount, and H5Odecr_refcount for
+ opening objects by address. Be very careful with these!
+ -JML 2006/8/23
+ - Added H5Fget_intent to get the "intent" of a file (whether it
+ was opened with read-write access or read-only.
+ -JML 2006/8/23
+ - Added Link Access Property Lists. They currently contain two
+ properties, nlinks (H5Pget/set_nlinks) and elink_prefix
+ (H5Pget/set_elink_prefix). nlinks controls how many soft and
+ user-defined traversals are allowed before HDF5 assumes it has
+ found a cycle (previously this defaulted to 16).
+ The elink_prefix is a filesystem path that is prefixed to the
+ names of any external link files opened using this LAPL.
+ -JML 2006/8/23
+ - Add H5L link APIs. Old APIs (H5Glink, H5Gmove, etc.) are still
+ supported but deprecated.
+ New APIs are:
+ H5Llink - create a link to an object given its ID
+ H5Lmove - just like H5Gmove2
+ H5Lcopy - copy a link without copying the underlying object
+ H5Lcreate_hard - like H5Glink2 for hard links
+ H5Lcreate_soft - like H5Glink2 for soft links
+ H5Ldelete - just like H5Gunlink
+ H5Lget_val - just like H5Gget_linkval
+ H5Lget_info - gets link-specific info (like H5Gget_objinfo)
+
+ In addition, H5Gcreate_anon, H5Tcommit_anon, and H5Dcreate_anon
+ no longer create links to objects; objects must be manually linked
+ using H5Llink or they will be deleted when the ID is closed.
+
+ Link Creation Property Lists can be used to pass character
+ encoding (ASCII or UTF-8) for link names and to set the Intermediate
+ Group Creation Flag:
+ H5Pset_char_encoding, H5Pget_char_encoding
+ H5Pset_copy_object, H5Pget_copy_object
+ -JML 2006/7/5
+ - Added managements of collective IO supports for chunking storage
+ inside parallel HDF5
+ 1) Implemented One IO with collective mode for all chunks in the
+ application by building one MPI derived datatype accross all
+ chunks.
+ 2) Implemented the decision-making support to do collective IO inside
+ MPI-IO per chunk.
+ 3) Added the decision-making support to do one IO accross all chunks
+ or to do multiple IOs with each IO per chunk.
+ 4) Added the support to handle the case some processes won't do any IOs in
+ collectively.
+ 5) Some MPI-IO package(mpich 1.2.6 or lower, e.g.) cannot handle
+ collective IO correctly for the case when some processes have no
+ contributions to IOs, a special macro is added to change
+ collective IO mode to independent IO mode inside HDF5 library.
+
+ Currently we find that MPICH at Linux and vender MPI-IO package at NCSA
+ Altix cannot handle this case.
+
+ "hdf5_mpi_special_collective_io_works=${hdf5_mpi_special_collective_io_works='no'}"
+ has been added at the end of file <ia64-linux-gnui> and
+ <linux-gnulibc1>.
+
+ If MPI-IO packages at your Linux and Altix support this case,
+ please comment out the last line and report to us at
+ help@hdfgroup.org. We can tune in our configuration to
+ support this.
+
+ KY - 2006/02/16
+ - Added character encoding to attribute creation property lists.
+ JML - 2006/01/02
+ - Added H5Gcopy() routine to copy objects between while keeping
+ data in compressed form. QAK - 2005/11/06
+ - Added H5Sextent_equal() routine. QAK - 2005/11/06
+ - Added HSYS_ERROR which retrieves the system error message and pushes
+ it to the error stack. This gives more information of the failed
+ system call. AKC - 2005/08/04
+ - Added H5F_OBJ_LOCAL flag to H5Fget_obj_count() & H5Fget_obj_ids(), to
+ allow querying for objects in file that were opened with a particular
+ file ID, instead of all objects opened in file with any file ID.
+ QAK - 2005/06/01
+ - Added H5T_CSET_UTF8 character set to mark datatypes that use the
+ UTF-8 Unicode character encoding. Added tests to ensure that
+ library handles UTF-8 object names, attributes, etc. -JL 2005/05/13
+ - HDF5 supports collective MPI-IO for irregular selection with HDF5
+ dataset. Irregular selection is when users use H5Sselect_hyperslab
+ more than once for the same dataset.
+ Currently, not all MPI-IO packages support complicated MPI derived
+ datatype used in the implementation of irregular
+ selection INSIDE HDF5.
+ 1) DEC 5.x is not supporting complicated derived datatype.
+ 2) For AIX 5.1,
+ if your poe version number is 3.2.0.19 or lower,
+ please edit powerpc-ibm-aix5.x under hdf5/config,
+ Find the line with
+ << hdf5_mpi_complex_derived_datatype_works>>
+ and UNCOMMENT this line before the configure.
+ check poe version with the following command:
+ lpp -l all | grep ppe.poe
+ 3) For Linux cluster,
+ if mpich version is 1.2.5 or lower, collective irregular selection
+ IO is not supported, internally independent IO is used.
+ 4) For IRIX 6.5,
+ if C compiler version is 7.3 or lower, collective irregular selection
+ IO is not supported, internally independent IO is used.
+ 5) For platforms which internally used mpich, if the
+ mpich version is 1.2.5 or lower, please find the
+ corresponding config file and add
+ hdf5_mpi_complex_derived_datatype_works='no' at the
+ end of the configuration file. For example, at NCSA
+ SGI Altix, the internal mpich library is 1.2.5. So
+ hdf5_mpi_complex_derived_datatype_works='no' should be
+ added at the end of the config file ia64-linux-gnu.
+ KY - 2005/09/12
+ We also found not all MPI-IO packages support collective IO with one
+ or more processes to have no contributions to IO.
+ For mpich version 1.2.6 or lower and all IRIX machine,
+ if the library checks that there are no IO contributions for some
+ processes, collective IO request is replaced with
+ independent inside HDF5.
+ KY - 2006/05/04
+
+ - HDF5 N-bit filter
+ HDF5 support N-bit filter from this version,
+ The N-Bit filter is used effectively for compressing data of N-Bit
+ datatype as well as compound and array datatype with N-Bit fields.
+ KY - 2005/04/15
+ - HDF5 scaleoffset filter
+ HDF5 supports scaleoffset filter for users to do data
+ compression through HDF5 library.
+ Scale-Offset compression performs a scale and/or offset operation
+ on each data value and truncates the resulting value to a minimum
+ number of bits and then stores the data.
+ Scaleoffset filter supports floating-point and integer datatype.
+ Please check the HDF5 reference manual for this.
+ KY - 2005/06/06
+ - Retired SRB vfd (--with-srb). Functions H5Pset_fapl_srb and
+ H5Pget_fapl_srb were removed. EIP - 2005/04/07
+ - Retired GASS vfd (--with-gass). Functions H5Pset_fapl_gass and
+ H5Pget_fapl_gass are removed too. AKC - 2005/3/3
+ - Pablo was removed from the source code EIP - 2005/01/21
+ - Modified registration of SZIP to dynamically detect the presence
+ or absence of the encoder. Changed configure and Makefiles,
+ and tests to dynamically detect encoder. BEM - 2004/11/02
+ - Added function H5Pget_data_transform, together with the previously
+ added H5Pset_data_transform, to support the data transform
+ feature. AKC - 2004/10/26
+ - Compound datatype has been enhanced with a new feature of size
+ adjustment. The size can be increased and decreased(without
+ cutting the last member) as long as it doesn't go down to zero.
+ No API change is involved. SLU - 2004/10/1
+ - Put back 6 old error API functions to be backward compatible with
+ version 1.6. They are H5Epush, H5Eprint, H5Ewalk, H5Eclear,
+ H5Eset_auto, H5Eget_auto. Their new equivalent functions are
+ called H5Epush_stack, H5Eprint_stack, H5Ewalk_stack,
+ H5Eclear_stack, H5Eset_auto_stack, H5Eget_auto_stack. SLU -
+ 2004/9/2
+ - 4 new API functions, H5Tencode, H5Tdecode, H5Sencode, H5Sdecode were
+ added to the library. Given object ID, these functions encode and
+ decode HDF5 objects(data type and space) information into and from
+ binary buffer. SLU - 2004/07/21
+ - Modified the way how HDF5 calculates 'pixels_per_scanline' parameter for
+ SZIP compression. Now there is no restriction on the size and shape of the
+ chunk except that the total number of elements in the chunk cannot be
+ bigger than 'pixels_per_block' parameter provided by the user.
+ EIP - 2004/07/21
+ - Added support for SZIP without encoder. Added H5Zget_filter_info
+ and changed H5Pget_filter and H5Pget_filter_by_id to support this
+ change. JL/NF - 2004/06/30
+ - SZIP always uses K13 compression. This flag no longer needs to
+ be set when calling H5Pset_szip. If the flag for CHIP
+ compression is set, it will be ignored (since the two are mutually
+ exclusive). JL/NF - 2004/6/30
+ - A new API function H5Fget_name was added. It returns the name
+ of the file by object(file, group, data set, named data type,
+ attribute) ID. SLU - 2004/06/29
+ - Added support for user defined identifier types. NF/JL - 2004/06/29
+ - A new API function H5Fget_filesize was added. It returns the
+ actual file size of the opened file. SLU - 2004/06/24
+ - New Feature of Data transformation is added. AKC - 2004/05/03.
+ - New exception handler for datatype conversion is put in to
+ replace the old overflow callback function. This exception
+ handler is set through H5Pset_type_conv_cb function.
+ SLU - 2004/4/27
+ - Added option that if $HDF5_DISABLE_VERSION_CHECK is set to 2,
+ will suppress all library version mismatch warning messages.
+ AKC - 2004/4/14
+ - A new type of dataspace, null dataspace(dataspace without any
+ element) was added. SLU - 2004/3/24
+ - Data type conversion(software) from integer to float was added.
+ SLU - 2004/3/13
+ - Data type conversion(software) from float to integer was added.
+ Conversion from integer to float will be added later.
+ SLU -2004/2/4
+ - Added new H5Premove_filter routine to remove I/O pipeline filters
+ from dataset creation property lists. PVN - 2004/01/26
+ - Added new 'compare' callback parameter to H5Pregister & H5Pinsert
+ routines. QAK - 2004/01/07
+ - Data type conversion(hardware) between integers and floats was added.
+ SLU 2003/11/21
+ - New function H5Iget_file_id() was added. It returns file ID given
+ an object(dataset, group, or attribute) ID. SLU 2003/10/29
+ - Added new fields to the H5G_stat_t for more information about an
+ object's object header. QAK 2003/10/06
+ - Added new H5Fget_freespace() routine to query the free space in a
+ given file. QAK 2003/10/06
+ - Added backward compatability with v1.6 for new Error API. SLU -
+ 2003/09/24
+ - Changed 'objno' field in H5G_stat_t structure from 'unsigned long[2]'
+ to 'haddr_t'. QAK - 2003/08/08
+ - Changed 'fileno' field in H5G_stat_t structure from 'unsigned long[2]'
+ to 'unsigned long'. QAK - 2003/08/08
+ - Changed 'hobj_ref_t' type from structure with array field to 'haddr_t'.
+ QAK - 2003/08/08
+ - Object references (hobj_ref_t) can now be compared with the 'objno'
+ field in the H5G_stat_t struct for testing if two objects are the
+ same within a file. QAK - 2003/08/08
+ - Switched over to new error API. SLU - 2003/07/25
+
+ Parallel Library:
+ -----------------
+ - Added mpich2 as a testing "platform" informally. AKC - 2005/9/28.
+ - A dataset created in serial mode with H5D_ALLOC_TIME_INCR allocation
+ setting was not extendible, either explicitly by H5Dextend or
+ implicitly by writing to unallocated chunks. Library now allocates
+ more space when needed or directed if the file is opened by parallel
+ mode, independent of what the dataset allocation mode is.
+ CC/AKC - 2005/08/29.
+ - Allow compressed, chunked datasets to be read in parallel.
+ QAK - 2004/10/04
+ - Add options of using atomicity and file-sync to test_mpio_1wMr.
+ AKC - 2003/11/13
+ - Added parallel test, test_mpio_1wMr, which tests if the
+ underlaying parallel I/O system is conforming to the POSIX
+ write/read requirement. AKC - 2003/11/12
+
+ Fortran Library:
+ ----------------
+ - added support for shared Fortran libraries. -JML 2005/09/20
+ - added missing h5tget_member_class_f function
+ EIP 2005/04/06
+ - added new functions h5fget_name_f and h5fget_filesize_f
+ EIP 2004/07/08
+ - h5dwrite/read_f and h5awrite/read_f functions only accept dims parameter
+ of the type INTEGER(HSIZE_T).
+ - added support for native integers of 8 bytes (i.e. when special
+ compiler flag is specified to set native fortran integers to 8 bytes,
+ for example, -i8 flag for PGI and Absoft Fortran compilers,
+ -qintsize=8 flag for IBM xlf compiler).
+ EIP 2005/06/20
+ - added support for "big" REAL and DOUBLE PRECISION types
+ (usually the size is specified by compilers flags like
+ -r8, -r16, etc.)
+ Known problem: multi file test fails when REAL is 16 bytes.
+ EIP 2005/09/8
+
+ C++ Library:
+ ----------------
+ - added support for shared C++ libraries. -JML 2005/09/20
+ - Added missing member functions
+ H5::CompType::getMemberArrayType
+ H5::CompType::getMemberVarLenType
+ H5::AbstractDs::getArrayType
+ H5::AbstractDs::getVarLenType
+ H5::CommonFG::openArrayType
+ H5::CommonFG::openVarLenType
+ H5::PropList::copyProp -- this will replace the current
+ H5::PropList::copyProp in later releases due
+ to incorrect prototype.
+ H5::IdComponent::getHDFObjType
+ BMR - 2005/08/08
+
+
+ Tools:
+ ------
+ - h5repack and h5diff changed command line parameter syntax to be
+ similar to h5dump, adding also long switch names. PVN - 2008/1/16
+ - h5repack now supports adding multiple filters to all objects.
+ PVN - 2008/1/16
+ - h5dump lists groups and attributes in requested orders (by name and
+ creation order, both ascending and descending). PVN - 2007/10/5
+ - h5import imports string (text) data. PVN - 2007/10/5
+ - h52gif and gif2h5: Both these tools were revised to include the High
+ Level Image API support, and tests were added to /hl/tools/gif2h5.
+ PVN - 2007/04/13
+ - h5dump: added support for double long type H5T_NATIVE_LDOUBLE. PVN
+ 2007/03/13
+ - h5dump: added support for binary output, see usage. PVN 2007/03/13
+ - h5repack: added support for the new nbit and scaleoffset filters.
+ PVN - 2007/05/07
+ - h5repack: now uses the API function H5Ocopy (of the tool h5copy) to
+ recreate objects if there is not a user input for changes. PVN -
+ 2007/05/07
+ - h5repack: added support for reading and repacking by hyperslabs for
+ large files. PVN - 2007/03/01
+ - h5repack: a new option allows the copy using the file type (default)
+ instead of the previous conversion to native type. PVN - 2007/03/01
+ - h5repack: output the percentage of compression used. PVN - 2007/03/01
+ - h5diff: added support for -p option for unsigned long_long data. PVN
+ - 2007/02/26
+ - h5diff: added support for comparing dataset regions. PVN - 2007/02/20
+ - h5diff: added support for reading and comparing by hyperslabs for large files.
+ PVN - 2007/02/20
+ - h5diff: printing of dataset dimensions along with dataset name. PVN -2007/02/19
+ - h5dump now uses the new API function H5Rget_name to display the name
+ of the dataset referenced instead of its ID. PVN - 2007/02/19
+ - Added new tool, h5mkgrp. QAK - 2007/02/14
+ - Added new tool, h5copy. PVN - 2006/7/15
+ - Removed obsolete pdb2hdf5 tool from tools/misc -JML 2005/10/24
+ - Added build_h5perf_alone.sh that builds h5perf by standalone mode.
+ AKC - 2005/09/18.
+ - Sped up h5dump on files with large numbers of objects.
+ QAK - 2005/08/25
+ - Added a standalone mode for building h5perf. AKC - 2005/08/12
+ - new tool, h5jam. See reference manual. 2004/10/08
+ - h5repack.sh did not report errors encountered during tests. It does
+ now. AKC - 2004/04/02
+ - Added the MPI-I/O and MPI-POSIX drivers to the list of VFL drivers
+ available for h5dump and h5ls. RPM & QAK - 2004/02/01
+ - Added option --vfd= to h5ls to allow a VFL driver to be selected
+ by a user. RPM & QAK - 2004/02/01
+ - Added option -showconfig to compiler tools (h5cc,h5fc,h5c++).
+ AKC - 2004/01/08
+ - Install the "h5cc" and "h5fc" tools as "h5pcc" and "h5pfc"
+ respectively if library is built in parallel mode.
+ WCW - 2003/11/04
+ - Added metadata benchmark (perform/perf_meta). SLU - 2003/10/03
+ - Changed output of "OID"s from h5dump from "<number>-<number>" to
+ "<number". This affects both the "regular" and XML output.
+ QAK - 2003/08/08
+ - Changed output of file IDs and "OID"s from h5ls from
+ "<number>:<number>:<number>:<number>" to "<number>:<number>"
+ QAK - 2003/08/08
+
+ High-Level APIs:
+ ------
+ - Fortran interfaces for the Image, Table and Lite APIs. PVN - 2007/5/1
+ - New HDF5 Dimension Scale API (H5DS) allows dimension scales to be
+ created in an HDF5 file and associated with specific datasets. PVN - 2007/5/1
+ - There are two new functions in the Lite library, H5LTtext_to_dtype
+ and H5LTdtype_to_text. H5LTtext_to_dtype creates a HDF5 data type
+ given a text description; H5LTdtype_to_text converts a data type
+ to text description. Only DDL definition is supported as text
+ desciption now. SLU - 2006/05/17
+ - Added Packet Table API for creating tables with less overhead than
+ H5TB API. Added C++ wrapper for Packet Tables. See documentation.
+ JML - 2004/03/28
+
+ Documentation
+ -------------
+ - The documentation for this release is largely complete, but
+ trails the source code. A few of the newer functions are
+ not yet documented. FMB - 2007/04/18
+ - The user documents for this release can be accessed directly at
+ this location:
+ http://www.hdfgroup.uiuc.edu/HDF5/doc_1.8pre/doc/
+ The most recent document versions (updated daily) in the
+ 1.8 development branch can be accessed at this location:
+ http://www.hdfgroup.uiuc.edu/HDF5/doc_dev_snapshot/H5_dev/
+ FMB - 2007/04/18
+
+
+Support for new platforms, languages and compilers.
+=======================================
+ - Added support for Free-BSD on amd64 with GNU C and Fortran compilers
+ 4.2.1
+ EIP - 2007/06/25
+ - Added support for sequential and parallel libraries for Intel 64 Linux
+ cluster (abe.ncsa.uiuc.edu). Among three MPICH packages available on
+ this machine, only Open MPI works. The VMI has seg fault in hyperslab.c
+ and bittests.c tests. The MVAPICH2 complained about mpd not running
+ the parallel test. (see Known Problems section for more info)
+ EIP - 2007/06/25
+ - Added support for HPUX11.23 for both 32 and 64-bit; HDF5 C++
+ - Added support for 64-bit Windows with Visual Studio .NET and 2005.
+ SJW - 2007/06/25
+ - Added suport for HPUX11.23 for both 32 and 64-bit; HDF5 C++
+ shared library is not supported with +DD64 flag.
+ EIP - 2006/06/22
+ - Added support for VAX floating numbers for Alpha Open VMS 7.3.2
+ EIP - 2006/05/05
+ - Fixed broken make.com files in tools directories
+ EIP - 2006/05/05
+ - Added support for Alpha Open VMS 7.3.2 EIP - 2006/04/15
+ - Added support for Cray X1. JML - 2005/10/03
+ - PGI Fortran compiler is supported on Linux64 systems (x86_64)
+ EIP - 2004/08/19
+ - Absoft compiler f95 v9.0 supported on Linux 2.4
+ EIP - 2004/07/29
+ - HDF5 Fortran APIs are supported on Mac OSX with IBM XL Fortran
+ compiler version 8.1. This is a default compiler.
+ - HDF5 Fortran APIs are supported on MAC OSX with Absoft F95 compiler
+ version 8.2; set F9X environment varibale to f95, for example
+ setenv F9X f95
+ Use --disable-shared --enable-static configure flags when Absoft
+ compiler is used.
+ EIP - 2004/07/27
+ - HDF5 Fortran APIs are supported on MAC OSX with IBM XL Fortran
+ Compiler version 8.1 Use "--disable-shared --enable-static"
+ configure flags along with the "--enable-fortran" flag to build
+ Fortran library. EIP - 2004/01/07
+
+Bug Fixes since HDF5-1.6.0 release
+==================================
+
+ Library
+ -------
+ - Changed library's behavior for reading files that might have
+ corrupted object header information from a previous (buggy)
+ version of the library. By default, the library now rebuilds the
+ correct object header information instead of issuing an error.
+ Previous "strict" file format interpretation can be enabled with
+ the "--enable-strict-format-checks" configure option.
+ QAK - 2008/01/13
+ - Fixed several bugs with writing fill values for datasets that have
+ a variable-length datatype or component datatype. QAK - 2007/06/19
+ - STDIO driver didn't support files bigger than 2GB because the OFFSET
+ parameter of fseek is of type LONG INT, not big enough for big files.
+ Use fseeko instead for big files if it's available on the system.
+ SLU - 2007/4/5
+ - Fixed a bug in H5Sselect_valid() that caused an incorrect value to
+ be returned (0) instead of FAIL on error conditions such as the
+ selection or extent not being defined. CMC - 2007/01/17
+ - Fixed the MULTI driver problem (Bug #731) that corruptted the data.
+ SLU - 2007/1/12
+ - Fixed file corruption bug which could write an incorrect number of
+ messages to an object's header under certain circumstances.
+ Generally, the sequence of actions to generate this bug looks
+ like this:
+ - Create an object
+ - Close the file
+ - Re-open the file
+ - Add 2 (or more) attributes to the object
+ - Close the file
+ - Re-open the file
+ - Delete one of the attributes on the object
+ - Add a smaller attribute to the object
+ - Delete the smaller atttribute on the object
+ - Add a larger attribute on the object
+
+ After this, the number of header messages stored for the object
+ will be off by one. Other sequences of modifying attributes on an
+ object could also trigger this bug. If you are opening an
+ object and the bottom few messages of the HDF5 error stack
+ resembles this, the object has been affected by this bug:
+
+ #007: ../../hdf5_v1.6/src/H5C.c line 3887 in H5C_load_entry(): unable to load entry
+ major(08): Meta data cache layer
+ minor(40): Unable to load metadata into cache
+ #008: ../../hdf5_v1.6/src/H5Ocache.c line 332 in H5O_load(): corrupt object header - too few messages
+ major(12): Object header layer
+ minor(40): Unable to load metadata into cache
+
+ Specifically, "corrupt object header" is the best string to search
+ for in the HDF5 error stack output.
+
+ If your files have been affected by this bug, or you are concerned
+ that your files might have been, please contact the HDF Helpdesk
+ at help@hdfgroup.org for a tool to detect and repair files
+ affected by this problem. QAK - 2006/6/16
+ - Fixed various problems with retrieving names of objects, especially
+ with mounted files. QAK - 2005/12/25
+ - Fixed core dump when closing root groups opened through two different
+ file handles that operate on the same actual file. QAK - 2005/10/02
+ - Corrected errors when performing various operations on a group opened
+ by dereferencing an object reference. QAK - 2005/07/30
+ - Fixed a bug with named datatypes where a copy of a named datatype
+ used to create a dataset would accidentally use the original
+ named datatype for the dataset's datatype. QAK - 2005/07/23
+ - Made H5Fget_name() be consistent and always return name of actual
+ file the ID is in. (Instead of the name of the top file in a
+ file mounting hierarchy). QAK - 2005/07/19
+ - Reworked internal file mounting semantics to hopefully eliminate
+ mounting problems. We now require that files that are mounting
+ together all have the same "file close degree". QAK - 2005/07/19
+ - More bug fixes on holding open files that are mounted and have
+ IDs open. QAK - 2005/07/14
+ - Don't unmount child files until the parent file actually closes.
+ (Previously, if an object is holding open a file, the child files
+ would get unmounted too early). QAK - 2005/07/05
+ - Fixed bug where unmounted files could cause the library to go into
+ an infinite loop when shutting down. QAK - 2005/06/30
+ - The library didn't save the information of family driver in file.
+ The original file member size was lost after file was closed (see
+ bug #213). This has been fixed by saving driver name and member
+ file size in the superblock. SLU - 2005/6/24
+ - Fixed bug with hyperslab selections that use selection offsets and
+ operate on chunked datasets going into infinite loop or dumping
+ core. QAK - 2005/06/17
+ - Corrected memory leak and possible corruption when opening a group.
+ QAK - 2005/06/17
+ - Added check for opaque datatype tags being too long (check against
+ H5T_OPAQUE_TAG_MAX, currently set to 256). QAK - 2005/06/14
+ - Fixed various errors in maintaining names for open objects in the
+ face of unusual mount & unmount operations. QAK - 2005/06/08
+ - "SEMI" and "STRONG" file close degree settings now apply only to the
+ particular file ID being closed, instead of operating on all open
+ file IDs for a given file. QAK - 2005/06/01
+ - For family driver, the library didn't save member size in file.
+ When file is reopened, the size of 1st member file determine the
+ member size. Now member size is saved in file and is used to
+ define member file size. Wrong file access property of member size
+ will result in a failure. Using any other driver except family
+ will cause library to return error. So is multi driver. SLU -
+ 2005/05/24
+ - Fixed error in opening object in group that was opened in mounted
+ file which has been unmounted. QAK - 2005/03/17
+ - Fixed a racing condition in MPIPOSIX virtual file drive close
+ function. Now all processes must completed the close before any
+ of them is returned. This prevents some "faster" processes start
+ accessing the file for another purpose (e.g., open with truncate)
+ while other "slower" processes have not closed the same file with
+ the previous purpose. AKC - 2005/03/01
+ - H5Tget_member_value calls for enum datatype didn't return correct
+ value if H5Tenum_valueof was called first. It's fixed. SLU -
+ 2005/02/08
+ - For variable-length string, H5Tget_class returned H5T_STRING as its
+ class. But H5Tdetect_class and H5Tget_member_class considered it
+ as H5T_VLEN. This is fixed to let all these 3 functions treat it
+ as H5T_STRING. SLU - 2005/02/08
+ - The byte order of 1-byte integer types was fixed as little endian
+ even on a big-endian machine. This has been corrected. SLU -
+ 2005/02/07
+ - Fix segmentation fault when calling H5Fflush with an attribute that
+ hasn't had a value written to it open. QAK - 2004/10/18
+ - Back up supporting bitfield and time types in H5Tget_native_type.
+ Leave it to future support. The function simply returns error
+ message of "not support" for bitfield and time types.
+ SLU - 2004/10/5
+ - Fixed address check in Core VFL driver to avoid spurious address/size
+ overflows for odd valued addresses and/or sizes. QAK - 2004/09/27
+ - Fixed parallel bug in which some processes attempted collective
+ I/O while others did independent I/O. Bug appeared when some
+ processes used point selections, and others didn't. JRM - 2004/9/15
+ - Corrected error where dataset region references were written in an
+ incorrect way on Cray machines. PVN & QAK - 2004/09/13
+ - The H5Tget_native_type now determines the native type for integers
+ based on the precision. This is to avoid cases of wrongly converting
+ an int to a short in machines that have a short of 8 bytes but with
+ 32bit precision (e.g Cray SV1). PVN - 2004/09/07
+ - Changed H5Dread() to not overwrite data in an application's buffer
+ with garbage when accessing a chunked dataset with an undefined
+ fill value and an unwritten chunk is uncountered. QAK - 2004/08/25
+ - Fixed error which could cause a core dump when a type conversion
+ routine was registered after a compound datatype had been
+ converted and then an equivalment compound datatype was converted
+ again. QAK - 2004/08/07
+ - Fixed memory overwrite when encoding "multi" file driver information
+ for file's superblock. QAK - 2004/08/05
+ - Fixed obscure bug where a filter which failed during chunk allocation
+ could allow library to write uncompressed data to disk but think
+ the data was compressed. QAK - 2004/07/29
+ - Fixed bug where I/O to an extendible chunked dataset with zero-sized
+ dimensions would cause library to fail an assertion.
+ QAK - 2004/07/27
+ - Fixed bug where chunked datasets which have filters defined,
+ allocation time set to "late" and whose chunks don't align with
+ the dataspace bounds could have incorrect data stored when
+ overwriting the entire dataset on the first write. QAK - 2004/07/27
+ - Added check to ensure that dataspaces have extents set. JML-2004/07/26
+ - Fixed bug on some Solaris systems where HDF5 would try to use
+ gettimeofday() when that function didn't work properly.
+ JML - 2004/07/23
+ - Fixed bug in H5Sset_extent_simple where setting maximum size to
+ non-zero, then to zero would cause an error. JML - 2004/07/20
+ - Allow NULL pointer for buffer parameter to H5Dread & H5Dwrite
+ when not writing data ("none" selection or hyperslab or point
+ selection with no elements defined). QAK - 2004/07/20
+ - Calling H5Gcreate() on "/" or "." throws an error instead of
+ failing quietly. JML - 2004/07/19
+ - Fixed bug where setting file address size to be very small could
+ trigger an assert if the file grew to more than 64 KB. Now throws
+ an error and data can be recovered. JL/NF - 2004/07/14
+ - Fixed bug where "resurrecting" a dataset was failing.
+ QAK - 2004/07/14
+ - Fixed bug where incorrect data could be read from a chunked dataset
+ after it was extended. QAK - 2004/07/12
+ - Fixed failure to read data back from file of compound type with
+ variable-length string as field. SLU - 2004/06/10
+ - Fixed potential file corruption bug when a block of metadata could
+ overlap the end of the internal metadata accumulator buffer and
+ the buffer would be extended correctly, but would incorrectly
+ change it's starting address. QAK - 2004/06/09
+ - Opaque datatype with no tag failed for some operations. Fixed.
+ SLU - 2004/6/3
+ - Fixed potential file corruption bug where dimensions that were
+ too large (a value greater than could be represented in 32-bits)
+ could cause the incorrect amount of space to be allocated in a
+ file for the raw data for the dataset. QAK - 2004/06/01
+ - Fixed dtypes "sw long double -> double" failure in QSC class
+ machines. AKC - 2004/4/16
+ - Fixed problem with fletcher32 filter when converting data of different
+ endianess. PVN - 2004/03/10
+ - Fixed problem with H5Tget_native_type() not handling opaque fields
+ correctly. QAK - 2004/01/31
+ - Fixed several errors in B-tree deletion code which could cause a
+ B-tree (used with groups and chunked datasets) to become corrupt
+ with the right sequence of deleted objects. QAK - 2004/01/19
+ - Fixed small internal memory leaks of fill-value information.
+ QAK - 2004/01/13
+ - Fixed bug that caused variable-length datatypes (strings or sequences)
+ used for datasets in files with objects that were unlinked to
+ fail to be read/written to a file. QAK - 2004/01/13
+ - Detect situation where szip 'pixels per block' is larger than the
+ fastest changing dimension of a dataset's chunk size and disallow
+ this (due to limits in szip library). QAK - 2003/12/31
+ - Fixed bug with flattened hyperslab selections that would generate
+ incorrect hyperslab information with certain high-dimensionality
+ combinations of start/stride/count/block information.
+ QAK - 2003/12/31
+ - Fixed bug with variable-length datatypes used in compound datatypes.
+ SLU - 2003/12/29
+ - Fixed bug in parallel I/O routines that would cause reads from
+ "short datasets" (datasets which were only partially written out)
+ to return invalid data. QAK & AKC - 2003/12/19
+ - Fixed bug where scalar dataspaces for attributes were reporting as
+ simple dataspaces. QAK - 2003/12/13
+ - Fixed problem with selection offsets of hyperslab selections in
+ chunked datasets causing the library to go into an infinite loop.
+ QAK - 2003/12/13
+ - Fixed H5Giterate to avoid re-using index parameter after iteration
+ callback has been called (allows iteration callback to modify the
+ index parameter itself). QAK - 2003/12/06
+ - Fixed various floating-point conversion problems, including a
+ change which could corrupt data when converting from double->float.
+ QAK - 2003/11/24
+ - Changed "single process" metadata writing in library to collective
+ I/O by all processes, in order to guarantee correct data being
+ written with MPI-I/O. QAK - 2003/11/20
+ - Fixed problems with fill values and variable-length types and also
+ I/O on VL values that were set to NULL. QAK - 2003/11/08
+ - Fixed problems with MPI datatypes that caused ASCI Q machine to
+ hang. QAK - 2003/10/28
+ - Removed HDF5_MPI_PREFER_DERIVED_TYPES environment variable support,
+ since it had no benefit. QAK - 2003/10/28
+ - Single hyperslab selections (which were set with only one call to
+ H5Sselect_hyperslab) that had dimensions that could be "flattened"
+ but were interspersed with dimensions that could not be flattened
+ were not correctly handled, causing core dumps. QAK - 2003/10/25
+ - Fixed incorrect datatype of the third parameter to the Fortran90
+ h5pset(get)_cache_f subroutine (INTEGER to INTEGER(SIZE_T))
+ EIP - 2003/10/13
+ - Fixed problems with accessing variable-length data datatypes on
+ Crays. QAK - 2003/10/10
+ - Fixed potential file corruption bug when too many object header
+ messages (probably attributes, from a user perspective) were
+ inserted into an object header and certain other conditions were
+ met. QAK - 2003/10/08
+ - Changed implementation of internal ID searching algorithm to avoid
+ O(n) behavior for many common cases. QAK - 2003/10/06
+ - Allow partial parallel writing to compact datasets. QAK - 2003/10/06
+ - Correctly create reference to shared datatype in attribute, instead
+ of making a copy of the shared datatype in the attribute.
+ QAK - 2003/10/01
+ - Revert changes which caused files >2GB to fail when created with
+ MPI-I/O file driver on certain platforms. QAK - 2003/09/16
+ - Allow compound datatypes to grow in size. SLU - 2003/09/10
+ - Detect if a type is already packed before attempting to pack it
+ again or check if it is locked. SLU - 2003/09/10
+ - Corrected bug when opening a file twice with read-only permission
+ for one open and then closing the read-only access file ID would
+ generate an error. QAK - 2003/09/10
+ - Corrected bug in repeated calls to H5Pget_access_plist() which would
+ incorrectly manage reference counts of internal information and
+ eventually blow up. QAK - 2003/09/02
+ - Return rank of the array datatype on successful call to
+ H5Tget_array_dims(). QAK - 2003/08/30
+ - Corrected bug in H5Tdetect_class which was not correctly detecting
+ datatype classes of fields in nested compound datatypes in some
+ circumstances. QAK - 2003/08/30
+ - Corrected bug in sieve buffer code which could cause loss of data
+ when a small dataset was created and deleted in quick succession.
+ QAK - 2003/08/27
+ - Corrected bug in H5Gget_objname_by_idx which was not allowing NULL
+ for the name when just querying for the object name's length.
+ QAK - 2003/08/25
+ - Corrected bug in variable-length string handling which could
+ generate a core dump on writing variable-length strings as part
+ of a compound datatype on certain architectures. QAK - 2003/08/25
+ - Corrected bug in H5Tget_native_type which would incorrectly compute
+ the size of certain compound datatypes and also incorrectly
+ compute the offset of the last field for those compound datatypes.
+ QAK - 2003/08/25
+ - Corrected bug in H5Tget_native_type which would drop string datatype
+ metadata (padding, etc.) QAK - 2003/08/25
+ - Corrected bugs in H5Gget_num_objs, H5Gget_objname_by_idx and
+ H5Gget_objtype_by_idx to allow them to accept location IDs, not just
+ group IDs. QAK - 2003/08/21
+ - Corrected bug when using scalar dataspace for memory selection and
+ operating on chunked dataset. QAK - 2003/08/18
+ - Corrected bugs with multiple '/' characters in names for H5Glink
+ and H5Gunlink. QAK - 2003/08/16
+ - Corrected bug with user blocks that didn't allow a user block to
+ be inserted in front of a file after the file was created.
+ QAK - 2003/08/13
+ - Corrected errors with using point selections to access data in
+ chunked datasets. QAK - 2003/07/23
+ - Corrected error with variable-length datatypes and chunked datasets
+ caused H5Dwrite to fail sometimes. QAK - 2003/07/19
+ - Modified library and file format to support storing indexed storage
+ (chunked dataset) B-tree's with non-default internal 'K' values.
+ QAK - 2003/07/15
+ - Returned H5T_BKG_TEMP support to library after it was accidentally
+ removed. QAK - 2003/07/14
+
+ Configuration
+ -------------
+ - Configure can now use any tr command. No more need for
+ defining variable TR nor is it supported. -AKC 2006/05/19
+ - Parallel I/O with the MPI-I/O driver will no longer work if the
+ filesystem is not POSIX compliant. The "HDF5_MPI_1_METAWRITE"
+ environment variable has been removed. QAK - 2004/01/30
+ - Fixed the error that cause "make install" to fail because of the
+ macro definition syntax of "prefix?=..." AKC - 2003/07/22
+
+ Performance
+ -------------
+ - Optimized I/O for enumerated datatypes that are a superset of source
+ enumerated datatype. QAK - 2005/03/19
+ - More optimizations to inner loops of datatype conversions for
+ integers and floats which give a 10-50% speedup. QAK - 2003/11/07
+ - Hoisted invariant 'if/else's out of inner datatype conversion loop for
+ integer and floating-point values, giving about a 20% speedup.
+ QAK - 2003/10/20
+
+ Tools
+ -----
+ - Fixed h5dump regarding the display of blocks in hyperslab
+ selections. PVN 2008/01/16
+ - Fixed h5diff regarding the display of NaN (Not a Number)
+ values. PVN 2008/01/16
+ - Fixed h5dump regarding the parsing of binary output parameters.
+ PVN 2008/01/16
+ - Fixed memory problems in h52gif and gif2h5. PVN 2008/01/16
+ - Fixed h5repack dealing with NULL references. PVN 2008/01/16
+ - Fixed h5dump & h5ls to display attributes in "name" order, rather
+ than the order they are encountered in the object header.
+ QAK - 2007/10/04
+ - Fixed h5dump regarding the display of named datatypes
+ attributes. PVN 2007/03/13
+ - Fixed h5dump regarding the display of group comments. PVN
+ 2007/03/13
+ - Fixed h5dump regarding the display of hardlinks pointing
+ to the root group. PVN 2007/03/13
+ - Fixed h5diff percentage option -p. PVN 2007/03/05
+ - Fixed h5dump that caused array indices greater than 2 ^32-1
+ not to be printed correctly - PVN 2007/2/19
+ - Fixed h5dump to print attributes data in ASCII if -r option is used.
+ AKC - 2004/11/18
+ - Fixed space utilization reported in h5ls to correct error in formula
+ used. QAK - 2004/10/22
+ - Fixed h5redeploy which sometimes complain too many argument for the
+ test command. (The complain did not hinder the h5redploy to
+ proceed correctly.) AKC - 2003/11/03
+ - Fixed a segmentation fault of h5diff when percentage option is used.
+ AKC - 2003/08/27
+ - Switched away from tools using internal "fixtype" function(s) to use
+ H5Tget_native_type() internally. QAK - 2003/08/25
+
+
+ Documentation
+ -------------
+
+
+ F90 APIs
+ --------
+ - h5pget_driver_f was returning information that could not be
+ interpreted by fortran application program; fixed. EIP - 2005/04/10
+
+
+Platforms Tested
+================
+Platforms marked with * were not tested for hdf5-1.8.0-rc* release
+(This information is somewhat out of date and may be inaccurate. It will be
+ updated for a later release)
+
+* AIX 5.2 (32/64 bit) xlc 8.0.0.11
+ xlC 8.0
+ xlf 10.01.0000.0
+ mpcc_r 6.0.0.8
+ mpxlf_r 8.1.1.7
+* AIX 5.3 (32/64 bit) xlc 7.0.0.8
+ xlC 7.0.0.8
+ xlf 09.01.0000.0007
+* Cray X1 water 3.0.35 Cray Standard C Version 5.4.0.7.4
+ Cray Fortran 5.4.0.7.3
+ Cray C++ 5.4.0.7.4
+ FreeBSD 6.2-STABLE i386 gcc 3.4.6 [FreeBSD] 20060305
+ (duty) g++ 3.4.6 [FreeBSD] 20060305
+ gcc 4.2.1 20080123
+ g++ 4.2.1 20080123
+ gfortran 4.2.1 20070620
+ FreeBSD 6.2-STABLE amd64 gcc 3.4.6 [FreeBSD] 20060305
+ (liberty) g++ 3.4.6 [FreeBSD] 20060305
+ gcc 4.2.1 20080123
+ g++ 4.2.1 20080123
+ gfortran 4.2.1 20080123
+
+* HP-UX B.11.23 HP aC++/ANSI C B3910B A.06.00
+ HP F90 v2.9.2
+ HP aC++/ANSI C B3910B A.06.00
+ IRIX64 6.5 (64 & n32) MIPSpro cc 7.4.4m
+ F90 MIPSpro 7.4.4m
+ C++ MIPSpro cc 7.4.4m
+
+* Linux 2.6.9 (RHEL4) Intel 10.0 compilers
+ (abe.ncsa.uiuc.edu)
+ Linux 2.4.21-47 gcc 3.2.3 20030502
+ (osage)
+ Linux 2.6.9-42.0.10 gcc 3.4.6 20060404
+ (kagiso) PGI 7.0-7 (pgcc, pgf90, pgCC)
+ Intel 9.1 (icc, ifort, icpc)
+ Linux 2.6.16.27 x86_64 AMD gcc 4.1.0 (SuSE Linux), g++ 4.1.0, g95 (GCC 4.0.3)
+ (smirom) PGI 6.2-5 (pgcc, pgf90, pgCC)
+ Intel 9.1 (icc, iort, icpc)
+ Linux 2.6.5-7.252.1-rtgfx #1
+ SMP ia64 Intel(R) C++ Version 9.0
+ (cobalt) Intel(R) Fortran Itanium(R) Version 9.0
+ SGI MPI
+ SunOS 5.8 32,46 Sun WorkShop 6 update 2 C 5.3
+ (Solaris 2.8) Sun WorkShop 6 update 2 Fortran 95 6.2
+ Sun WorkShop 6 update 2 C++ 5.3
+* SunOS 5.10 i86pc Sun C 5.7
+ Sun Fortran 95 8.1
+ Sun C++ 5.7
+ SunOS 5.10 cc: Sun C 5.8
+ (linew) f90: Sun Fortran 95 8.2
+ CC: Sun C++ 5.8
+ Xeon Linux 2.4.21-32.0.1.ELsmp-perfctr-lustre
+ (tungsten) gcc 3.2.2 20030222
+ Intel(R) C++ Version 9.0
+ Intel(R) Fortran Compiler Version 9.0
+ IA-64 Linux 2.4.21.SuSE_292.til1 ia64
+ (NCSA tg-login) gcc 3.2.2
+ Intel(R) C++ Version 8.1
+ Intel(R) Fortran Compiler Version 8.1
+ mpich-gm-1.2.5..10-intel-r2
+ Windows XP
+ Visual Studio .NET
+ Visual Studio 2005 w/ Intel Fortran 9.1
+ Cygwin(native gcc compiler and g95)
+ MinGW(native gcc compiler and g95)
+ Windows XP x64
+ Visual Studio 2005 w/ Intel Fortran 9.1
+ Windows Vista
+ Visual Studio 2005
+
+ MAC OS 10.4 (Intel) gcc i686-apple-darwin8-gcc-4.0.1 (GCC) 4.0.1
+ G95 (GCC 4.0.3 (g95 0.91!) Nov 21 2006)
+* Alpha Open VMS 7.3
+
+
+Supported Configuration Features Summary
+(This table was not modified for 1.8.0-rc* release; for information contact help@hdfgroup.org)
+========================================
+
+ In the tables below
+ y = tested and supported
+ n = not supported or not tested in this release
+ x = not working in this release
+ dna = does not apply
+ ( ) = footnote appears below second table
+ <blank> = testing incomplete on this feature or platform
+
+Platform C F90 F90 C++ zlib SZIP
+ parallel parallel
+SunOS5.8 64-bit n y n y y y
+SunOS5.8 32-bit n y n y y y
+SunOS5.10 64-bit y(1) y n y y y
+SunOS5.10 32-bit y(1) y n y y y
+IRIX64_6.5 64-bit n y y y y y
+IRIX64_6.5 32-bit n n n n y y
+Cray XT3 (16) n n n n n n
+AIX-5.2 & 5.3 32-bit y y y y y y
+AIX-5.2 & 5.3 64-bit y y y y y y
+Windows XP n y(15) n(15) y y y
+Windows XP x64 n y(15) n(15) y y y
+Windows Vista n n n y y y
+Mac OS X 10.4 PowerPC n n
+FreeBSD 4.11 n n n y y y
+RedHat EL3 W (3) y(1a) y(10) y(1a) y y y
+RedHat EL3 W Intel (3) n y n y y n
+RedHat EL3 W PGI (3) n y n y y n
+SuSe x86_64 gcc (3,12) y(1a) y(11) n y y y
+SuSe x86_64 Int (3,12) n y(13) n y y n
+SuSe x86_64 PGI (3,12) n y(8) n y y y
+Linux 2.4 Xeon C
+ Lustre Intel (3,6) n y n y y n
+Linux 2.6 SuSE ia64 C
+ Intel (3,7) y y y y y n
+Linux 2.6 SGI Altix
+ ia64 Intel (3) y y y y y y
+Alpha OpenVMS 7.3.2 n y n y n n
+
+
+
+Platform Shared Shared Shared static- Thread-
+ C libs F90 libs C++ libs exec safe
+Solaris2.8 64-bit y y y x y
+Solaris2.8 32-bit y y y x y
+Solaris2.10 64-bit y x y
+Solaris2.10 32-bit y x y
+IRIX64_6.5 64-bit y y n y y
+IRIX64_6.5 32-bit y dna y y y
+HPUX11.00 y n y x n
+HPUX11.23-32bit y n n y n
+HPUX11.23-64bit y dna n y n
+Cray XT3 (16) n n n n n
+AIX-5.2 & 5.3 32-bit n n n y n
+AIX-5.2 & 5.3 64-bit n n n y n
+Windows XP y y(15) y y y
+Windows XP x64 y y(15) y y y
+Windows Vista y n n y y
+Mac OS X 10.3 y y n
+Mac OS X 10.4 PowerPC
+FreeBSD 4.11 y n y y y
+RedHat EL3 W (3) y y(10) y y y
+RedHat EL3 W Intel (3) y y y y n
+RedHat EL3 W PGI (3) y y y y n
+SuSe x86_64 W GNU (3,12) y y y y y
+SuSe x86_64 W Int (3,12) y y y y(14) n
+SuSe x86_64 W PGI (3,12) y y y y(14) n
+Linux 2.4 Xeon C
+ Lustre Intel (6) y y y y n
+Linux 2.4 SuSE
+ ia64 C Intel (7) y y y y n
+Linux 2.4 SGI Altix
+ ia64 Intel y y n
+Alpha OpenVMS 7.3.2 n n n y n
+
+ Notes: (1) Using mpich 1.2.6.
+ (1a) Using mpich2 1.0.6.
+ (2) Using mpt and mpich 1.2.6.
+ (3) Linux 2.6 with GNU, Intel, and PGI compilers, as indicated.
+ W or C indicates workstation or cluster, respectively.
+
+ (6) Linux 2.4.21-32.0.1. Xeon cluster with ELsmp_perfctr_lustre
+ and Intel compilers
+ (7) Linux 2.4.21, SuSE_292.till. Ia64 cluster with Intel compilers
+ (8) pgf90
+ (9) With Compaq Visual Fortran 6.6c compiler.
+ (10) With PGI and Absoft compilers.
+ (11) PGI and Intel compilers for both C and Fortran
+ (12) AMD Opteron x86_64
+ (13) ifort
+ (14) Yes with C and Fortran, but not with C++
+ (15) Using Visual Studio 2005 or Cygwin
+ (16) Not tested for this release.
+ Compiler versions for each platform are listed in the preceding
+ "Platforms Tested" table.
+
+
+
+Known Problems
+==============
+* We discovered two problems when running collective IO parallel HDF5 tests
+ with chunking storage on ChaMPIon MPI compiler on tungsten, a linux
+ cluster at NCSA.
+ Under some complex selection cases,
+ 1) MPI_Get_element returns the wrong value.
+ 2) MPI_Type_struct also generates wrong derived data type and corrupt data
+ may be generated.
+ This only happens when turning on collective IO with chunking storage
+ with some complex selections. We haven't found these problems on other
+ MPI-IO compilers. If you encounter these problems, you may use Independent IO
+ instead.
+
+ Change the following line in your code:
+ H5Pset_dxpl_mpio(xfer_plist, H5FD_MPIO_COLLECTIVE);
+
+ to
+ H5Pset_dxpl_mpio(xfer_plist, H5FD_MPIO_INDEPENDENT);
+
+ KY - 2007/08/24
+
+* For SNL, spirit/liberty/thunderbird: The serial tests pass but parallel
+ tests failed with MPI-IO file locking message. AKC - 2007/6/25.
+* On Intel 64 Linux cluster (RH 4, Linux 2.6.9) with Intel 10.0 compilers use
+ -mp -O1 compilation flags to build the libraries. Higher level of optimization
+ causes failures in several HDF5 library tests.
+* For HPUX 11.23 many tools tests failed for 64-bit version when linked to the
+ shared libraries (tested for 1.8.0-beta2)
+* For SNL, Red Storm: only paralle HDF5 is supported. The serial tests pass
+ and the parallel tests also pass with lots of non-fatal error messages.
+* For LLNL, uP: both serial and parallel pass. Zeus: serial passes but
+ parallel fails with a known proglem in MPI. ubgl: serial passes but
+ parallel fails.
+* on SUN 5.10 C++ test fails in the "Testing Shared Datatypes with Attributes" test
+* configuring with --enable-debug=all produces compiler errors on most
+ platforms. Users who want to run HDF5 in debug mode should use
+ --enable-debug rather than --enable-debug=all to enable debugging
+ information on most modules.
+* On Mac OS 10.4, test/dt_arith.c has some errors in conversion from long
+ double to (unsigned) long long and from (unsigned)long long to long double.
+* On Altix SGI with Intel 9.0 testmeta.c would not compile with -O3
+ optimization flag.
+* On VAX, Scaleoffset filter isn't supported. The filter cannot be applied to
+ HDF5 data generated on VAX. Scaleoffset filter only supports IEEE standard
+ for floating-point data.
+* On Cray X1, a lone colon on the command line of h5dump --xml (as in
+ the testh5dumpxml.sh script) is misinterpereted by the operating system
+ and causes an error.
+* On mpich 1.2.5 and 1.2.6, we found that if more than two processes
+ contribute no IO and the application asks to do IO with collective, we found
+ that when using 4 processors, a simple collective write will be hung
+ sometimes. This can be verified with t_mpi test under testpar.
+* On IRIX6.5, when C compiler version >7.4, the complicate MPI derived data type
+ code will work. However, the user should be aware to enlarge MPI_TYPE_MAX environment
+ variable to some certian value in order to use collective irregular selection code.
+ For example, the current parallel HDF5 test needs to enlarge MPI_TYPE_MAX to
+ 200,000 to make the test pass.
+* The dataset created or rewritten with the v1.6.3 library or after can't
+ be read with the v1.6.2 library or before when Fletcher32 EDC(filter) is
+ enabled. There was a bug in the calculating code of the Fletcher32
+ checksum in the library before v1.6.3. The checksum value wasn't consistent
+ between big-endian and little-endian systems. This bug was fixed in
+ Release 1.6.3. However, after fixing the bug, the checksum value is no
+ longer the same as before on little-endian system. The library release
+ after 1.6.4 can still read the dataset created or rewritten with the library
+ of v1.6.2 or before. SLU - 2005/6/30
+* For the version 6(6.02 and 6.04) of Portland Group compiler on AMD Opteron
+ processor, there's a bug in the compiler for optimization(-O2). The library
+ failed in several tests but all related to multi driver. The problem has
+ been reported to the vendor.
+* On IBM AIX systems, parallel HDF5 mode will fail some tests with error
+ messages like "INFO: 0031-XXX ...". This is from the command poe.
+ Set the environment variable MP_INFOLEVEL to 0 to minimize the messages
+ and run the tests again.
+ The tests may fail with messages like "The socket name is already
+ in use". HDF5 does not use sockets (except for stream-VFD). This is
+ due to problems of the poe command trying to set up the debug socket.
+ Check if there are many old /tmp/s.pedb.* staying around. These are
+ sockets used by the poe command and left behind due to failed commands.
+ Ask your system administrator to clean them out. Lastly, request IBM
+ to provide a mean to run poe without the debug socket.
+
+* The C++ library's tests fails when compiling with PGI C++ compiler. The
+ workaround until the problem is correctly handled is to use the
+ flag "--instantiate=local" prior to the configure and build steps, as:
+ setenv CXX "pgCC --instantiate=local" for pgCC 5.02 and higher
+
+
+* The stream-vfd test uses ip port 10007 for testing. If another
+ application is already using that port address, the test will hang
+ indefinitely and has to be terminated by the kill command. To try the
+ test again, change the port address in test/stream_test.c to one not
+ being used in the host.
+
+* The --enable-static-exec configure flag fails to compile for Solaris
+ platforms. This is due to the fact that not all of the system
+ libraries on Solaris are available in a static format.
+
+ The --enable-static-exec configure flag also fails to correctly compile
+ on IBM SP2 platform for the serial mode. The parallel mode works fine
+ with this option.
+
+ It is suggested that you don't use this option on these platforms
+ during configuration.
+
+* With the gcc 2.95.2 compiler, HDF 5 uses the `-ansi' flag during
+ compilation. The ANSI version of the compiler complains about not being
+ able to handle the `long long' datatype with the warning:
+
+ warning: ANSI C does not support `long long'
+
+ This warning is innocuous and can be safely ignored.
+
+
+* The Stream VFD was not tested yet under Windows. It is not supported
+ in the TFLOPS machine.
+
+
+* The ./dsets tests failed in the TFLOPS machine if the test program,
+ dsets.c, is compiled with the -O option. The hdf5 library still works
+ correctly with the -O option. The test program works fine if it is
+ compiled with -O1 or -O0. Only -O (same as -O2) causes the test
+ program to fail.
+
+* Certain platforms give false negatives when testing h5ls:
+ - Cray J90 and Cray T90IEEE give errors during testing when displaying
+ some floating-point values. These are benign differences due to
+ the different precision in the values displayed and h5ls appears to
+ be dumping floating-point numbers correctly.
+
+* Before building HDF5 F90 Library from source on Crays
+ replace H5Aff.f90, H5Dff.f90 and H5Pff.f90 files in the fortran/src
+ subdirectory in the top level directory with the Cray-specific files
+ from this site:
+ ftp://www.hdfgroup.uiuc.edu/pub/outgoing/hdf5/hdf5-1.8.0-pre/PATCH/
+
+* Not all platforms behave correctly with szip's shared libraries. Szip is
+ disabled in these cases, and a message is relayed at configure time. Static
+ libraries should be working on all systems that support szip, and should be
+ used when shared libraries are unavailable. There is also a configure error
+ on Altix machines that incorrectly reports when a version of szip without
+ an encoder is being used.
+
+* On some platforms that use Intel and Absoft compilers to build HDF5 fortran library,
+ compilation may fail for fortranlib_test.f90, fflush1.f90 and fflush2.f90
+ complaining about exit subroutine. Comment out the line
+ IF (total_error .ne. 0) CALL exit (total_error)
+
+* On IA32 and IA64 systems, if you use a compiler other than GCC (such as
+ Intel's ecc or icc compilers), you will need to modify the generated
+ "libtool" program after configuration is finished. On or around line 104 of
+ the libtool file, there are lines which look like:
+
+ # How to pass a linker flag through the compiler.
+ wl=""
+
+ change these lines to this:
+
+ # How to pass a linker flag through the compiler.
+ wl="-Wl,"
+
+ UPDATE: This is now done automatically by the configure script. However, if
+ you still experience a problem, you may want to check this line in the
+ libtool file and make sure that it has the correct value.
+
+* Information about building with PGI and Intel compilers is available in
+ INSTALL file sections 5.7 and 5.8
+
+* On at least one system, (SDSC DataStar), the scheduler (in this case
+ LoadLeveler) sends job status updates to standard error when you run
+ any executable that was compiled with the parallel compilers.
+
+ This causes problems when running "make check" on parallel builds, as
+ many of the tool tests function by saving the output from test runs,
+ and comparing it to an exemplar.
+
+ The best solution is to reconfigure the target system so it no longer
+ inserts the extra text. However, this may not be practical.
+
+ In such cases, one solution is to "setenv HDF5_Make_Ignore yes" prior to
+ the configure and build. This will cause "make check" to continue after
+ detecting errors in the tool tests. However, in the case of SDSC DataStar,
+ it also leaves you with some 150 "failed" tests to examine by hand.
+
+ A second solution is to write a script to run serial tests and filter
+ out the text added by the scheduler. A sample script used on SDSC
+ DataStar is given below, but you will probably have to customize it
+ for your installation.
+
+ Observe that the basic idea is to insert the script as the first item
+ on the command line which executes the the test. The script then
+ executes the test and filters out the offending text before passing
+ it on.
+
+ #!/bin/csh
+
+ set STDOUT_FILE=~/bin/serial_filter.stdout
+ set STDERR_FILE=~/bin/serial_filter.stderr
+
+ rm -f $STDOUT_FILE $STDERR_FILE
+
+ ($* > $STDOUT_FILE) >& $STDERR_FILE
+
+ set RETURN_VALUE=$status
+
+ cat $STDOUT_FILE
+
+ tail +3 $STDERR_FILE
+
+ exit $RETURN_VALUE
+
+ You get the HDF make files and test scipts to execute your filter script
+ by setting the environment variable "RUNSERIAL" to the full path of the
+ script prior to running configure for parallel builds. Remember to
+ "unsetenv RUNSERIAL" before running configure for a serial build.
+
+ Note that the RUNSERIAL environment variable exists so that we can
+ can prefix serial runs as necessary on the target system. On DataStar,
+ no prefix is necessary. However on an MPICH system, the prefix might
+ have to be set to something like "/usr/local/mpi/bin/mpirun -np 1" to
+ get the serial tests to run at all.
+
+ In such cases, you will have to include the regular prefix in your
+ filter script.
+
+* H5Ocopy() does not copy reg_ref attributes correctly when shared-message
+ is turn on. The value of the reference in the destination attriubte is
+ wrong. This H5Ocopy problem will affect h5copy tool
+
+%%%%1.6.7%%%% Release Information for hdf5-1.6.7 (31/January/08)
+
+HDF5 version 1.6.7 released on Thu Jan 31 21:09:10 CST 2008
+================================================================================
+
+INTRODUCTION
+============
+This document describes the differences between HDF5-1.6.6 and HDF5-1.6.7
+It contains information on the platforms tested and known problems in
+HDF5-1.6.7. For more details, check the HISTORY.txt file in the HDF5 source.
+
+HDF5 documentation can be found in the distributed release source code
+in the subdirectory doc/html/ or on the THG (The HDF Group) FTP server:
+
+ ftp://ftp.hdfgroup.org/HDF5/docs/
+
+Documentation for the current release in the HDF5 Release 1.6.x series is
+also on the HDF web site:
+
+ http://hdfgroup.org/HDF5/doc1.6/
+
+For more information, see the HDF5 home page:
+
+ http://hdfgroup.org/products/hdf5/
+
+If you have any questions or comments, please see the HDF Support page
+for a list of available resources:
+
+ http://hdfgroup.org/services/support.html
+
+
+CONTENTS
+========
+- New Features
+- Support for New Platforms, Languages and Compilers
+- Bug Fixes since HDF5-1.6.6
+- Documentation
+- Platforms Tested
+- Supported Configuration Features Summary
+- Known Problems
+
+
+New Features
+============
+ Configuration:
+ -------------------------
+ '--enable-stream-vfd' and '--disable-stream-vfd' are no longer valid
+ configure options because the stream I/O driver has ben removed from
+ the distribution.
+
+ Source code distribution
+ ========================
+ Library:
+ --------
+ The stream I/O driver is not included with the HDF5 Library in this
+ release. The source code files hdf5/src/H5FDstream.c and
+ hdf5/src/H5FDstream.h and the driver ENUM value H5FD_STREAM have been
+ removed.
+
+ Parallel Library:
+ -----------------
+ None
+
+ Tools:
+ ------
+ None
+
+ F90 API:
+ --------
+ None
+
+ C++ API:
+ --------
+ None
+
+
+Support for New Platforms, Languages and Compilers
+==================================================
+
+No new platorms, languages, or compilers are supported in this release.
+
+
+Bug Fixes since HDF5-1.6.6 Release
+==================================
+
+ Library
+ -------
+ - H5Iget_name could not be used with an object identifier returned
+ by H5Rdereference; the function would not be able to determine
+ a valid object name. It has been fixed. SLU - 2008/1/30
+ - Changed library's behavior for reading files that might have
+ corrupted object header information from a previous (buggy)
+ version of the library. By default, the library now rebuilds the
+ correct object header information instead of issuing an error.
+ Previous "strict" file format interpretation can be enabled with
+ the "--enable-strict-format-checks" configure option.
+ QAK - 2008/01/13
+ - Fixed bug in H5Epush() which was clearing the error stack before
+ pushing new error value. QAK - 2007/08/23
+ - Fixed bug in H5Ewalk() which was not passing back the return value
+ from error stack walking callback. QAK - 2007/08/23
+
+
+ Configuration
+ -------------
+ None
+
+
+ Performance
+ -------------
+ None
+
+
+ Tools
+ -----
+ None
+
+
+ Documentation
+ -------------
+ None
+
+
+ F90 API
+ -------
+ None
+
+
+ C++ API
+ -------
+ None
+
+
+Documentation
+=============
+ HDF5 documentation can be found in the distributed release source
+ code in the subdirectory doc/html/ (start with index.html) or on the
+ THG (The HDF Group) FTP server:
+
+ ftp://ftp.hdfgroup.org/HDF5/docs/
+
+ Online documentation for the current release in the HDF5 Release 1.6.x
+ series can be found on the THG web site:
+
+ http://hdfgroup.org/HDF5/doc1.6/
+
+ A listing of interface changes from release to release can be found
+ in the document "HDF5 Software Changes from Release to Release":
+
+ http://hdfgroup.org/HDF5/doc1.6/ADGuide/Changes.html
+
+ Since the stream I/O driver is not included in this release, the
+ functions H5Pset_fapl_stream and H5Pget_fapl_stream and the stream
+ ENUM value H5FD_STREAM have been removed from the documentation.
+
+
+Platforms Tested
+================
+
+ AIX 5.2 (32/64 bit) xlc 8.0.0.11
+ (datastar) xlC 8.0
+ xlf 10.01.0000.0002
+
+ FreeBSD 6.2 (32- and 64-bit) gcc and g++3.4.6
+ (duty and liberty) gcc and g++ 4.2.1
+
+ IRIX64 6.5 MIPSpro cc 7.4.4m
+ (ucar mop1 64 & n32) F90 MIPSpro 7.4.4m (64 only)
+ C++ MIPSpro cc 7.4.4m
+
+ Linux 2.4.21-47.ELsmp #1 SMP gcc 3.2.3
+ i686 i386 GNU/Linux
+ (osage)
+
+ Linux 2.6.9-42.0.10.ELsmp #1 gcc (GCC) 3.4.6
+ SMP i686 i386 G95 (GCC 4.0.3 (g95 0.91!) April 18 2007)
+ (kagiso) PGI C, Fortran, C++ 7.0-7 32-bit
+ Intel(R) C Compiler for 32-bit
+ applications, Version 9.1
+ Intel(R) C++ Compiler for 32-bit
+ applications, Version 9.1
+ Intel(R) Fortran Compiler for 32-bit
+ applications, Version 9.1
+ Absoft 32-bit Fortran 95 10.0.4
+ MPICH mpich2-1.0.6p1 compiled with
+ gcc 4.2.1 and G95 (GCC 4.0.3 (g95 0.91!)
+
+ Linux 2.6.16.46-0.12-debug #1 Intel(R) C++ Version 10.0.025
+ SMP ia64 GNU/Linux Intel(R) Fortran Itanium(R) Version 10.0.025
+ (ucar hir1)
+
+ Linux 2.6.16.46-0.14-smp #1 Intel(R) C++ for Intel(R) EM64T Ver. 9.1.037
+ SMP x86_64 GNU/Linux Intel(R) Fortran Intel(R) EM64T Ver. 9.1.031
+ (smirom) PGI C, Fortran, C++ Version 7.0-7
+ for 64-bit target on x86-64
+ tested for both 32- and 64-bit binaries
+
+ Linux 2.6.5-7.287.3-sn2 #1 Intel(R) C++ Version 9.0
+ Altix SMP ia64 Intel(R) Fortran Itanium(R) Version 9.0
+ (cobalt) SGI MPI
+
+ SunOS 5.8 32- and 64-bit Sun WorkShop 6 update 2 C 5.3
+ (sol) Sun WorkShop 6 update 2 Fortran 95 6.2
+ Sun WorkShop 6 update 2 C++ 5.3
+
+ SunOS 5.10 32- and 64-bit Sun WorkShop 6 update 2 C 5.8
+ (linew) Sun WorkShop 6 update 2 Fortran 95 8.2
+ Sun WorkShop 6 update 2 C++ 5.8
+ Patch 121019-06
+
+ Xeon Linux 2.4.21-32.0.1.ELsmp-perfctr-lustre
+ (tungsten) Intel(R) C++ Version 9.0
+ Intel(R) Fortran Compiler Version 9.0
+ PGI C Version 6.0-5
+ PGI C++ Version 6.0-5
+ PGI Fortran Version 6.0-5
+ gcc (GCC) 3.2.2 (Red Hat Linux 3.2.2-5)
+
+ Xeon Linux 2.6.9-42.0.10.EL_lustre-1.4.10.1smp
+ (abe) Intel(R) C++ Version 10.0
+ Intel(R) Fortran Compiler Version 10.0
+ Open MPI 1.2.2
+
+ IA-64 Linux 2.4.21-309.tg1 #1 SMP
+ ia64 gcc (GCC) 3.2.2
+ (NCSA tg-login) Intel(R) C++ Version 8.1
+ Intel(R) Fortran Compiler Version 8.1
+ mpich-gm-1.2.6..14-intel-r2
+
+ Windows XP Visual Studio 6.0
+ Visual Studio .NET (with Intel Fortran 9.1)
+ Visual Studio 2005 (with Intel Fortran 9.1)
+ cygwin (gcc 3.4.4)
+
+ Windows Vista Visual studio 2005
+ MAC OS X Intel Darwin 8.10.1
+ i686-apple-darwin8-gcc-4.0.1 (GCC) 4.0.1
+ g95 0.91
+
+
+Supported Configuration Features Summary
+========================================
+
+Key: y = Tested and supported
+ n = Not supported or not tested in this release
+ C = Cluster
+ W = Workstation
+ ( ) = Footnote appears below second table
+
+Platform C F90 F90 C++ zlib SZIP
+ parallel parallel
+Solaris2.8 32-bit n y n y n y
+Solaris2.8 64-bit n y n n y y
+Solaris2.10 32-bit n y n y y y
+Solaris2.10 64-bit n y n n y y
+IRIX64_6.5 32-bit n n n n y y
+IRIX64_6.5 64-bit n y n n y y
+WinXP Visual Studio 6.0 n n n y y y
+WinXP CYGWIN n n n y y y
+WinXP 2005 n y n y y y
+WinXP .Net n y n y y y
+WinVista 2005 n n n y y y
+Mac OS X 10.4.10 n y n y y y
+AIX-5.2 & 5.3 32- and 64-bit y y y y y y
+FreeBSD 6.2 32- and 64-bit n n n y y y
+RedHat Linux 2.4.21 W n n n n y n
+RedHat Linux 2.6.9-42 i686 GNU (1) W y y y y y y
+RedHat Linux 2.6.9-42 i686 Intel W n y n y y n
+RedHat Linux 2.6.9-42 i686 PGI W n y n y y n
+SuSE Linux 2.6.16 x86_64 GNU (1) W y y n y y y
+SuSE Linux 2.6.16 x86_64 Intel W n y n y y n
+SuSE Linux 2.6.16 x86_64 PGI W n y n y y n
+RHEL 4 Linux 2.6.9 Xeon Lustre C n y n y y y
+RedHat Linux 2.4 Xeon Lustre C n y n y y n
+SuSE Linux 2.4 ia64 C y y y y y y
+SuSe Linux 2.6.5 SGI Altix ia64 n y n y y y
+
+
+Platform Shared static- Thread-
+ libraries(4) exec safe
+Solaris2.8 32- and 64-bit y n y
+Solaris2.10 32- and 64-bit y n y
+IRIX64_6.5 32-bit y n y
+IRIX64_6.5 64-bit y n y
+WinXP Visual Studio 6.0 y n n
+WinXP CYGWIN y n n
+WinXP 2005 y n n
+WinXP .Net y n n
+WinVista 2005 y n n
+Mac OS X 10.4.10 y n n
+AIX-5.2 & 5.3 32- and 64-bit n n n
+FreeBSD 6.2 32- and 64-bit y n n
+RedHat Linux 2.4.21 W y n n
+SuSE Linux 2.6.9-42 i686 GNU (1) W y n y
+SuSE Linux 2.6.9-42 i686 Intel W y n n
+SuSE Linux 2.6.9-42 i686 PGI W n n n
+SuSE Linux 2.6.16 x86_64 GNU (1) W y n y
+SuSE Linux 2.6.16 x86_64 Intel W y n n
+SuSE Linux 2.6.16 x86_64 PGI W n n n
+RHEL 4 Linux 2.6.9 Xeon Lustre C y n n
+RedHat Linux 2.4 Xeon Lustre C y n n
+SuSE Linux 2.4 ia64 C y n n
+SuSe Linux 2.6.5 SGI Altix ia64 n n n
+
+Compiler versions for each platform are listed in the "Platforms Tested"
+table found elsewhere in this file (RELEASE.txt). Unless otherwise noted,
+compilers used are the system compilers.
+
+Footnotes:
+(1) Fortran compiled with g95.
+
+
+Known Problems
+==============
+* We discovered two problems when running collective IO parallel HDF5 tests
+ with chunking storage with the ChaMPIon MPI compiler on tungsten, a Linux
+ cluster at NCSA.
+ Under some complex selection cases,
+ 1) MPI_Get_element returns the wrong value.
+ 2) MPI_Type_struct also generates the wrong derived datatype and corrupt
+ data may be generated.
+ This only happens when turning on collective IO with chunking storage
+ with some complex selections. We haven't found these problems on other
+ MPI-IO compilers. If you encounter these problems, you may use Independent
+ IO instead.
+
+ To avoid this problem, change the following line in your code:
+ H5Pset_dxpl_mpio(xfer_plist, H5FD_MPIO_COLLECTIVE);
+
+ to
+ H5Pset_dxpl_mpio(xfer_plist, H5FD_MPIO_INDEPENDENT);
+
+ KY - 2007/08/24
+
+* QSC (an HP alpha-based OSF1 cluster) does not create h5pfc correctly. It
+ does not include the -lmpi properly. This will be fixed in the next
+ release. AKC - 2007/08/07.
+
+* On IRIX64 6.5 (UCAR SGI mop1), when testing HDF5 tools with an HDF5 shared
+ library, especially for h5repacktst and h52gifgentst, the following (or a
+ similar) error message may appear:
+ "523648:lt-h5repacktst: rld: Fatal Error: Cannot Successfully map soname
+ 'libh5test.so.1' under any of the filenames .......(bunch of directories)
+ "
+ And the testing will fail.
+
+ We believe this is a libtool problem. One way to get rid of this is to
+ add the paths of libh5test.so.1 and libh5.so.1 to the shared library path.
+
+ For 32-bit:
+ You may do this, under csh:
+ setenv LD_LIBRARYN32_PATH .......(existing paths):[full path of HDF5
+ directory/test/.libs]:[full path of HDF5 directory/src/.libs]
+
+ For 64-bit:
+ setenv LD_LIBRARY64_PATH ......(existing paths):[full path of HDF5
+ directory/test/.libs]:[full path of HDF5 directory/src/.libs]
+
+ NOTE: This problem ONLY affects the testing of the HDF5 library when you
+ build from source. It won't affect any applications that would like to link
+ with the HDF5 shared library since the shared library path needs to be set
+ anyway. KY - 2007/8/2
+
+* QSC (an HP alpha-based OSF1 cluster) failed the testpar/testphdf5 sub-test
+ "calloc". All other tests passed. This indicates that a dataset using
+ chunked storage created by serial HDF5 may not work properly with parallel
+ HDF5. The calloc test can be skipped by running "prun ... testphdf5 -x
+ calloc". AKC - 2007/7/12.
+
+* The Intel C Compiler for the Linux x86_64 platform (EM64T-based, v8.1) has
+ an optimization error in the datatypes conversion code. Before running
+ configure, edit the file config/intel-flags by changing the setting of
+ PROD_CFLAGS from -O3 to -O0. Then run configure. AKC - 2005/11/10.
+
+* When testing parallel HDF5 with the C compiler version MIPSpro 7.4.3 on IRIX
+ 6.5, set the environment variable MPI_TYPE_MAX to be a bigger number, for
+ example 120000, in order to pass the complicated collective IO tests inside
+ the parallel HDF5 library. This is not a problem inside the parallel HDF5
+ library. You can always set a bigger number on your system. KY - 2005/10/6
+
+* A contiguous or chunked dataset created by a sequential version of HDF5
+ might not be able to be modified with a parallel version of the library.
+ Use the H5Pset_alloc_time function with H5D_ALLOC_TIME_EARLY to set up the
+ dataset creation property list to avoid the problem. EIP - 2005/09/09
+
+* A dataset created or rewritten with the v1.6.3 library or after can't
+ be read with the v1.6.2 library or before when Fletcher32 EDC (a filter) is
+ enabled. There was a bug in the calculating code of the Fletcher32
+ checksum in the library before v1.6.3. The checksum value wasn't consistent
+ between big-endian and little-endian systems. This bug was fixed in
+ Release 1.6.3. However, after fixing the bug, the checksum value is no
+ longer the same as before on little-endian system. HDF5 library releases
+ after 1.6.4 can still read datasets created or rewritten with an HDF5
+ library of v1.6.2 or before. SLU - 2005/7/8
+
+* For version 6 (6.02 and 6.04) of the Portland Group compiler on AMD Opteron
+ processor, there's a bug in the compiler for optimization(-O2). The library
+ failed in several tests, all related to the multi driver. The problem has
+ been reported to the vendor.
+
+* test/big fails sometimes with the message "Possible overlap with another
+ region." The test selects regions randomly, and this error occurs when
+ two regions overlap each other; it is a bug in the test and not in
+ HDF5. Since the error is triggered by a random situation, it will
+ usually disappear if the test is re-run.
+
+* Newer SGI MIPSpro compilers (version 7.4.x) support C99 features but
+ have a "guard" statement in stdint.h that will #error and skip the rest
+ of the header file if the C99 option is not used explicitly. Hardsetting
+ $CC to c99 will resolve the problem. AKC - 2004/12/13
+
+* On IBM AIX systems, parallel HDF5 mode will fail some tests with error
+ messages like "INFO: 0031-XXX ...". This is from the command poe.
+ Set the environment variable MP_INFOLEVEL to 0 to minimize the messages
+ and run the tests again.
+
+ The tests may also fail with messages like "The socket name is already
+ in use". HDF5 does not use sockets. This is due to problems of the
+ poe command trying to set up the debug socket. Check whether there are
+ many old /tmp/s.pedb.* files staying around. These are sockets used by
+ the poe command and left behind due to failed commands. Ask your system
+ administrator to clean them out. Lastly, request IBM to provide a means
+ to run poe without the debug socket.
+
+* The h5dump tests may fail to match the expected output on some platforms
+ (e.g. parallel jobs, Windows) where the error messages directed to
+ "stderr" do not appear in the "right order" with output from stdout.
+ This is not an error.
+
+* The --enable-static-exec configure flag fails to compile for Solaris
+ platforms. This is due to the fact that not all of the system
+ libraries on Solaris are available in a static format.
+
+ The --enable-static-exec configure flag also fails to correctly compile
+ on the IBM SP2 platform for the serial mode. The parallel mode works fine
+ with this option.
+
+ The --enable-static-exec configure flag also fails to correctly compile
+ on the HPUX 11.00.
+
+ It is suggested that you don't use this option on these platforms
+ during configuration.
+
+* Use the --disable-shared configure flag if building with an Absoft Fortran
+ compiler.
+
+* Information about building with PGI and Intel compilers is available in
+ INSTALL file sections 5.7 and 5.8.
+
+* In LANL QSC, the new cc compiler has problems converting small values of
+ long long (absolute values less than 1**-308) to double. This triggers
+ the test/dtypes to report failure in the following test:
+ Testing random sw long double -> double conversions
+ If -ieee is used, the converted doubles spread over the range 0.0 to
+ 10**-308. If -ieee is not used, the converted double values are mostly
+ 0.0, but occasionally appear as 10**-308. This has been reported to the
+ system staff.
+
+ All other tests have passed.
+
+* On at least one system, SDSC DataStar, the scheduler (in this case
+ LoadLeveler) sends job status updates to standard error when you run
+ any executable that was compiled with the parallel compilers.
+
+ This causes problems when running "make check" on parallel builds, as
+ many of the tool tests function by saving the output from test runs,
+ and comparing it to an exemplar.
+
+ The best solution is to reconfigure the target system so it no longer
+ inserts the extra text. However, this may not be practical.
+
+ In such cases, one solution is to "setenv HDF5_Make_Ignore yes" prior to
+ the configure and build. This will cause "make check" to continue after
+ detecting errors in the tool tests. However, in the case of SDSC DataStar,
+ it also leaves you with some 150 "failed" tests to examine by hand.
+
+ A second solution is to write a script to run serial tests and filter
+ out the text added by the scheduler. A sample script used on SDSC
+ DataStar is given below, but you will probably have to customize it
+ for your installation.
+
+ Observe that the basic idea is to insert the script as the first item
+ on the command line which executes the test. The script then
+ executes the test and filters out the offending text before passing
+ it on.
+
+ #!/bin/csh
+
+ set STDOUT_FILE=~/bin/serial_filter.stdout
+ set STDERR_FILE=~/bin/serial_filter.stderr
+
+ rm -f $STDOUT_FILE $STDERR_FILE
+
+ ($* > $STDOUT_FILE) >& $STDERR_FILE
+
+ set RETURN_VALUE=$status
+
+ cat $STDOUT_FILE
+
+ tail +3 $STDERR_FILE
+
+ exit $RETURN_VALUE
+
+ You get the HDF5 make files and test scripts to execute your filter script
+ by setting the environment variable "RUNSERIAL" to the full path of the
+ script prior to running configure for parallel builds. Remember to
+ "unsetenv RUNSERIAL" before running configure for a serial build.
+
+ Note that the RUNSERIAL environment variable exists so that we can
+ prefix serial runs as necessary on the target system. On DataStar,
+ no prefix is necessary. However, on an MPICH system, the prefix might
+ have to be set to something like "/usr/local/mpi/bin/mpirun -np 1" to
+ get the serial tests to run at all.
+
+ In such cases, you will have to include the regular prefix in your
+ filter script. JM - 2004/9/15
+
+%%%%1.6.6%%%% Release Information for hdf5-1.6.6 (16/August/08)
+
+HDF5 version 1.6.6 released on Thu Aug 16 11:17:10 CDT 2007
+================================================================================
+
+INTRODUCTION
+============
+This document describes the differences between HDF5-1.6.5 and
+HDF5-1.6.6 It contains information on the platforms tested and
+known problems in HDF5-1.6.6. For more details, check the HISTORY.txt
+file in the HDF5 source.
+
+HDF5 documentation can be found in the distributed release source
+code in the subdirectory doc/html/ or on the THG (The HDF Group)
+ftp server (ftp.hdfgroup.org) in the directory:
+
+ /HDF5/docs/
+
+Documentation for the current release is also on the HDF web site:
+
+ http://hdfgroup.org/HDF5/doc/
+
+For more information, see the HDF5 home page at:
+
+ http://hdfgroup.org/HDF5/
+
+If you have any questions or comments, please send them to:
+
+ help@hdfgroup.org
+
+
+CONTENTS
+========
+- New Features
+- Support for New Platforms, Languages and Compilers
+- Bug Fixes since HDF5-1.6.5
+- Documentation
+- Platforms Tested
+- Supported Configuration Features Summary
+- Known Problems
+
+
+New Features
+============
+ Configuration:
+ -------------------------
+ - HDF5 now uses autoconf 2.61 to generate configure. MAM - 2007/7/25.
+
+ Source code distribution
+ ========================
+ Library:
+ --------
+ - None
+
+ Parallel Library:
+ -----------------
+ - None
+
+ Tools:
+ ------
+ - h52gif and gif2h5: Both these tools were revised to include High
+ Level Image API support. Tests were added to /hl/tools/gif2h5.
+ PVN - 2007/04/13
+ - h5dump: Added support for double long type H5T_NATIVE_LDOUBLE.
+ PVN - 2007/03/13
+ - h5dump: Added support for binary output; see usage. PVN 2007/03/13
+ - h5repack: Added support for reading and writing by hyperslabs for
+ large files. PVN - 2007/03/01
+ - h5repack: A new option allows the copy to use the source file type
+ (default) instead of the previous conversion to native type.
+ PVN - 2007/03/01
+ - h5repack: Added output of the percentage of compression achieved.
+ PVN - 2007/03/01
+ - h5diff: Added support for comparing dataset regions. PVN -
+ 2007/02/20
+ - h5diff: Added support for reading and comparing by hyperslabs for
+ large files. PVN - 2007/02/20
+ - h5diff: Added printing of dataset dimensions along with dataset
+ name.
+ PVN - 2007/02/19
+
+ F90 API:
+ --------
+ - None
+
+ C++ API:
+ --------
+ - Added support for Szip: DSetCreatPropList::setSzip - BMR 2007/01/24
+
+
+Support for New Platforms, Languages and Compilers
+==================================================
+ - Added support for MAC Intel (Darwin 8.8.2) (gcc 4.0.1 and g95 0.91)
+ EIP - 2007/02/13
+ - Added support for GNU C compiler version 4.2.1 for FreeBSD 6.2
+ (32- and 64-bit)
+
+
+Bug Fixes since HDF5-1.6.5 Release
+==================================
+
+ Library
+ -------
+ - Fixed several bugs with writing fill values for datasets that have
+ a variable-length datatype or component datatype. QAK -
+2007/06/19
+ - STDIO driver didn't support files bigger than 2GB because the OFFSET
+ parameter of fseek is of type LONG INT, not big enough for big
+ files. Use fseeko instead for big files if it's available on the
+ system. SLU - 2007/4/5
+ - Relaxed restrictions on attribute operations to allow a file ID to
+ be used as the "location ID". If a file ID is used, the attribute
+ operation will occur on the root group of the file.
+ QAK - 2007/02/09
+ - Fixed a bug in H5Sselect_valid() that caused an incorrect value to
+ be returned (0) instead of FAIL on error conditions such as the
+ selection or extent not being defined. CMC - 2007/01/05
+ - Fixed potential file corruption bug which could overwrite a portion
+ of an object's header when an attribute was renamed. If the new
+ name for the attribute was longer than the old name, it was
+possible
+ that the attribute would grow enough to overwrite another message
+ in the object's header. QAK - 2007/01/02
+ - Fixed file corruption bug which could write an incorrect number of
+ messages to an object's header under certain circumstances.
+ Generally, the sequence of actions to generate this bug looks
+ like this:
+ - Create an object.
+ - Close the file.
+ - Re-open the file.
+ - Add 2 (or more) attributes to the object.
+ - Close the file.
+ - Re-open the file.
+ - Delete one of the attributes on the object.
+ - Add a smaller attribute to the object.
+ - Delete the smaller atttribute on the object.
+ - Add a larger attribute on the object.
+
+ After this, the number of header messages stored for the object
+ will be off by one. Other sequences of modifying attributes on an
+ object could also trigger this bug. If you are opening an
+ object and the bottom few messages of the HDF5 error stack
+ resembles the following, the object has been affected by this bug:
+
+ #007: ../../hdf5_v1.6/src/H5C.c line 3887 in H5C_load_entry():
+unable to load entry
+ major(08): Meta data cache layer
+ minor(40): Unable to load metadata into cache
+ #008: ../../hdf5_v1.6/src/H5Ocache.c line 332 in H5O_load():
+corrupt object header - too few messages
+ major(12): Object header layer
+ minor(40): Unable to load metadata into cache
+
+ Specifically, "corrupt object header" is the best string to search
+ for in the HDF5 error stack output.
+
+ If your files have been affected by this bug, or you are concerned
+ that your files might have been, please contact the HDF Helpdesk
+ at help@hdfgroup.org for a tool to detect and repair files
+ affected by this problem. QAK - 2006/6/16
+
+ - Fixed various problems with retrieving names of objects, especially
+ with mounted files. QAK - 2005/12/25
+
+ Configuration
+ -------------
+ - Changed to default to --disable-shared if parallel is enabled.
+ AKC - 2007/5/12
+ - Corrected a coding error in configure when it tries to locate the
+ needed MPI and MPI-IO library for the fortran interface.
+ AKC - 007/5/9.
+ - Changed default fortran compiler to g95 when gcc is used.
+ AKC - 007/2/17.
+ - Configure can now use any tr command. No more need for
+ defining the variable TR, nor is it supported. AKC - 2006/05/20
+
+ Performance
+ -------------
+ - None
+
+ Tools
+ -----
+ - Fixed a bug in h5dump regarding the display of named datatypes
+ attributes. PVN - 2007/03/13
+ - Fixed a bug in h5dump regarding the display of group comments.
+ PVN - 2007/03/13
+ - Fixed a bug in h5dump regarding the display of hardlinks pointing
+ to the root group. PVN - 2007/03/13
+ - Fixed a bug in the h5diff percentage option -p. PVN - 2007/03/05
+ - Fixed a bug in h5dump that caused array indices greater than 2^32-1
+ not to be printed correctly. PVN - 2007/2/19
+
+ Documentation
+ -------------
+ - Corrected errors and extended the descriptions in Reference Manual
+ entries for several functions.
+
+ F90 API
+ -------
+ - None
+
+ C++ API
+ -------
+ - Changed
+ StrType::StrType(const size_t& size);
+ to
+ StrType::StrType(const int dummy, const size_t& size);
+ because the first one clashed with
+ StrType::StrType(const hid_t existing_id); - BMR 2007/05/03
+ - Wrappers of H5Rcreate had incorrect prototypes. Added these
+ overloaded functions:
+ IdComponent::reference(void* ref, const char* name,
+DataSpace&
+ dataspace, H5R_type_t ref_type = H5R_DATASET_REGION)
+ IdComponent::void reference(void* ref, const char* name)
+ IdComponent::reference(void* ref, const H5std_string& name)
+ and will remove these incorrect member functions:
+ DataSet::Reference
+ DataType::Reference
+ Group::Reference
+ H5File::Reference
+ - Added wrappers for H5Rdereference as constructors:
+ DataSet(IdComponent& obj, void* ref);
+ Group(IdComponent& obj, void* ref);
+ DataType(IdComponent& obj, void* ref);
+
+
+Documentation
+=============
+
+ HDF5 documentation can be found in the distributed release source
+ code in the subdirectory doc/html/ (start with index.html) or on the
+ THG (The HDF Group) ftp server (ftp.hdfgroup.org) in the directory:
+
+ /HDF5/docs/
+
+ Online documentation for the current release can be found on the THG
+ web site:
+
+ http://hdfgroup.org/HDF5/doc/
+
+
+Platforms Tested
+================
+
+ AIX 5.2 (32/64 bit) xlc 6.0.0.8
+ (datastar) xlC 6.0.0.9
+ xlf 8.1.1.7
+ mpcc_r 6.0.0.8
+ mpxlf_r 8.1.1.7
+
+ AIX 5.3 (32/64 bit) xlc 7.0.0.0
+ (copper) xlC 7.0.
+ xlf 9.1.0.3
+
+ FreeBSD 6.2 (32- and 64-bit) gcc and g++3.4.6
+ (duty and liberty) gcc and g++ 4.2.1
+
+ HP-UX B.11.23 HP aC++/ANSI C B3910B A.06.02
+ (sirius) HP F90 v3.1 (32-bit only)
+ HP aC++/ANSI C B3910B A.06.02
+
+ IRIX64 6.5 MIPSpro cc 7.4.4m
+ (ucar mop1 64 & n32) F90 MIPSpro 7.4.4m (64 only)
+ C++ MIPSpro cc 7.4.4m
+
+ Linux 2.4.21-47.ELsmp #1 SMP gcc 3.2.3
+ i686 i386 GNU/Linux
+ (osage)
+
+ Linux 2.6.9-42.0.10.ELsmp #1 gcc (GCC) 3.4.6
+ SMP i686 i386 G95 (GCC 4.0.3 (g95 0.91!) Nov 21 2006)
+ (kagiso) PGI C, Fortran, C++ 6.2-5 32-bit
+ icc (ICC) 9.1
+ Intel(R) C++ Compiler for 32-bit
+ applications, Version 9.1
+ Intel(R) Fortran Compiler for 32-bit
+ applications, Version 9.1
+ Absoft 32-bit Fortran 95 10.0.4
+ MPICH mpich2-1.0.4p1 compiled with
+ gcc 3.4.6 and G95 (GCC 4.0.3 (g95 0.91!)
+
+ Linux 2.6.16.46-0.12-debug #1
+ SMP ia64 GNU/Linux Intel(R) C++ Version 10.0.025
+ (ucar hir1) Intel(R) Fortran Itanium(R) Version 10.0.025
+
+ Linux 2.6.16.46-0.14-smp #1 Intel(R) C++ for Intel(R) EM64T Ver. 9.1.037
+ SMP x86_64 GNU/Linux Intel(R) Fortran Intel(R) EM64T Ver. 9.1.031
+ (smirom) PGI C, Fortran, C++ Version 6.2-5
+ for 64-bit target on x86-64
+ tested for both 32- and 64-bit binaries
+
+ Linux 2.6.5-7.283-rtgfx Altix
+ SMP ia64 Intel(R) C++ Version 9.0
+ (cobalt) Intel(R) Fortran Itanium(R) Version 9.0
+ SGI MPI
+
+ OSF1 V5.1 (QSC) Compaq C V6.5-011
+ (See "Known Problems.") HP Fortran V5.5A-3548
+ Compaq C++ V6.5-036
+ MPIX200_64_r13.4
+
+ SunOS 5.8 32- and 64-bit Sun WorkShop 6 update 2 C 5.3
+ (sol) Sun WorkShop 6 update 2 Fortran 95 6.2
+ Sun WorkShop 6 update 2 C++ 5.3
+
+ SunOS 5.10 32- and 64-bit Sun WorkShop 6 update 2 C 5.8
+ (linew) Sun WorkShop 6 update 2 Fortran 95 8.2
+ Sun WorkShop 6 update 2 C++ 5.8
+ Patch 121019-06
+
+ Xeon Linux 2.4.21-32.0.1.ELsmp-perfctr-lustre
+ (tungsten) Intel(R) C++ Version 9.0
+ Intel(R) Fortran Compiler Version 9.0
+ PGI C Version 6.0
+ PGI C++ Version 6.0
+ PGI Fortran Version 6.0
+ gcc (GCC) 3.2.2 (Red Hat Linux 3.2.2-5)
+
+ Xeon Linux 2.6.9-42.0.10.EL_lustre-1.4.10.1smp
+ (abe) Intel(R) C++ Version 10.0
+ Intel(R) Fortran Compiler Version 10.0
+ Open MPI 1.2.2
+
+ IA-64 Linux 2.4.21.SuSE_292.til1
+ ia64 gcc (GCC) 3.2.2
+ (NCSA tg-login) Intel(R) C++ Version 8.0
+ Intel(R) Fortran Compiler Version 8.0
+ mpich-gm-1.2.5..10-intel-r2
+
+ Windows XP Visual Studio 6.0
+ Visual Studio .NET (with Intel Fortran 9.0)
+ Visual Studio 2005 (with Intel Fortran 9.0)
+ cygwin (gcc 3.4.4)
+
+ MAC OS X Intel Darwin 8.10.1
+ i686-apple-darwin8-gcc-4.0.1 (GCC) 4.0.1
+ g95 0.91
+
+
+Supported Configuration Features Summary
+========================================
+
+Key: y = Tested and supported
+ n = Not supported or not tested in this release
+ C = Cluster
+ W = Workstation
+ ( ) = Footnote appears below second table
+
+Platform C F90 F90 C++ zlib SZIP
+ parallel parallel
+Solaris2.8 32- and 64-bit n y n y y y
+Solaris2.10 32- and 64-bit n y n y y y
+IRIX64_6.5 32-bit n n n n y y
+IRIX64_6.5 64-bit n y n n y y
+HPUX11.23-32bit n y n y y y
+HPUX11.23-64bit n n n y y y
+WinXP Visual Studio 6.0 n n n y y y
+WinXP CYGWIN n n n y y y
+WinXP 2005 n y n y y y
+WinXP .Net n y n y y y
+Mac OS X 10.4.10 n y n y y y
+AIX-5.2 & 5.3 32- and 64-bit y y y y y y
+FreeBSD 6.2 32- and 64-bit n n n y y y
+RedHat Linux 2.4.21 W n n n y y y
+SuSE Linux 2.6.9-42 i686 GNU (1) W y y y y y y
+SuSE Linux 2.6.9-42 i686 Intel W n y n y y y
+SuSE Linux 2.6.9-42 i686 PGI W n y n y y y
+SuSE Linux 2.6.16 x86_64 GNU (1) W y y y y y y
+SuSE Linux 2.6.16 x86_64 Intel W n y n y y y
+SuSE Linux 2.6.16 x86_64 PGI W n y n y y y
+RHEL 4 Linux 2.6.9 Xeon Lustre C y y y y y y
+RedHat Linux 2.4 Xeon Lustre C n y n y y y
+SuSE Linux 2.4 ia64 C y y y y y y
+SuSe Linux 2.6.16 SGI Altix ia64 n y n y y y
+SuSe Linux 2.6.5 SGI Altix ia64 n y n y y y
+OSF1 v5.1 y y y y y n
+
+
+Platform Shared static- Thread- STREAM-
+ libraries(4) exec safe VFD
+Solaris2.8 32- and 64-bit y n y y
+Solaris2.10 32- and 64-bit y n y y
+IRIX64_6.5 32-bit y n y y
+IRIX64_6.5 64-bit y n y y
+HPUX11.23-32bit y (3) n n y
+HPUX11.23-64bit y (3) n n y
+WinXP Visual Studio 6.0 y n n n
+WinXP CYGWIN y n n n
+WinXP 2005 y n n n
+WinXP .Net y n n n
+Mac OS X 10.4.10 y n n y
+AIX-5.2 & 5.3 32- and 64-bit n n n y
+FreeBSD 6.2 32- and 64-bit y n n y
+RedHat Linux 2.4.21 W y n n y
+SuSE Linux 2.6.9-42 i686 GNU (1) W y n y y
+SuSE Linux 2.6.9-42 i686 Intel W y n n y
+SuSE Linux 2.6.9-42 i686 PGI W n n n y
+SuSE Linux 2.6.16 x86_64 GNU (1) W y n n y
+SuSE Linux 2.6.16 x86_64 Intel W y n n y
+SuSE Linux 2.6.16 x86_64 PGI W n n n y
+RHEL 4 Linux 2.6.9 Xeon Lustre C y n n y
+RedHat Linux 2.4 Xeon Lustre C y n n y
+SuSE Linux 2.4 ia64 C y n n y
+SuSe Linux 2.6.16 SGI Altix ia64 n n n y
+SuSe Linux 2.6.5 SGI Altix ia64 n n n y
+OSF1 v5.1 n n n y
+
+Compiler versions for each platform are listed in the "Platforms Tested"
+table found elsewhere in this file (RELEASE.txt). Unless otherwise noted,
+compilers used are the system compilers.
+
+Footnotes:
+(1) Fortran compiled with g95.
+(2) In most cases, shared libraries are provided only for the C library,
+ except on Windows where they are provided for C, C++, and Fortran.
+(3) C++ works only with static libraries.
+
+
+Known Problems
+==============
+* QSC (an HP alpha-based OSF1 cluster) does not create h5pfc correctly. It
+ does not include the -lmpi properly. This will be fixed in the next
+ release. AKC - 2007/08/07.
+
+* On IRIX64 6.5 (UCAR SGI mop1), when testing HDF5 tools with an HDF5 shared
+ library, especially for h5repacktst and h52gifgentst, the following (or
+ similar) error message may appear:
+ "523648:lt-h5repacktst: rld: Fatal Error: Cannot Successfully map soname
+ 'libh5test.so.1' under any of the filenames .......(bunch of directories)
+ "
+ And the testing will fail.
+ We believe this is a libtool problem. One way to get rid of this is to
+ add the paths of libh5test.so.1 and libh5.so.1 to the shared library path.
+
+ For 32-bit:
+ You may do this, under csh:
+ setenv LD_LIBRARYN32_PATH .......(existing pathes):[full path of HDF5
+ directory/test/.libs]:[full path of HDF5 directory/src/.libs]
+
+ For 64-bit:
+ setenv LD_LIBRARY64_PATH ......(existing pathes):[full path of HDF5
+ directory/test/.libs]:[full path of HDF5 directory/src/.libs]
+
+ NOTE: This problem ONLY affects the testing of the HDF5 library when you
+ build from source. It won't affect any applications that would like to link
+ with the HDF5 shared library since the shared library path needs to be set
+ anyway. KY - 2007/8/2
+
+* QSC (an HP alpha-based OSF1 cluster) failed the testpar/testphdf5 sub-test
+ "calloc". All other tests passed. This indicates that a dataset using
+ chunked storage created by serial HDF5 may not work properly with parallel
+ HDF5. The calloc test can be skipped by running "prun ... testphdf5 -x
+ calloc". AKC - 2007/7/12.
+
+* The Intel C Compiler for the Linux x86_64 platform (EM64T-based, v8.1) has
+ an optimization error in the datax types conversion code. Before running
+ configure, edit the file config/intel-flags by changing the setting of
+ PROD_CFLAGS from -O3 to -O0. Then run configure. AKC - 2005/11/10.
+
+* When testing parallel HDF5 with the C compiler version MIPSpro 7.4.3 on IRIX
+ 6.5, set the environment variable MPI_TYPE_MAX to be a bigger number, for
+ example 120000, in order to pass the complicated collective IO tests inside
+ the parallel HDF5 library. This is not a problem inside the parallel HDF5
+ library. You can always set a bigger number on your system. KY - 2005/10/6
+
+* A contiguous or chunked dataset created by a sequential version of HDF5
+ might not be able to be modified with a parallel version of the library.
+ Use the H5Pset_alloc_time function with H5D_ALLOC_TIME_EARLY to set up the
+ dataset creation property list to avoid the problem. EIP - 2005/09/09
+
+* The dataset created or rewritten with the v1.6.3 library or after can't
+ be read with the v1.6.2 library or before when Fletcher32 EDC (a filter) is
+ enabled. There was a bug in the calculating code of the Fletcher32
+ checksum in the library before v1.6.3. The checksum value wasn't consistent
+ between big-endian and little-endian systems. This bug was fixed in
+ Release 1.6.3. However, after fixing the bug, the checksum value is no
+ longer the same as before on little-endian system. The library release
+ after 1.6.4 can still read the dataset created or rewritten with the library
+ of v1.6.2 or before. SLU - 2005/7/8
+
+* For version 6 (6.02 and 6.04) of the Portland Group compiler on AMD Opteron
+ processor, there's a bug in the compiler for optimization(-O2). The library
+ failed in several tests, all related to the multi driver. The problem has
+ been reported to the vendor.
+
+* test/big fails sometimes with the message "Possible overlap with another
+ region." The test selects regions randomly, and this error occurs when
+ two regions overlap each other; it is a bug in the test and not in
+ HDF5. Since the error is triggered by a random situation, it will
+ usually disappear if the test is re-run.
+
+* Newer SGI MIPSpro compilers (version 7.4.x) support C99 features but
+ have a "guard" statement in stdint.h that will #error and skip the rest
+ of the header file if the C99 option is not used explicitly. Hardsetting
+ $CC to c99 will resolve the problem. AKC - 2004/12/13
+
+* On IBM AIX systems, parallel HDF5 mode will fail some tests with error
+ messages like "INFO: 0031-XXX ...". This is from the command poe.
+ Set the environment variable MP_INFOLEVEL to 0 to minimize the messages
+ and run the tests again.
+
+ The tests may also fail with messages like "The socket name is already
+ in use". HDF5 does not use sockets (except for stream-VFD). This is
+ due to problems of the poe command trying to set up the debug socket.
+ Check whether there are many old /tmp/s.pedb.* files staying around. These
+ are sockets used by the poe command and left behind due to failed commands.
+ Ask your system administrator to clean them out. Lastly, request IBM
+ to provide a means to run poe without the debug socket.
+
+* The h5dump tests may fail to match the expected output on some platforms
+ (e.g. parallel jobs, Windows) where the error messages directed to
+ "stderr" do not appear in the "right order" with output from stdout.
+ This is not an error.
+
+* The stream-vfd test uses ip port 10007 for testing. If another
+ application is already using that port address, the test will hang
+ indefinitely and has to be terminated by the kill command. To try the
+ test again, change the port address in test/stream_test.c to one not
+ being used in the host.
+
+* The --enable-static-exec configure flag fails to compile for Solaris
+ platforms. This is due to the fact that not all of the system
+ libraries on Solaris are available in a static format.
+
+ The --enable-static-exec configure flag also fails to correctly compile
+ on the IBM SP2 platform for the serial mode. The parallel mode works fine
+ with this option.
+
+ The --enable-static-exec configure flag also fails to correctly compile
+ on the HPUX 11.00.
+
+ It is suggested that you don't use this option on these platforms
+ during configuration.
+
+* The Stream VFD is not supported under Windows.
+
+* Use the --disable-shared configure flag if building with Absoft Fortran
+ compiler.
+
+* Information about building with PGI and Intel compilers is available in
+ INSTALL file sections 5.7 and 5.8.
+
+* In LANL QSC, the new cc compiler has problems converting small values of
+ long long (absolute values less than 1**-308) to double. This triggers
+ the test/dtypes to report failure in the following test:
+ Testing random sw long double -> double conversions
+ If -ieee is used, the converted doubles spread over the range 0.0 to
+ 10**-308. If -ieee is not used, the converted double values are mostly
+ 0.0, but occasionally appear as 10**-308. This has been reported to the
+ system staff.
+
+ All other tests have passed.
+
+* On at least one system, SDSC DataStar, the scheduler (in this case
+ LoadLeveler) sends job status updates to standard error when you run
+ any executable that was compiled with the parallel compilers.
+
+ This causes problems when running "make check" on parallel builds, as
+ many of the tool tests function by saving the output from test runs,
+ and comparing it to an exemplar.
+
+ The best solution is to reconfigure the target system so it no longer
+ inserts the extra text. However, this may not be practical.
+
+ In such cases, one solution is to "setenv HDF5_Make_Ignore yes" prior to
+ the configure and build. This will cause "make check" to continue after
+ detecting errors in the tool tests. However, in the case of SDSC DataStar,
+ it also leaves you with some 150 "failed" tests to examine by hand.
+
+ A second solution is to write a script to run serial tests and filter
+ out the text added by the scheduler. A sample script used on SDSC
+ DataStar is given below, but you will probably have to customize it
+ for your installation.
+
+ Observe that the basic idea is to insert the script as the first item
+ on the command line which executes the test. The script then
+ executes the test and filters out the offending text before passing
+ it on.
+
+ #!/bin/csh
+
+ set STDOUT_FILE=~/bin/serial_filter.stdout
+ set STDERR_FILE=~/bin/serial_filter.stderr
+
+ rm -f $STDOUT_FILE $STDERR_FILE
+
+ ($* > $STDOUT_FILE) >& $STDERR_FILE
+
+ set RETURN_VALUE=$status
+
+ cat $STDOUT_FILE
+
+ tail +3 $STDERR_FILE
+
+ exit $RETURN_VALUE
+
+ You get the HDF5 make files and test scripts to execute your filter script
+ by setting the environment variable "RUNSERIAL" to the full path of the
+ script prior to running configure for parallel builds. Remember to
+ "unsetenv RUNSERIAL" before running configure for a serial build.
+
+ Note that the RUNSERIAL environment variable exists so that we can
+ prefix serial runs as necessary on the target system. On DataStar,
+ no prefix is necessary. However, on an MPICH system, the prefix might
+ have to be set to something like "/usr/local/mpi/bin/mpirun -np 1" to
+ get the serial tests to run at all.
+
+ In such cases, you will have to include the regular prefix in your
+ filter script. JM - 2004/9/15
+
+
%%%%1.6.5%%%% Release Information for hdf5-1.6.5 (10/November/05)
diff --git a/release_docs/HISTORY-1_9.txt b/release_docs/HISTORY-1_9.txt
new file mode 100644
index 0000000..8e7648a
--- /dev/null
+++ b/release_docs/HISTORY-1_9.txt
@@ -0,0 +1,6 @@
+ HDF5 HISTORY
+ ============
+ This file contains history of the HDF5 1.9 branch
+
+ CONTENTS
+
diff --git a/release_docs/INSTALL b/release_docs/INSTALL
index 1444bf2..4a9a567 100644
--- a/release_docs/INSTALL
+++ b/release_docs/INSTALL
@@ -1,674 +1,733 @@
- Instructions for the Installation of HDF5 Software
- ==================================================
-
-WARNING: This file was not updated for the 1.8.0-beta* releases. If you have any problems with the HDF5
- installation please contact help@hdfgroup.org
-
- CONTENTS
- --------
- 1. Obtaining HDF5
-
- 2. Warnings about compilers
- 2.1. GNU (Intel platforms)
- 2.2. DEC
- 2.3. SGI (Irix64 6.2)
- 2.4. Windows/NT
-
- 3. Quick installation
- 3.1. Windows
- 3.2. RedStorm (Cray XT3)
-
- 4. HDF5 dependencies
- 4.1. Zlib
- 4.2 Szip
- 4.3. MPI and MPI-IO
-
- 5. Full installation instructions for source distributions
- 5.1. Unpacking the distribution
- 5.1.1. Non-compressed tar archive (*.tar)
- 5.1.2. Compressed tar archive (*.tar.Z)
- 5.1.3. Gzip'd tar archive (*.tar.gz)
- 5.1.4. Bzip'd tar archive (*.tar.bz2)
- 5.2. Source vs. Build Directories
- 5.3. Configuring
- 5.3.1. Specifying the installation directories
- 5.3.2. Using an alternate C compiler
- 5.3.3. Configuring for 64-bit support
- 5.3.4. Additional compilation flags
- 5.3.5. Compiling HDF5 wrapper libraries
- 5.3.6. Specifying other programs
- 5.3.7. Specifying other libraries and headers
- 5.3.8. Static versus shared linking
- 5.3.9. Optimization versus symbolic debugging
- 5.3.10. Large (>2GB) vs. small (<2GB) file capability
- 5.3.11. Parallel vs. serial library
- 5.3.12. Threadsafe capability
- 5.3.13. Backward compatibility
- 5.3.14. Network stream capability
- 5.4. Building
- 5.5. Testing
- 5.6. Installing
- 5.7 Building and testing with Intel compilers
- 5.8 Building and testing with PGI compilers
-
- 6. Using the Library
-
- 7. Support
+Instructions for the Installation of HDF5 Software
+==================================================
+
+This file provides instructions for installing the HDF5 software.
+If you have any problems with the installation, please see The HDF Group's
+support page at the following location:
+
+ http://www.hdfgroup.org/services/support.html
+
+CONTENTS
+--------
+ 1. Obtaining HDF5
+
+ 2. Quick installation
+ 2.1. Windows
+ 2.2. RedStorm (Cray XT3)
+
+ 3. HDF5 dependencies
+ 3.1. Zlib
+ 3.2 Szip (optional)
+ 3.3. MPI and MPI-IO
+
+ 4. Full installation instructions for source distributions
+ 4.1. Unpacking the distribution
+ 4.1.1. Non-compressed tar archive (*.tar)
+ 4.1.2. Compressed tar archive (*.tar.Z)
+ 4.1.3. Gzip'd tar archive (*.tar.gz)
+ 4.1.4. Bzip'd tar archive (*.tar.bz2)
+ 4.2. Source versus build directories
+ 4.3. Configuring
+ 4.3.1. Specifying the installation directories
+ 4.3.2. Using an alternate C compiler
+ 4.3.3. Configuring for 64-bit support
+ 4.3.4. Additional compilation flags
+ 4.3.5. Compiling HDF5 wrapper libraries
+ 4.3.6. Specifying other programs
+ 4.3.7. Specifying other libraries and headers
+ 4.3.8. Static versus shared linking
+ 4.3.9. Optimization versus symbolic debugging
+ 4.3.10. Parallel versus serial library
+ 4.3.11. Threadsafe capability
+ 4.3.12. Backward compatibility
+ 4.4. Building
+ 4.5. Testing
+ 4.6. Installing HDF5
+
+ 5. Using the Library
+
+ 6. Support
+
+ A. Warnings about compilers
+ A.1. GNU (Intel platforms)
+ A.2. DEC
+ A.3. SGI (Irix64 6.2)
+ A.4. Windows/NT
+
+ B. Large (>2GB) versus small (<2GB) file capability
+
+ C. Building and testing with other compilers
+ C.1. Building and testing with Intel compilers
+ C.2. Building and testing with PGI compilers
*****************************************************************************
1. Obtaining HDF5
- The latest supported public release of HDF5 is available from
- ftp://hdf.ncsa.uiuc.edu/HDF5/current/src. For Unix platforms, it is
- available in tar format compressed with gzip. For Microsoft Windows,
- it is in ZIP format.
-
- The HDF team also makes snapshots of the source code available on
- a regular basis. These snapshots are unsupported (that is, the
- HDF team will not release a bug-fix on a particular snapshot;
- rather any bug fixes will be rolled into the next snapshot).
- Furthermore, the snapshots have only been tested on a few
- machines and may not test correctly for parallel applications.
- Snapshots can be found at
- ftp://hdf.ncsa.uiuc.edu/pub/outgoing/hdf5/snapshots in a limited
- number of formats.
-
-
-2. Warnings about compilers
- OUTPUT FROM THE FOLLOWING COMPILERS SHOULD BE EXTREMELY SUSPECT
- WHEN USED TO COMPILE THE HDF5 LIBRARY, ESPECIALLY IF
- OPTIMIZATIONS ARE ENABLED. IN ALL CASES, HDF5 ATTEMPTS TO WORK
- AROUND THE COMPILER BUGS BUT THE HDF5 DEVELOPMENT TEAM MAKES NO
- GUARANTEES THAT THERE ARE OTHER CODE GENERATION PROBLEMS.
-
-2.1. GNU (Intel platforms)
- Versions before 2.8.1 have serious problems allocating registers
- when functions contain operations on `long long' data types.
- Supplying the `--disable-hsizet' switch to configure (documented
- below) will prevent hdf5 from using `long long' data types in
- situations that are known not to work, but it limits the hdf5
- address space to 2GB.
-
-2.2. COMPAQ/DEC
- The V5.2-038 compiler (and possibly others) occasionally
- generates incorrect code for memcpy() calls when optimizations
- are enabled, resulting in unaligned access faults. HDF5 works
- around the problem by casting the second argument to `char *'.
- The fortran module (5.4.1a) fails in compiling some fortran
- programs. Need to use 5.5.0 or more.
-
-2.3. SGI (Irix64 6.2)
- The Mongoose 7.00 compiler has serious optimization bugs and
- should be upgraded to MIPSpro 7.2.1.2m. Patches are available
- from SGI.
-
-2.4. Windows/NT
- The MicroSoft Win32 5.0 compiler is unable to cast unsigned long
- long values to doubles. HDF5 works around this bug by first
- casting to signed long long and then to double.
-
- A link warning: defaultlib "LIBC" conflicts with use of other libs
- appears for debug version of VC++ 6.0. This warning will not affect
- building and testing hdf5 libraries.
-
-
-3. Quick installation
- For those that don't like to read ;-) the following steps can be
- used to configure, build, test, and install the HDF5 library,
- header files, and support programs.
-
- $ gunzip < hdf5-1.6.0.tar.gz | tar xf -
- $ cd hdf5-1.6.0
- $ make check
- $ make install
-
-3.1. Windows
- Users of Microsoft Windows should see the INSTALL_Windows for
- detailed instructions.
-
-3.2. RedStorm (Cray Xt3)
- Users of the Red Storm machine, after reading this file, should read
- the Red Storm section in the INSTALL_parallel file for specific
- instructions for the Red Storm machine. The same instructions would
- probably work for other Cray XT3 systems but they have not been
- verified.
-
-
-4. HDF5 dependencies
-4.1. Zlib
- The HDF5 library has a predefined compression filter that uses
- the "deflate" method for chunked datatsets. If zlib-1.1.2 or
- later is found then HDF5 will use it, otherwise HDF5's predefined
- compression method will degenerate to a no-op (the compression
- filter will succeed but the data will not be compressed).
-
-4.2. Szip
- The HDF5 library has a predefined compression filter that uses
- the extended-Rice lossless compression algorithm for chunked
- datatsets. For more information about Szip compression and license terms
- see http://hdf.ncsa.uiuc.edu/HDF5/doc_resource/SZIP/index.html.
- Precompiled szip binaries for each supported platform and source tar ball
- file can be found at ftp://ftp.ncsa.uiuc.edu/HDF/HDF5/current/
-
-4.3. MPI and MPI-IO
- The parallel version of the library is built upon the foundation
- provided by MPI and MPI-IO. If these libraries are not available
- when HDF5 is configured then only a serial version of HDF5 can be
- built.
-
-
-5. Full installation instructions for source distributions
-5.1. Unpacking the distribution
- The HDF5 source code is distributed in a variety of formats which
- can be unpacked with the following commands, each of which
- creates an `hdf5-1.6.0' directory.
-
-5.1.1. Non-compressed tar archive (*.tar)
-
- $ tar xf hdf5-1.6.0.tar
-
-5.1.2. Compressed tar archive (*.tar.Z)
-
- $ uncompress -c < hdf5-1.6.0.tar.Z | tar xf -
-
-5.1.3. Gzip'd tar archive (*.tar.gz)
-
- $ gunzip < hdf5-1.6.0.tar.gz | tar xf -
-
-5.1.4. Bzip'd tar archive (*.tar.bz2)
-
- $ bunzip2 < hdf5-1.6.0.tar.bz2 | tar xf -
-
-5.2. Source vs. Build Directories
- On most systems the build can occur in a directory other than the
- source directory, allowing multiple concurrent builds and/or
- read-only source code. In order to accomplish this, one should
- create a build directory, cd into that directory, and run the
- `configure' script found in the source directory (configure
- details are below).
-
- Unfortunately, this does not work on recent Irix platforms (6.5?
- and later) because that `make' doesn't understand the VPATH
- variable. However, hdf5 also supports Irix `pmake' which has a
- .PATH target which serves a similar purpose. Here's what the man
- pages say about VPATH, which is the facility used by HDF5
- makefiles for this feature:
-
- The VPATH facility is a derivation of the undocumented
- VPATH feature in the System V Release 3 version of make.
- System V Release 4 has a new VPATH implementation, much
- like the pmake(1) .PATH feature. This new feature is also
- undocumented in the standard System V Release 4 manual
- pages. For this reason it is not available in the IRIX
- version of make. The VPATH facility should not be used
- with the new parallel make option.
-
-5.3. Configuring
- HDF5 uses the GNU autoconf system for configuration, which
- detects various features of the host system and creates the
- Makefiles. On most systems it should be sufficient to say:
-
- $ ./configure OR
- $ sh configure
-
- The configuration process can be controlled through environment
- variables, command-line switches, and host configuration files.
- For a complete list of switches type:
-
- $ ./configure --help
-
- The host configuration files are located in the `config'
- directory and are based on architecture name, vendor name, and/or
- operating system which are displayed near the beginning of the
- `configure' output. The host config file influences the behavior
- of configure by setting or augmenting shell variables.
-
-5.3.1. Specifying the installation directories
- Typing `make install' will install the HDF5 library, header
- files, examples, and support programs in /usr/local/lib,
- /usr/local/include, /usr/local/doc/hdf5/examples, and
- /usr/local/bin. To use a path other than
- /usr/local specify the path with the `--prefix=PATH' switch:
-
- $ ./configure --prefix=$HOME
-
- If shared libraries are being built (the default) then the final
- home of the shared library must be specified with this switch
- before the library and executables are built.
-
- HDF5 can be installed into a different location than the prefix
- specified at configure time; see the section on Installing HDF5
- for more details.
-
-5.3.2. Using an alternate C compiler
- By default, configure will look for the C compiler by trying
- `gcc' and `cc'. However, if the environment variable "CC" is set
- then its value is used as the C compiler (users of csh and
- derivatives will need to prefix the commands below with `env').
- For instance, to use the native C compiler on a system which also
- has the GNU gcc compiler:
-
- $ CC=cc ./configure
-
- A parallel version of hdf5 can be built by specifying `mpicc'
- as the C compiler (the `--enable-parallel' flag documented
- below is optional in this case). Using the `mpicc' compiler
- will insure that the correct MPI and MPI-IO header files and
- libraries are used.
-
- $ CC=/usr/local/mpi/bin/mpicc ./configure
-
-5.3.3. Configuring for 64-bit support
- Several machine architectures support 32-bit or 64-bit binaries.
- The options below describe how to enable support for different options.
-
- On Irix64 the default compiler is `cc'. To use an alternate
- compiler specify it with the CC variable:
-
- $ CC='cc -n32' ./configure
-
- Similarly, users compiling on a Solaris machine and desiring to
- build the distribution with 64-bit support should specify the
- correct flags with the CC variable:
-
- $ CC='cc -xarch=v9' ./configure
-
- To configure AIX 64-bit support including fortran API and C++,
- (Note: need to set $AR to 'ar -X 64'.)
- Serial:
- $ CFLAGS=-q64 FFLAGS=-q64 CXXFLAGS=-q64 AR='ar -X 64'\
- $ ./configure --enable-fortran
- Parallel: (C++ not supported with parallel)
- $ CFLAGS=-q64 FFLAGS=-q64 AR='ar -X 64'\
- $ ./configure --enable-fortran
-
-5.3.4. Additional compilation flags
- If addtional flags must be passed to the compilation commands
- then specify those flags with the CFLAGS variable. For instance,
- to enable symbolic debugging of a production version of HDF5 one
- might say:
-
- $ CFLAGS=-g ./configure --enable-production
-
-5.3.5. Compiling HDF5 wrapper libraries
- One can optionally build the Fortran and/or C++ interface to the
- HDF5 C library. By default, both options are disabled. To build
- them, specify `--enable-fortran' and `--enable-cxx' respectively.
-
- $ ./configure --enable-fortran
- $ ./configure --enable-cxx
-
- Configuration will halt if a working Fortran 90 or 95 compiler or
- C++ compiler is not found. Currently, the Fortran configure tests
- for these compilers in order: f90, pgf90, f95. To use an
- alternative compiler specify it with the F9X variable:
-
- $ F9X=/usr/local/bin/g95 ./configure --enable-fortran
-
- Note: The Fortran and C++ interfaces are not supported on all the
- platforms the main HDF5 library supports. Also, the Fortran
- interface supports parallel HDF5 while the C++ interface does
- not.
-
- Note: On Cray T3Es the following files should be modified before
- building the Fortran Library:
- fortran/src/H5Dff.f90
- fortran/src/H5Aff.f90
- fortran/src/H5Pff.f90
- Check for "Comment if on T3E ..." comment and comment out
- specified lines or use a patch from HDF FTP server
- ftp://ftp.ncsa.uiuc.edu/HDF/HDF5/current/
-
- Note: See sections 5.7 and 5.8 for how to build Fortran Library with
- PGI or Intel compilers.
-
-5.3.6. Specifying other programs
- The build system has been tuned for use with GNU make but works
- also with other versions of make. If the `make' command runs a
- non-GNU version but a GNU version is available under a different
- name (perhaps `gmake') then HDF5 can be configured to use it by
- setting the MAKE variable. Note that whatever value is used for
- MAKE must also be used as the make command when building the
- library:
-
- $ MAKE=gmake ./configure
- $ gmake
-
- The `AR' and `RANLIB' variables can also be set to the names of
- the `ar' and `ranlib' (or `:') commands to override values
- detected by configure.
-
- The HDF5 library, include files, and utilities are installed
- during `make install' (described below) with a BSD-compatible
- install program detected automatically by configure. If none is
- found then the shell script bin/install-sh is used. Configure
- doesn't check that the install script actually works, but if a
- bad install is detected on your system (e.g., on the ASCI blue
- machine as of March 2, 1999) you have two choices:
-
- 1. Copy the bin/install-sh program to your $HOME/bin
- directory, name it `install', and make sure that $HOME/bin
- is searched before the system bin directories.
-
- 2. Specify the full path name of the `install-sh' program
- as the value of the INSTALL environment variable. Note: do
- not use `cp' or some other program in place of install
- because the HDF5 makefiles also use the install program to
- also change file ownership and/or access permissions.
-
-5.3.7. Specifying other libraries and headers
- Configure searches the standard places (those places known by the
- systems compiler) for include files and header files. However,
- additional directories can be specified by using the CPPFLAGS
- and/or LDFLAGS variables:
-
- $ CPPFLAGS=-I/home/robb/include \
+ The latest supported public release of HDF5 is available from
+ ftp://ftp.hdfgroup.org/HDF5/current/src. For Unix and UNIX-like
+ platforms, it is available in tar format compressed with gzip.
+ For Microsoft Windows, it is in ZIP format.
+
+ The HDF team also makes snapshots of the source code available on
+ a regular basis. These snapshots are unsupported (that is, the
+ HDF team will not release a bug-fix on a particular snapshot;
+ rather any bug fixes will be rolled into the next snapshot).
+ Furthermore, the snapshots have only been tested on a few
+ machines and may not test correctly for parallel applications.
+ Snapshots, in a limited number of formats, can be found on THG's
+ development FTP server:
+
+ ftp://ftp.hdfgroup.uiuc.edu/pub/outgoing/hdf5/snapshots
+
+
+2. Quick installation
+ For those who don't like to read ;-) the following steps can be used
+ to configure, build, test, and install the HDF5 Library, header files,
+ and support programs. For example, to install HDF5 version X.Y.Z at
+ location /usr/local/hdf5, use the following steps.
+
+ $ gunzip < hdf5-X.Y.Z.tar.gz | tar xf -
+ $ cd hdf5-X.Y.Z
+ $ ./configure --prefix=/usr/local/hdf5 <more configure_flags>
+ $ make
+ $ make check # run test suite.
+ $ make install
+ $ make check-install # verify installation.
+
+ Some versions of the tar command support the -z option. In such cases,
+ the first step above can be simplified to the following:
+
+ $ tar zxf hdf5-X.Y.Z.tar.gz
+
+ <configure_flags> above refers to the configure flags appropriate
+ to your installation. For example, to install HDF5 with the
+ Fortran and C++ interfaces and with SZIP compression, the
+ configure line might read as follows:
+
+ $ ./configure --prefix=/usr/local/hdf5 --enable-fortran \
+ --enable-cxx --with-szlib=PATH_TO_SZIP
+
+ In this case, PATH_TO_SZIP would be replaced with the path to the
+ installed location of the SZIP library.
+
+2.1. Windows
+ Users of Microsoft Windows should see the INSTALL_Windows files for
+ detailed instructions.
+
+2.2. RedStorm (Cray XT3)
+ Users of the Red Storm machine, after reading this file, should read
+ the Red Storm section in the INSTALL_parallel file for specific
+ instructions for the Red Storm machine. The same instructions would
+ probably work for other Cray XT3 systems, but they have not been
+ verified.
+
+
+3. HDF5 dependencies
+3.1. Zlib
+ The HDF5 Library includes a predefined compression filter that
+ uses the "deflate" method for chunked datasets. If zlib-1.1.2 or
+ later is found, HDF5 will use it. Otherwise, HDF5's predefined
+ compression method will degenerate to a no-op; the compression
+ filter will succeed but the data will not be compressed.
+
+3.2. Szip (optional)
+ The HDF5 Library includes a predefined compression filter that
+ uses the extended-Rice lossless compression algorithm for chunked
+ datasets. For more information about Szip compression and license
+ terms, see http://hdfgroup.org/doc_resource/SZIP/.
+
+ Precompiled Szip binaries for each supported platform and a source
+ tar file can be found at ftp://ftp.hdfgroup.org/lib-external/szip/.
+
+ To configure the HDF5 Library with the Szip compression filter, use
+ the '--enable-szlib=/PATH_TO_SZIP' flag. For more information, see
+ section 4.3.7, "Specifying other libraries and headers."
+
+ Starting with release 1.6.3, Szip library binaries are distributed
+ with the encoder enabled (a license may be required to use this binary)
+ and with the encoder disabled (freely usable without a license).
+ If the encoder enabled binary is used, Szip compression encoding is
+ available for an HDF5 application; if the encoder disabled binary is
+ used, Szip compression is not available. Szip decoding is always
+ available for applications (i.e., an HDF5 application can always read
+ Szip-compressed data) if the Szip filter is present, regardless of the
+ binary used.
+
+3.3. MPI and MPI-IO
+ The parallel version of the library is built upon the foundation
+ provided by MPI and MPI-IO. If these libraries are not available
+ when HDF5 is configured, only a serial version of HDF5 can be built.
+
+
+4. Full installation instructions for source distributions
+
+4.1. Unpacking the distribution
+ The HDF5 source code is distributed in a variety of formats which
+ can be unpacked with the following commands, each of which creates an
+ 'hdf5-X.Y.Z' directory, where X.Y.Z is the HDF5 version numbers.
+
+4.1.1. Non-compressed tar archive (*.tar)
+
+ $ tar xf hdf5-X.Y.Z.tar
+
+4.1.2. Compressed tar archive (*.tar.Z)
+
+ $ uncompress -c < hdf5-X.Y.Z.tar.Z | tar xf -
+ Or
+ $ tar Zxf hdf5-X.Y.Z.tar.Z
+
+4.1.3. Gzip'd tar archive (*.tar.gz)
+
+ $ gunzip < hdf5-X.Y.Z.tar.gz | tar xf -
+ Or
+ $ tar zxf hdf5-X.Y.Z.tar.gz
+
+4.1.4. Bzip'd tar archive (*.tar.bz2)
+
+ $ bunzip2 < hdf5-X.Y.Z.tar.bz2 | tar xf -
+ Or
+ $ tar jxf hdf5-X.Y.Z.tar.bz2
+
+4.2. Source versus build directories
+ On most systems the build can occur in a directory other than the
+ source directory, allowing multiple concurrent builds and/or
+ read-only source code. In order to accomplish this, one should
+ create a build directory, cd into that directory, and run the
+ `configure' script found in the source directory (configure
+ details are below). For example,
+ $ mkdir built-fortran
+ $ cd build-fortran
+ $ ../hdf5-X.Y.Z/configure --enable-fortran ...
+
+ Unfortunately, this does not work on recent Irix platforms (6.5?
+ and later) because that `make' does not understand the VPATH variable.
+ However, HDF5 also supports Irix `pmake' which has a .PATH target
+ which serves a similar purpose. Here's what the Irix man pages say
+ about VPATH, the facility used by HDF5 makefiles for this feature:
+
+ The VPATH facility is a derivation of the undocumented
+ VPATH feature in the System V Release 3 version of make.
+ System V Release 4 has a new VPATH implementation, much
+ like the pmake(1) .PATH feature. This new feature is also
+ undocumented in the standard System V Release 4 manual
+ pages. For this reason it is not available in the IRIX
+ version of make. The VPATH facility should not be used
+ with the new parallel make option.
+
+4.3. Configuring
+ HDF5 uses the GNU autoconf system for configuration, which
+ detects various features of the host system and creates the
+ Makefiles. On most systems it should be sufficient to say:
+
+ $ ./configure
+ Or
+ $ sh configure
+
+ The configuration process can be controlled through environment
+ variables, command-line switches, and host configuration files.
+ For a complete list of switches type:
+
+ $ ./configure --help
+
+ The host configuration files are located in the `config'
+ directory and are based on architecture name, vendor name, and/or
+ operating system which are displayed near the beginning of the
+ `configure' output. The host config file influences the behavior
+ of configure by setting or augmenting shell variables.
+
+4.3.1. Specifying the installation directories
+ The default installation location is the HDF5 directory created in
+ the build directory. Typing `make install' will install the HDF5
+ Library, header files, examples, and support programs in hdf5/lib,
+ hdf5/include, hdf5/doc/hdf5/examples, and hdf5/bin. To use a path
+ other than hdf5, specify the path with the `--prefix=PATH' switch:
+
+ $ ./configure --prefix=/usr/local
+
+ If shared libraries are being built (the default), the final
+ home of the shared library must be specified with this switch
+ before the library and executables are built.
+
+ HDF5 can be installed into a different location than the prefix
+ specified at configure time; see section 4.6, "Installing HDF5,"
+ for more details.
+
+4.3.2. Using an alternate C compiler
+ By default, configure will look for the C compiler by trying
+ `gcc' and `cc'. However, if the environment variable "CC" is set
+ then its value is used as the C compiler. For instance, one would
+ use the following line to specify the native C compiler on a system
+ that also has the GNU gcc compiler (users of csh and derivatives
+ will need to prefix the commands below with `env'):
+
+ $ CC=cc ./configure
+
+ A parallel version of HDF5 can be built by specifying `mpicc'
+ as the C compiler. (The `--enable-parallel' flag documented
+ below is optional in this case.) Using the `mpicc' compiler
+ will insure that the correct MPI and MPI-IO header files and
+ libraries are used.
+
+ $ CC=/usr/local/mpi/bin/mpicc ./configure
+
+4.3.3. Configuring for 64-bit support
+ Several machine architectures support 32-bit or 64-bit binaries.
+ The options below describe how to enable support for different options.
+
+ On Irix64, the default compiler is `cc'. To use an alternate compiler,
+ specify it with the CC variable:
+
+ $ CC='cc -n32' ./configure
+
+ Similarly, users compiling on a Solaris machine and desiring to
+ build the distribution with 64-bit support should specify the
+ correct flags with the CC variable:
+
+ $ CC='cc -xarch=v9' ./configure
+
+ To configure AIX 64-bit support including the Fortran and C++ APIs,
+ (Note: need to set $AR to 'ar -X 64'.)
+ Serial:
+ $ CFLAGS=-q64 FFLAGS=-q64 CXXFLAGS=-q64 AR='ar -X 64'\
+ ./configure --enable-fortran
+ Parallel: (C++ not supported with parallel)
+ $ CFLAGS=-q64 FFLAGS=-q64 AR='ar -X 64'\
+ ./configure --enable-fortran
+
+4.3.4. Additional compilation flags
+ If addtional flags must be passed to the compilation commands,
+ specify those flags with the CFLAGS variable. For instance,
+ to enable symbolic debugging of a production version of HDF5, one
+ might say:
+
+ $ CFLAGS=-g ./configure --enable-production
+
+4.3.5. Compiling HDF5 wrapper libraries
+ One can optionally build the Fortran and/or C++ interfaces to the
+ HDF5 C library. By default, both options are disabled. To build
+ them, specify `--enable-fortran' and `--enable-cxx', respectively.
+
+ $ ./configure --enable-fortran
+ $ ./configure --enable-cxx
+
+ Configuration will halt if a working Fortran 90 or 95 compiler or
+ C++ compiler is not found. Currently, the Fortran configure tests
+ for these compilers in order: f90, pgf90, f95. To use an
+ alternate compiler specify it with the FC variable:
+
+ $ FC=/usr/local/bin/g95 ./configure --enable-fortran
+
+ Note: The Fortran and C++ interfaces are not supported on all the
+ platforms the main HDF5 Library supports. Also, the Fortran
+ interface supports parallel HDF5 while the C++ interface does
+ not.
+
+ Note: See sections 4.7 and 4.8 for building the Fortran library with
+ Intel or PGI compilers.
+
+4.3.6. Specifying other programs
+ The build system has been tuned for use with GNU make but also
+ works with other versions of make. If the `make' command runs a
+ non-GNU version but a GNU version is available under a different
+ name (perhaps `gmake'), then HDF5 can be configured to use it by
+ setting the MAKE variable. Note that whatever value is used for
+ MAKE must also be used as the make command when building the
+ library:
+
+ $ MAKE=gmake ./configure
+ $ gmake
+
+ The `AR' and `RANLIB' variables can also be set to the names of
+ the `ar' and `ranlib' (or `:') commands to override values
+ detected by configure.
+
+ The HDF5 Library, include files, and utilities are installed
+ during `make install' (described below) with a BSD-compatible
+ install program detected automatically by configure. If none is
+ found, the shell script bin/install-sh is used. Configure does not
+ check that the install script actually works; if a bad install is
+ detected on your system (e.g., on the ASCI blue machine as of
+ March 2, 1999) you have two choices:
+
+ 1. Copy the bin/install-sh program to your $HOME/bin
+ directory, name it `install', and make sure that $HOME/bin
+ is searched before the system bin directories.
+
+ 2. Specify the full path name of the `install-sh' program
+ as the value of the INSTALL environment variable. Note: do
+ not use `cp' or some other program in place of install
+ because the HDF5 makefiles also use the install program to
+ change file ownership and/or access permissions.
+
+4.3.7. Specifying other libraries and headers
+ Configure searches the standard places (those places known by the
+ systems compiler) for include files and header files. However,
+ additional directories can be specified by using the CPPFLAGS
+ and/or LDFLAGS variables:
+
+ $ CPPFLAGS=-I/home/robb/include \
LDFLAGS=-L/home/robb/lib \
- ./configure
-
- HDF5 uses the zlib library for two purposes: it provides support
- for the HDF5 deflate data compression filter, and it is used by
- the h5toh4 converter and the h4toh5 converter in support of
- HDF4. Configure searches the standard places (plus those
- specified above with CPPFLAGS and LDFLAGS variables) for the zlib
- headers and library. The search can be disabled by specifying
- `--without-zlib' or alternate directories can be specified with
- `--with-zlib=INCDIR,LIBDIR' or through the CPPFLAGS and LDFLAGS
- variables:
-
- $ ./configure --with-zlib=/usr/unsup/include,/usr/unsup/lib
-
- $ CPPFLAGS=-I/usr/unsup/include \
- LDFLAGS=-L/usr/unsup/lib \
- ./configure
-
- The HDF5-to-HDF4 and HDF4-to-HDF5 conversion tool requires the
- HDF4 library and header files which are detected the same way as
- zlib. The switch to give to configure is `--with-hdf4'. Note
- that HDF5 requires a newer version of zlib than the one shipped
- with some versions of HDF4. Also, unless you have the "correct"
- version of hdf4 the confidence testing will fail in the tools
- directory.
-
- HDF5 has Szip predefined compression method (see 4.2). To enable
- Szip compression, HDF5 library has to be configured and build using
- Szip Library
-
- $ ./configure --with-szlib=/Szip_Install_Directory
-
-5.3.8. Static versus shared linking
- The build process will create static libraries on all systems and
- shared libraries on systems that support dynamic linking to a
- sufficient degree. Either form of library may be suppressed by
- saying `--disable-static' or `--disable-shared'.
-
- $ ./configure --disable-shared
-
- Shared C++ and Fortran libraries will be built if shared libraries
- are enabled.
-
- To build only statically linked executables on platforms which
- support shared libraries, use the `--enable-static-exec' flag.
-
- $ ./configure --enable-static-exec
-
-5.3.9. Optimization versus symbolic debugging
- The library can be compiled to provide symbolic debugging support
- so it can be debugged with gdb, dbx, ddd, etc or it can be
- compiled with various optimizations. To compile for symbolic
- debugging (the default for snapshots) say `--disable-production';
- to compile with optimizations (the default for supported public
- releases) say `--enable-production'. On some systems the library
- can also be compiled for profiling with gprof by saying
- `--enable-production=profile'.
-
- $ ./configure --disable-production #symbolic debugging
- $ ./configure --enable-production #optimized code
- $ ./configure --enable-production=profile #for use with gprof
-
- Regardless of whether support for symbolic debugging is enabled,
- the library also is able to perform runtime debugging of certain
- packages (such as type conversion execution times, and extensive
- invariant condition checking). To enable this debugging supply a
- comma-separated list of package names to to the `--enable-debug'
- switch (see Debugging.html for a list of package names).
- Debugging can be disabled by saying `--disable-debug'. The
- default debugging level for snapshots is a subset of the
- available packages; the default for supported releases is no
- debugging (debugging can incur a significant runtime penalty).
-
- $ ./configure --enable-debug=s,t #debug only H5S and H5T
- $ ./configure --enable-debug #debug normal packages
- $ ./configure --enable-debug=all #debug all packages
- $ ./configure --disable-debug #no debugging
-
- HDF5 is also able to print a trace of all API function calls,
- their arguments, and the return values. To enable or disable the
- ability to trace the API say `--enable-trace' (the default for
- snapthots) or `--disable-trace' (the default for public
- releases). The tracing must also be enabled at runtime to see any
- output (see Debugging.html).
-
-5.3.10. Large (>2GB) vs. small (<2GB) file capability
- In order to read or write files that could potentially be larger
- than 2GB it is necessary to use the non-ANSI `long long' data
- type on some platforms. However, some compilers (e.g., GNU gcc
- versions before 2.8.1 on Intel platforms) are unable to produce
- correct machine code for this data type. To disable use of the
- `long long' type on these machines say:
-
- $ ./configure --disable-hsizet
-
-5.3.11. Parallel vs. serial library
- The HDF5 library can be configured to use MPI and MPI-IO for
- parallelizm on a distributed multi-processor system. Read the
- file INSTALL_parallel for detailed explanations.
-
-5.3.12. Threadsafe capability
- The HDF5 library can be configured to be thread-safe (on a very
- large scale) with the with the `--enable-threadsafe' flag to
- the configure script. Some platforms may also require the
- '-with-pthread=INC,LIB' (or '--with-pthread=DIR') flag to the configure
- script as well. Read the file doc/TechNotes/ThreadSafeLibrary.html
- for further details.
-
-5.3.13. Backward compatibility
- The 1.8 version of the HDF5 library can be configured to operate
- identically to the v1.6 library with the `--enable-hdf5v1_6'
- configure flag. This allows existing code to be compiled with the
- v1.8 library without requiring immediate changes to the
- application source code. This flag will only be supported in the
- v1.8 branch of the library, it will not be available in v1.9+.
-
-5.3.14. Network stream capability
- The HDF5 library can be configured with a network stream file
- driver with the `--enable-stream-vfd' configure flag. This option
- compiles the "stream" Virtual File Driver into the main library.
- See the documentation on the Virtual File Layer for more details
- about the use of this driver. The network stream capability is
- enabled by default, except for use in parallel or with a parallel
- compiler, where it is disabled. Explicitly enabling Stream-VFD
- will allow for its use in parallel.
-
-5.4. Building
- The library, confidence tests, and programs can be build by
- saying just:
-
- $ make
-
- Note that if you supplied some other make command via the MAKE
- variable during the configuration step then that same command
- must be used here.
-
- When using GNU make you can add `-j -l6' to the make command to
- compile in parallel on SMP machines. Do not give a number after
- th `-j' since GNU make will turn it off for recursive invocations
- of make.
-
- $ make -j -l6
-
-5.5. Testing
- HDF5 comes with various test suites, all of which can be run by
- saying
-
- $ make check
-
- To run only the tests for the library change to the `test'
- directory before issuing the command. Similarly, tests for the
- parallel aspects of the library are in `testpar' and tests for
- the support programs are in `tools'.
-
- Temporary files will be deleted by each test when it complets,
- but may continue to exist in an incomplete state if the test
- fails. To prevent deletion of the files define the HDF5_NOCLEANUP
- environment variable.
-
- The HDF5 tests can take a long time to run on some systems. To
- perform a faster (but less thorough) test, set the HDF5TestExpress
- environment variable to 2 or 3 (with 3 being the shortest run).
- To perform a longer test, set HDF5TestExpress to 0. 1 is the default.
-
-5.6. Installing
- The HDF5 library, include files, and support programs can be
- installed in a (semi-)public place by saying `make install'. The
- files are installed under the directory specified with
- `--prefix=DIR' (or '/usr/local') in directories named `lib',
- `include', and `bin'. The prefix directory must exist prior to
- `make install', but its subdirectories are created automatically.
-
- If `make install' fails because the install command at your site
- somehow fails, you may use the install-sh that comes with the
- source. You need to run ./configure again.
+ ./configure
+
+ HDF5 uses the zlib library for two purposes: it provides support
+ for the HDF5 deflate data compression filter, and it is used by
+ the h5toh4 converter and the h4toh5 converter in support of
+ HDF4. Configure searches the standard places (plus those specified
+ above with the CPPFLAGS and LDFLAGS variables) for the zlib
+ headers and library. The search can be disabled by specifying
+ `--without-zlib' or alternate directories can be specified with
+ `--with-zlib=INCDIR,LIBDIR' or through the CPPFLAGS and LDFLAGS
+ variables:
+
+ $ ./configure --with-zlib=/usr/unsup/include,/usr/unsup/lib
+
+ $ CPPFLAGS=-I/usr/unsup/include \
+ LDFLAGS=-L/usr/unsup/lib \
+ ./configure
+
+ The HDF5-to-HDF4 and HDF4-to-HDF5 conversion tool requires the
+ HDF4 library and header files, which are detected the same way as
+ zlib. The switch to give to configure is `--with-hdf4'. Note
+ that HDF5 requires a newer version of zlib than the one shipped
+ with some versions of HDF4. Also, unless you have the "correct"
+ version of HDF4, the confidence testing will fail in the tools
+ directory.
+
+ HDF5 includes Szip as a predefined compression method (see 3.2).
+ To enable Szip compression, the HDF5 Library must be configured
+ and built using the Szip Library:
+
+ $ ./configure --with-szlib=/Szip_Install_Directory
+
+4.3.8. Static versus shared linking
+ The build process will create static libraries on all systems and
+ shared libraries on systems that support dynamic linking to a
+ sufficient degree. Either form of the library may be suppressed by
+ saying `--disable-static' or `--disable-shared'.
+
+ $ ./configure --disable-shared
+
+ Shared C++ and Fortran libraries will be built if shared libraries
+ are enabled.
+
+ To build only statically linked executables on platforms which
+ support shared libraries, use the `--enable-static-exec' flag.
+
+ $ ./configure --enable-static-exec
+
+4.3.9. Optimization versus symbolic debugging
+ The library can be compiled to provide symbolic debugging support
+ so it can be debugged with gdb, dbx, ddd, etc., or it can be
+ compiled with various optimizations. To compile for symbolic
+ debugging (the default for snapshots), say `--disable-production';
+ to compile with optimizations (the default for supported public
+ releases), say `--enable-production'. On some systems the library
+ can also be compiled for profiling with gprof by saying
+ `--enable-production=profile'.
+
+ $ ./configure --disable-production #symbolic debugging
+ $ ./configure --enable-production #optimized code
+ $ ./configure --enable-production=profile #for use with gprof
+
+ Regardless of whether support for symbolic debugging is enabled,
+ the library can also perform runtime debugging of certain packages
+ (such as type conversion execution times and extensive invariant
+ condition checking). To enable this debugging, supply a
+ comma-separated list of package names to to the `--enable-debug'
+ switch. See "Debugging HDF5 Applications" for a list of package
+ names:
+
+ http://www.hdfgroup.org/HDF5/doc/H5.user/Debugging.html
+
+ Debugging can be disabled by saying `--disable-debug'.
+ The default debugging level for snapshots is a subset of the
+ available packages; the default for supported releases is no
+ debugging (debugging can incur a significant runtime penalty).
+
+ $ ./configure --enable-debug=s,t #debug only H5S and H5T
+ $ ./configure --enable-debug #debug normal packages
+ $ ./configure --enable-debug=all #debug all packages
+ $ ./configure --disable-debug #no debugging
+
+ HDF5 can also print a trace of all API function calls, their
+ arguments, and the return values. To enable or disable the
+ ability to trace the API say `--enable-trace' (the default for
+ snapthots) or `--disable-trace' (the default for public releases).
+ The tracing must also be enabled at runtime to see any output
+ (see "Debugging HDF5 Applications," reference above).
+
+4.3.10. Parallel versus serial library
+ The HDF5 Library can be configured to use MPI and MPI-IO for
+ parallelism on a distributed multi-processor system. Read the
+ file INSTALL_parallel for detailed explanations.
+
+4.3.11. Threadsafe capability
+ The HDF5 Library can be configured to be thread-safe (on a very
+ large scale) with the `--enable-threadsafe' flag to the configure
+ script. Some platforms may also require the '-with-pthread=INC,LIB'
+ (or '--with-pthread=DIR') flag to the configure script.
+ For further details, see "HDF5 Thread Safe Library":
+
+ http://www.hdfgroup.org/HDF5/doc/TechNotes/ThreadSafeLibrary.html
+
+4.3.12. Backward compatibility
+ The 1.8 version of the HDF5 Library can be configured to operate
+ identically to the v1.6 library with the
+ --with-default-api-version=v16
+ configure flag. This allows existing code to be compiled with the
+ v1.8 library without requiring immediate changes to the application
+ source code. For addtional configuration options and other details,
+ see "API Compatibility Macros in HDF5":
+
+ http://www.hdfgroup.org/HDF5/doc/RM/APICompatMacros.html
+
+4.4. Building
+ The library, confidence tests, and programs can be built by
+ saying just:
+
+ $ make
+
+ Note that if you have supplied some other make command via the MAKE
+ variable during the configuration step, that same command must be
+ used here.
+
+ When using GNU make, you can add `-j -l6' to the make command to
+ compile in parallel on SMP machines. Do not give a number after
+ the `-j' since GNU make will turn it off for recursive invocations
+ of make.
+
+ $ make -j -l6
+
+4.5. Testing
+ HDF5 comes with various test suites, all of which can be run by
+ saying
+
+ $ make check
+
+ To run only the tests for the library, change to the `test'
+ directory before issuing the command. Similarly, tests for the
+ parallel aspects of the library are in `testpar' and tests for
+ the support programs are in `tools'.
+
+ The `check' consists of two sub-tests, check-s and check-p, which
+ are for serial and parallel tests, respectively. Since serial tests
+ and parallel tests must be run with single and multiple processes
+ respectively, the two sub-tests work nicely for batch systems in
+ which the number of processes is fixed per batch job. One may submit
+ one batch job, requesting 1 process, to run all the serial tests by
+ "make check-s"; and submit another batch job, requesting multiple
+ processes, to run all the parallel tests by "make check-p".
+
+ Temporary files will be deleted by each test when it completes,
+ but may continue to exist in an incomplete state if the test
+ fails. To prevent deletion of the files, define the HDF5_NOCLEANUP
+ environment variable.
+
+ The HDF5 tests can take a long time to run on some systems. To perform
+ a faster (but less thorough) test, set the HDF5TestExpress environment
+ variable to 2 or 3 (with 3 being the shortest run). To perform a
+ longer test, set HDF5TestExpress to 0. 1 is the default.
+
+4.6. Installing HDF5
+ The HDF5 Library, include files, and support programs can be
+ installed in a (semi-)public place by saying `make install'. The
+ files are installed under the directory specified with
+ `--prefix=DIR' (default is 'hdf5') in directories named `lib',
+ `include', and `bin'. The directories, if not existing, will be
+ created automatically, provided the mkdir command supports the -p
+ option.
+
+ If `make install' fails because the install command at your site
+ somehow fails, you may use the install-sh that comes with the
+ source. You will need to run ./configure again.
$ INSTALL="$PWD/bin/install-sh -c" ./configure ...
$ make install
- If you want to install HDF5 in a location other than the location
- specified by the `--prefix=DIR' flag during configuration (or
- instead of the default location, `/usr/local'), you can do that
- by running the deploy script:
+ If you want to install HDF5 in a location other than the location
+ specified by the `--prefix=DIR' flag during configuration (or
+ instead of the default location, `hdf5'), you can do that
+ by running the deploy script:
$ bin/deploy NEW_DIR
- This will install hdf5 in NEW_DIR. Alternately, you can do this
- manually by issuing the command:
+ This will install HDF5 in NEW_DIR. Alternately, you can do this
+ manually by issuing the command:
- $ make install prefix=NEW_DIR
+ $ make install prefix=NEW_DIR
- where NEW_DIR is the new directory you wish to install HDF5. If
- you do not use the deploy script, you should run h5redeploy in
- NEW_DIR/bin directory. This utility will fix h5cc, h5fc and
- h5c++ scripts to reflect the new NEW_DIR location.
+ where NEW_DIR is the new directory where you wish to install HDF5.
+ If you do not use the deploy script, you should run h5redeploy in
+ NEW_DIR/bin directory. This utility will fix the h5cc, h5fc and
+ h5c++ scripts to reflect the new NEW_DIR location.
- The library can be used without installing it by pointing the
- compiler at the `src' and 'src/.libs' directory for include files and
- libraries. However, the minimum which must be installed to make
- the library publically available is:
+ The library can be used without installing it by pointing the
+ compiler at the `src' and 'src/.libs' directory for include files and
+ libraries. However, the minimum which must be installed to make
+ the library publicly available is:
- The library:
- ./src/.libs/libhdf5.a
+ The library:
+ ./src/.libs/libhdf5.a
- The public header files:
- ./src/H5*public.h, ./src/H5public.h
+ The public header files:
+ ./src/H5*public.h, ./src/H5public.h
./src/H5FD*.h except ./src/H5FDprivate.h,
./src/H5api_adpt.h
- The main header file:
- ./src/hdf5.h
+ The main header file:
+ ./src/hdf5.h
+
+ The configuration information:
+ ./src/H5pubconf.h
+
+ The support programs that are useful are:
+ ./tools/h5ls/h5ls (list file contents)
+ ./tools/h5dump/h5dump (dump file contents)
+ ./tools/misc/h5repart (repartition file families)
+ ./tools/misc/h5debug (low-level file debugging)
+ ./tools/h5import/h5import (imports data to HDF5 file)
+ ./tools/h5diff/h5diff (compares two HDF5 files)
+ ./tools/gifconv/h52gif (HDF5 to GIF converter)
+ ./tools/gifconv/gif2h5 (GIF to HDF5 converter)
- The configuration information:
- ./src/H5pubconf.h
-
- The support programs that are useful are:
- ./tools/h5ls/h5ls (list file contents)
- ./tools/h5dump/h5dump (dump file contents)
- ./tools/misc/h5repart (repartition file families)
- ./tools/misc/h5debug (low-level file debugging)
- ./tools/h5import/h5import (imports data to HDF5 file)
- ./tools/h5diff/h5diff (compares two HDF5 files)
- ./tools/gifconv/h52gif (HDF5 to GIF converter)
- ./tools/gifconv/gif2h5 (GIF to HDF5 converter)
-5.7 Building and testing with Intel compilers
+5. Using the Library
+ Please see the "HDF5 User's Guide" and the "HDF5 Reference Manual":
+ http://www.hdfgroup.org/HDF5/doc/
- When Intel compilers are used (icc or ecc), you will need to
- modify the generated "libtool" program after configuration is finished.
- On or around line 104 of the libtool file, there are lines which
- look like:
+ Most programs will include <hdf5.h> and link with -lhdf5.
+ Additional libraries may also be necessary depending on whether
+ support for compression, etc., was compiled into the HDF5 Library.
- # How to pass a linker flag through the compiler.
- wl=""
+ A summary of the HDF5 installation can be found in the
+ libhdf5.settings file in the same directory as the static and/or
+ shared HDF5 Libraries.
- Change these lines to this:
- # How to pass a linker flag through the compiler.
- wl="-Wl,"
+6. Support
+ Support is described in the README file.
- UPDATE: This is now done automatically by the configure script. However,
- if you still experience a problem, you may want to check this line in
- the libtool file and make sure that it has the correct value.
- * To build the Fortran library using Intel compiler on Linux 2.4, one has to
- x Use -fpp -DDEC$=DEC_ -DMS$=MS_ compiler flags to disable
- DEC and MS compiler directives in source files in fortran/src, fortran/test
- and fortran/examples directories.
- e.g., setenv F9X 'ifc -fpp -DDEC$=DEC_ -DMS$=MS_'
- (do not use double quotes since $ is interpreted in them.)
+*****************************************************************************
+ APPENDIX
+*****************************************************************************
- x If Version 6.0 of Fortran compiler is used, build fails in
- the fortran/test directory and then in the
- fortran/examples directory; to proceed, edit the work.pcl files in
- those directories to contain two lines
+A. Warnings about compilers
+ Output from the following compilers should be extremely suspected
+ when used to compile the HDF5 Library, especially if optimizations are
+ enabled. In all cases, HDF5 attempts to work around the compiler bugs.
+
+A.1. GNU (Intel platforms)
+ Versions before 2.8.1 have serious problems allocating registers
+ when functions contain operations on `long long' datatypes.
+ Supplying the `--disable-hsizet' switch to configure (documented
+ in Appendix B, "Large (>2GB) versus small (<2GB) file capability,")
+ will prevent HDF5 from using `long long' datatypes in
+ situations that are known not to work, but it limits the HDF5
+ address space to 2GB.
+
+A.2. COMPAQ/DEC
+ The V5.2-038 compiler (and possibly others) occasionally
+ generates incorrect code for memcpy() calls when optimizations
+ are enabled, resulting in unaligned access faults. HDF5 works
+ around the problem by casting the second argument to `char *'.
+ The Fortran module (5.4.1a) fails in compiling some Fortran
+ programs. Use 5.5.0 or higher.
+
+A.3. SGI (Irix64 6.2)
+ The Mongoose 7.00 compiler has serious optimization bugs and
+ should be upgraded to MIPSpro 7.2.1.2m. Patches are available
+ from SGI.
+
+A.4. Windows/NT
+ The Microsoft Win32 5.0 compiler is unable to cast unsigned long
+ long values to doubles. HDF5 works around this bug by first
+ casting to signed long long and then to double.
+
+ A link warning: defaultlib "LIBC" conflicts with use of other libs
+ appears for debug version of VC++ 6.0. This warning will not affect
+ building and testing HDF5 Libraries.
+
+
+B. Large (>2GB) versus small (<2GB) file capability
+ In order to read or write files that could potentially be larger
+ than 2GB, it is necessary to use the non-ANSI `long long' data
+ type on some platforms. However, some compilers (e.g., GNU gcc
+ versions before 2.8.1 on Intel platforms) are unable to produce
+ correct machine code for this datatype. To disable use of the
+ `long long' type on these machines, say:
+
+ $ ./configure --disable-hsizet
+
+C. Building and testing with other compilers
+C.1. Building and testing with Intel compilers
+ When Intel compilers are used (icc or ecc), you will need to modify
+ the generated "libtool" program after configuration is finished.
+ On or around line 104 of the libtool file, there are lines which
+ look like:
+
+ # How to pass a linker flag through the compiler.
+ wl=""
+
+ Change these lines to this:
+
+ # How to pass a linker flag through the compiler.
+ wl="-Wl,"
+
+ UPDATE: This is now done automatically by the configure script.
+ However, if you still experience a problem, you may want to check this
+ line in the libtool file and make sure that it has the correct value.
+
+ * To build the Fortran library using Intel compiler on Linux 2.4,
+ one has to perform the following steps:
+ x Use the -fpp -DDEC$=DEC_ -DMS$=MS_ compiler flags to disable
+ DEC and MS compiler directives in source files in the fortran/src,
+ fortran/test, and fortran/examples directories.
+ E.g., setenv F9X 'ifc -fpp -DDEC$=DEC_ -DMS$=MS_'
+ Do not use double quotes since $ is interpreted in them.
+
+ x If Version 6.0 of Fortran compiler is used, the build fails in
+ the fortran/test directory and then in the fortran/examples
+ directory. To proceed, edit the work.pcl files in those
+ directories to contain two lines:
work.pc
../src/work.pc
- x Do the same in fortran/examples directory
- x Problem with work.pc files was resolved for newest version of the compiler (7.0)
-
- * To build the Fortran Library on IA32 follow step described above, except
- that DEC and MS compiler directives should be removed manually or
- use a patch from HDF FTP server ftp://ftp.ncsa.uiuc.edu/HDF/HDF5/current/
-
-
-5.8 Building and testing with PGI compilers
-
- When PGI C and C++ compilers are used (pgcc or pgCC), you will need to
- modify the generated "libtool" program after configuration is finished.
- On or around line 104 of the libtool file, there are lines which
- look like:
+ x Do the same in the fortran/examples directory.
- # How to pass a linker flag through the compiler.
- wl=""
+ x A problem with work.pc files was resolved for the newest version
+ of the compiler (7.0).
- Change these lines to this:
+ * To build the Fortran library on IA32, follow the steps described
+ above, except that the DEC and MS compiler directives should be
+ removed manually or use a patch from HDF FTP server:
- # How to pass a linker flag through the compiler.
- wl="-Wl,"
+ ftp://ftp.hdfgroup.org/HDF5/current/
- UPDATE: This is now done automatically by the configure script. However,
- if you still experience a problem, you may want to check this line in
- the libtool file and make sure that it has the correct value.
- To build HDF5 C++ Library with pgCC (version 4.0 and later), set
- environment variable CXX to "pgCC -tlocal"
- setenv CXX "pgCC -tlocal"
- before running the configure script.
+C.2. Building and testing with PGI compilers
+ When PGI C and C++ compilers are used (pgcc or pgCC), you will need to
+ modify the generated "libtool" program after configuration is finished.
+ On or around line 104 of the libtool file, there are lines which
+ look like this:
+ # How to pass a linker flag through the compiler.
+ wl=""
-6. Using the Library
- Please see the User Manual in the doc/html directory.
+ Change these lines to this:
- Most programs will include <hdf5.h> and link with -lhdf5.
- Additional libraries may also be necessary depending on whether
- support for compression, etc. was compiled into the hdf5 library.
+ # How to pass a linker flag through the compiler.
+ wl="-Wl,"
- A summary of the hdf5 installation can be found in the
- libhdf5.settings file in the same directory as the static and/or
- shared hdf5 libraries.
+ UPDATE: This is now done automatically by the configure script. However,
+ if you still experience a problem, you may want to check this line in
+ the libtool file and make sure that it has the correct value.
+ To build the HDF5 C++ Library with pgCC (version 4.0 and later), set
+ the environment variable CXX to "pgCC -tlocal"
+ setenv CXX "pgCC -tlocal"
+ before running the configure script.
-7. Support
- Support is described in the README file.
diff --git a/release_docs/INSTALL_Cygwin.txt b/release_docs/INSTALL_Cygwin.txt
index 0cb0968..b63d294 100644
--- a/release_docs/INSTALL_Cygwin.txt
+++ b/release_docs/INSTALL_Cygwin.txt
@@ -98,29 +98,7 @@ Install HDF5 on Cygwin
$ bunzip2 < hdf5-1.8.0.tar.bz2 | tar xf -
-3. Setup environment
-
- In the latest version of the Cygwin DLL, a bug was introduced
- relating to the 'timezone' global variable and C99 support. As
- work-around, we must use a special compiler flag.
-
- 3.1. In the command prompt you plan to build from, run the
- command:
-
- export CFLAGS="-ansi ${CFLAGS}"
-
- 3.2 (Optional) If you plan to build C++ libraries, also
- run the command:
-
- export CXXFLAGS="-ansi ${CXXFLAGS}"
-
- 3.3 (Optional) If you plan to build Fortran libraries, also
- run the command:
-
- export FCFLAGS="-ansi ${FCFLAGS}"
-
-
-4. Configuring
+3. Configuring
Notes: See detailed information in hdf5/release_docs/INSTALL,
part 5. Full installation instructions for source
@@ -134,19 +112,19 @@ Install HDF5 on Cygwin
In short,
- 4.1 To configure HDF5 C Library, using
+ 3.1 To configure HDF5 C Library, using
$ ./configure
- 4.2 To configure HDF5 C/C++ Library, using
+ 3.2 To configure HDF5 C/C++ Library, using
$ ./configure --enable-cxx
- 4.3 To configure HDF5 C/Fortran Library, using
+ 3.3 To configure HDF5 C/Fortran Library, using
$ ./configure --enable-fortran
- 4.4 To configure HDF5 C with Szip library, using
+ 3.4 To configure HDF5 C with Szip library, using
$ ./configure --with-szlib="path to szlib"
@@ -157,15 +135,15 @@ Install HDF5 on Cygwin
$ ./configure --with-szlib=/cygdrive/c/szip
- 4.5 To configure HDF5 C without Zlib,
+ 3.5 To configure HDF5 C without Zlib,
To disable zlib, using
$ ./configure --without-zlib
- 4.6 Two ways to configure HDF5 C with specified Zlib
+ 3.6 Two ways to configure HDF5 C with specified Zlib
- 4.6.1 Using
+ 3.6.1 Using
$ ./configure --with-zlib=INCDIR,LIBDIR
@@ -175,7 +153,7 @@ Install HDF5 on Cygwin
$ ./configure --with-zlib=/cygdrive/c/usr/include,/cygdrive/c/usr/lib
- 4.6.2 Through the CPPFLAGS and LDFLAGS Variables
+ 3.6.2 Through the CPPFLAGS and LDFLAGS Variables
For example, if zlib was installed in the directory
/cygdrive/c/usr then using the following command to configure
@@ -185,7 +163,7 @@ Install HDF5 on Cygwin
$ LDFLAGS=-L/cygdrive/c/usr/lib \
$ ./configure
- 4.7 To specify the installation directories, using
+ 3.7 To specify the installation directories, using
$ ./configure --prefix="path for installation"
@@ -196,7 +174,7 @@ Install HDF5 on Cygwin
the path with the `--prefix=PATH' switch as in the above
command.
- 4.8 Combination of Switches
+ 3.8 Combination of Switches
All of the above switches can be combined together. For
example, if users want to configure HDF5 C/C++/Fortran
@@ -231,7 +209,7 @@ Install HDF5 on Cygwin
--enable-fortran
<"If no more switches, then hit Enter">
-5. Make and Make Check
+4. Make and Make Check
After configuration is done successfully, run the following series of
commands to build, test and install HDF5
@@ -242,23 +220,20 @@ Install HDF5 on Cygwin
Before run "make install", check output file for "make check", there
should be no failures at all.
-6. Make Install
+5. Make Install
$ make install > "output file name"
-7. Check installed HDF5 library
+6. Check installed HDF5 library
After step 4, go to your installation directory, there should be
three subdirectories: "bin" "include" and "lib".
-8. Known Problems
+7. Known Problems
Shared libraries can not be built on Cygwin In release 1.8.0.
- There are issues linking with the latest Cygwin DLL. As a work-around,
- make sure to follow the steps described in step 3 above.
-
-----------------------------------------------------------------------
Need Further assistance, email help@hdfgroup.org
diff --git a/release_docs/INSTALL_VMS.txt b/release_docs/INSTALL_VMS.txt
index fd997c5..0245024 100644
--- a/release_docs/INSTALL_VMS.txt
+++ b/release_docs/INSTALL_VMS.txt
@@ -1,6 +1,6 @@
Building and installation instructions for Alpha Open VMS
HDF5 1.8.0 release
- January 2008
+ February 12, 2008
diff --git a/release_docs/INSTALL_Windows.txt b/release_docs/INSTALL_Windows.txt
index daedadd..1facd81 100644
--- a/release_docs/INSTALL_Windows.txt
+++ b/release_docs/INSTALL_Windows.txt
@@ -829,20 +829,14 @@ To build and test HDF5 High Level C examples:
Select "Build" -> "Build Solution" or "Rebuild Solution" to build
release version of project "allhlcexamples".
- When the debug and release build is done, there should be the following
- subdirectories in c:\MyHDFstuff\hdf5\examples\
-
- allhlcexamples
- ex_images
- ex_imagesdll
- ex_lite
- ex_litedll
- ex_table
- ex_tabledll
- ex_ds
- ex_dsdll
- ex_packet
- ex_packetdll
+ When the debug and release build is done, binaries will be built in the
+ following subdirectories of c:\MyHDFstuff\hdf5\examples\
+
+ ex_image[1-2](dll)
+ ex_lite1(dll)
+ ex_table[01-12](dll)
+ ex_ds1(dll)
+ ptExample[FL+VL](dll)
3. Invoke a command prompt and run the batch file Install_hlcexamples.bat
which resides in the top level directory (c:\MyHDFstuff\hdf5). This file
diff --git a/release_docs/INSTALL_parallel b/release_docs/INSTALL_parallel
index b0e0a86..e8f8bad 100644
--- a/release_docs/INSTALL_parallel
+++ b/release_docs/INSTALL_parallel
@@ -61,7 +61,7 @@ The "--enable-parallel" is optional in this case.
Make sure your environment variables are set correctly to compile and execute
a single process mpi applications for the SP machine. Unfortunately, the
setting varies from machine to machine. E.g., the following works for the
-Blue machine of LLNL.
+IBM SP machine at LLNL.
setenv MP_PROCS 1
setenv MP_NODES 1
@@ -102,7 +102,7 @@ This allows for >2GB sized files on Linux systems and is only available with
Linux kernels 2.4 and greater.
-2.4. Red Storm (Cray XT3) (for v1.8 only)
+2.4. Red Storm (Cray XT3) (for v1.8 and later)
-------------------------
The following steps are for building the Parallel HDF5 for the Red Storm
compute nodes. They would probably work for other Cray XT3 systems but have
@@ -180,15 +180,28 @@ environment variable at the time `make check' is run (or the value 3).
4. Parallel test suite
----------------------
-The testpar/ directory contains tests for Parallel HDF5 and MPI-IO. The t_mpi
-tests the basic functionalities of some MPI-IO features used by Parallel HDF5.
-It usually exits with non-zero code if a required MPI-IO feature does not
-succeed as expected. One exception is the testing of accessing files larger
-than 2GB. If the underlying filesystem or if the MPI-IO library fails to
-handle file sizes larger than 2GB, the test will print informational messages
-stating the failure but will not exit with non-zero code. Failure to support
-file size greater than 2GB is not a fatal error for HDF5 because HDF5 can
-use other file-drivers such as families of files to bypass the file size limit.
+The testpar/ directory contains tests for Parallel HDF5 and MPI-IO. Here are
+some notes about some of the tests.
+
+The t_mpi tests the basic functionalities of some MPI-IO features used by
+Parallel HDF5. It usually exits with non-zero code if a required MPI-IO
+feature does not succeed as expected. One exception is the testing of
+accessing files larger than 2GB. If the underlying filesystem or if the
+MPI-IO library fails to handle file sizes larger than 2GB, the test will
+print informational messages stating the failure but will not exit with
+non-zero code. Failure to support file size greater than 2GB is not a fatal
+error for HDF5 because HDF5 can use other file-drivers such as families of
+files to bypass the file size limit.
+
+The t_posix_compliant tests if the file system is POSIX compliant when POSIX
+and MPI IO APIs are used. This is for information only and it always exits
+with 0 even when non-compliance errors have occurred. This is to prevent
+the test from aborting the remaining parallel HDF5 tests unnecessarily.
+
+The t_cache does many small sized I/O requests and may not run well in a
+slow file system such as NFS disk. If it takes a long time to run it, try
+set the environment variable $HDF5_PARAPREFIX to a file system more suitable
+for MPI-IO requests before running t_cache.
By default, the parallel tests use the current directory as the test directory.
This can be changed by the environment variable $HDF5_PARAPREFIX. For example,
diff --git a/release_docs/RELEASE.txt b/release_docs/RELEASE.txt
index f1f58b6..881865b 100644
--- a/release_docs/RELEASE.txt
+++ b/release_docs/RELEASE.txt
@@ -1,32 +1,20 @@
-HDF5 version 1.8.0 currently under development
+HDF5 version 1.9.5 currently under development
================================================================================
INTRODUCTION
-This document describes the differences between HDF5-1.6.* and
-Hdf5 1.8.0 release candidate "HDF5-1.8.0-rc*", and contains information
-on the platforms tested and known problems in HDF5-1.8.0-rc*.
-For more details check the HISTORY.txt file in the HDF5 source.
-
-
-Links to HDF5 1.8.0-rc* 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
+This document describes the differences between HDF5-1.9.0 and
+HDF5 1.9.x snapshot, and contains information on the platforms
+tested and known problems in HDF5-1.9.x.
+For more details check the HISTORY*.txt files in the HDF5 source.
+Links to HDF5 1.9.x source code can be found on THG's development
+FTP server at the following location:
+ ftp://ftp.hdfgroup.uiuc.edu/pub/outgoing/hdf5/snapshots
+User documentation for the snapshot can be accessed directly at this location:
+ http://www.hdfgroup.uiuc.edu/HDF5/doc_dev_snapshot/H5_dev/
For more information, see the HDF5 home page:
@@ -41,7 +29,7 @@ CONTENTS
- New Features
- Support for new platforms and languages
-- Bug Fixes since HDF5-1.6.0
+- Bug Fixes since HDF5-1.8.0
- Platforms Tested
- Known Problems
@@ -50,940 +38,71 @@ New Features
============
Configuration:
- --------------
- - Removed stream-vfd from the HDF5 library. - AKC 2007/11/19.
- - Updated versions of autotools. HDF5 now uses automake 1.10.0,
- autoconf 2.61, and libtool 1.5.22. MAM - 2007/7/25.
- - Changed default fortran compiler to g95 when gcc is used. - AKC
- 2007/2/17.
- - 'make check-vfd' can now be run from the top level directory. Not all
- tests that 'make check' invokes work with certain Virtual File Drivers,
- so those tests have been skipped. - MAM 2006/7/17
- - Added the variable HDF5TestExpress to control how long tests run.
- Setting it to a value between 0 and 3 controls how thoroughly the
- library is tested, with 0 being an "exhaustive run" and 3 being a
- very quick "smoke test." 1 (a "full run") is the default.
- -JML 2006/6/21
- - If both shared and static libraries are installed, now both will be
- tested during 'make install'. -MAM 2006/06/21
- - Added support to explicity enable stream_vfd or shared libraries
- when using parallel via the '--enable-stream_vfd' and
- '--enable-shared' options, respectively. If not explicity defined,
- These settings default to enabled when parallel is not used,
- and disabled when parallel is used. -MAM 2006/06/17
- - Remove the flexible parallel code and the --enable-fphdf5
- configure option, it was never up to production standards
- anyway. -QAK 2006/4/20
- - Added a macro hdf5_mpi_special_collective_io_works to filter out
- some mpi-io packages that don't support collective IO for no IO
- contributions in some processes. -KY 2006/2/16
- - Added -shlib option to link against installed shared libraries to
- h5c++ and h5fc. -JML 2005/11/1
- - Added --enable-build-all option to configure, which only developers
- should need to use. -JML 2005/10/24
- - Configure uses the 'TR' variable to let the user override the path
- to the 'tr' utility. -JML 2005/10/17
- - Configure can recognize -lmpich as a form of MPI library. -AKC-
- 2005/9/28.
- - MD5 checksumming has been added to snapshot releases. Release
- tarballs will be accompanied by .md5 checksum files, which can
- be verified using the md5sum utility. -JML 2005/9/6
- - Some configure flags are incompatible (e.g., the C++ APIs cannot
- be built using the parallel version of HDF5). configure will now
- output errors when some common incompatible features are used
- together. -JML 2005/9/6
- - A new API function, H5Tis_hard(), was added to the library. It
- checks if a conversion function is a compiler (hard) conversion.
- SLU - 2005/9/6
- - t_mpi will run the test_mpio_derived_dtype by default unless it is
- known not working (indicated by macro H5_MPI_COMPLEX_DERIVED_DATATYPE_WORKS
- not defined.) -AKC- 2005/8/23.
- - Test execution has changed in a number of ways:
- When make is invoked in parallel (using -j), sequential tests
- are now executed as parallel make targets. This should make them
- finish more quickly on machines with multiple processors.
- Since test output is garbled when they are executed by parallel make,
- tests now dump their output to foo.log files and foo.logsh files
- (for test scripts). These logs are printed to the screen only
- when a test fails or when all tests in the current directory have
- completed successfully.
- When tests pass, they will create a foo.chkexe file.
- This prevents the test from executing again until the test or
- main library changes.
- All files generated by tests (*.chkexe, *.log, and any *.h5 files
- created) can be removed by invoking 'make check-clean'.
- Sequential and parallel library tests can now be invoked separately.
- 'make check-s' will execute only sequential tests, and 'make check-p'
- will execute only parallel tests. 'make check' will still execute
- all tests.
- -JML 2005/08/03
- - On windows, all.zip is deprecated. users should
- read INSTALL_Windows.txt to know the details.
- Reasons to deprecate all.zip:
- 1. Avoid confliction for windows programmers
- 2. Decrease size of CVS tree by adding all.zip
- 3. Avoid using winzip as the intermediate step
- --KY 2005/04/22
- - When HDF5 is created as a shared library, it now uses libtool's
- shared library versioning scheme. -JML 2005/04/18
- - HDF5 now uses automake 1.9.5 to generate Makefiles.in.
- This has a number of effects on users:
- The Fortran compiler should be set using the environment
- variable $FC, not $F9X. F9X still works, but is depreciated.
- The output of make may be different. This should be only a
- cosmetic effect.
- make depened (or make dep) is no longer recognized, since automake
- handles dependency tracking.
- Some new configure options exist. --enable-dependency-tracking
- and --disable-dependency-tracking are used to control automake's
- dependency tracking. Dependencies are on by default *on most
- platforms and compilers*. If --enable-dependency-tracking is
- used, they will be enabled on any platform. However, this can
- slow down builds or even cause build errors in some cases.
- Likewise, --disable-dependency-tracking can speed up builds and
- avoid some build errors.
- Some make targets have alternate names. make check-install and
- make installcheck do the same thing, for instance.
- pmake on IRIX can be invoked from the root directory, but the
- -V flag must be used to invoke it in any subdirectory or it
- will give an error about undefined variables.
- JML 2005/01 - 2005/03
- - Hardware conversion between long double and integers is also added.
- SLU 2005/02/10
- - Started to support software conversion between long double and
- integers. Hardware conversion will come very soon. SLU - 2005/1/6
- - Intel v8.0 compiler would infinite loop when compiling some test
- code with -O3 option. Changed enable-production default compiler
- option to -O2. AKC - 2004/12/06
- - Long double is assumed to be a supported C data type. It is a
- stanadard C89 type. AKC - 2004/10/22
- - The IA64 will use ecc as the C++ compiler by default.
- - Added some initial support for making valgrind/Purify (or similar
- memory checking products) happier by initializing buffers to zero
- and disabling the internal free list code. To take advantage of
- this, use the "--enable-using-memchecker" configure option when
- building the library. QAK - 2004/07/23
- - Fixed the long compile time of H5detect.c when v7.x Intel Compiler
- is used with optimization NOT off. AKC - 2004/05/20
- - Fixed configure setting of C++ for OSF1 platform. AKC - 2004/01/06
- - Prefix default is changed from /usr/local to `pwd`/hdf5.
- AKC - 2003/07/09
+ -------------
Library:
--------
- - Removed size restrictions on attributes, when using the "latest"
- version of the file format. - QAK - 2007/02/21
- - Relaxed restrictions on attribute operations to allow a file ID to
- be used as the "location ID". If a file ID is used, the attribute
- operation will occur on the root group of the file.
- - QAK - 2007/02/09
- - Enabled the CORE driver to read an existing file depending on
- the setting of the backing_store for H5Pset_fapl_core and file
- open flags. - SLU - 2006/11/30
- - Added new H5Gget_info_by_idx() routine to query the information about
- a group according to the order within an index.
- - QAK - 2006/11/27
- - Added new H5Gget_info() routine to query the information about a
- group by name.
- - QAK - 2006/11/27
- - Added new H5Oget_info_by_idx() routine to query the information about
- an object in a group according to the order within an index.
- - QAK - 2006/11/26
- - Added new H5Oget_info() routine to query the information about an
- object in a group by name.
- - QAK - 2006/11/26
- - Added new H5Oopen_by_idx() routine to open an object in a group
- according to the order within an index.
- - QAK - 2006/11/20
- - Added new H5Literate() routine to iterate over links in a group
- according to the order within an index.
- - QAK - 2006/11/20
- - Added new H5Ldelete_by_idx() routine to delete a link according to
- the order within an index.
- - QAK - 2006/11/13
- - Added new H5Lget_val_by_idx() routine to query the value of a soft link
- according to the order within an index.
- - QAK - 2006/11/13
- - Added new H5Lget_name_by_idx() routine to query the name of a link
- according to the order within an index.
- - QAK - 2006/11/12
- - Added new H5Rget_name() routine to determine the name of the object
- that a reference points to, as long as the object is still
- reachable in the group hierarchy.
- - QAK - 2006/11/10
- - Added new H5Lget_info_by_idx() routine to query the link information
- according to the order within an index.
- - QAK - 2006/11/10
- - Added feature to H5Iget_name to allow retrieving the name of any
- object's ID, as long as the object is still reachable in the
- group hierarchy.
- - LA - 2006/11/01
- - Added External and User-defined links.
- External links are links from one HDF5 file to another; they
- require both the name of the file and a path within that file.
- User-defined links allow users to supply callback functions
- for link traversals, allowing links to exhibit essentially
- any behavior.
- External links are a kind of user-defined link, so their default
- behavior can be overridden by the user.
- -JML 2006/8/23
- - Added H5Oopen and H5Oclose for opening objects of unknown type
- (as link callback functions do).
- -JML 2006/8/23
- - Added H5Oopen_by_addr, H5Oincr_refcount, and H5Odecr_refcount for
- opening objects by address. Be very careful with these!
- -JML 2006/8/23
- - Added H5Fget_intent to get the "intent" of a file (whether it
- was opened with read-write access or read-only.
- -JML 2006/8/23
- - Added Link Access Property Lists. They currently contain two
- properties, nlinks (H5Pget/set_nlinks) and elink_prefix
- (H5Pget/set_elink_prefix). nlinks controls how many soft and
- user-defined traversals are allowed before HDF5 assumes it has
- found a cycle (previously this defaulted to 16).
- The elink_prefix is a filesystem path that is prefixed to the
- names of any external link files opened using this LAPL.
- -JML 2006/8/23
- - Add H5L link APIs. Old APIs (H5Glink, H5Gmove, etc.) are still
- supported but deprecated.
- New APIs are:
- H5Llink - create a link to an object given its ID
- H5Lmove - just like H5Gmove2
- H5Lcopy - copy a link without copying the underlying object
- H5Lcreate_hard - like H5Glink2 for hard links
- H5Lcreate_soft - like H5Glink2 for soft links
- H5Ldelete - just like H5Gunlink
- H5Lget_val - just like H5Gget_linkval
- H5Lget_info - gets link-specific info (like H5Gget_objinfo)
-
- In addition, H5Gcreate_anon, H5Tcommit_anon, and H5Dcreate_anon
- no longer create links to objects; objects must be manually linked
- using H5Llink or they will be deleted when the ID is closed.
-
- Link Creation Property Lists can be used to pass character
- encoding (ASCII or UTF-8) for link names and to set the Intermediate
- Group Creation Flag:
- H5Pset_char_encoding, H5Pget_char_encoding
- H5Pset_copy_object, H5Pget_copy_object
- -JML 2006/7/5
- - Added managements of collective IO supports for chunking storage
- inside parallel HDF5
- 1) Implemented One IO with collective mode for all chunks in the
- application by building one MPI derived datatype accross all
- chunks.
- 2) Implemented the decision-making support to do collective IO inside
- MPI-IO per chunk.
- 3) Added the decision-making support to do one IO accross all chunks
- or to do multiple IOs with each IO per chunk.
- 4) Added the support to handle the case some processes won't do any IOs in
- collectively.
- 5) Some MPI-IO package(mpich 1.2.6 or lower, e.g.) cannot handle
- collective IO correctly for the case when some processes have no
- contributions to IOs, a special macro is added to change
- collective IO mode to independent IO mode inside HDF5 library.
-
- Currently we find that MPICH at Linux and vender MPI-IO package at NCSA
- Altix cannot handle this case.
-
- "hdf5_mpi_special_collective_io_works=${hdf5_mpi_special_collective_io_works='no'}"
- has been added at the end of file <ia64-linux-gnui> and
- <linux-gnulibc1>.
-
- If MPI-IO packages at your Linux and Altix support this case,
- please comment out the last line and report to us at
- help@hdfgroup.org. We can tune in our configuration to
- support this.
-
- KY - 2006/02/16
- - Added character encoding to attribute creation property lists.
- JML - 2006/01/02
- - Added H5Gcopy() routine to copy objects between while keeping
- data in compressed form. QAK - 2005/11/06
- - Added H5Sextent_equal() routine. QAK - 2005/11/06
- - Added HSYS_ERROR which retrieves the system error message and pushes
- it to the error stack. This gives more information of the failed
- system call. AKC - 2005/08/04
- - Added H5F_OBJ_LOCAL flag to H5Fget_obj_count() & H5Fget_obj_ids(), to
- allow querying for objects in file that were opened with a particular
- file ID, instead of all objects opened in file with any file ID.
- QAK - 2005/06/01
- - Added H5T_CSET_UTF8 character set to mark datatypes that use the
- UTF-8 Unicode character encoding. Added tests to ensure that
- library handles UTF-8 object names, attributes, etc. -JL 2005/05/13
- - HDF5 supports collective MPI-IO for irregular selection with HDF5
- dataset. Irregular selection is when users use H5Sselect_hyperslab
- more than once for the same dataset.
- Currently, not all MPI-IO packages support complicated MPI derived
- datatype used in the implementation of irregular
- selection INSIDE HDF5.
- 1) DEC 5.x is not supporting complicated derived datatype.
- 2) For AIX 5.1,
- if your poe version number is 3.2.0.19 or lower,
- please edit powerpc-ibm-aix5.x under hdf5/config,
- Find the line with
- << hdf5_mpi_complex_derived_datatype_works>>
- and UNCOMMENT this line before the configure.
- check poe version with the following command:
- lpp -l all | grep ppe.poe
- 3) For Linux cluster,
- if mpich version is 1.2.5 or lower, collective irregular selection
- IO is not supported, internally independent IO is used.
- 4) For IRIX 6.5,
- if C compiler version is 7.3 or lower, collective irregular selection
- IO is not supported, internally independent IO is used.
- 5) For platforms which internally used mpich, if the
- mpich version is 1.2.5 or lower, please find the
- corresponding config file and add
- hdf5_mpi_complex_derived_datatype_works='no' at the
- end of the configuration file. For example, at NCSA
- SGI Altix, the internal mpich library is 1.2.5. So
- hdf5_mpi_complex_derived_datatype_works='no' should be
- added at the end of the config file ia64-linux-gnu.
- KY - 2005/09/12
- We also found not all MPI-IO packages support collective IO with one
- or more processes to have no contributions to IO.
- For mpich version 1.2.6 or lower and all IRIX machine,
- if the library checks that there are no IO contributions for some
- processes, collective IO request is replaced with
- independent inside HDF5.
- KY - 2006/05/04
-
- - HDF5 N-bit filter
- HDF5 support N-bit filter from this version,
- The N-Bit filter is used effectively for compressing data of N-Bit
- datatype as well as compound and array datatype with N-Bit fields.
- KY - 2005/04/15
- - HDF5 scaleoffset filter
- HDF5 supports scaleoffset filter for users to do data
- compression through HDF5 library.
- Scale-Offset compression performs a scale and/or offset operation
- on each data value and truncates the resulting value to a minimum
- number of bits and then stores the data.
- Scaleoffset filter supports floating-point and integer datatype.
- Please check the HDF5 reference manual for this.
- KY - 2005/06/06
- - Retired SRB vfd (--with-srb). Functions H5Pset_fapl_srb and
- H5Pget_fapl_srb were removed. EIP - 2005/04/07
- - Retired GASS vfd (--with-gass). Functions H5Pset_fapl_gass and
- H5Pget_fapl_gass are removed too. AKC - 2005/3/3
- - Pablo was removed from the source code EIP - 2005/01/21
- - Modified registration of SZIP to dynamically detect the presence
- or absence of the encoder. Changed configure and Makefiles,
- and tests to dynamically detect encoder. BEM - 2004/11/02
- - Added function H5Pget_data_transform, together with the previously
- added H5Pset_data_transform, to support the data transform
- feature. AKC - 2004/10/26
- - Compound datatype has been enhanced with a new feature of size
- adjustment. The size can be increased and decreased(without
- cutting the last member) as long as it doesn't go down to zero.
- No API change is involved. SLU - 2004/10/1
- - Put back 6 old error API functions to be backward compatible with
- version 1.6. They are H5Epush, H5Eprint, H5Ewalk, H5Eclear,
- H5Eset_auto, H5Eget_auto. Their new equivalent functions are
- called H5Epush_stack, H5Eprint_stack, H5Ewalk_stack,
- H5Eclear_stack, H5Eset_auto_stack, H5Eget_auto_stack. SLU -
- 2004/9/2
- - 4 new API functions, H5Tencode, H5Tdecode, H5Sencode, H5Sdecode were
- added to the library. Given object ID, these functions encode and
- decode HDF5 objects(data type and space) information into and from
- binary buffer. SLU - 2004/07/21
- - Modified the way how HDF5 calculates 'pixels_per_scanline' parameter for
- SZIP compression. Now there is no restriction on the size and shape of the
- chunk except that the total number of elements in the chunk cannot be
- bigger than 'pixels_per_block' parameter provided by the user.
- EIP - 2004/07/21
- - Added support for SZIP without encoder. Added H5Zget_filter_info
- and changed H5Pget_filter and H5Pget_filter_by_id to support this
- change. JL/NF - 2004/06/30
- - SZIP always uses K13 compression. This flag no longer needs to
- be set when calling H5Pset_szip. If the flag for CHIP
- compression is set, it will be ignored (since the two are mutually
- exclusive). JL/NF - 2004/6/30
- - A new API function H5Fget_name was added. It returns the name
- of the file by object(file, group, data set, named data type,
- attribute) ID. SLU - 2004/06/29
- - Added support for user defined identifier types. NF/JL - 2004/06/29
- - A new API function H5Fget_filesize was added. It returns the
- actual file size of the opened file. SLU - 2004/06/24
- - New Feature of Data transformation is added. AKC - 2004/05/03.
- - New exception handler for datatype conversion is put in to
- replace the old overflow callback function. This exception
- handler is set through H5Pset_type_conv_cb function.
- SLU - 2004/4/27
- - Added option that if $HDF5_DISABLE_VERSION_CHECK is set to 2,
- will suppress all library version mismatch warning messages.
- AKC - 2004/4/14
- - A new type of dataspace, null dataspace(dataspace without any
- element) was added. SLU - 2004/3/24
- - Data type conversion(software) from integer to float was added.
- SLU - 2004/3/13
- - Data type conversion(software) from float to integer was added.
- Conversion from integer to float will be added later.
- SLU -2004/2/4
- - Added new H5Premove_filter routine to remove I/O pipeline filters
- from dataset creation property lists. PVN - 2004/01/26
- - Added new 'compare' callback parameter to H5Pregister & H5Pinsert
- routines. QAK - 2004/01/07
- - Data type conversion(hardware) between integers and floats was added.
- SLU 2003/11/21
- - New function H5Iget_file_id() was added. It returns file ID given
- an object(dataset, group, or attribute) ID. SLU 2003/10/29
- - Added new fields to the H5G_stat_t for more information about an
- object's object header. QAK 2003/10/06
- - Added new H5Fget_freespace() routine to query the free space in a
- given file. QAK 2003/10/06
- - Added backward compatability with v1.6 for new Error API. SLU -
- 2003/09/24
- - Changed 'objno' field in H5G_stat_t structure from 'unsigned long[2]'
- to 'haddr_t'. QAK - 2003/08/08
- - Changed 'fileno' field in H5G_stat_t structure from 'unsigned long[2]'
- to 'unsigned long'. QAK - 2003/08/08
- - Changed 'hobj_ref_t' type from structure with array field to 'haddr_t'.
- QAK - 2003/08/08
- - Object references (hobj_ref_t) can now be compared with the 'objno'
- field in the H5G_stat_t struct for testing if two objects are the
- same within a file. QAK - 2003/08/08
- - Switched over to new error API. SLU - 2003/07/25
Parallel Library:
-----------------
- - Added mpich2 as a testing "platform" informally. AKC - 2005/9/28.
- - A dataset created in serial mode with H5D_ALLOC_TIME_INCR allocation
- setting was not extendible, either explicitly by H5Dextend or
- implicitly by writing to unallocated chunks. Library now allocates
- more space when needed or directed if the file is opened by parallel
- mode, independent of what the dataset allocation mode is.
- CC/AKC - 2005/08/29.
- - Allow compressed, chunked datasets to be read in parallel.
- QAK - 2004/10/04
- - Add options of using atomicity and file-sync to test_mpio_1wMr.
- AKC - 2003/11/13
- - Added parallel test, test_mpio_1wMr, which tests if the
- underlaying parallel I/O system is conforming to the POSIX
- write/read requirement. AKC - 2003/11/12
Fortran Library:
----------------
- - added support for shared Fortran libraries. -JML 2005/09/20
- - added missing h5tget_member_class_f function
- EIP 2005/04/06
- - added new functions h5fget_name_f and h5fget_filesize_f
- EIP 2004/07/08
- - h5dwrite/read_f and h5awrite/read_f functions only accept dims parameter
- of the type INTEGER(HSIZE_T).
- - added support for native integers of 8 bytes (i.e. when special
- compiler flag is specified to set native fortran integers to 8 bytes,
- for example, -i8 flag for PGI and Absoft Fortran compilers,
- -qintsize=8 flag for IBM xlf compiler).
- EIP 2005/06/20
- - added support for "big" REAL and DOUBLE PRECISION types
- (usually the size is specified by compilers flags like
- -r8, -r16, etc.)
- Known problem: multi file test fails when REAL is 16 bytes.
- EIP 2005/09/8
C++ Library:
----------------
- - added support for shared C++ libraries. -JML 2005/09/20
- - Added missing member functions
- H5::CompType::getMemberArrayType
- H5::CompType::getMemberVarLenType
- H5::AbstractDs::getArrayType
- H5::AbstractDs::getVarLenType
- H5::CommonFG::openArrayType
- H5::CommonFG::openVarLenType
- H5::PropList::copyProp -- this will replace the current
- H5::PropList::copyProp in later releases due
- to incorrect prototype.
- H5::IdComponent::getHDFObjType
- BMR - 2005/08/08
Tools:
------
- - h5repack and h5diff changed command line parameter syntax to be
- similar to h5dump, adding also long switch names. PVN - 2008/1/16
- - h5repack now supports adding multiple filters to all objects.
- PVN - 2008/1/16
- - h5dump lists groups and attributes in requested orders (by name and
- creation order, both ascending and descending). PVN - 2007/10/5
- - h5import imports string (text) data. PVN - 2007/10/5
- - h52gif and gif2h5: Both these tools were revised to include the High
- Level Image API support, and tests were added to /hl/tools/gif2h5.
- PVN - 2007/04/13
- - h5dump: added support for double long type H5T_NATIVE_LDOUBLE. PVN
- 2007/03/13
- - h5dump: added support for binary output, see usage. PVN 2007/03/13
- - h5repack: added support for the new nbit and scaleoffset filters.
- PVN - 2007/05/07
- - h5repack: now uses the API function H5Ocopy (of the tool h5copy) to
- recreate objects if there is not a user input for changes. PVN -
- 2007/05/07
- - h5repack: added support for reading and repacking by hyperslabs for
- large files. PVN - 2007/03/01
- - h5repack: a new option allows the copy using the file type (default)
- instead of the previous conversion to native type. PVN - 2007/03/01
- - h5repack: output the percentage of compression used. PVN - 2007/03/01
- - h5diff: added support for -p option for unsigned long_long data. PVN
- - 2007/02/26
- - h5diff: added support for comparing dataset regions. PVN - 2007/02/20
- - h5diff: added support for reading and comparing by hyperslabs for large files.
- PVN - 2007/02/20
- - h5diff: printing of dataset dimensions along with dataset name. PVN -2007/02/19
- - h5dump now uses the new API function H5Rget_name to display the name
- of the dataset referenced instead of its ID. PVN - 2007/02/19
- - Added new tool, h5mkgrp. QAK - 2007/02/14
- - Added new tool, h5copy. PVN - 2006/7/15
- - Removed obsolete pdb2hdf5 tool from tools/misc -JML 2005/10/24
- - Added build_h5perf_alone.sh that builds h5perf by standalone mode.
- AKC - 2005/09/18.
- - Sped up h5dump on files with large numbers of objects.
- QAK - 2005/08/25
- - Added a standalone mode for building h5perf. AKC - 2005/08/12
- - new tool, h5jam. See reference manual. 2004/10/08
- - h5repack.sh did not report errors encountered during tests. It does
- now. AKC - 2004/04/02
- - Added the MPI-I/O and MPI-POSIX drivers to the list of VFL drivers
- available for h5dump and h5ls. RPM & QAK - 2004/02/01
- - Added option --vfd= to h5ls to allow a VFL driver to be selected
- by a user. RPM & QAK - 2004/02/01
- - Added option -showconfig to compiler tools (h5cc,h5fc,h5c++).
- AKC - 2004/01/08
- - Install the "h5cc" and "h5fc" tools as "h5pcc" and "h5pfc"
- respectively if library is built in parallel mode.
- WCW - 2003/11/04
- - Added metadata benchmark (perform/perf_meta). SLU - 2003/10/03
- - Changed output of "OID"s from h5dump from "<number>-<number>" to
- "<number". This affects both the "regular" and XML output.
- QAK - 2003/08/08
- - Changed output of file IDs and "OID"s from h5ls from
- "<number>:<number>:<number>:<number>" to "<number>:<number>"
- QAK - 2003/08/08
High-Level APIs:
------
- - Fortran interfaces for the Image, Table and Lite APIs. PVN - 2007/5/1
- - New HDF5 Dimension Scale API (H5DS) allows dimension scales to be
- created in an HDF5 file and associated with specific datasets. PVN - 2007/5/1
- - There are two new functions in the Lite library, H5LTtext_to_dtype
- and H5LTdtype_to_text. H5LTtext_to_dtype creates a HDF5 data type
- given a text description; H5LTdtype_to_text converts a data type
- to text description. Only DDL definition is supported as text
- desciption now. SLU - 2006/05/17
- - Added Packet Table API for creating tables with less overhead than
- H5TB API. Added C++ wrapper for Packet Tables. See documentation.
- JML - 2004/03/28
Documentation
-------------
- - The documentation for this release is largely complete, but
- trails the source code. A few of the newer functions are
- not yet documented. FMB - 2007/04/18
- - The user documents for this release can be accessed directly at
- this location:
- http://www.hdfgroup.uiuc.edu/HDF5/doc_1.8pre/doc/
- The most recent document versions (updated daily) in the
- 1.8 development branch can be accessed at this location:
- http://www.hdfgroup.uiuc.edu/HDF5/doc_dev_snapshot/H5_dev/
- FMB - 2007/04/18
-
Support for new platforms, languages and compilers.
=======================================
- - Added support for Free-BSD on amd64 with GNU C and Fortran compilers
- 4.2.1
- EIP - 2007/06/25
- - Added support for sequential and parallel libraries for Intel 64 Linux
- cluster (abe.ncsa.uiuc.edu). Among three MPICH packages available on
- this machine, only Open MPI works. The VMI has seg fault in hyperslab.c
- and bittests.c tests. The MVAPICH2 complained about mpd not running
- the parallel test. (see Known Problems section for more info)
- EIP - 2007/06/25
- - Added support for HPUX11.23 for both 32 and 64-bit; HDF5 C++
- - Added support for 64-bit Windows with Visual Studio .NET and 2005.
- SJW - 2007/06/25
- - Added suport for HPUX11.23 for both 32 and 64-bit; HDF5 C++
- shared library is not supported with +DD64 flag.
- EIP - 2006/06/22
- - Added support for VAX floating numbers for Alpha Open VMS 7.3.2
- EIP - 2006/05/05
- - Fixed broken make.com files in tools directories
- EIP - 2006/05/05
- - Added support for Alpha Open VMS 7.3.2 EIP - 2006/04/15
- - Added support for Cray X1. JML - 2005/10/03
- - PGI Fortran compiler is supported on Linux64 systems (x86_64)
- EIP - 2004/08/19
- - Absoft compiler f95 v9.0 supported on Linux 2.4
- EIP - 2004/07/29
- - HDF5 Fortran APIs are supported on Mac OSX with IBM XL Fortran
- compiler version 8.1. This is a default compiler.
- - HDF5 Fortran APIs are supported on MAC OSX with Absoft F95 compiler
- version 8.2; set F9X environment varibale to f95, for example
- setenv F9X f95
- Use --disable-shared --enable-static configure flags when Absoft
- compiler is used.
- EIP - 2004/07/27
- - HDF5 Fortran APIs are supported on MAC OSX with IBM XL Fortran
- Compiler version 8.1 Use "--disable-shared --enable-static"
- configure flags along with the "--enable-fortran" flag to build
- Fortran library. EIP - 2004/01/07
-
-Bug Fixes since HDF5-1.6.0 release
+
+Bug Fixes since HDF5-1.8.0 release
==================================
Library
-------
- - Changed library's behavior for reading files that might have
- corrupted object header information from a previous (buggy)
- version of the library. By default, the library now rebuilds the
- correct object header information instead of issuing an error.
- Previous "strict" file format interpretation can be enabled with
- the "--enable-strict-format-checks" configure option.
- QAK - 2008/01/13
- - Fixed several bugs with writing fill values for datasets that have
- a variable-length datatype or component datatype. QAK - 2007/06/19
- - STDIO driver didn't support files bigger than 2GB because the OFFSET
- parameter of fseek is of type LONG INT, not big enough for big files.
- Use fseeko instead for big files if it's available on the system.
- SLU - 2007/4/5
- - Fixed a bug in H5Sselect_valid() that caused an incorrect value to
- be returned (0) instead of FAIL on error conditions such as the
- selection or extent not being defined. CMC - 2007/01/17
- - Fixed the MULTI driver problem (Bug #731) that corruptted the data.
- SLU - 2007/1/12
- - Fixed file corruption bug which could write an incorrect number of
- messages to an object's header under certain circumstances.
- Generally, the sequence of actions to generate this bug looks
- like this:
- - Create an object
- - Close the file
- - Re-open the file
- - Add 2 (or more) attributes to the object
- - Close the file
- - Re-open the file
- - Delete one of the attributes on the object
- - Add a smaller attribute to the object
- - Delete the smaller atttribute on the object
- - Add a larger attribute on the object
-
- After this, the number of header messages stored for the object
- will be off by one. Other sequences of modifying attributes on an
- object could also trigger this bug. If you are opening an
- object and the bottom few messages of the HDF5 error stack
- resembles this, the object has been affected by this bug:
-
- #007: ../../hdf5_v1.6/src/H5C.c line 3887 in H5C_load_entry(): unable to load entry
- major(08): Meta data cache layer
- minor(40): Unable to load metadata into cache
- #008: ../../hdf5_v1.6/src/H5Ocache.c line 332 in H5O_load(): corrupt object header - too few messages
- major(12): Object header layer
- minor(40): Unable to load metadata into cache
-
- Specifically, "corrupt object header" is the best string to search
- for in the HDF5 error stack output.
-
- If your files have been affected by this bug, or you are concerned
- that your files might have been, please contact the HDF Helpdesk
- at help@hdfgroup.org for a tool to detect and repair files
- affected by this problem. QAK - 2006/6/16
- - Fixed various problems with retrieving names of objects, especially
- with mounted files. QAK - 2005/12/25
- - Fixed core dump when closing root groups opened through two different
- file handles that operate on the same actual file. QAK - 2005/10/02
- - Corrected errors when performing various operations on a group opened
- by dereferencing an object reference. QAK - 2005/07/30
- - Fixed a bug with named datatypes where a copy of a named datatype
- used to create a dataset would accidentally use the original
- named datatype for the dataset's datatype. QAK - 2005/07/23
- - Made H5Fget_name() be consistent and always return name of actual
- file the ID is in. (Instead of the name of the top file in a
- file mounting hierarchy). QAK - 2005/07/19
- - Reworked internal file mounting semantics to hopefully eliminate
- mounting problems. We now require that files that are mounting
- together all have the same "file close degree". QAK - 2005/07/19
- - More bug fixes on holding open files that are mounted and have
- IDs open. QAK - 2005/07/14
- - Don't unmount child files until the parent file actually closes.
- (Previously, if an object is holding open a file, the child files
- would get unmounted too early). QAK - 2005/07/05
- - Fixed bug where unmounted files could cause the library to go into
- an infinite loop when shutting down. QAK - 2005/06/30
- - The library didn't save the information of family driver in file.
- The original file member size was lost after file was closed (see
- bug #213). This has been fixed by saving driver name and member
- file size in the superblock. SLU - 2005/6/24
- - Fixed bug with hyperslab selections that use selection offsets and
- operate on chunked datasets going into infinite loop or dumping
- core. QAK - 2005/06/17
- - Corrected memory leak and possible corruption when opening a group.
- QAK - 2005/06/17
- - Added check for opaque datatype tags being too long (check against
- H5T_OPAQUE_TAG_MAX, currently set to 256). QAK - 2005/06/14
- - Fixed various errors in maintaining names for open objects in the
- face of unusual mount & unmount operations. QAK - 2005/06/08
- - "SEMI" and "STRONG" file close degree settings now apply only to the
- particular file ID being closed, instead of operating on all open
- file IDs for a given file. QAK - 2005/06/01
- - For family driver, the library didn't save member size in file.
- When file is reopened, the size of 1st member file determine the
- member size. Now member size is saved in file and is used to
- define member file size. Wrong file access property of member size
- will result in a failure. Using any other driver except family
- will cause library to return error. So is multi driver. SLU -
- 2005/05/24
- - Fixed error in opening object in group that was opened in mounted
- file which has been unmounted. QAK - 2005/03/17
- - Fixed a racing condition in MPIPOSIX virtual file drive close
- function. Now all processes must completed the close before any
- of them is returned. This prevents some "faster" processes start
- accessing the file for another purpose (e.g., open with truncate)
- while other "slower" processes have not closed the same file with
- the previous purpose. AKC - 2005/03/01
- - H5Tget_member_value calls for enum datatype didn't return correct
- value if H5Tenum_valueof was called first. It's fixed. SLU -
- 2005/02/08
- - For variable-length string, H5Tget_class returned H5T_STRING as its
- class. But H5Tdetect_class and H5Tget_member_class considered it
- as H5T_VLEN. This is fixed to let all these 3 functions treat it
- as H5T_STRING. SLU - 2005/02/08
- - The byte order of 1-byte integer types was fixed as little endian
- even on a big-endian machine. This has been corrected. SLU -
- 2005/02/07
- - Fix segmentation fault when calling H5Fflush with an attribute that
- hasn't had a value written to it open. QAK - 2004/10/18
- - Back up supporting bitfield and time types in H5Tget_native_type.
- Leave it to future support. The function simply returns error
- message of "not support" for bitfield and time types.
- SLU - 2004/10/5
- - Fixed address check in Core VFL driver to avoid spurious address/size
- overflows for odd valued addresses and/or sizes. QAK - 2004/09/27
- - Fixed parallel bug in which some processes attempted collective
- I/O while others did independent I/O. Bug appeared when some
- processes used point selections, and others didn't. JRM - 2004/9/15
- - Corrected error where dataset region references were written in an
- incorrect way on Cray machines. PVN & QAK - 2004/09/13
- - The H5Tget_native_type now determines the native type for integers
- based on the precision. This is to avoid cases of wrongly converting
- an int to a short in machines that have a short of 8 bytes but with
- 32bit precision (e.g Cray SV1). PVN - 2004/09/07
- - Changed H5Dread() to not overwrite data in an application's buffer
- with garbage when accessing a chunked dataset with an undefined
- fill value and an unwritten chunk is uncountered. QAK - 2004/08/25
- - Fixed error which could cause a core dump when a type conversion
- routine was registered after a compound datatype had been
- converted and then an equivalment compound datatype was converted
- again. QAK - 2004/08/07
- - Fixed memory overwrite when encoding "multi" file driver information
- for file's superblock. QAK - 2004/08/05
- - Fixed obscure bug where a filter which failed during chunk allocation
- could allow library to write uncompressed data to disk but think
- the data was compressed. QAK - 2004/07/29
- - Fixed bug where I/O to an extendible chunked dataset with zero-sized
- dimensions would cause library to fail an assertion.
- QAK - 2004/07/27
- - Fixed bug where chunked datasets which have filters defined,
- allocation time set to "late" and whose chunks don't align with
- the dataspace bounds could have incorrect data stored when
- overwriting the entire dataset on the first write. QAK - 2004/07/27
- - Added check to ensure that dataspaces have extents set. JML-2004/07/26
- - Fixed bug on some Solaris systems where HDF5 would try to use
- gettimeofday() when that function didn't work properly.
- JML - 2004/07/23
- - Fixed bug in H5Sset_extent_simple where setting maximum size to
- non-zero, then to zero would cause an error. JML - 2004/07/20
- - Allow NULL pointer for buffer parameter to H5Dread & H5Dwrite
- when not writing data ("none" selection or hyperslab or point
- selection with no elements defined). QAK - 2004/07/20
- - Calling H5Gcreate() on "/" or "." throws an error instead of
- failing quietly. JML - 2004/07/19
- - Fixed bug where setting file address size to be very small could
- trigger an assert if the file grew to more than 64 KB. Now throws
- an error and data can be recovered. JL/NF - 2004/07/14
- - Fixed bug where "resurrecting" a dataset was failing.
- QAK - 2004/07/14
- - Fixed bug where incorrect data could be read from a chunked dataset
- after it was extended. QAK - 2004/07/12
- - Fixed failure to read data back from file of compound type with
- variable-length string as field. SLU - 2004/06/10
- - Fixed potential file corruption bug when a block of metadata could
- overlap the end of the internal metadata accumulator buffer and
- the buffer would be extended correctly, but would incorrectly
- change it's starting address. QAK - 2004/06/09
- - Opaque datatype with no tag failed for some operations. Fixed.
- SLU - 2004/6/3
- - Fixed potential file corruption bug where dimensions that were
- too large (a value greater than could be represented in 32-bits)
- could cause the incorrect amount of space to be allocated in a
- file for the raw data for the dataset. QAK - 2004/06/01
- - Fixed dtypes "sw long double -> double" failure in QSC class
- machines. AKC - 2004/4/16
- - Fixed problem with fletcher32 filter when converting data of different
- endianess. PVN - 2004/03/10
- - Fixed problem with H5Tget_native_type() not handling opaque fields
- correctly. QAK - 2004/01/31
- - Fixed several errors in B-tree deletion code which could cause a
- B-tree (used with groups and chunked datasets) to become corrupt
- with the right sequence of deleted objects. QAK - 2004/01/19
- - Fixed small internal memory leaks of fill-value information.
- QAK - 2004/01/13
- - Fixed bug that caused variable-length datatypes (strings or sequences)
- used for datasets in files with objects that were unlinked to
- fail to be read/written to a file. QAK - 2004/01/13
- - Detect situation where szip 'pixels per block' is larger than the
- fastest changing dimension of a dataset's chunk size and disallow
- this (due to limits in szip library). QAK - 2003/12/31
- - Fixed bug with flattened hyperslab selections that would generate
- incorrect hyperslab information with certain high-dimensionality
- combinations of start/stride/count/block information.
- QAK - 2003/12/31
- - Fixed bug with variable-length datatypes used in compound datatypes.
- SLU - 2003/12/29
- - Fixed bug in parallel I/O routines that would cause reads from
- "short datasets" (datasets which were only partially written out)
- to return invalid data. QAK & AKC - 2003/12/19
- - Fixed bug where scalar dataspaces for attributes were reporting as
- simple dataspaces. QAK - 2003/12/13
- - Fixed problem with selection offsets of hyperslab selections in
- chunked datasets causing the library to go into an infinite loop.
- QAK - 2003/12/13
- - Fixed H5Giterate to avoid re-using index parameter after iteration
- callback has been called (allows iteration callback to modify the
- index parameter itself). QAK - 2003/12/06
- - Fixed various floating-point conversion problems, including a
- change which could corrupt data when converting from double->float.
- QAK - 2003/11/24
- - Changed "single process" metadata writing in library to collective
- I/O by all processes, in order to guarantee correct data being
- written with MPI-I/O. QAK - 2003/11/20
- - Fixed problems with fill values and variable-length types and also
- I/O on VL values that were set to NULL. QAK - 2003/11/08
- - Fixed problems with MPI datatypes that caused ASCI Q machine to
- hang. QAK - 2003/10/28
- - Removed HDF5_MPI_PREFER_DERIVED_TYPES environment variable support,
- since it had no benefit. QAK - 2003/10/28
- - Single hyperslab selections (which were set with only one call to
- H5Sselect_hyperslab) that had dimensions that could be "flattened"
- but were interspersed with dimensions that could not be flattened
- were not correctly handled, causing core dumps. QAK - 2003/10/25
- - Fixed incorrect datatype of the third parameter to the Fortran90
- h5pset(get)_cache_f subroutine (INTEGER to INTEGER(SIZE_T))
- EIP - 2003/10/13
- - Fixed problems with accessing variable-length data datatypes on
- Crays. QAK - 2003/10/10
- - Fixed potential file corruption bug when too many object header
- messages (probably attributes, from a user perspective) were
- inserted into an object header and certain other conditions were
- met. QAK - 2003/10/08
- - Changed implementation of internal ID searching algorithm to avoid
- O(n) behavior for many common cases. QAK - 2003/10/06
- - Allow partial parallel writing to compact datasets. QAK - 2003/10/06
- - Correctly create reference to shared datatype in attribute, instead
- of making a copy of the shared datatype in the attribute.
- QAK - 2003/10/01
- - Revert changes which caused files >2GB to fail when created with
- MPI-I/O file driver on certain platforms. QAK - 2003/09/16
- - Allow compound datatypes to grow in size. SLU - 2003/09/10
- - Detect if a type is already packed before attempting to pack it
- again or check if it is locked. SLU - 2003/09/10
- - Corrected bug when opening a file twice with read-only permission
- for one open and then closing the read-only access file ID would
- generate an error. QAK - 2003/09/10
- - Corrected bug in repeated calls to H5Pget_access_plist() which would
- incorrectly manage reference counts of internal information and
- eventually blow up. QAK - 2003/09/02
- - Return rank of the array datatype on successful call to
- H5Tget_array_dims(). QAK - 2003/08/30
- - Corrected bug in H5Tdetect_class which was not correctly detecting
- datatype classes of fields in nested compound datatypes in some
- circumstances. QAK - 2003/08/30
- - Corrected bug in sieve buffer code which could cause loss of data
- when a small dataset was created and deleted in quick succession.
- QAK - 2003/08/27
- - Corrected bug in H5Gget_objname_by_idx which was not allowing NULL
- for the name when just querying for the object name's length.
- QAK - 2003/08/25
- - Corrected bug in variable-length string handling which could
- generate a core dump on writing variable-length strings as part
- of a compound datatype on certain architectures. QAK - 2003/08/25
- - Corrected bug in H5Tget_native_type which would incorrectly compute
- the size of certain compound datatypes and also incorrectly
- compute the offset of the last field for those compound datatypes.
- QAK - 2003/08/25
- - Corrected bug in H5Tget_native_type which would drop string datatype
- metadata (padding, etc.) QAK - 2003/08/25
- - Corrected bugs in H5Gget_num_objs, H5Gget_objname_by_idx and
- H5Gget_objtype_by_idx to allow them to accept location IDs, not just
- group IDs. QAK - 2003/08/21
- - Corrected bug when using scalar dataspace for memory selection and
- operating on chunked dataset. QAK - 2003/08/18
- - Corrected bugs with multiple '/' characters in names for H5Glink
- and H5Gunlink. QAK - 2003/08/16
- - Corrected bug with user blocks that didn't allow a user block to
- be inserted in front of a file after the file was created.
- QAK - 2003/08/13
- - Corrected errors with using point selections to access data in
- chunked datasets. QAK - 2003/07/23
- - Corrected error with variable-length datatypes and chunked datasets
- caused H5Dwrite to fail sometimes. QAK - 2003/07/19
- - Modified library and file format to support storing indexed storage
- (chunked dataset) B-tree's with non-default internal 'K' values.
- QAK - 2003/07/15
- - Returned H5T_BKG_TEMP support to library after it was accidentally
- removed. QAK - 2003/07/14
+ - Fixed the problem with the searching of target file for H5Lcreate_external().
+ The searching pattern will depend on whether the target file's
+ pathname is an absolute or a relative path. Please see the description
+ in the RM for H5Lcreate_external(). (VC - 4/8/08)
+ - Fixed possible file corruption bug when encoding datatype
+ descriptions for compound datatypes whose size was between
+ 256 & 511 bytes and the file was opened with the "use the
+ latest format" property enabled (with H5Pset_libver_bounds).
+ (QAK - 2008/03/13)
+ - Fixed bug in H5Aget_num_attrs() routine to handle invalid location
+ ID correctly. (QAK - 2008/03/11)
+
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
+ - Fixed bug in h5diff that prevented datasets & attributes with
+ variable-length string elements from comparing correctly.
+ (QAK - 2008/02/28)
+ - h5import bug on Windows w/binary datasets. fread in windows needs a
+ binary file to be open with 'rb' instead of 'r' otherwise it
+ terminates execution if an end of file character is found on the
+ input file. Besides that the binary file generated needs to be open
+ with 'wb' , otherwise an end of line character is read twice.
+ (PVN - 2008/02/19)
+ - Fixed bug in h5dump that caused binary output to be made only for the first
+ dataset, when several datasets were requested. (PVN - 2008/04/07)
+
Documentation
@@ -992,27 +111,23 @@ Bug Fixes since HDF5-1.6.0 release
F90 APIs
--------
- - h5pget_driver_f was returning information that could not be
- interpreted by fortran application program; fixed. EIP - 2005/04/10
+
+
+ C++ APIs
+ --------
+ - Fixed bug that caused segfaults in Attribute::read. (BMR - 2008/04/20)
+ - Fixed bug in PropList::getClassName to use portable HDfree instead
+ of free. (BMR - 2008/04/20)
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
+ 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
@@ -1024,14 +139,11 @@ Platforms marked with * were not tested for hdf5-1.8.0-rc* release
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
+ Linux 2.6.9 (RHEL4) Intel 10.0 compilers
(abe.ncsa.uiuc.edu)
Linux 2.4.21-47 gcc 3.2.3 20030502
(osage)
@@ -1048,9 +160,6 @@ Platforms marked with * were not tested for hdf5-1.8.0-rc* release
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
@@ -1075,105 +184,91 @@ Platforms marked with * were not tested for hdf5-1.8.0-rc* release
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
+ Alpha Open VMS 7.3
Supported Configuration Features Summary
-(This table was not modified for 1.8.0-rc* release; for information contact help@hdfgroup.org)
========================================
In the tables below
y = tested and supported
n = not supported or not tested in this release
x = not working in this release
- dna = does not apply
( ) = footnote appears below second table
- <blank> = testing incomplete on this feature or platform
-
-Platform C F90 F90 C++ zlib SZIP
- parallel parallel
-SunOS5.8 64-bit n y n y y y
-SunOS5.8 32-bit n y n y y y
-SunOS5.10 64-bit y(1) y n y y y
-SunOS5.10 32-bit y(1) y n y y y
-IRIX64_6.5 64-bit n y y y y y
-IRIX64_6.5 32-bit n n n n y y
-Cray XT3 (16) n n n n n n
-AIX-5.2 & 5.3 32-bit y y y y y y
-AIX-5.2 & 5.3 64-bit y y y y y y
-Windows XP n y(15) n(15) y y y
-Windows XP x64 n y(15) n(15) y y y
-Windows Vista n n n y y y
-Mac OS X 10.4 PowerPC n n
-FreeBSD 4.11 n n n y y y
-RedHat EL3 W (3) y(1a) y(10) y(1a) y y y
-RedHat EL3 W Intel (3) n y n y y n
-RedHat EL3 W PGI (3) n y n y y n
-SuSe x86_64 gcc (3,12) y(1a) y(11) n y y y
-SuSe x86_64 Int (3,12) n y(13) n y y n
-SuSe x86_64 PGI (3,12) n y(8) n y y y
-Linux 2.4 Xeon C
- Lustre Intel (3,6) n y n y y n
-Linux 2.6 SuSE ia64 C
- Intel (3,7) y y y y y n
-Linux 2.6 SGI Altix
- ia64 Intel (3) y y y y y y
-Alpha OpenVMS 7.3.2 n y n y n n
-
-
-
-Platform Shared Shared Shared static- Thread-
- C libs F90 libs C++ libs exec safe
-Solaris2.8 64-bit y y y x y
-Solaris2.8 32-bit y y y x y
-Solaris2.10 64-bit y x y
-Solaris2.10 32-bit y x y
-IRIX64_6.5 64-bit y y n y y
-IRIX64_6.5 32-bit y dna y y y
-HPUX11.00 y n y x n
-HPUX11.23-32bit y n n y n
-HPUX11.23-64bit y dna n y n
-Cray XT3 (16) n n n n n
-AIX-5.2 & 5.3 32-bit n n n y n
-AIX-5.2 & 5.3 64-bit n n n y n
-Windows XP y y(15) y y y
-Windows XP x64 y y(15) y y y
-Windows Vista y n n y y
-Mac OS X 10.3 y y n
-Mac OS X 10.4 PowerPC
-FreeBSD 4.11 y n y y y
-RedHat EL3 W (3) y y(10) y y y
-RedHat EL3 W Intel (3) y y y y n
-RedHat EL3 W PGI (3) y y y y n
-SuSe x86_64 W GNU (3,12) y y y y y
-SuSe x86_64 W Int (3,12) y y y y(14) n
-SuSe x86_64 W PGI (3,12) y y y y(14) n
-Linux 2.4 Xeon C
- Lustre Intel (6) y y y y n
-Linux 2.4 SuSE
- ia64 C Intel (7) y y y y n
-Linux 2.4 SGI Altix
- ia64 Intel y y n
-Alpha OpenVMS 7.3.2 n n n y n
+ <blank> = testing incomplete on this feature or platform
+ W or C indicates workstation or cluster, respectively.
+
+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 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
+AIX-5.2 32-bit y y y y y y
+AIX-5.2 64-bit y y y y y y
+Cray XT3 (not tested
+ for this release) n n n n n n
+Windows XP n y(3) n(3) y y y
+Windows XP x64 n y(3) n(3) 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 6.2 32-bit n n n y y y
+FreeBSD 6.2 64-bit
+RedHat EL4 2.6.9 i686 GNU W y(2) y(4) y(2) y y y
+RedHat EL4 2.6.9 i686 Intel W n y n y y n
+RedHat EL4 2.6.9 i686 PGI W n y n y y n
+SuSe Linux 2.6.16 x86_64 GNU (5) W y(2) y n y y y
+SuSe Linux 2.6.16 x86_64 Int (5) W n y n y n n
+SuSe Linux 2.6.16 x86_64 PGI (5) W n y n y n n
+RHL9 Linux 2.4 Xeon Lustre Intel C n y n y y n
+RHEL3 Linux 2.4 Xeon Intel W n y n n y n
+RHEL4 Linux 2.6 Xeon Lustre Int C n y n y y n
+SuSE Linux 2.4 ia64 Intel C y(1) y y y y y
+SuSe Linux 2.6.5
+ SGI Altix ia64 Intel C n y n y n 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
+SunOS 5.8 32-bit y y y x y
+SunOS 5.8 64-bit y y y x y
+SunOS 5.10 32-bit y y y x y
+SunOS 5.10 64-bit y y y x y
+IRIX64_6.5 32-bit y n y x y
+IRIX64_6.5 64-bit y y n x y
+AIX-5.2 32-bit n n n x n
+AIX-5.2 64-bit n n n x n
+Cray XT3 (not tested
+ for this release) n n n x n
+Windows XP y y(3) y y y
+Windows XP x64 y y(3) y y y
+Windows Vista y n n y y
+Mac OS X 10.4 Intel Duo y y y x n
+FreeBSD 6.2 32-bit y y y x n
+FreeBSD 6.2 64-bit y y y x n
+RHEL4 2.6.9 i686 GNU W y y(4) y x y
+RHEL4 2.6.9 i686 Intel W y y y x n
+RHEL4 2.6.9 i686 PGI W y y y x n
+SuSE Linux 2.6.16 x86_64 GNU (5) W y y y x y
+SuSE Linux 2.6.16 x86_64 Intel(5) W y y y x n
+SuSE Linux 2.6.16 x86_64 PGI(5) W y y y x n
+RHL9 Linux 2.4 Xeon Lustre Intel C y y y x n
+RHEL3 Linux 2.4 Xeon Intel W y n n x n
+RHEL4 Linux 2.6 Xeon Lustre Intel C y y y x n
+SuSE Linux 2.4 ia64 Intel C y y y x n
+SuSe Linux 2.6.5
+ SGI Altix ia64 Intel C n n n x 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.
+ (2) Using mpich2 1.0.6.
+ (3) Using Visual Studio 2005 or Cygwin
+ (4) With PGI and Absoft compilers.
+ (5) AMD Opteron x86_64
Compiler versions for each platform are listed in the preceding
"Platforms Tested" table.
@@ -1310,12 +405,6 @@ Known Problems
the different precision in the values displayed and h5ls appears to
be dumping floating-point numbers correctly.
-* Before building HDF5 F90 Library from source on Crays
- 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
@@ -1328,23 +417,6 @@ Known Problems
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