summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--MANIFEST1
-rw-r--r--config/cmake/FindJNI.cmake9
-rw-r--r--java/src/hdf/hdf5lib/H5.java82
-rw-r--r--java/src/jni/exceptionImp.c2
-rw-r--r--java/src/jni/h5Constants.c2
-rw-r--r--java/src/jni/h5Imp.c2
-rw-r--r--java/src/jni/h5aImp.c2
-rw-r--r--java/src/jni/h5dImp.c2
-rw-r--r--java/src/jni/h5eImp.c2
-rw-r--r--java/src/jni/h5fImp.c2
-rw-r--r--java/src/jni/h5gImp.c2
-rw-r--r--java/src/jni/h5iImp.c2
-rw-r--r--java/src/jni/h5jni.h2
-rw-r--r--java/src/jni/h5lImp.c2
-rw-r--r--java/src/jni/h5oImp.c2
-rw-r--r--java/src/jni/h5pImp.c2
-rw-r--r--java/src/jni/h5plImp.c163
-rw-r--r--java/src/jni/h5plImp.h63
-rw-r--r--java/src/jni/h5rImp.c2
-rw-r--r--java/src/jni/h5sImp.c2
-rw-r--r--java/src/jni/h5tImp.c2
-rw-r--r--java/src/jni/h5util.c2
-rw-r--r--java/src/jni/h5util.h2
-rw-r--r--java/src/jni/h5zImp.c2
-rw-r--r--java/src/jni/nativeData.c2
-rw-r--r--java/test/JUnit-interface.txt3
-rw-r--r--java/test/TestH5PL.java30
-rw-r--r--release_docs/HISTORY-1_10.txt1367
-rw-r--r--release_docs/HISTORY-1_8.txt12344
-rw-r--r--release_docs/HISTORY-1_8_0-1_10_0.txt1742
-rw-r--r--release_docs/HISTORY-1_9.txt6
-rw-r--r--release_docs/RELEASE.txt4
-rw-r--r--src/CMakeLists.txt1
-rw-r--r--src/H5Cdbg.c107
-rw-r--r--src/H5Cmpio.c102
-rw-r--r--src/H5Cprivate.h5
-rw-r--r--src/H5Dearray.c15
-rw-r--r--src/H5FDmpi.c39
-rw-r--r--src/H5FDmpio.c37
-rw-r--r--src/H5FDprivate.h2
-rw-r--r--src/H5Fmpi.c26
-rw-r--r--src/H5Fprivate.h1
-rw-r--r--src/H5L.c6
-rw-r--r--src/H5Oprivate.h1
-rw-r--r--src/H5PL.c282
-rw-r--r--src/H5PLpkg.h50
-rw-r--r--src/H5PLpublic.h7
-rw-r--r--test/CMakeTests.cmake4
-rw-r--r--test/fheap.c679
-rw-r--r--test/plugin.c946
-rw-r--r--test/set_extent.c13
51 files changed, 17404 insertions, 773 deletions
diff --git a/MANIFEST b/MANIFEST
index 13146a4..237f887 100644
--- a/MANIFEST
+++ b/MANIFEST
@@ -799,6 +799,7 @@
./src/H5PBprivate.h
./src/H5PL.c
./src/H5PLmodule.h
+./src/H5PLpkg.h
./src/H5PLprivate.h
./src/H5PLpublic.h
./src/H5PLextern.h
diff --git a/config/cmake/FindJNI.cmake b/config/cmake/FindJNI.cmake
index baab2ea..c82d308 100644
--- a/config/cmake/FindJNI.cmake
+++ b/config/cmake/FindJNI.cmake
@@ -137,7 +137,6 @@ JAVA_APPEND_LIBRARY_DIRECTORIES(JAVA_AWT_LIBRARY_DIRECTORIES
/usr/lib/java/jre/lib/{libarch}
/usr/lib64/java/jre/lib/{libarch}
/usr/lib/jvm/jre/lib/{libarch}
- /usr/lib64/jvm/jre/lib/{libarch}
/usr/local/lib/java/jre/lib/{libarch}
/usr/local/share/java/jre/lib/{libarch}
/usr/lib/j2sdk1.4-sun/jre/lib/{libarch}
@@ -152,6 +151,9 @@ JAVA_APPEND_LIBRARY_DIRECTORIES(JAVA_AWT_LIBRARY_DIRECTORIES
/usr/lib/jvm/default-java/jre/lib/{libarch}
/usr/lib/jvm/default-java/jre/lib
/usr/lib/jvm/default-java/lib
+ # Arch Linux specific paths for default JVM
+ /usr/lib/jvm/default/jre/lib/{libarch}
+ /usr/lib/jvm/default/lib/{libarch}
# Ubuntu specific paths for default JVM
/usr/lib/jvm/java-8-openjdk-{libarch}/jre/lib/{libarch} # Ubuntu 15.10
/usr/lib/jvm/java-7-openjdk-{libarch}/jre/lib/{libarch} # Ubuntu 15.10
@@ -197,14 +199,11 @@ JAVA_APPEND_LIBRARY_DIRECTORIES(JAVA_AWT_INCLUDE_DIRECTORIES
/usr/lib64/java/include
/usr/local/lib/java/include
/usr/lib/jvm/java/include
- /usr/lib64/jvm/java/include
/usr/lib/jvm/java-6-sun/include
/usr/lib/jvm/java-1.5.0-sun/include
/usr/lib/jvm/java-6-sun-1.6.0.00/include # can this one be removed according to #8821 ? Alex
/usr/lib/jvm/java-6-openjdk/include
/usr/lib/jvm/java-7-openjdk/include
- /usr/lib/jvm/java-7-openjdk-i386/include
- /usr/lib/jvm/java-7-openjdk-amd64/include
/usr/lib64/jvm/java-7-openjdk/include
/usr/lib64/jvm/java-7-openjdk-amd64/include
/usr/lib/jvm/java-8-openjdk-{libarch}/include # ubuntu 15.10
@@ -216,6 +215,8 @@ JAVA_APPEND_LIBRARY_DIRECTORIES(JAVA_AWT_INCLUDE_DIRECTORIES
/opt/sun-jdk-1.5.0.04/include
# Debian specific path for default JVM
/usr/lib/jvm/default-java/include
+ # Arch specific path for default JVM
+ /usr/lib/jvm/default/include
# OpenBSD specific path for default JVM
/usr/local/jdk-1.7.0/include
/usr/local/jdk-1.6.0/include
diff --git a/java/src/hdf/hdf5lib/H5.java b/java/src/hdf/hdf5lib/H5.java
index e8ed233..03d7b6b 100644
--- a/java/src/hdf/hdf5lib/H5.java
+++ b/java/src/hdf/hdf5lib/H5.java
@@ -7200,6 +7200,88 @@ public class H5 implements java.io.Serializable {
**/
public synchronized static native int H5PLget_loading_state() throws HDF5LibraryException;
+ /**
+ * H5PLappend inserts the plugin path at the end of the table.
+ *
+ * @param plugin_path
+ * IN: Path for location of filter plugin libraries.
+ *
+ * @exception HDF5LibraryException
+ * - Error from the HDF-5 Library.
+ **/
+ public synchronized static native void H5PLappend(String plugin_path) throws HDF5LibraryException;
+
+ /**
+ * H5PLprepend inserts the plugin path at the beginning of the table.
+ *
+ * @param plugin_path
+ * IN: Path for location of filter plugin libraries.
+ *
+ * @exception HDF5LibraryException
+ * - Error from the HDF-5 Library.
+ **/
+ public synchronized static native void H5PLprepend(String plugin_path) throws HDF5LibraryException;
+
+ /**
+ * H5PLreplace replaces the plugin path at the specified index.
+ *
+ * @param plugin_path
+ * IN: Path for location of filter plugin libraries.
+ * @param index
+ * IN: The table index (0-based).
+ *
+ * @exception HDF5LibraryException
+ * - Error from the HDF-5 Library.
+ **/
+ public synchronized static native void H5PLreplace(String plugin_path, int index) throws HDF5LibraryException;
+
+ /**
+ * H5PLinsert inserts the plugin path at the specified index.
+ *
+ * @param plugin_path
+ * IN: Path for location of filter plugin libraries.
+ * @param index
+ * IN: The table index (0-based).
+ *
+ * @exception HDF5LibraryException
+ * - Error from the HDF-5 Library.
+ **/
+ public synchronized static native void H5PLinsert(String plugin_path, int index) throws HDF5LibraryException;
+
+ /**
+ * H5PLremove removes the plugin path at the specified index.
+ *
+ * @param index
+ * IN: The table index (0-based).
+ *
+ * @exception HDF5LibraryException
+ * - Error from the HDF-5 Library.
+ **/
+ public synchronized static native void H5PLremove(int index) throws HDF5LibraryException;
+
+ /**
+ * H5PLget retrieves the plugin path at the specified index.
+ *
+ * @param index
+ * IN: The table index (0-based).
+ *
+ * @return the current path at the index in plugin path table
+ *
+ * @exception HDF5LibraryException
+ * - Error from the HDF-5 Library.
+ **/
+ public synchronized static native String H5PLget(int index) throws HDF5LibraryException;
+
+ /**
+ * H5PLsize retrieves the size of the current list of plugin paths.
+ *
+ * @return the current number of paths in the plugin path table
+ *
+ * @exception HDF5LibraryException
+ * - Error from the HDF-5 Library.
+ **/
+ public synchronized static native int H5PLsize() throws HDF5LibraryException;
+
// ////////////////////////////////////////////////////////////
// //
// H5R: HDF5 1.8 Reference API Functions //
diff --git a/java/src/jni/exceptionImp.c b/java/src/jni/exceptionImp.c
index 564a764..05c193f 100644
--- a/java/src/jni/exceptionImp.c
+++ b/java/src/jni/exceptionImp.c
@@ -13,7 +13,7 @@
/*
* For details of the HDF libraries, see the HDF Documentation at:
- * http://hdfdfgroup.org/HDF5/doc/
+ * http://hdfgroup.org/HDF5/doc/
*
*/
diff --git a/java/src/jni/h5Constants.c b/java/src/jni/h5Constants.c
index 1aed6c4..cd1c2f0 100644
--- a/java/src/jni/h5Constants.c
+++ b/java/src/jni/h5Constants.c
@@ -13,7 +13,7 @@
/*
* For details of the HDF libraries, see the HDF Documentation at:
- * http://hdfdfgroup.org/HDF5/doc/
+ * http://hdfgroup.org/HDF5/doc/
*
*/
diff --git a/java/src/jni/h5Imp.c b/java/src/jni/h5Imp.c
index 07c9844..2eeb075 100644
--- a/java/src/jni/h5Imp.c
+++ b/java/src/jni/h5Imp.c
@@ -13,7 +13,7 @@
/*
* For details of the HDF libraries, see the HDF Documentation at:
- * http://hdfdfgroup.org/HDF5/doc/
+ * http://hdfgroup.org/HDF5/doc/
*
*/
diff --git a/java/src/jni/h5aImp.c b/java/src/jni/h5aImp.c
index a0c5546..26ec4fc 100644
--- a/java/src/jni/h5aImp.c
+++ b/java/src/jni/h5aImp.c
@@ -13,7 +13,7 @@
/*
* For details of the HDF libraries, see the HDF Documentation at:
- * http://hdfdfgroup.org/HDF5/doc/
+ * http://hdfgroup.org/HDF5/doc/
*
*/
diff --git a/java/src/jni/h5dImp.c b/java/src/jni/h5dImp.c
index 31e9ea2..d869601 100644
--- a/java/src/jni/h5dImp.c
+++ b/java/src/jni/h5dImp.c
@@ -13,7 +13,7 @@
/*
* For details of the HDF libraries, see the HDF Documentation at:
- * http://hdfdfgroup.org/HDF5/doc/
+ * http://hdfgroup.org/HDF5/doc/
*
*/
diff --git a/java/src/jni/h5eImp.c b/java/src/jni/h5eImp.c
index 1c6d4f0..24ddcbc 100644
--- a/java/src/jni/h5eImp.c
+++ b/java/src/jni/h5eImp.c
@@ -13,7 +13,7 @@
/*
* For details of the HDF libraries, see the HDF Documentation at:
- * http://hdfdfgroup.org/HDF5/doc/
+ * http://hdfgroup.org/HDF5/doc/
*
*/
diff --git a/java/src/jni/h5fImp.c b/java/src/jni/h5fImp.c
index 0053770..8cf5252 100644
--- a/java/src/jni/h5fImp.c
+++ b/java/src/jni/h5fImp.c
@@ -13,7 +13,7 @@
/*
* For details of the HDF libraries, see the HDF Documentation at:
- * http://hdfdfgroup.org/HDF5/doc/
+ * http://hdfgroup.org/HDF5/doc/
*
*/
diff --git a/java/src/jni/h5gImp.c b/java/src/jni/h5gImp.c
index 7bfa162..41ec382 100644
--- a/java/src/jni/h5gImp.c
+++ b/java/src/jni/h5gImp.c
@@ -13,7 +13,7 @@
/*
* For details of the HDF libraries, see the HDF Documentation at:
- * http://hdfdfgroup.org/HDF5/doc/
+ * http://hdfgroup.org/HDF5/doc/
*
*/
diff --git a/java/src/jni/h5iImp.c b/java/src/jni/h5iImp.c
index a070ed6..47574ca 100644
--- a/java/src/jni/h5iImp.c
+++ b/java/src/jni/h5iImp.c
@@ -13,7 +13,7 @@
/*
* For details of the HDF libraries, see the HDF Documentation at:
- * http://hdfdfgroup.org/HDF5/doc/
+ * http://hdfgroup.org/HDF5/doc/
*
*/
diff --git a/java/src/jni/h5jni.h b/java/src/jni/h5jni.h
index 0bf1de5..2970e14 100644
--- a/java/src/jni/h5jni.h
+++ b/java/src/jni/h5jni.h
@@ -13,7 +13,7 @@
/*
* For details of the HDF libraries, see the HDF Documentation at:
- * http://hdfdfgroup.org/HDF5/doc/
+ * http://hdfgroup.org/HDF5/doc/
*
*/
diff --git a/java/src/jni/h5lImp.c b/java/src/jni/h5lImp.c
index a94f209..bf2d7b1 100644
--- a/java/src/jni/h5lImp.c
+++ b/java/src/jni/h5lImp.c
@@ -13,7 +13,7 @@
/*
* For details of the HDF libraries, see the HDF Documentation at:
- * http://hdfdfgroup.org/HDF5/doc/
+ * http://hdfgroup.org/HDF5/doc/
*
*/
diff --git a/java/src/jni/h5oImp.c b/java/src/jni/h5oImp.c
index f5c0702..e8abead 100644
--- a/java/src/jni/h5oImp.c
+++ b/java/src/jni/h5oImp.c
@@ -13,7 +13,7 @@
/*
* For details of the HDF libraries, see the HDF Documentation at:
- * http://hdfdfgroup.org/HDF5/doc/
+ * http://hdfgroup.org/HDF5/doc/
*
*/
diff --git a/java/src/jni/h5pImp.c b/java/src/jni/h5pImp.c
index 4050811..df8b3c9 100644
--- a/java/src/jni/h5pImp.c
+++ b/java/src/jni/h5pImp.c
@@ -13,7 +13,7 @@
/*
* For details of the HDF libraries, see the HDF Documentation at:
- * http://hdfdfgroup.org/HDF5/doc/
+ * http://hdfgroup.org/HDF5/doc/
*
*/
diff --git a/java/src/jni/h5plImp.c b/java/src/jni/h5plImp.c
index 5adb4b9..5a2d3ba 100644
--- a/java/src/jni/h5plImp.c
+++ b/java/src/jni/h5plImp.c
@@ -13,7 +13,7 @@
/*
* For details of the HDF libraries, see the HDF Documentation at:
- * http://hdfdfgroup.org/HDF5/doc/
+ * http://hdfgroup.org/HDF5/doc/
*
*/
@@ -59,6 +59,167 @@ Java_hdf_hdf5lib_H5_H5PLget_1loading_1state
return (jint)plugin_type;
} /* end Java_hdf_hdf5lib_H5_H5PLget_1loading_1state */
+/*
+ * Class: hdf_hdf5lib_H5
+ * Method: H5PLappend
+ * Signature: (Ljava/lang/String;)V
+ */
+JNIEXPORT void JNICALL
+Java_hdf_hdf5lib_H5_H5PLappend
+ (JNIEnv *env, jclass clss, jobjectArray plugin_path)
+{
+ char *aName;
+ herr_t retVal = -1;
+
+ PIN_JAVA_STRING(plugin_path, aName);
+ if (aName != NULL) {
+ retVal = H5PLappend(aName);
+
+ UNPIN_JAVA_STRING(plugin_path, aName);
+
+ if (retVal < 0)
+ h5libraryError(env);
+ }
+} /* end Java_hdf_hdf5lib_H5_H5PLappend */
+/*
+ * Class: hdf_hdf5lib_H5
+ * Method: H5PLprepend
+ * Signature: (Ljava/lang/String;)V
+ */
+JNIEXPORT void JNICALL
+Java_hdf_hdf5lib_H5_H5PLprepend
+ (JNIEnv *env, jclass clss, jobjectArray plugin_path)
+{
+ char *aName;
+ herr_t retVal = -1;
+
+ PIN_JAVA_STRING(plugin_path, aName);
+ if (aName != NULL) {
+ retVal = H5PLprepend(aName);
+
+ UNPIN_JAVA_STRING(plugin_path, aName);
+
+ if (retVal < 0)
+ h5libraryError(env);
+ }
+} /* end Java_hdf_hdf5lib_H5_H5PLprepend */
+
+/*
+ * Class: hdf_hdf5lib_H5
+ * Method: H5PLreplace
+ * Signature: (Ljava/lang/String;I)V
+ */
+JNIEXPORT void JNICALL
+Java_hdf_hdf5lib_H5_H5PLreplace
+ (JNIEnv *env, jclass clss, jobjectArray plugin_path, jint index)
+{
+ char *aName;
+ herr_t retVal = -1;
+
+ PIN_JAVA_STRING(plugin_path, aName);
+ if (aName != NULL) {
+ retVal = H5PLreplace(aName, index);
+
+ UNPIN_JAVA_STRING(plugin_path, aName);
+
+ if (retVal < 0)
+ h5libraryError(env);
+ }
+} /* end Java_hdf_hdf5lib_H5_H5PLreplace */
+
+/*
+ * Class: hdf_hdf5lib_H5
+ * Method: H5PLinsert
+ * Signature: (Ljava/lang/String;I)V
+ */
+JNIEXPORT void JNICALL
+Java_hdf_hdf5lib_H5_H5PLinsert
+ (JNIEnv *env, jclass clss, jobjectArray plugin_path, jint index)
+{
+ char *aName;
+ herr_t retVal = -1;
+
+ PIN_JAVA_STRING(plugin_path, aName);
+ if (aName != NULL) {
+ retVal = H5PLinsert(aName, index);
+
+ UNPIN_JAVA_STRING(plugin_path, aName);
+
+ if (retVal < 0)
+ h5libraryError(env);
+ }
+} /* end Java_hdf_hdf5lib_H5_H5PLinsert */
+
+/*
+ * Class: hdf_hdf5lib_H5
+ * Method: H5PLremove
+ * Signature: (I)V
+ */
+JNIEXPORT void JNICALL
+Java_hdf_hdf5lib_H5_H5PLremove
+ (JNIEnv *env, jclass clss, jint index)
+{
+ if (H5PLremove(index) < 0)
+ h5libraryError(env);
+} /* end Java_hdf_hdf5lib_H5_H5PLremove */
+
+/*
+ * Class: hdf_hdf5lib_H5
+ * Method: H5PLget
+ * Signature: (I)Ljava/lang/String;
+ */
+JNIEXPORT jstring JNICALL
+Java_hdf_hdf5lib_H5_H5PLget
+ (JNIEnv *env, jclass clss, jint index)
+{
+ char *aName;
+ jstring str = NULL;
+ ssize_t buf_size;
+
+ /* get the length of the name */
+ buf_size = H5PLget(index, NULL, 0);
+
+ if (buf_size <= 0) {
+ h5badArgument(env, "H5PLget: buf_size <= 0");
+ } /* end if */
+ else {
+ buf_size++; /* add extra space for the null terminator */
+ aName = (char*)HDmalloc(sizeof(char) * (size_t)buf_size);
+ if (aName == NULL) {
+ h5outOfMemory(env, "H5PLget: malloc failed");
+ } /* end if */
+ else {
+ buf_size = H5PLget(index, aName, (size_t)buf_size);
+ if (buf_size < 0) {
+ h5libraryError(env);
+ } /* end if */
+ else {
+ str = ENVPTR->NewStringUTF(ENVPAR aName);
+ }
+ HDfree(aName);
+ }
+ }
+ return str;
+} /* end Java_hdf_hdf5lib_H5_H5PLget */
+
+/*
+ * Class: hdf_hdf5lib_H5
+ * Method: H5PLsize
+ * Signature: (V)I
+ */
+JNIEXPORT jint JNICALL
+Java_hdf_hdf5lib_H5_H5PLsize
+ (JNIEnv *env, jclass clss)
+{
+ int retVal = -1;
+
+ retVal = H5PLsize();
+ if (retVal < 0)
+ h5libraryError(env);
+
+ return (jint)retVal;
+} /* end Java_hdf_hdf5lib_H5_H5PLsize */
+
#ifdef __cplusplus
} /* end extern "C" */
#endif /* __cplusplus */
diff --git a/java/src/jni/h5plImp.h b/java/src/jni/h5plImp.h
index 901f02e..5336621 100644
--- a/java/src/jni/h5plImp.h
+++ b/java/src/jni/h5plImp.h
@@ -39,6 +39,69 @@ JNIEXPORT jint JNICALL
Java_hdf_hdf5lib_H5_H5PLget_1loading_1state
(JNIEnv *, jclass);
+/*
+ * Class: hdf_hdf5lib_H5
+ * Method: H5PLappend
+ * Signature: (Ljava/lang/String;)V
+ */
+JNIEXPORT void JNICALL
+Java_hdf_hdf5lib_H5_H5PLappend
+ (JNIEnv *, jclass, jobjectArray);
+
+/*
+ * Class: hdf_hdf5lib_H5
+ * Method: H5PLprepend
+ * Signature: (Ljava/lang/String;)V
+ */
+JNIEXPORT void JNICALL
+Java_hdf_hdf5lib_H5_H5PLprepend
+ (JNIEnv *, jclass, jobjectArray);
+
+/*
+ * Class: hdf_hdf5lib_H5
+ * Method: H5PLreplace
+ * Signature: (Ljava/lang/String;I)V
+ */
+JNIEXPORT void JNICALL
+Java_hdf_hdf5lib_H5_H5PLreplace
+ (JNIEnv *, jclass, jobjectArray, jint);
+
+/*
+ * Class: hdf_hdf5lib_H5
+ * Method: H5PLinsert
+ * Signature: (Ljava/lang/String;I)V
+ */
+JNIEXPORT void JNICALL
+Java_hdf_hdf5lib_H5_H5PLinsert
+ (JNIEnv *, jclass, jobjectArray, jint);
+
+/*
+ * Class: hdf_hdf5lib_H5
+ * Method: H5PLremove
+ * Signature: (I)V
+ */
+JNIEXPORT void JNICALL
+Java_hdf_hdf5lib_H5_H5PLremove
+ (JNIEnv *, jclass, jint);
+
+/*
+ * Class: hdf_hdf5lib_H5
+ * Method: H5PLget
+ * Signature: (I)Ljava/lang/String;
+ */
+JNIEXPORT jstring JNICALL
+Java_hdf_hdf5lib_H5_H5PLget
+ (JNIEnv *, jclass, jint);
+
+/*
+ * Class: hdf_hdf5lib_H5
+ * Method: H5PLsize
+ * Signature: (V)I
+ */
+JNIEXPORT jint JNICALL
+Java_hdf_hdf5lib_H5_H5PLsize
+ (JNIEnv *, jclass);
+
#ifdef __cplusplus
} /* end extern "C" */
#endif /* __cplusplus */
diff --git a/java/src/jni/h5rImp.c b/java/src/jni/h5rImp.c
index 15720ae..b250550 100644
--- a/java/src/jni/h5rImp.c
+++ b/java/src/jni/h5rImp.c
@@ -13,7 +13,7 @@
/*
* For details of the HDF libraries, see the HDF Documentation at:
- * http://hdfdfgroup.org/HDF5/doc/
+ * http://hdfgroup.org/HDF5/doc/
*
*/
#ifdef __cplusplus
diff --git a/java/src/jni/h5sImp.c b/java/src/jni/h5sImp.c
index 84db125..c578ab8 100644
--- a/java/src/jni/h5sImp.c
+++ b/java/src/jni/h5sImp.c
@@ -13,7 +13,7 @@
/*
* For details of the HDF libraries, see the HDF Documentation at:
- * http://hdfdfgroup.org/HDF5/doc/
+ * http://hdfgroup.org/HDF5/doc/
*
*/
diff --git a/java/src/jni/h5tImp.c b/java/src/jni/h5tImp.c
index 212ce84..7b4af56 100644
--- a/java/src/jni/h5tImp.c
+++ b/java/src/jni/h5tImp.c
@@ -13,7 +13,7 @@
/*
* For details of the HDF libraries, see the HDF Documentation at:
- * http://hdfdfgroup.org/HDF5/doc/
+ * http://hdfgroup.org/HDF5/doc/
*
*/
diff --git a/java/src/jni/h5util.c b/java/src/jni/h5util.c
index aa2b529..8454815 100644
--- a/java/src/jni/h5util.c
+++ b/java/src/jni/h5util.c
@@ -13,7 +13,7 @@
/*
* For details of the HDF libraries, see the HDF Documentation at:
- * http://hdfdfgroup.org/HDF5/doc/
+ * http://hdfgroup.org/HDF5/doc/
*
*/
diff --git a/java/src/jni/h5util.h b/java/src/jni/h5util.h
index 4d3e201..434a107 100644
--- a/java/src/jni/h5util.h
+++ b/java/src/jni/h5util.h
@@ -13,7 +13,7 @@
/*
* For details of the HDF libraries, see the HDF Documentation at:
- * http://hdfdfgroup.org/HDF5/doc/
+ * http://hdfgroup.org/HDF5/doc/
*
*/
diff --git a/java/src/jni/h5zImp.c b/java/src/jni/h5zImp.c
index e569870..a5e6cd8 100644
--- a/java/src/jni/h5zImp.c
+++ b/java/src/jni/h5zImp.c
@@ -13,7 +13,7 @@
/*
* For details of the HDF libraries, see the HDF Documentation at:
- * http://hdfdfgroup.org/HDF5/doc/
+ * http://hdfgroup.org/HDF5/doc/
*
*/
diff --git a/java/src/jni/nativeData.c b/java/src/jni/nativeData.c
index 5d07abb..33f4953 100644
--- a/java/src/jni/nativeData.c
+++ b/java/src/jni/nativeData.c
@@ -13,7 +13,7 @@
/*
* For details of the HDF libraries, see the HDF Documentation at:
- * http://hdfdfgroup.org/HDF5/doc/
+ * http://hdfgroup.org/HDF5/doc/
*
*/
/*
diff --git a/java/test/JUnit-interface.txt b/java/test/JUnit-interface.txt
index cae8cef..ab2f3b1 100644
--- a/java/test/JUnit-interface.txt
+++ b/java/test/JUnit-interface.txt
@@ -633,13 +633,14 @@ JUnit version 4.11
.testH5Ocomment_clear
.testH5Ocopy_cur_not_exists
.TestH5PLplugins
+.TestH5PLpaths
.testH5Zfilter_avail
.testH5Zunregister_predefined
.testH5Zget_filter_info
Time: XXXX
-OK (637 tests)
+OK (638 tests)
HDF5-DIAG: Error detected in HDF5 (version (number)) thread (IDs):
#000: (file name) line (number) in H5Fopen(): can't set access and transfer property lists
diff --git a/java/test/TestH5PL.java b/java/test/TestH5PL.java
index ad3dc34..aa59478 100644
--- a/java/test/TestH5PL.java
+++ b/java/test/TestH5PL.java
@@ -67,6 +67,36 @@ public class TestH5PL {
}
}
+ @Test
+ public void TestH5PLpaths() {
+ try {
+ int original_entries = H5.H5PLsize();
+ H5.H5PLappend("path_one");
+ int plugin_entries = H5.H5PLsize();
+ assertTrue("H5.H5PLsize: "+plugin_entries, (original_entries+1) == plugin_entries);
+ H5.H5PLprepend("path_two");
+ plugin_entries = H5.H5PLsize();
+ assertTrue("H5.H5PLsize: "+plugin_entries, (original_entries+2) == plugin_entries);
+ H5.H5PLinsert("path_three", original_entries);
+ plugin_entries = H5.H5PLsize();
+ assertTrue("H5.H5PLsize: "+plugin_entries, (original_entries+3) == plugin_entries);
+ String first_path = H5.H5PLget(original_entries);
+ assertTrue("First path was : "+first_path + " ",first_path.compareToIgnoreCase("path_three")==0);
+ H5.H5PLreplace("path_four", original_entries);
+ first_path = H5.H5PLget(original_entries);
+ assertTrue("First path changed to : "+first_path + " ",first_path.compareToIgnoreCase("path_four")==0);
+ H5.H5PLremove(original_entries);
+ first_path = H5.H5PLget(original_entries);
+ assertTrue("First path now : "+first_path + " ",first_path.compareToIgnoreCase("path_two")==0);
+ plugin_entries = H5.H5PLsize();
+ assertTrue("H5.H5PLsize: "+plugin_entries, (original_entries+2) == plugin_entries);
+ }
+ catch (Throwable err) {
+ err.printStackTrace();
+ fail("TestH5PLpaths " + err);
+ }
+ }
+
@Ignore
public void TestH5PLdlopen() {
long file_id = -1;
diff --git a/release_docs/HISTORY-1_10.txt b/release_docs/HISTORY-1_10.txt
new file mode 100644
index 0000000..03d0e3e
--- /dev/null
+++ b/release_docs/HISTORY-1_10.txt
@@ -0,0 +1,1367 @@
+HDF5 History
+============
+
+This file contains development history of the HDF5 1.10 branch
+
+02. Release Information for hdf5-1.10.0-patch1
+01. Release Information for hdf5-1.10.0
+
+[Search on the string '%%%%' for section breaks of each release.]
+
+%%%%1.10.0-patch1%%%%
+
+
+HDF5 version 1.10.0-patch1 released on 2016-05-23
+================================================================================
+
+INTRODUCTION
+
+This document describes the differences between HDF5-1.8 series and
+HDF5 1.10.0 releases, and contains information on the platforms
+tested.
+
+Links to HDF5 1.10.0 source code can be found on The HDF Group's
+development FTP server at the following location:
+
+ https://www.hdfgroup.org/HDF5/release/obtain5110.html
+
+User documentation can be accessed directly at this location:
+
+ https://www.hdfgroup.org/HDF5/docNewFeatures/
+
+For more information, see the HDF5 home page:
+
+ https://www.hdfgroup.org/HDF5/
+
+If you have any questions or comments, please send them to the HDF
+Help Desk:
+
+ help@hdfgroup.org
+
+
+
+CONTENTS
+
+- New Features
+- Issues Addressed in this Release
+- Supported Platforms
+- Tested Configuration Features Summary
+- More Tested Platforms
+- Known Problems and Limitations
+
+
+
+New Features
+============
+This release supports the following features:
+
+ Configuration
+ -------------
+ - API Compatibility with HDF5 1.8 Flag Was Added
+
+ The 1.10 version of the HDF5 Library can be configured to operate
+ identically to the 1.8 library with the --with-default-api-version=v18
+ configure flag. This allows existing code to be compiled with the 1.10
+ library without requiring immediate changes to the application source
+ code. For addtional configuration options and other details, see
+ "API Compatibility Macros in HDF5" at
+ https://www.hdfgroup.org/HDF5/doc/RM/APICompatMacros.html.
+
+ - Autotools Configuration Has Been Extensively Reworked
+
+ The autotools configuration options have been updated to allow more
+ fine-grained control of the build options and to correct some bugs.
+ See configure --help for comprehensive information on each option.
+
+ Specific changes:
+
+ * --enable-debug and --enable-production are no longer accepted.
+ Use --enable-build-mode=(debug | production) instead. These set
+ appropriate defaults for symbols, optimizations, and other
+ configuration options. These defaults can be overridden by the
+ user.
+
+ * Extra debug output messages are no longer enabled with
+ --enable-debug=<package list>. Use --enable-internal-debug=<pkg list>
+ instead.
+
+ * A new --enable-symbols option allows symbols to be generated
+ independently of the build mode. --disable-symbols can be used
+ to strip symbols from the binary.
+
+ * A new --enable-asserts option sets/unsets NDEBUG. This is
+ independent of the build mode. This also enables some extra
+ low-overhead debug checks in the library.
+
+ * A new --enable-profiling option sets profiling flags. This is
+ independent of the build mode.
+
+ * A new --enable-optimization option sets the optimization level.
+ This is independent of the build mode.
+
+ * Many of these options can take a flags string that will be used
+ to build the library. This can be useful for specifying custom
+ optimization flags such as -Os and -Ofast.
+
+ * gnu C++ and Fortran use configure sub-files that update the
+ build flags and turn on warnings. The increase in warnings when
+ building these wrapper libraries is due to these flag changes
+ and not to a decrease in code quality.
+
+ * The option to clear file buffers has been removed. Any buffer that
+ will eventually be written to disk will now always be memset
+ to zero. This prevents the previous contents of the buffer from
+ being written to the disk if the buffer contents are not
+ completely overwritten, which has security implications.
+
+ - LFS Changes
+
+ The way the autotools handle large file support (LFS) has been
+ overhauled in this release.
+
+ * We assume ftello and fseeko exist
+
+ * We no longer explicitly use the *64 I/O functions. Instead, we
+ rely on a mapping provided by _FILE_OFFSET_BITS or its equivalent.
+
+ * _LARGEFILE(64)_SOURCE is no longer exported via AM_CPPFLAGS.
+
+
+
+ Parallel Library
+ -----------------
+ - Collective Metadata I/O
+
+ Calls for HDF5 metadata can result in many small reads and writes.
+ On metadata reads, collective metadata I/O can improve performance
+ by allowing the library to perform optimizations when reading the
+ metadata by having one rank read the data and broadcasting it to
+ all other ranks.
+
+ Collective metadata I/O improves metadata write performance through
+ the construction of an MPI derived datatype that is then written
+ collectively in a single call. For more information, see
+ https://www.hdfgroup.org/HDF5/docNewFeatures/NewFeaturesCollectiveMetadataIoDocs.html.
+
+
+
+ Library
+ --------
+ - Concurrent Access to HDF5 Files - Single Writer/ Multple Reader (SWMR)
+
+ The Single Writer/ Multiple Reader or SWMR feature enables users to
+ read data concurrently while writing it. Communications between the
+ processes and file locking are not required. The processes can run
+ on the same or on different platforms as long as they share a common
+ file system that is POSIX compliant. For more information, see the
+ Single-Writer/Multiple-Reader (SWMR) documentation at
+ https://www.hdfgroup.org/HDF5/docNewFeatures/NewFeaturesSwmrDocs.html.
+
+ - Virtual Dataset (VDS)
+
+ The VDS feature enables data to be accessed across HDF5 files
+ using standard HDF5 objects such as groups and datasets without
+ rewriting or rearranging the data. An HDF5 virtual dataset (VDS)
+ is an HDF5 dataset that is composed of source HDF5 datasets in
+ a predefined mapping. VDS can be used with the SWMR feature. For
+ documentation, check
+ https://www.hdfgroup.org/HDF5/docNewFeatures/NewFeaturesVirtualDatasetDocs.html.
+
+ - Persistent Free File Space Tracking
+
+ Usage patterns when working with an HDF5 file sometimes result in
+ wasted space within the file. This can also impair access times
+ when working with the resulting files. The new file space management
+ feature provides strategies for managing space in a file to improve
+ performance in both of these areas. For more information, see
+ https://www.hdfgroup.org/HDF5/docNewFeatures/NewFeaturesFileSpaceMgmtDocs.html.
+
+ - Version 3 Metadata Cache
+
+ The version 3 metadata cache moves management of metadata I/O from
+ the clients to the metadata cache proper. This change is essential for
+ SWMR and other features that have yet to be released.
+
+
+
+ C++ Library
+ ------------
+ - New Member Function Added to H5::ArrayType
+
+ The assignment operator ArrayType::operator= was added because
+ ArrayType has pointer data members.
+
+ (BMR - 2016/03/07, HDFFV-9562)
+
+
+
+ Tools
+ ------
+ - h5watch
+
+ The h5watch tool allows users to output new records appended to
+ a dataset under SWMR access as it grows. The functionality is
+ similar to the Unix user command "tail" with the follow option,
+ which outputs appended data as the file grows. For more
+ information, see
+ https://www.hdfgroup.org/HDF5/docNewFeatures/NewFeaturesSwmrDocs.html#Tools.
+
+ - h5format_convert
+
+ The h5format_convert tool allows users to convert the indexing
+ type of a chunked dataset made with a 1.10.x version of the HDF5
+ Library when the latest file format is used to the 1.8.x version 1 B-tree indexing
+ type. For example, datasets created using SWMR access, can be
+ converted to be accessed by the HDF5 1.18 library and tools. The
+ tool does not rewrite raw data, but it does rewrite HDF5 metadata.
+
+
+
+ High-Level APIs
+ ----------------
+ - H5DOappend
+
+ The function appends data to a dataset along a specified dimension.
+
+
+ C Packet Table API
+ ------------------
+ - Replacement of a Public Function with H5PTcreate
+
+ The existing function H5PTcreate_fl limits applications so they
+ can use the deflate compression only. The public function
+ H5PTcreate has been added to replace H5PTcreate_fl. H5PTcreate
+ takes a property list identifier to provide flexibility on
+ creation properties.
+
+ (BMR - 2016/03/04, HDFFV-8623)
+
+ - New Public Functions: H5PTget_dataset and H5PTget_type
+
+ Two accessor functions have been added. H5PTget_dataset returns
+ the identifier of the dataset associated with the packet table,
+ and H5PTget_type returns the identifier of the datatype used by
+ the packet table.
+
+ (BMR, 2016/03/04, HDFFV-8623)
+
+ - Regarding #ifdef VLPT_REMOVED
+
+ The #ifdef VLPT_REMOVED blocks have been removed from the packet
+ table (PT) library source except for the following functions:
+ + H5PTis_varlen() has been made available again
+ + H5PTfree_vlen_readbuff() is now H5PTfree_vlen_buff()
+
+ (BMR - 2016/03/04, HDFFV-442)
+
+ C++ Packet Table API
+ --------------------
+ - New Constructor Added to FL_PacketTable
+
+ An overloaded constructor has been added to FL_PacketTable and
+ takes a property list identifier to provide flexibility on
+ creation properties.
+
+ (BMR - 2016/03/08, HDFFV-8623)
+
+ - New Public Functions
+
+ Two accessor wrappers are added to class PacketTable.
+ PacketTable::GetDataset() returns the identifier of the dataset
+ associated with the packet table, and PacketTable::GetDatatype()
+ returns the identifier of the datatype that the packet table uses.
+
+ (BMR - 2016/03/04, HDFFV-8623)
+
+ - Member Functions with "char*" as an Argument
+
+ Overloaded functions were added to provide the "const char*"
+ argument; the existing version will be deprecated in future
+ releases.
+
+ (BMR - 2016/03/04, HDFFV-8623)
+
+ - Regarding #ifdef VLPT_REMOVED
+
+ The #ifdef VLPT_REMOVED blocks have been removed from the packet
+ table library source code except for the following functions:
+ + VL_PacketTable::IsVariableLength() was moved to PacketTable
+ + VL_PacketTable::FreeReadBuff() is now PacketTable::FreeBuff()
+
+ (BMR - 2016/03/04, HDFFV-442)
+
+
+
+ Java Wrapper Library
+ --------------------
+
+ The Java HDF5 JNI library has been integrated into the HDF5 repository.
+ The configure option is "--enable-java", and the CMake option is
+ HDF5_BUILD_JAVA:BOOL=ON. The package hierarchy has changed from the
+ HDF5 1.8 JNI, which was "ncsa.hdf.hdflib.hdf5", to HDF5 1.10,
+ "hdf.hdflib.hdf5".
+
+ A number of new APIs were added including some for VDS and SWMR.
+
+
+
+ Other Important Changes
+ -----------------------
+
+ The hid_t type was changed from 32-bit to a 64-bit value.
+
+
+
+Issues Addressed in this Release Since 1.10.0
+=============================================
+
+ - h5diff would return from a compare attributes abnormally if one of the datatypes
+ was a vlen. This resulted in a memory leak as well as an incorrect report of
+ attribute comparison.
+
+ Fixed.
+ (ADB - 2016/04/26, HDFFV-9784)
+
+ - The JUnit-interface test may fail on Solaris platforms. The result of
+ a test for verifying the content of the error stack to stdout is
+ in a different order on Solaris then other platforms.
+
+ This test is skipped on Solaris
+ (ADB - 2016/04/21, HDFFV-9734)
+
+ - When building HDF5 with Java using CMake and specifying Debug for CMAKE_BUILD_TYPE,
+ there was a missing command argument for the tests of the examples.
+
+ Fixed.
+ (ADB - 2016/04/21, HDFFV-9743)
+
+ - Changed h5diff to print a warning when a dataset is virtual, enabling
+ the data to be compared. In addition h5repack failed to copy the data
+ of a virtual dataset to the new file. Function H5D__get_space_status changed
+ to correctly determine the H5D_space_status_t allocation value.
+
+ CMake added the Fixed Array indexing tests that were only in the autotools
+ test scripts.
+
+ Fixed and tests added for vds issues.
+ (ADB,NAF - 2016/04/21, HDFFV-9756)
+
+ - CMake added the h5format_convert tool and tests that were only in the autotools
+ build and test scripts. The autotools test script was reworked to allow CMake
+ to execute the test suite in parallel.
+
+ Also, h5clear tool and tests were added to the misc folder.
+
+ Fixed.
+ (ADB - 2016/04/21, HDFFV-9766)
+
+ - CMake added the h5watch tool and argument tests that were only in the autotools
+ build and test scripts. The POSIX only tests were not added to CMake.
+
+ CMake HL tools files were refactored to move the CMake test scripts into each tool folder.
+
+ Fixed.
+ (ADB - 2016/04/21, HDFFV-9770)
+
+ - Configure fails to detect valid real KINDs on FreeBSD 9.3 (i386) with Fortran enabled.
+
+ Fixed. Added the exponential option to SELECTED_REAL_KIND to distinguish
+ KINDs of same precision
+ (MSB - 2016/05/14,HDFFV-9912)
+
+
+ - Corrected the f90 H5AWRITE_F integer interface's buf to be INTENT(IN).
+ (MSB - 2016/05/14)
+
+ - Configure fails in sed command on FreeBSD 9.3 (i386) with Fortran enabled.
+
+ Fixed.
+ (MSB - 2016/05/14,HDFFV-9912)
+
+ - Compile time error in H5f90global.F90 with IBM XL Fortran 14.1.0.13 on BG/Q with Fortran
+ enabled.
+
+ Fixed.
+ (MSB - 2016/05/16,HDFFV-9917)
+
+ - A cmake build with Fortran enabled does not install module h5fortkit
+
+ Fixed.
+ (MSB - 2016/05/23,HDFFV-9923)
+
+
+Issues Addressed in this Release Since alpha1
+=============================================
+
+ - H5Pget_virtual_printf_gap, H5Pget_virtual_view, H5Pget_efile_prefix
+
+ The correct access property list settings from the
+ H5Pget_virtual_printf_gap, H5Pget_virtual_view, and
+ H5Pget_efile_prefix function calls could not be retrieved
+ using H5Dget_access_plist().
+
+ Fixed.
+
+ (DER and NAF - 2016/03/14, HDFFV-9716)
+
+ - h5dump
+
+ When h5dump was provided with the name of a non-existing file or
+ when optional arguments were the last option on the command line,
+ h5dump would segfault.
+
+ Fixed.
+
+ (ADB 2016/02/28 HDFFV-9639, HDFFV-9684)
+
+ - No Error Message for Corrupt Metadata
+
+ The HDF5 Library did not propagate an error when it encountered
+ corrupt metadata in an HDF5 file. The issue was fixed for a
+ specific file provided by a user. If you still see the problem,
+ please contact help@hdfgroup.org
+
+ Fixed.
+
+ (MC - 2016/02/18, HDFFV-9670)
+
+ - Problem Reading Chunked Datasets with a String Datatype Larger
+ Than the Chunk Size in Bytes
+
+ When the latest file format was used and when a chunked dataset
+ was created with a datatype with the size bigger than a chunk
+ size, the data could not be read back. The issue was reported
+ for chunked datasets with a string datatype and was confirmed
+ for other datatypes with the sizes bigger than the chunk size in
+ bytes.
+
+ Fixed.
+
+ (JM - 2016/02/13, HDFFV-9672)
+
+ - Control over the Location of External Files
+
+ Users were unable to specify the locations of external files.
+
+ Two APIs - H5Pget_efile_prefix and H5Pset_efile_prefix - were
+ added so that users could specify the locations of external files.
+
+ (DER - 2016/02/04, HDFFV-8740)
+
+
+
+Issues Addressed in this Release Since alpha0
+=============================================
+ - h5format_convert
+
+ The h5format_convert tool did not downgrade the version of the
+ superblock.
+
+ Fixed. The tool now will downgrade the version of the superblock.
+
+ (EIP 2016/01/11)
+
+ - Crashes with multiple threads: invalid pointers
+
+ It was reported that alpha0 crashed when used with multiple
+ threads. The issue exists in the HDF5 Library versions 1.8 and
+ 1.9. The problem is related to a shared file pointer used in some
+ miscellaneous data structures. The thread-safe library exposed
+ paths in the library where a file pointer became invalid.
+
+ The alpha1 release contains the fixes for the specific use case
+ as described in HDFFV-9643. We will keep working on identifying
+ and fixing other paths in the library with similar problems.
+
+ (EIP - 2016/01/15, HDFFV-9643)
+
+
+
+Supported Platforms
+===================
+The following platforms are supported and have been tested for this release.
+They are built with the configure process unless specified otherwise.
+
+ AIX 6.1 xlc/xlc_r 10.1.0.5
+ (NASA G-ADA) xlC/xlC_r 10.1.0.5
+ xlf90/xlf90_r 12.1.0.6
+
+ Linux 2.6.32-573.22.1.el6 GNU C (gcc), Fortran (gfortran), C++ (g++)
+ #1 SMP x86_64 GNU/Linux compilers:
+ (mayll/platypus) Version 4.4.7 20120313 (Red Hat 4.4.7-16)
+ Version 4.9.3, Version 5.2.0
+ PGI C, Fortran, C++ for 64-bit target on
+ x86-64;
+ Version 15.7-0
+ Intel(R) C (icc), C++ (icpc), Fortran (icc)
+ compilers:
+ Version 15.0.3.187 Build 20150407
+ MPICH 3.1.4 compiled with GCC 4.9.3
+
+ Linux 2.6.32-573.18.1.el6.ppc64 gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-11)
+ #1 SMP ppc64 GNU/Linux g++ (GCC) 4.4.7 20120313 (Red Hat 4.4.7-11)
+ (ostrich) GNU Fortran (GCC) 4.4.7 20120313 (Red Hat 4.4.7-11)
+ IBM XL C/C++ V13.1
+ IBM XL Fortran V15.1
+
+ Linux 3.10.0-327.10.1.el7 GNU C (gcc), Fortran (gfortran), C++ (g++)
+ #1 SMP x86_64 GNU/Linux compilers:
+ (kituo/moohan) Version 4.8.5 20150623 (Red Hat 4.8.5-4)
+ Version 4.9.3, Version 5.2.0
+ Intel(R) C (icc), C++ (icpc), Fortran (icc)
+ compilers:
+ Version 15.0.3.187 Build 20150407
+ MPICH 3.1.4 compiled with GCC 4.9.3
+
+ SunOS 5.11 32- and 64-bit Sun C 5.12 SunOS_sparc
+ (emu) Sun Fortran 95 8.6 SunOS_sparc
+ Sun C++ 5.12 SunOS_sparc
+
+ Windows 7 Visual Studio 2012 w/ Intel Fortran 15 (cmake)
+ Visual Studio 2013 w/ Intel Fortran 15 (cmake)
+ Visual Studio 2015 w/ Intel Fortran 16 (cmake)
+ Cygwin(CYGWIN_NT-6.1 2.2.1(0.289/5/3) gcc(4.9.3) compiler and gfortran)
+ (cmake and autotools)
+
+ Windows 7 x64 Visual Studio 2012 w/ Intel Fortran 15 (cmake)
+ Visual Studio 2013 w/ Intel Fortran 15 (cmake)
+ Visual Studio 2015 w/ Intel Fortran 16 (cmake)
+
+ Windows 8.1 Visual Studio 2012 w/ Intel Fortran 15 (cmake)
+ Visual Studio 2013 w/ Intel Fortran 15 (cmake)
+
+ Windows 8.1 x64 Visual Studio 2012 w/ Intel Fortran 15 (cmake)
+ Visual Studio 2013 w/ Intel Fortran 15 (cmake)
+
+ Mac OS X Mt. Lion 10.8.5 Apple clang/clang++ version 5.1 from Xcode 5.1
+ 64-bit gfortran GNU Fortran (GCC) 4.8.2
+ (swallow/kite) Intel icc/icpc/ifort version 15.0.3
+
+ Mac OS X Mavericks 10.9.5 Apple clang/clang++ version 6.0 from Xcode 6.2
+ 64-bit gfortran GNU Fortran (GCC) 4.9.2
+ (wren/quail) Intel icc/icpc/ifort version 15.0.3
+
+ Mac OS X Yosemite 10.10.5 Apple clang/clang++ version 6.0 from Xcode 7.0
+ 64-bit gfortran GNU Fortran (GCC) 4.9.2
+ (osx1010dev/osx1010test) Intel icc/icpc/ifort version 15.0.3
+
+ Mac OS X El Capitan 10.11.4 Apple clang/clang++ version 7.3.0 from Xcode 7.3
+ 64-bit gfortran GNU Fortran (GCC) 5.2.0
+ (osx1010dev/osx1010test) Intel icc/icpc/ifort version 15.0.3
+
+
+
+Tested Configuration Features Summary
+=====================================
+
+ In the tables below
+ y = tested
+ n = not tested in this release
+ C = Cluster
+ W = Workstation
+ x = not working in this release
+ dna = does not apply
+ ( ) = footnote appears below second table
+ <blank> = testing incomplete on this feature or platform
+
+Platform C F90/ F90 C++ zlib SZIP
+ parallel F2003 parallel
+SunOS 5.11 32-bit n y/y n y y y
+SunOS 5.11 64-bit n y/y n y y y
+Windows 7 y y/y n y y y
+Windows 7 x64 y y/y n y y y
+Windows 7 Cygwin n y/y n y y n
+Windows 8.1 n y/y n y y y
+Windows 8.1 x64 n y/y n y y y
+Mac OS X Mountain Lion 10.8.5 64-bit n y/y n y y y
+Mac OS X Mavericks 10.9.5 64-bit n y/y n y y y
+Mac OS X Yosemeti 10.10.5 64-bit n y/y n y y y
+AIX 6.1 32- and 64-bit n y/n n y y y
+CentOS 6.7 Linux 2.6.32 x86_64 GNU y y/y y y y y
+CentOS 6.7 Linux 2.6.32 x86_64 Intel n y/y n y y y
+CentOS 6.7 Linux 2.6.32 x86_64 PGI n y/y n y y y
+CentOS 7.1 Linux 3.10.0 x86_64 GNU y y/y y y y y
+CentOS 7.1 Linux 3.10.0 x86_64 Intel n y/y n y y y
+Linux 2.6.32-431.11.2.el6.ppc64 n y/n n y y y
+
+Platform Shared Shared Shared Thread-
+ C libs F90 libs C++ libs safe
+SunOS 5.11 32-bit y y y y
+SunOS 5.11 64-bit y y y y
+Windows 7 y y y y
+Windows 7 x64 y y y y
+Windows 7 Cygwin n n n y
+Windows 8.1 y y y y
+Windows 8.1 x64 y y y y
+Mac OS X Mountain Lion 10.8.5 64-bit y n y y
+Mac OS X Mavericks 10.9.5 64-bit y n y y
+Mac OS X Yosemeti 10.10.5 64-bit y n y y
+AIX 6.1 32- and 64-bit y n n y
+CentOS 6.7 Linux 2.6.32 x86_64 GNU y y y y
+CentOS 6.7 Linux 2.6.32 x86_64 Intel y y y y
+CentOS 6.7 Linux 2.6.32 x86_64 PGI y y y y
+CentOS 7.1 Linux 3.10.0 x86_64 GNU y y y y
+CentOS 7.1 Linux 3.10.0 x86_64 Intel y y y y
+Linux 2.6.32-431.11.2.el6.ppc64 y y y y
+
+Compiler versions for each platform are listed in the preceding
+"Supported Platforms" table.
+
+
+
+More Tested Platforms
+=====================
+The following platforms are not supported but have been tested for this release.
+
+ Linux 2.6.18-431.11.2.el6 g95 (GCC 4.0.3 (g95 0.94!)
+ #1 SMP x86_64 GNU/Linux
+ (platypus)
+
+ Windows 7 Visual Studio 2008 (cmake)
+
+ Windows 7 x64 Visual Studio 2008 (cmake)
+
+ Windows 7 x64 Visual Studio 2010 (cmake) with SWMR using GPFS
+
+ Windows 10 Visual Studio 2013 w/ Intel Fortran 15 (cmake)
+
+ Windows 10 x64 Visual Studio 2013 w/ Intel Fortran 15 (cmake)
+
+ Debian7.5.0 3.2.0-4-amd64 #1 SMP Debian 3.2.51-1 x86_64 GNU/Linux
+ gcc (Debian 4.7.2-5) 4.7.2
+ GNU Fortran (Debian 4.7.2-5) 4.7.2
+ (cmake and autotools)
+
+ Fedora20 3.15.3-200.fc20.x86_64 #1 SMP x86_64 x86_64 x86_64 GNU/Linux
+ gcc (GCC) 4.8.3 20140624 (Red Hat 4.8.3-1)
+ GNU Fortran (GCC) 4.8.3 20140624 (Red Hat 4.8.3-1)
+ (cmake and autotools)
+
+ SUSE 13.1 3.11.10-17-desktop #1 SMP PREEMPT x86_64 x86_64 x86_64 GNU/Linux
+ gcc (SUSE Linux) 4.8.1
+ GNU Fortran (SUSE Linux) 4.8.1
+ (cmake and autotools)
+
+ Ubuntu 14.04 3.13.0-35-generic #62-Ubuntu SMP x86_64 GNU/Linux
+ gcc (Ubuntu/Linaro 4.9.1-0ubuntu1) 4.9.1
+ GNU Fortran (Ubuntu/Linaro 4.9.1-0ubuntu1) 4.9.1
+ (cmake and autotools)
+
+ hopper.nersc.gov PrgEnv-gnu/5.2.40
+ gcc (GCC) 4.9.2 20141030 (Cray Inc.)
+ GNU Fortran (GCC) 4.9.2 20141030 (Cray Inc.)
+ g++ (GCC) 4.9.2 20141030 (Cray Inc.)
+
+
+
+Known Problems and Limitations
+==============================
+This section contains the list of known problems and limitations introduced
+in this release of HDF5.
+
+Note: this list is not exhaustive of all known issues discovered in HDF5
+software to date. For a list of significant problems and known workarounds
+identified in past releases, please refer to:
+
+https://www.hdfgroup.org/HDF5/release/known_problems/
+
+The HDF Group also maintains a JIRA issue-tracking database which is used to
+capture all known issues which are too numerous to reasonably list in this
+document. The HDF Group is taking steps to make our JIRA issue database
+open to the public, and this section will refer to that database in a future
+release. In the meantime, please contact help@hdfgroup.org if you come across
+an issue not listed here or at the link above, and we will provide any
+information about known workarounds that we have or add it to our list of
+known issues if it is a new issue.
+
+ - The flush/refresh test occasionally fails on OS X platforms. This is
+ being investigated but no fix or workaround is available at this time.
+ (DER - 2016/03/22, HDFFV-9731)
+
+ - The VDS/SWMR test will fail with a segmentation fault if the library
+ is built with --enable-using-memchecker. The is due to a VDS shutdown
+ procedure freeing a shared resource too early when the memory
+ checker changes are built. This problem does not arise when the
+ memory checker changes are not used since the internal library free
+ lists behave differently. The memory checker configure option should
+ normally only be used under special circumstances so this should not
+ affect most users. Users should be aware that the --enable-using-memchecker
+ + VDS combination may cause a segfault, however, so Valgrind et al. may
+ have to be used with an HDF5 library built without the feature if this
+ proves to be a problem.
+ (DER - 2016/03/21, HDFFV-9732)
+
+ - SWMR feature limitations
+ The SWMR feature will only work if an HDF5 file under SWMR access resides
+ on a file system that obeys POSIX write() ordering semantics. Because of
+ this, SWMR will not work on network file systems such as NFS or SMB/Windows
+ file shares since those systems do not guarantee write odering. SWMR
+ regression tests are likely to fail if run on a network file system. SWMR
+ is currently not tested on Windows though it can be tested manually
+ (some of the SWMR test programs are built by CMake), and there are no
+ obvious reasons for it to not work on NTFS or GPFS.
+ (EIP - 2016/03/20, HDFFV-9733)
+
+ - VDS feature limitation
+ Currently, the path to a VDS source file is interpreted as relative to the
+ directory where the executable program runs and not to the HDF5 file with
+ the VDS dataset unless a full path to the source file is specified during
+ the mapping.
+ (EIP - 2016/03/20, HDFFV-9724)
+
+ - The H5Lexists API changed behavior in HDF5-1.10 when used with a file handle
+ and root group name ("/"):
+
+ H5Lexists(fileid, "/")
+
+ In HDF5-1.8 it returns false (0) and in HDF5-1.10 it returns true (1).
+ The documentation will be updated with information regarding this change.
+ (LRK - 2016/03/30, HDFFV-8746)
+
+
+%%%%1.10.0%%%%
+
+HDF5 version 1.10.0 released on 2016-03-30
+================================================================================
+
+
+
+INTRODUCTION
+
+This document describes the differences between HDF5-1.8 series and
+HDF5 1.10.0 releases, and contains information on the platforms
+tested.
+
+Links to HDF5 1.10.0 source code can be found on The HDF Group's
+development FTP server at the following location:
+
+ https://www.hdfgroup.org/HDF5/release/obtain5110.html
+
+User documentation can be accessed directly at this location:
+
+ https://www.hdfgroup.org/HDF5/docNewFeatures/
+
+For more information, see the HDF5 home page:
+
+ https://www.hdfgroup.org/HDF5/
+
+If you have any questions or comments, please send them to the HDF
+Help Desk:
+
+ help@hdfgroup.org
+
+
+
+CONTENTS
+
+- New Features
+- Issues Addressed in this Release
+- Supported Platforms
+- Tested Configuration Features Summary
+- More Tested Platforms
+- Known Problems and Limitations
+
+
+
+New Features
+============
+This release supports the following features:
+
+ Configuration
+ -------------
+ - API Compatibility with HDF5 1.8 Flag Was Added
+
+ The 1.10 version of the HDF5 Library can be configured to operate
+ identically to the 1.8 library with the --with-default-api-version=v18
+ configure flag. This allows existing code to be compiled with the 1.10
+ library without requiring immediate changes to the application source
+ code. For addtional configuration options and other details, see
+ "API Compatibility Macros in HDF5" at
+ https://www.hdfgroup.org/HDF5/doc/RM/APICompatMacros.html.
+
+ - Autotools Configuration Has Been Extensively Reworked
+
+ The autotools configuration options have been updated to allow more
+ fine-grained control of the build options and to correct some bugs.
+ See configure --help for comprehensive information on each option.
+
+ Specific changes:
+
+ * --enable-debug and --enable-production are no longer accepted.
+ Use --enable-build-mode=(debug | production) instead. These set
+ appropriate defaults for symbols, optimizations, and other
+ configuration options. These defaults can be overridden by the
+ user.
+
+ * Extra debug output messages are no longer enabled with
+ --enable-debug=<package list>. Use --enable-internal-debug=<pkg list>
+ instead.
+
+ * A new --enable-symbols option allows symbols to be generated
+ independently of the build mode. --disable-symbols can be used
+ to strip symbols from the binary.
+
+ * A new --enable-asserts option sets/unsets NDEBUG. This is
+ independent of the build mode. This also enables some extra
+ low-overhead debug checks in the library.
+
+ * A new --enable-profiling option sets profiling flags. This is
+ independent of the build mode.
+
+ * A new --enable-optimization option sets the optimization level.
+ This is independent of the build mode.
+
+ * Many of these options can take a flags string that will be used
+ to build the library. This can be useful for specifying custom
+ optimization flags such as -Os and -Ofast.
+
+ * gnu C++ and Fortran use configure sub-files that update the
+ build flags and turn on warnings. The increase in warnings when
+ building these wrapper libraries is due to these flag changes
+ and not to a decrease in code quality.
+
+ * The option to clear file buffers has been removed. Any buffer that
+ will eventually be written to disk will now always be memset
+ to zero. This prevents the previous contents of the buffer from
+ being written to the disk if the buffer contents are not
+ completely overwritten, which has security implications.
+
+ - LFS Changes
+
+ The way the autotools handle large file support (LFS) has been
+ overhauled in this release.
+
+ * We assume ftello and fseeko exist
+
+ * We no longer explicitly use the *64 I/O functions. Instead, we
+ rely on a mapping provided by _FILE_OFFSET_BITS or its equivalent.
+
+ * _LARGEFILE(64)_SOURCE is no longer exported via AM_CPPFLAGS.
+
+
+
+ Parallel Library
+ -----------------
+ - Collective Metadata I/O
+
+ Calls for HDF5 metadata can result in many small reads and writes.
+ On metadata reads, collective metadata I/O can improve performance
+ by allowing the library to perform optimizations when reading the
+ metadata by having one rank read the data and broadcasting it to
+ all other ranks.
+
+ Collective metadata I/O improves metadata write performance through
+ the construction of an MPI derived datatype that is then written
+ collectively in a single call. For more information, see
+ https://www.hdfgroup.org/HDF5/docNewFeatures/NewFeaturesCollectiveMetadataIoDocs.html.
+
+
+
+ Library
+ --------
+ - Concurrent Access to HDF5 Files - Single Writer/ Multple Reader (SWMR)
+
+ The Single Writer/ Multiple Reader or SWMR feature enables users to
+ read data concurrently while writing it. Communications between the
+ processes and file locking are not required. The processes can run
+ on the same or on different platforms as long as they share a common
+ file system that is POSIX compliant. For more information, see the
+ Single-Writer/Multiple-Reader (SWMR) documentation at
+ https://www.hdfgroup.org/HDF5/docNewFeatures/NewFeaturesSwmrDocs.html.
+
+ - Virtual Dataset (VDS)
+
+ The VDS feature enables data to be accessed across HDF5 files
+ using standard HDF5 objects such as groups and datasets without
+ rewriting or rearranging the data. An HDF5 virtual dataset (VDS)
+ is an HDF5 dataset that is composed of source HDF5 datasets in
+ a predefined mapping. VDS can be used with the SWMR feature. For
+ documentation, check
+ https://www.hdfgroup.org/HDF5/docNewFeatures/NewFeaturesVirtualDatasetDocs.html.
+
+ - Persistent Free File Space Tracking
+
+ Usage patterns when working with an HDF5 file sometimes result in
+ wasted space within the file. This can also impair access times
+ when working with the resulting files. The new file space management
+ feature provides strategies for managing space in a file to improve
+ performance in both of these areas. For more information, see
+ https://www.hdfgroup.org/HDF5/docNewFeatures/NewFeaturesFileSpaceMgmtDocs.html.
+
+ - Version 3 Metadata Cache
+
+ The version 3 metadata cache moves management of metadata I/O from
+ the clients to the metadata cache proper. This change is essential for
+ SWMR and other features that have yet to be released.
+
+
+
+ C++ Library
+ ------------
+ - New Member Function Added to H5::ArrayType
+
+ The assignment operator ArrayType::operator= was added because
+ ArrayType has pointer data members.
+
+ (BMR - 2016/03/07, HDFFV-9562)
+
+
+
+ Tools
+ ------
+ - h5watch
+
+ The h5watch tool allows users to output new records appended to
+ a dataset under SWMR access as it grows. The functionality is
+ similar to the Unix user command "tail" with the follow option,
+ which outputs appended data as the file grows. For more
+ information, see
+ https://www.hdfgroup.org/HDF5/docNewFeatures/NewFeaturesSwmrDocs.html#Tools.
+
+ - h5format_convert
+
+ The h5format_convert tool allows users to convert the indexing
+ type of a chunked dataset made with a 1.10.x version of the HDF5
+ Library when the latest file format is used to the 1.8.x version 1 B-tree indexing
+ type. For example, datasets created using SWMR access, can be
+ converted to be accessed by the HDF5 1.18 library and tools. The
+ tool does not rewrite raw data, but it does rewrite HDF5 metadata.
+
+
+
+ High-Level APIs
+ ----------------
+ - H5DOappend
+
+ The function appends data to a dataset along a specified dimension.
+
+
+ C Packet Table API
+ ------------------
+ - Replacement of a Public Function with H5PTcreate
+
+ The existing function H5PTcreate_fl limits applications so they
+ can use the deflate compression only. The public function
+ H5PTcreate has been added to replace H5PTcreate_fl. H5PTcreate
+ takes a property list identifier to provide flexibility on
+ creation properties.
+
+ (BMR - 2016/03/04, HDFFV-8623)
+
+ - New Public Functions: H5PTget_dataset and H5PTget_type
+
+ Two accessor functions have been added. H5PTget_dataset returns
+ the identifier of the dataset associated with the packet table,
+ and H5PTget_type returns the identifier of the datatype used by
+ the packet table.
+
+ (BMR, 2016/03/04, HDFFV-8623)
+
+ - Regarding #ifdef VLPT_REMOVED
+
+ The #ifdef VLPT_REMOVED blocks have been removed from the packet
+ table (PT) library source except for the following functions:
+ + H5PTis_varlen() has been made available again
+ + H5PTfree_vlen_readbuff() is now H5PTfree_vlen_buff()
+
+ (BMR - 2016/03/04, HDFFV-442)
+
+ C++ Packet Table API
+ --------------------
+ - New Constructor Added to FL_PacketTable
+
+ An overloaded constructor has been added to FL_PacketTable and
+ takes a property list identifier to provide flexibility on
+ creation properties.
+
+ (BMR - 2016/03/08, HDFFV-8623)
+
+ - New Public Functions
+
+ Two accessor wrappers are added to class PacketTable.
+ PacketTable::GetDataset() returns the identifier of the dataset
+ associated with the packet table, and PacketTable::GetDatatype()
+ returns the identifier of the datatype that the packet table uses.
+
+ (BMR - 2016/03/04, HDFFV-8623)
+
+ - Member Functions with "char*" as an Argument
+
+ Overloaded functions were added to provide the "const char*"
+ argument; the existing version will be deprecated in future
+ releases.
+
+ (BMR - 2016/03/04, HDFFV-8623)
+
+ - Regarding #ifdef VLPT_REMOVED
+
+ The #ifdef VLPT_REMOVED blocks have been removed from the packet
+ table library source code except for the following functions:
+ + VL_PacketTable::IsVariableLength() was moved to PacketTable
+ + VL_PacketTable::FreeReadBuff() is now PacketTable::FreeBuff()
+
+ (BMR - 2016/03/04, HDFFV-442)
+
+
+
+ Java Wrapper Library
+ --------------------
+
+ The Java HDF5 JNI library has been integrated into the HDF5 repository.
+ The configure option is "--enable-java", and the CMake option is
+ HDF5_BUILD_JAVA:BOOL=ON. The package hierarchy has changed from the
+ HDF5 1.8 JNI, which was "ncsa.hdf.hdflib.hdf5", to HDF5 1.10,
+ "hdf.hdflib.hdf5".
+
+ A number of new APIs were added including some for VDS and SWMR.
+
+
+
+ Other Important Changes
+ -----------------------
+
+ The hid_t type was changed from 32-bit to a 64-bit value.
+
+
+
+Issues Addressed in this Release Since alpha1
+=============================================
+
+ - H5Pget_virtual_printf_gap, H5Pget_virtual_view, H5Pget_efile_prefix
+
+ The correct access property list settings from the
+ H5Pget_virtual_printf_gap, H5Pget_virtual_view, and
+ H5Pget_efile_prefix function calls could not be retrieved
+ using H5Dget_access_plist().
+
+ Fixed.
+
+ (DER and NAF - 2016/03/14, HDFFV-9716)
+
+ - h5dump
+
+ When h5dump was provided with the name of a non-existing file or
+ when optional arguments were the last option on the command line,
+ h5dump would segfault.
+
+ Fixed.
+
+ (ADB 2016/02/28 HDFFV-9639, HDFFV-9684)
+
+ - No Error Message for Corrupt Metadata
+
+ The HDF5 Library did not propagate an error when it encountered
+ corrupt metadata in an HDF5 file. The issue was fixed for a
+ specific file provided by a user. If you still see the problem,
+ please contact help@hdfgroup.org
+
+ Fixed.
+
+ (MC - 2016/02/18, HDFFV-9670)
+
+ - Problem Reading Chunked Datasets with a String Datatype Larger
+ Than the Chunk Size in Bytes
+
+ When the latest file format was used and when a chunked dataset
+ was created with a datatype with the size bigger than a chunk
+ size, the data could not be read back. The issue was reported
+ for chunked datasets with a string datatype and was confirmed
+ for other datatypes with the sizes bigger than the chunk size in
+ bytes.
+
+ Fixed.
+
+ (JM - 2016/02/13, HDFFV-9672)
+
+ - Control over the Location of External Files
+
+ Users were unable to specify the locations of external files.
+
+ Two APIs - H5Pget_efile_prefix and H5Pset_efile_prefix - were
+ added so that users could specify the locations of external files.
+
+ (DER - 2016/02/04, HDFFV-8740)
+
+
+
+Issues Addressed in this Release Since alpha0
+=============================================
+ - h5format_convert
+
+ The h5format_convert tool did not downgrade the version of the
+ superblock.
+
+ Fixed. The tool now will downgrade the version of the superblock.
+
+ (EIP 2016/01/11)
+
+ - Crashes with multiple threads: invalid pointers
+
+ It was reported that alpha0 crashed when used with multiple
+ threads. The issue exists in the HDF5 Library versions 1.8 and
+ 1.9. The problem is related to a shared file pointer used in some
+ miscellaneous data structures. The thread-safe library exposed
+ paths in the library where a file pointer became invalid.
+
+ The alpha1 release contains the fixes for the specific use case
+ as described in HDFFV-9643. We will keep working on identifying
+ and fixing other paths in the library with similar problems.
+
+ (EIP - 2016/01/15, HDFFV-9643)
+
+
+
+Supported Platforms
+===================
+The following platforms are supported and have been tested for this release.
+They are built with the configure process unless specified otherwise.
+
+ AIX 6.1 xlc/xlc_r 10.1.0.5
+ (NASA G-ADA) xlC/xlC_r 10.1.0.5
+ xlf90/xlf90_r 12.1.0.6
+
+ Linux 2.6.32-573.18.1.el6 GNU C (gcc), Fortran (gfortran), C++ (g++)
+ #1 SMP x86_64 GNU/Linux compilers:
+ (mayll/platypus) Version 4.4.7 20120313 (Red Hat 4.4.7-16)
+ Version 4.9.3, Version 5.2.0
+ PGI C, Fortran, C++ for 64-bit target on
+ x86-64;
+ Version 15.7-0
+ Intel(R) C (icc), C++ (icpc), Fortran (icc)
+ compilers:
+ Version 15.0.3.187 Build 20150407
+ MPICH 3.1.4 compiled with GCC 4.9.3
+
+ Linux 2.6.32-504.8.1.el6.ppc64 gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-11)
+ #1 SMP ppc64 GNU/Linux g++ (GCC) 4.4.7 20120313 (Red Hat 4.4.7-11)
+ (ostrich) GNU Fortran (GCC) 4.4.7 20120313 (Red Hat 4.4.7-11)
+ IBM XL C/C++ V13.1
+ IBM XL Fortran V15.1
+
+ Linux 3.10.0-327.10.1.el7 GNU C (gcc), Fortran (gfortran), C++ (g++)
+ #1 SMP x86_64 GNU/Linux compilers:
+ (kituo/moohan) Version 4.8.5 20150623 (Red Hat 4.8.5-4)
+ Version 4.9.3, Version 5.2.0
+ Intel(R) C (icc), C++ (icpc), Fortran (icc)
+ compilers:
+ Version 15.0.3.187 Build 20150407
+ MPICH 3.1.4 compiled with GCC 4.9.3
+
+ SunOS 5.11 32- and 64-bit Sun C 5.12 SunOS_sparc
+ (emu) Sun Fortran 95 8.6 SunOS_sparc
+ Sun C++ 5.12 SunOS_sparc
+
+ Windows 7 Visual Studio 2012 w/ Intel Fortran 15 (cmake)
+ Visual Studio 2013 w/ Intel Fortran 15 (cmake)
+ Visual Studio 2015 w/ Intel Fortran 16 (cmake)
+ Cygwin(CYGWIN_NT-6.1 2.2.1(0.289/5/3) gcc(4.9.3) compiler and gfortran)
+ (cmake and autotools)
+
+ Windows 7 x64 Visual Studio 2012 w/ Intel Fortran 15 (cmake)
+ Visual Studio 2013 w/ Intel Fortran 15 (cmake)
+ Visual Studio 2015 w/ Intel Fortran 16 (cmake)
+
+ Windows 8.1 Visual Studio 2012 w/ Intel Fortran 15 (cmake)
+ Visual Studio 2013 w/ Intel Fortran 15 (cmake)
+
+ Windows 8.1 x64 Visual Studio 2012 w/ Intel Fortran 15 (cmake)
+ Visual Studio 2013 w/ Intel Fortran 15 (cmake)
+
+ Mac OS X Mt. Lion 10.8.5 Apple clang/clang++ version 5.1 from Xcode 5.1
+ 64-bit gfortran GNU Fortran (GCC) 4.8.2
+ (swallow/kite) Intel icc/icpc/ifort version 15.0.3
+
+ Mac OS X Mavericks 10.9.5 Apple clang/clang++ version 6.0 from Xcode 6.2.0
+ 64-bit gfortran GNU Fortran (GCC) 4.9.2
+ (wren/quail) Intel icc/icpc/ifort version 15.0.3
+
+ Mac OS X Yosemite 10.10.5 Apple clang/clang++ version 6.0 from Xcode 7.0.0
+ 64-bit gfortran GNU Fortran (GCC) 4.9.2
+ (osx1010dev/osx1010test) Intel icc/icpc/ifort version 15.0.3
+
+ Mac OS X El Capitan 10.11.3 Apple clang/clang++ version 7.0.2 from Xcode 7.0.2
+ 64-bit gfortran GNU Fortran (GCC) 5.2.0
+ (osx1010dev/osx1010test) Intel icc/icpc/ifort version 15.0.3
+
+
+
+Tested Configuration Features Summary
+=====================================
+
+ In the tables below
+ y = tested
+ n = not tested in this release
+ C = Cluster
+ W = Workstation
+ x = not working in this release
+ dna = does not apply
+ ( ) = footnote appears below second table
+ <blank> = testing incomplete on this feature or platform
+
+Platform C F90/ F90 C++ zlib SZIP
+ parallel F2003 parallel
+SunOS 5.11 32-bit n y/y n y y y
+SunOS 5.11 64-bit n y/y n y y y
+Windows 7 y y/y n y y y
+Windows 7 x64 y y/y n y y y
+Windows 7 Cygwin n y/y n y y n
+Windows 8.1 n y/y n y y y
+Windows 8.1 x64 n y/y n y y y
+Mac OS X Mountain Lion 10.8.5 64-bit n y/y n y y y
+Mac OS X Mavericks 10.9.5 64-bit n y/y n y y y
+Mac OS X Yosemeti 10.10.5 64-bit n y/y n y y y
+AIX 6.1 32- and 64-bit n y/n n y y y
+CentOS 6.7 Linux 2.6.32 x86_64 GNU y y/y y y y y
+CentOS 6.7 Linux 2.6.32 x86_64 Intel n y/y n y y y
+CentOS 6.7 Linux 2.6.32 x86_64 PGI n y/y n y y y
+CentOS 7.1 Linux 3.10.0 x86_64 GNU y y/y y y y y
+CentOS 7.1 Linux 3.10.0 x86_64 Intel n y/y n y y y
+Linux 2.6.32-431.11.2.el6.ppc64 n y/n n y y y
+
+Platform Shared Shared Shared Thread-
+ C libs F90 libs C++ libs safe
+SunOS 5.11 32-bit y y y y
+SunOS 5.11 64-bit y y y y
+Windows 7 y y y y
+Windows 7 x64 y y y y
+Windows 7 Cygwin n n n y
+Windows 8.1 y y y y
+Windows 8.1 x64 y y y y
+Mac OS X Mountain Lion 10.8.5 64-bit y n y y
+Mac OS X Mavericks 10.9.5 64-bit y n y y
+Mac OS X Yosemeti 10.10.5 64-bit y n y y
+AIX 6.1 32- and 64-bit y n n y
+CentOS 6.7 Linux 2.6.32 x86_64 GNU y y y y
+CentOS 6.7 Linux 2.6.32 x86_64 Intel y y y y
+CentOS 6.7 Linux 2.6.32 x86_64 PGI y y y y
+CentOS 7.1 Linux 3.10.0 x86_64 GNU y y y y
+CentOS 7.1 Linux 3.10.0 x86_64 Intel y y y y
+Linux 2.6.32-431.11.2.el6.ppc64 y y y y
+
+Compiler versions for each platform are listed in the preceding
+"Supported Platforms" table.
+
+
+
+More Tested Platforms
+=====================
+The following platforms are not supported but have been tested for this release.
+
+ Linux 2.6.18-431.11.2.el6 g95 (GCC 4.0.3 (g95 0.94!)
+ #1 SMP x86_64 GNU/Linux
+ (platypus)
+
+ Windows 7 Visual Studio 2008 (cmake)
+
+ Windows 7 x64 Visual Studio 2008 (cmake)
+
+ Windows 7 x64 Visual Studio 2010 (cmake) with SWMR using GPFS
+
+ Windows 10 Visual Studio 2013 w/ Intel Fortran 15 (cmake)
+
+ Windows 10 x64 Visual Studio 2013 w/ Intel Fortran 15 (cmake)
+
+ Debian7.5.0 3.2.0-4-amd64 #1 SMP Debian 3.2.51-1 x86_64 GNU/Linux
+ gcc (Debian 4.7.2-5) 4.7.2
+ GNU Fortran (Debian 4.7.2-5) 4.7.2
+ (cmake and autotools)
+
+ Fedora20 3.15.3-200.fc20.x86_64 #1 SMP x86_64 x86_64 x86_64 GNU/Linux
+ gcc (GCC) 4.8.3 20140624 (Red Hat 4.8.3-1)
+ GNU Fortran (GCC) 4.8.3 20140624 (Red Hat 4.8.3-1)
+ (cmake and autotools)
+
+ SUSE 13.1 3.11.10-17-desktop #1 SMP PREEMPT x86_64 x86_64 x86_64 GNU/Linux
+ gcc (SUSE Linux) 4.8.1
+ GNU Fortran (SUSE Linux) 4.8.1
+ (cmake and autotools)
+
+ Ubuntu 14.04 3.13.0-35-generic #62-Ubuntu SMP x86_64 GNU/Linux
+ gcc (Ubuntu/Linaro 4.9.1-0ubuntu1) 4.9.1
+ GNU Fortran (Ubuntu/Linaro 4.9.1-0ubuntu1) 4.9.1
+ (cmake and autotools)
+
+ hopper.nersc.gov PrgEnv-gnu/5.2.40
+ gcc (GCC) 4.9.2 20141030 (Cray Inc.)
+ GNU Fortran (GCC) 4.9.2 20141030 (Cray Inc.)
+ g++ (GCC) 4.9.2 20141030 (Cray Inc.)
+
+
+
+Known Problems and Limitations
+==============================
+This section contains the list of known problems and limitations introduced
+in this release of HDF5.
+
+Note: this list is not exhaustive of all known issues discovered in HDF5
+software to date. For a list of significant problems and known workarounds
+identified in past releases, please refer to:
+
+https://www.hdfgroup.org/HDF5/release/known_problems/
+
+The HDF Group also maintains a JIRA issue-tracking database which is used to
+capture all known issues which are too numerous to reasonably list in this
+document. The HDF Group is taking steps to make our JIRA issue database
+open to the public, and this section will refer to that database in a future
+release. In the meantime, please contact help@hdfgroup.org if you come across
+an issue not listed here or at the link above, and we will provide any
+information about known workarounds that we have or add it to our list of
+known issues if it is a new issue.
+
+ - The JUnit-interface test may fail on Solaris platforms. The result of
+ a test for verifying the content of the error stack to stdout is
+ in a different order on Solaris then other platforms. Use make -i option
+ to test beyond the java/test folder.
+ (ADB - 2016/03/22, HDFFV-9734)
+
+ - The flush/refresh test occasionally fails on OS X platforms. This is
+ being investigated but no fix or workaround is available at this time.
+ (DER - 2016/03/22, HDFFV-9731)
+
+ - The VDS/SWMR test will fail with a segmentation fault if the library
+ is built with --enable-using-memchecker. The is due to a VDS shutdown
+ procedure freeing a shared resource too early when the memory
+ checker changes are built. This problem does not arise when the
+ memory checker changes are not used since the internal library free
+ lists behave differently. The memory checker configure option should
+ normally only be used under special circumstances so this should not
+ affect most users. Users should be aware that the --enable-using-memchecker
+ + VDS combination may cause a segfault, however, so Valgrind et al. may
+ have to be used with an HDF5 library built without the feature if this
+ proves to be a problem.
+ (DER - 2016/03/21, HDFFV-9732)
+
+ - SWMR feature limitations
+ The SWMR feature will only work if an HDF5 file under SWMR access resides
+ on a file system that obeys POSIX write() ordering semantics. Because of
+ this, SWMR will not work on network file systems such as NFS or SMB/Windows
+ file shares since those systems do not guarantee write odering. SWMR
+ regression tests are likely to fail if run on a network file system. SWMR
+ is currently not tested on Windows though it can be tested manually
+ (some of the SWMR test programs are built by CMake), and there are no
+ obvious reasons for it to not work on NTFS or GPFS.
+ (EIP - 2016/03/20, HDFFV-9733)
+
+ - VDS feature limitation
+ Currently, the path to a VDS source file is interpreted as relative to the
+ directory where the executable program runs and not to the HDF5 file with
+ the VDS dataset unless a full path to the source file is specified during
+ the mapping.
+ (EIP - 2016/03/20, HDFFV-9724)
+
+ - When building HDF5 with Java using CMake and specifying Debug for CMAKE_BUILD_TYPE,
+ there is a missing command argument for the tests of the examples.
+
+ This error can be avoided by not building Java with Debug, HDF5_BUILD_JAVA:BOOL=OFF,
+ or not building Examples, HDF5_BUILD_EXAMPLES:BOOL=OFF.
+ (LRK - 2016/03/30, HDFFV-9743)
+
+ - The H5Lexists API changed behavior in HDF5-1.10 when used with a file handle
+ and root group name ("/"):
+
+ H5Lexists(fileid, "/")
+
+ In HDF5-1.8 it returns false (0) and in HDF5-1.10 it returns true (1).
+ The documentation will be updated with information regarding this change.
+ (LRK - 2016/03/30, HDFFV-8746)
+
diff --git a/release_docs/HISTORY-1_8.txt b/release_docs/HISTORY-1_8.txt
new file mode 100644
index 0000000..4465d06
--- /dev/null
+++ b/release_docs/HISTORY-1_8.txt
@@ -0,0 +1,12344 @@
+HDF5 History
+============
+
+This file contains development history of HDF5 1.8 branch
+
+19. Release Information for hdf5-1.8.17
+18. Release Information for hdf5-1.8.16
+17. Release Information for hdf5-1.8.15
+16. Release Information for hdf5-1.8.14
+15. Release Information for hdf5-1.8.13
+14. Release Information for hdf5-1.8.12
+13. Release Information for hdf5-1.8.11
+12. Release Information for hdf5-1.8.10-patch1
+11. Release Information for hdf5-1.8.10
+10. Release Information for hdf5-1.8.9
+09. Release Information for hdf5-1.8.8
+08. Release Information for hdf5-1.8.7
+07. Release Information for hdf5-1.8.6
+06. Release Information for hdf5-1.8.5
+05. Release Information for hdf5-1.8.4
+04. Release Information for hdf5-1.8.3
+03. Release Information for hdf5-1.8.2
+02. Release Information for hdf5-1.8.1
+01. Release Information for hdf5-1.8.0
+
+[Search on the string '%%%%' for section breaks of each release.]
+
+%%%%1.8.17%%%%
+
+
+HDF5 version 1.8.17 released on 2016-05-10
+================================================================================
+
+INTRODUCTION
+============
+
+This document describes the differences between HDF5-1.8.16 and
+HDF5-1.8.17-*, and contains information on the platforms tested and
+known problems in HDF5-1.8.17-*.
+For more details, see the files HISTORY-1_0-1_8_0_rc3.txt
+and HISTORY-1_8.txt in the release_docs/ directory of the HDF5 source.
+
+Links to the HDF5 1.8.17 source code, documentation, and additional materials
+can be found on the HDF5 web page at:
+
+ http://www.hdfgroup.org/products/hdf5/
+
+The HDF5 1.8.17 release can be obtained from:
+
+ http://www.hdfgroup.org/HDF5/release/obtain5.html
+
+User documentation for 1.8.17 can be accessed directly at this location:
+
+ http://www.hdfgroup.org/HDF5/doc/
+
+New features in the HDF5-1.8.x release series, including brief general
+descriptions of some new and modified APIs, are described in the "What's New
+in 1.8.0?" document:
+
+ http://www.hdfgroup.org/HDF5/doc/ADGuide/WhatsNew180.html
+
+All new and modified APIs are listed in detail in the "HDF5 Software Changes
+from Release to Release" document, in the section "Release 1.8.17 (current
+release) versus Release 1.8.16
+
+ http://www.hdfgroup.org/HDF5/doc/ADGuide/Changes.html
+
+If you have any questions or comments, please send them to the HDF Help Desk:
+
+ help@hdfgroup.org
+
+
+
+CONTENTS
+========
+
+- New Features
+- Support for New Platforms, Languages, and Compilers
+- Bug Fixes since HDF5-1.8.16
+- Supported Platforms
+- Supported Configuration Features Summary
+- More Tested Platforms
+- Known Problems
+
+
+
+New Features
+============
+
+ Configuration
+ -------------
+ - Cmakehdf5: Added Ability to Run Multiple Make Commands
+
+ Added option --njobs to specify up to how many jobs to launch during
+ build (cmake) and testing (ctest).
+
+ (AKC - 2015/12/13, HDFFV-9612)
+
+ - Cmakehdf5: Added Szip Support and Verbose Option
+
+ Added --with-szlib to support the Szip library; and
+ --enable/disable-verbose to display all CMake process output.
+
+ (AKC - 2015/11/16, HDFFV-8932 and DAILYTEST-195)
+
+ - CMake minimum is now 3.1.0. (ADB - 2015/11/14)
+
+ - Large File System (LFS) Support has Changed in the Autotools
+
+ We assume that fseeko and ftello exist.
+
+ The *64 I/O functions and types are no longer explicitly used.
+ We now rely on a mapping provided by _FILE_OFFSET_BITS (or its
+ equivalent).
+
+ _LARGEFILE(64)_SOURCE is no longer exposed via AM_CPPFLAGS.
+
+ (DER - 2016/03/29, HDFFV-9626 and HDFFV-9541)
+
+
+
+ Library
+ -------
+ - New API Calls for Searching for External Dataset Storage
+
+ API calls that determine the search path for dataset external
+ storage were added. H5Pset/get_efile_prefix() API calls were added
+ to the library. These functions give control over the search path
+ for dataset external storage that has been configured with
+ H5Pset_external().
+
+ Additionally, the HDF5_EXTFILE_PREFIX environment variable can be
+ used to control the search path.
+
+ (DER - 2016/04/20, HDFFV-8740)
+
+
+
+ Parallel Library
+ ----------------
+ - None
+
+
+
+ Tools
+ -----
+ - None
+
+
+
+ High-Level APIs
+ ---------------
+
+ C Packet Table API
+ ------------------
+ - Replacement of a Public Function with H5PTcreate
+
+ The existing function H5PTcreate_fl limits applications so they
+ can use the deflate compression only. The public function
+ H5PTcreate has been added to replace H5PTcreate_fl. H5PTcreate
+ takes a property list identifier to provide flexibility on
+ creation properties. This also removes the following warning:
+ "deprecated conversion from string constant to "char*"
+ [-Wwrite-strings]".
+
+ (BMR - 2016/04/25, HDFFV-9708, HDFFV-8615)
+
+ - New Public Functions: H5PTget_dataset and H5PTget_type
+
+ Two accessor functions have been added. H5PTget_dataset returns
+ the identifier of the dataset associated with the packet table,
+ and H5PTget_type returns the identifier of the datatype used by
+ the packet table.
+
+ (BMR - 2016/04/25, HDFFV-8623 patch 3)
+
+ - Regarding #ifdef VLPT_REMOVED
+
+ The #ifdef VLPT_REMOVED blocks have been removed from the packet
+ table (PT) library source except for the following functions:
+ + H5PTis_varlen() has been made available again
+ + H5PTfree_vlen_readbuff() is now H5PTfree_vlen_buff()
+
+ (BMR - 2016/04/25, HDFFV-442)
+
+ C++ Packet Table API
+ --------------------
+ - New Constructor in FL_PacketTable
+
+ An overloaded constructor has been added to FL_PacketTable and
+ takes a property list identifier to provide flexibility on
+ creation properties such as compression.
+
+ FL_PacketTable(hid_t fileID, const char* name, hid_t dtypeID,
+ hsize_t chunkSize = 0, hid_t plistID = H5P_DEFAULT)
+
+ (BMR - 2016/04/25, HDFFV-8623 patch 5)
+
+ - New Member Functions in PacketTable
+
+ Two accessor wrappers were added to class PacketTable.
+
+ PacketTable::GetDataset() returns the identifier of the dataset
+ associated with the packet table, and PacketTable::GetDatatype()
+ returns the identifier of the datatype that the packet table uses.
+
+ (BMR - 2016/04/25, HDFFV-8623 patch 4)
+
+ - New Member Functions with "char*" as an Argument
+
+ Overloaded functions were added to provide the "const char*"
+ argument; the existing version will be deprecated in future
+ releases. This also removes the following warning:
+ "deprecated conversion from string constant to "char*"
+ [-Wwrite-strings]".
+
+ (BMR - 2016/04/25, HDFFV-8623 patch 1, HDFFV-8615)
+
+ - Regarding #ifdef VLPT_REMOVED
+
+ The #ifdef VLPT_REMOVED blocks have been removed from the packet
+ table library source code except for the following functions:
+ + VL_PacketTable::IsVariableLength() was moved to PacketTable
+ + VL_PacketTable::FreeReadBuff() is now PacketTable::FreeBuff()
+
+ (BMR - 2016/04/25, HDFFV-442)
+
+
+
+ Fortran API
+ -----------
+ - None
+
+
+
+ C++ API
+ -------
+ - New Member Function in DSetCreatPropList
+
+ DSetCreatPropList::setNbit() was added to setup N-bit compression for
+ a dataset.
+
+ (BMR - 2016/04/25, HDFFV-8623 patch 7)
+
+ - New Overloaded "const" Member Functions in ArrayType
+
+ The two following functions were added:
+ ArrayType::getArrayNDims() const
+ ArrayType::getArrayDims() const
+ to provide const version, and the non-const version was marked
+ deprecated. In-memory array information, ArrayType::rank and
+ ArrayType::dimensions, were removed. This is an implementation
+ detail and should not affect applications.
+
+ (BMR, 2016/04/25, HDFFV-9725)
+
+ - New member function added
+
+ The assignment operator ArrayType::operator= is added because ArrayType
+ has pointer data members.
+
+ (BMR, 2016/03/07, HDFFV-9562)
+
+
+Support for New Platforms, Languages, and Compilers
+===================================================
+ - Mac OS X El Capitan 10.11.4 with compilers Apple clang/clang++
+ version 7.3.0 from Xcode 7.3, gfortran GNU Fortran (GCC) 5.2.0
+ and Intel icc/icpc/ifort version 16.0.2
+
+
+
+Bug Fixes since HDF5-1.8.16
+===========================
+
+ Configuration
+ -------------
+ - Updated Linux Language Level Flags to Match the Autotools. Removed
+ Linux-specific Flags from OS X.
+
+ An addition to the flags simply being out of sync with the Autotools,
+ the Linux flags were used on OS X builds which led to symbols not being
+ found. Although this was non-fatal and compilation continued (implicit
+ definitions were used by the compiler and the symbols resolved at link
+ time), a large number of warnings were raised.
+
+ Linux changes:
+
+ * CHANGED: _POSIX_C_SOURCE (from 199605 to 200112L)
+ * ADDED: _GNU_SOURCE
+ * REMOVED: _BSD_SOURCE
+ * REMOVED: _DEFAULT_SOURCE
+
+ (DER - 2015/12/08, HDFFV-9627)
+
+ - The --enable-clear-file-buffers configure Option was Non-functional
+ so the Feature was Always Enabled (its default value).
+
+ Regardless of the configure flag, the setting was always enabled when
+ the Autotools were used to configure HDF5. This was due to the "no"
+ option being processed after the "*" option in configure.ac so "*"
+ matched first. CMake was unaffected.
+
+ The option now works correctly.
+
+ NOTE that builders are always advised to leave this option enabled.
+ When disabled, buffers that are written to disk may contain the
+ memory's previous contents, which may include secure information.
+ The performance overhead of the feature (a single memset call per
+ allocation) is minimal.
+
+ (DER - 2016/02/03, HDFFV-9676)
+
+ - Added a patch to remove '"'s from arguments for MPI compilers that
+ were causing errors compiling H5lib_settings.c with SGI MPT.
+
+ (LRK - 2016/04/20, HDFFV-9439)
+
+ Library
+ -------
+ - Fixed shared file pointer problem which caused a crash when running a
+ program provided by a user.
+
+ (VC - 2016/04/01, HDFFV-9469)
+
+ - Fixed some format string warnings that prevent compiling with
+ -Werror=format-security on gcc.
+
+ These only appeared in error messages and would not cause problems
+ under normal operation.
+
+ (DER - 2016/01/13, HDFFV-9640)
+
+ - Fixed a library segmentation fault when accessing a corrupted
+ file provided by a user.
+
+ (MSC - 2016/02/19, HDFFV-9670)
+
+
+
+ Parallel Library
+ ----------------
+ - None
+
+
+
+ Performance
+ -------------
+ - None
+
+
+
+ Tools
+ -----
+ - h5dump: Sub-setting Fixed for Dimensions Greater than Two
+
+ When a dataset has more than two dimensions, sub-setting would
+ incorrectly calculate the data that needed to be displayed.
+ Added in block and stride calculations that account for dimensions
+ greater than two. NOTE: lines that have line breaks inserted
+ because of display length calculations may have index info that
+ is incorrect until the next dimension break.
+
+ (ADB - 2016/03/07, HDFFV-9698)
+
+ - h5dump: Issue with Argument Segmentation Fault
+
+ When an argument with an optional value was at the end of the command
+ line with a value, h5dump would crash. Reworked check for remaining
+ arguments.
+
+ (ADB - 2016/03/07, HDFFV-9570, HDFFV-9684)
+
+ - h5dump: Issue with Default Fill Value
+
+ Added all default cases of fill value to the display of fill value.
+
+ (ADB -, 2016/03/07, HDFFV-9241)
+
+ - h5dump: Clarified Help
+
+ Clarified usage of -O F option in h5dump utility help.
+
+ (ADB - 2016/03/07, HDFFV-9066)
+
+ - h5dump: Issue with Double Free Fault
+
+ Added a check for filename not null before calling free().
+
+ (ADB - 2016/01/27, HDFFV-9639)
+
+ - VS2015 Release Changed how Timezone was Handled
+
+ Created a function, HDget_timezone, in H5system.c. Replaced
+ timezone variable usage with function call.
+
+ (ADB - 2015/11/02, HDFFV-9550)
+
+
+
+ Fortran API
+ -----------
+ - None
+
+
+
+ C++ API
+ -------
+ - Removal of Obsolete Methods
+
+ The overloaded methods which had parameters that should be const
+ but were not have been removed.
+
+ (BMR - 2016/01/13, HDFFV-9789)
+
+
+
+ High-Level APIs:
+ ---------------
+ - Fixed Memory Leak in Packet Table API
+
+ Applied user's patch to fix memory leak in the creation of a
+ packet table.
+
+ (BMR - 2016/04/25, HDFFV-9700)
+
+
+
+ Fortran High-Level APIs:
+ ------------------------
+ - None
+
+
+
+ Testing
+ -------
+ - None
+
+
+
+Supported Platforms
+===================
+The following platforms are supported and have been tested for this release.
+They are built with the configure process unless specified otherwise.
+
+ AIX 6.1 xlc/xlc_r 10.1.0.5
+ (NASA G-ADA) xlC/xlC_r 10.1.0.5
+ xlf90/xlf90_r 12.1.0.6
+
+ Linux 2.6.32-573.22.1.el6 GNU C (gcc), Fortran (gfortran), C++ (g++)
+ #1 SMP x86_64 GNU/Linux compilers:
+ (platypus) Version 4.4.7 20120313
+ Version 4.9.3, Version 5.2.0
+ PGI C, Fortran, C++ for 64-bit target on
+ x86-64;
+ Version 15.7-0
+ Intel(R) C (icc), C++ (icpc), Fortran (icc)
+ compilers:
+ Version 15.0.3.187 Build 20150407
+ MPICH 3.1.4 compiled with GCC 4.9.3
+
+ Linux 2.6.32-504.8.1.el6.ppc64 gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-16)
+ #1 SMP ppc64 GNU/Linux g++ (GCC) 4.4.7 20120313 (Red Hat 4.4.7-16)
+ (ostrich) GNU Fortran (GCC) 4.4.7 20120313 (Red Hat 4.4.7-16)
+ IBM XL C/C++ V13.1
+ IBM XL Fortran V15.1
+
+ Linux 3.10.0-229.14.1.el7 GNU C (gcc), Fortran (gfortran), C++ (g++)
+ #1 SMP x86_64 GNU/Linux compilers:
+ (kituo/moohan) Version 4.8.5 20150623 (Red Hat 4.8.5-4)
+ Version 5.2.0
+ Intel(R) C (icc), C++ (icpc), Fortran (icc)
+ compilers:
+ Version 15.0.3.187 Build 20150407
+ MPICH 3.1.4 compiled with GCC 4.9.3
+
+ SunOS 5.11 32- and 64-bit Sun C 5.12 SunOS_sparc
+ (emu) Sun Fortran 95 8.6 SunOS_sparc
+ Sun C++ 5.12 SunOS_sparc
+
+ Windows 7 Visual Studio 2012 w/ Intel Fortran 15 (cmake)
+ Visual Studio 2013 w/ Intel Fortran 15 (cmake)
+ Visual Studio 2015 (cmake)
+ Cygwin(CYGWIN_NT-6.1 2.2.1(0.289/5/3) gcc(4.9.3) compiler and gfortran)
+ (cmake and autotools)
+
+ Windows 7 x64 Visual Studio 2012 w/ Intel Fortran 15 (cmake)
+ Visual Studio 2013 w/ Intel Fortran 15 (cmake)
+ Visual Studio 2015 (cmake)
+
+ Windows 8.1 Visual Studio 2012 w/ Intel Fortran 15 (cmake)
+ Visual Studio 2013 w/ Intel Fortran 15 (cmake)
+
+ Windows 8.1 x64 Visual Studio 2012 w/ Intel Fortran 15 (cmake)
+ Visual Studio 2013 w/ Intel Fortran 15 (cmake)
+
+ Mac OS X Mt. Lion 10.8.5 Apple clang/clang++ version 5.1 from Xcode 5.1
+ 64-bit gfortran GNU Fortran (GCC) 4.8.2
+ (swallow/kite) Intel icc/icpc/ifort version 15.0.3
+
+ Mac OS X Mavericks 10.9.5 Apple clang/clang++ version 6.0 from Xcode 6.2
+ 64-bit gfortran GNU Fortran (GCC) 4.9.2
+ (wren/quail) Intel icc/icpc/ifort version 15.0.3
+
+ Mac OS X Yosemite 10.10.5 Apple clang/clang++ version 6.1 from Xcode 7.0
+ 64-bit gfortran GNU Fortran (GCC) 4.9.2
+ (osx1010dev/osx1010test) Intel icc/icpc/ifort version 15.0.3
+
+ Mac OS X El Capitan 10.11.4 Apple clang/clang++ version 7.3.0 from Xcode 7.3
+ 64-bit gfortran GNU Fortran (GCC) 5.2.0
+ (osx1011dev/ox1011test) Intel icc/icpc/ifort version 16.0.2
+
+
+Tested Configuration Features Summary
+=====================================
+
+ In the tables below
+ y = tested
+ n = not tested in this release
+ C = Cluster
+ W = Workstation
+ x = not working in this release
+ dna = does not apply
+ ( ) = footnote appears below second table
+ <blank> = testing incomplete on this feature or platform
+
+Platform C F90/ F90 C++ zlib SZIP
+ parallel F2003 parallel
+SunOS 5.11 32-bit n y/y n y y y
+SunOS 5.11 64-bit n y/y n y y y
+Windows 7 y y/y n y y y
+Windows 7 x64 y y/y n y y y
+Windows 7 Cygwin n y/y n y y n
+Windows 8.1 n y/y n y y y
+Windows 8.1 x64 n y/y n y y y
+Mac OS X Mountain Lion 10.8.5 64-bit n y/y n y y y
+Mac OS X Mavericks 10.9.5 64-bit n y/y n y y y
+Mac OS X Yosemeti 10.10.5 64-bit n y/y n y y y
+AIX 6.1 32- and 64-bit n y/n n y y y
+CentOS 6.7 Linux 2.6.32 x86_64 GNU y y/y y y y y
+CentOS 6.7 Linux 2.6.32 x86_64 Intel n y/y n y y y
+CentOS 6.7 Linux 2.6.32 x86_64 PGI n y/y n y y y
+CentOS 7.1 Linux 3.10.0 x86_64 GNU y y/y y y y y
+CentOS 7.1 Linux 3.10.0 x86_64 Intel n y/y n y y y
+Linux 2.6.32-431.11.2.el6.ppc64 n y/n n y y y
+
+Platform Shared Shared Shared Thread-
+ C libs F90 libs C++ libs safe
+SunOS 5.11 32-bit y y y y
+SunOS 5.11 64-bit y y y y
+Windows 7 y y y y
+Windows 7 x64 y y y y
+Windows 7 Cygwin n n n y
+Windows 8.1 y y y y
+Windows 8.1 x64 y y y y
+Mac OS X Mountain Lion 10.8.5 64-bit y n y y
+Mac OS X Mavericks 10.9.5 64-bit y n y y
+Mac OS X Yosemeti 10.10.5 64-bit y n y y
+AIX 6.1 32- and 64-bit y n n y
+CentOS 6.7 Linux 2.6.32 x86_64 GNU y y y y
+CentOS 6.7 Linux 2.6.32 x86_64 Intel y y y y
+CentOS 6.7 Linux 2.6.32 x86_64 PGI y y y y
+CentOS 7.1 Linux 3.10.0 x86_64 GNU y y y y
+CentOS 7.1 Linux 3.10.0 x86_64 Intel y y y y
+Linux 2.6.32-431.11.2.el6.ppc64 y y y y
+
+Compiler versions for each platform are listed in the preceding
+"Supported Platforms" table.
+
+
+More Tested Platforms
+=====================
+The following platforms are not supported but have been tested for this release.
+
+ Linux 2.6.18-431.11.2.el6 g95 (GCC 4.0.3 (g95 0.94!)
+ #1 SMP x86_64 GNU/Linux
+ (platypus)
+
+ Windows 7 Visual Studio 2008 (cmake)
+
+ Windows 7 x64 Visual Studio 2008 (cmake)
+
+ Windows 10 Visual Studio 2013 w/ Intel Fortran 15 (cmake)
+
+ Windows 10 x64 Visual Studio 2013 w/ Intel Fortran 15 (cmake)
+
+ Debian7.5.0 3.2.0-4-amd64 #1 SMP Debian 3.2.51-1 x86_64 GNU/Linux
+ gcc (Debian 4.7.2-5) 4.7.2
+ GNU Fortran (Debian 4.7.2-5) 4.7.2
+ (cmake and autotools)
+
+ Fedora20 3.15.3-200.fc20.x86_64 #1 SMP x86_64 x86_64 x86_64 GNU/Linux
+ gcc (GCC) 4.8.3 20140624 (Red Hat 4.8.3-1)
+ GNU Fortran (GCC) 4.8.3 20140624 (Red Hat 4.8.3-1)
+ (cmake and autotools)
+
+ SUSE 13.1 3.11.10-17-desktop #1 SMP PREEMPT x86_64 x86_64 x86_64 GNU/Linux
+ gcc (SUSE Linux) 4.8.1
+ GNU Fortran (SUSE Linux) 4.8.1
+ (cmake and autotools)
+
+ Ubuntu 14.04 3.13.0-35-generic #62-Ubuntu SMP x86_64 GNU/Linux
+ gcc (Ubuntu/Linaro 4.9.1-0ubuntu1) 4.9.1
+ GNU Fortran (Ubuntu/Linaro 4.9.1-0ubuntu1) 4.9.1
+ (cmake and autotools)
+
+ hopper.nersc.gov PrgEnv-gnu/5.2.40
+ gcc (GCC) 4.9.2 20141030 (Cray Inc.)
+ GNU Fortran (GCC) 4.9.2 20141030 (Cray Inc.)
+ g++ (GCC) 4.9.2 20141030 (Cray Inc.)
+
+
+Known Problems
+==============
+* On windows platforms in debug configurations, the VFD flush1 tests will fail
+ with the split and multi VFD drivers. These tests will display a modal debug
+ dialog which must be answered or wait for the test timeout to expire.
+ (ADB - 2014/06/23 - HDFFV-8851)
+
+* CLANG compiler with the options -fcatch-undefined-behavior and -ftrapv
+ catches some undefined behavior in the alignment algorithm of the macro DETECT_I
+ in H5detect.c (Issue 8147). Since the algorithm is trying to detect the alignment
+ of integers, ideally the flag -fcatch-undefined-behavior shouldn't to be used for
+ H5detect.c. In the future, we can separate flags for H5detect.c from the rest of
+ the library. (SLU - 2013/10/16)
+
+* Make provided by Solaris fails in "make check". Solaris users should use
+ gmake to build and install the HDF5 software. (AKC - 2013/10/08 - HDFFV-8534)
+
+* The C++ and FORTRAN bindings are not currently working on FreeBSD with the
+ native release 8.2 compilers (4.2.1), but are working with gcc 4.6 from the
+ ports (and probably gcc releases after that).
+ (QAK - 2012/10/19)
+
+* The following h5dump test case fails in BG/P machines (and potentially other
+ machines that use a command script to launch executables):
+
+ h5dump --no-compact-subset -d "AHFINDERDIRECT::ah_centroid_t[0] it=0 tl=0"
+ tno-subset.h5
+
+ This is due to the embedded spaces in the dataset name being interpreted
+ by the command script launcher as meta-characters, thus passing three
+ arguments to h5dump's -d flag. The command passes if run by hand, just
+ not via the test script.
+ (AKC - 2012/05/03)
+
+* The STDIO VFD does not work on some architectures, possibly due to 32/64
+ bit or large file issues. The basic STDIO VFD test is known to fail on
+ 64-bit SunOS 5.10 on SPARC when built with -m64 and 32-bit OS X/Darwin
+ 10.7.0. The STDIO VFD test has been disabled while we investigate and
+ a fix should appear in a future release.
+ (DER - 2011/10/14 - HDFFV-8235)
+
+* h5diff can report inconsistent results when comparing datasets of enum type
+ that contain invalid values. This is due to how enum types are handled in
+ the library and will be addressed in a future release.
+ (DER - 2011/10/14 - HDFFV-7527)
+
+* The links test can fail under the stdio VFD due to some issues with external
+ links. This will be investigated and fixed in a future release.
+ (DER - 2011/10/14 - HDFFV-7768)
+
+* After the shared library support was fixed for some bugs, it was discovered
+ that "make prefix=XXX install" no longer works for shared libraries. It
+ still works correctly for static libraries. Therefore, if you want to
+ install the HDF5 shared libraries in a location such as /usr/local/hdf5,
+ you need to specify the location via the --prefix option during configure
+ time. E.g, ./configure --prefix=/usr/local/hdf5 ...
+ (AKC - 2011/05/07 - HDFFV-7583)
+
+* The parallel test, t_shapesame, in testpar/, may run for a long time and may
+ be terminated by the alarm signal. If that happens, one can increase the
+ alarm seconds (default is 1200 seconds = 20 minutes) by setting the
+ environment variable, $HDF5_ALARM_SECONDS, to a larger value such as 3600
+ (60 minutes). Note that the t_shapesame test may fail in some systems
+ (see the "While working on the 1.8.6 release..." problem below). If
+ it does, it will waste more time if $HDF5_ALARM_SECONDS is set
+ to a larger value.
+ (AKC - 2011/05/07)
+
+* Shared Fortran libraries are not quite working on AIX. While they are
+ generated when --enable-shared is specified, the fortran and hl/fortran
+ tests fail. the issue. HL and C++ shared libraries should now be
+ working as intended, however.
+ (MAM - 2011/04/20)
+
+* While working on the 1.8.6 release of HDF5, a bug was discovered that can
+ occur when reading from a dataset in parallel shortly after it has been
+ written to collectively. The issue was exposed by a new test in the parallel
+ HDF5 test suite, but had existed before that. We believe the problem lies with
+ certain MPI implementations and/or file systems.
+
+ We have provided a pure MPI test program, as well as a standalone HDF5
+ program, that can be used to determine if this is an issue on your system.
+ They should be run across multiple nodes with a varying number of processes.
+ These programs can be found at:
+ http://www.hdfgroup.org/ftp/HDF5/examples/known_problems/
+ (NAF - 2011/01/19)
+
+* All the VFL drivers aren't backward compatible. In H5FDpublic.h, the
+ structure H5FD_class_t changed in 1.8. There is new parameter added to
+ get_eoa and set_eoa callback functions. A new callback function
+ get_type_map was added in. The public function H5FDrealloc was taken
+ out in 1.8. The problem only happens when users define their own driver
+ for 1.6 and try to plug in 1.8 library. Because there's only one user
+ complaining about it, we (Elena, Quincey, and I) decided to leave it as
+ it is (see bug report #1279). Quincey will make a plan for 1.10.
+ (SLU - 2010/02/02)
+
+* The --enable-static-exec configure flag will only statically link libraries
+ if the static version of that library is present. If only the shared version
+ of a library exists (i.e., most system libraries on Solaris, AIX, and Mac,
+ for example, only have shared versions), the flag should still result in a
+ successful compilation, but note that the installed executables will not be
+ fully static. Thus, the only guarantee on these systems is that the
+ executable is statically linked with just the HDF5 library.
+ (MAM - 2009/11/04)
+
+* A dataset created or rewritten with a v1.6.3 library or after cannot be read
+ with the v1.6.2 library or before when the Fletcher32 EDC filter is enabled.
+ There was a bug in the calculation of the Fletcher32 checksum in the
+ library before v1.6.3; the checksum value was not consistent between big-
+ endian and little-endian systems. This bug was fixed in Release 1.6.3.
+ However, after fixing the bug, the checksum value was no longer the same as
+ before on little-endian system. Library releases after 1.6.4 can still read
+ datasets created or rewritten with an HDF5 library of v1.6.2 or before.
+ (SLU - 2005/06/30)
+
+
+%%%%1.8.16%%%%
+
+
+HDF5 version 1.8.16 released on 2015-11-10
+================================================================================
+
+INTRODUCTION
+============
+
+This document describes the differences between HDF5-1.8.15 and
+HDF5-1.8.16, and contains information on the platforms tested and
+known problems in HDF5-1.8.16.
+For more details, see the files HISTORY-1_0-1_8_0_rc3.txt
+and HISTORY-1_8.txt in the release_docs/ directory of the HDF5 source.
+
+Links to the HDF5 1.8.16 source code, documentation, and additional materials
+can be found on the HDF5 web page at:
+
+ http://www.hdfgroup.org/products/hdf5/
+
+The HDF5 1.8.16 release can be obtained from:
+
+ http://www.hdfgroup.org/HDF5/release/obtain5.html
+
+User documentation for 1.8.16 can be accessed directly at this location:
+
+ http://www.hdfgroup.org/HDF5/doc/
+
+New features in the HDF5-1.8.x release series, including brief general
+descriptions of some new and modified APIs, are described in the "What's New
+in 1.8.0?" document:
+
+ http://www.hdfgroup.org/HDF5/doc/ADGuide/WhatsNew180.html
+
+All new and modified APIs are listed in detail in the "HDF5 Software Changes
+from Release to Release" document, in the section "Release 1.8.16 (current
+release) versus Release 1.8.15":
+
+ http://www.hdfgroup.org/HDF5/doc/ADGuide/Changes.html
+
+If you have any questions or comments, please send them to the HDF Help Desk:
+
+ help@hdfgroup.org
+
+
+CONTENTS
+========
+
+- New Features
+- Support for New Platforms, Languages, and Compilers
+- Bug Fixes since HDF5-1.8.15
+- Supported Platforms
+- Supported Configuration Features Summary
+- More Tested Platforms
+- Known Problems
+
+New Features
+============
+
+ Configuration and Build
+ -------------
+ - The thread-safety + high-level library combination has been marked
+ as "unsupported" in the Autotools
+
+ The global lock used by the thread-safety feature has never been
+ raised to the high-level library level, making it possible that
+ the library state could change if a context switch were to occur in
+ a high-level library call. Because of this, the combination of
+ thread-safety and high-level library is officially unsupported by
+ The HDF Group.
+
+ In the past, although this combination has never been supported, this
+ was not enforced by the build systems. These changes will cause an
+ Autotools configure step to fail if --enable-threadsafe and
+ --enable-hl are combined unless additional options are specified.
+ Since the high-level library is built by default, this means that
+ these extra configuration options will need to be used any time
+ --enable-threadsafe is selected.
+
+ To build with --enable-threadsafe, either:
+
+ 1) Use --disable-hl to disable the high-level library (recommended)
+
+ 2) Use --enable-unsupported to build the high-level library with
+ the thread-safety feature.
+
+ (DER - 2015/09/10 HDFFV-8719)
+
+ - Using CMake now builds both static and shared libraries.
+
+ The CMake files have been updated to build both static and shared
+ libraries, with tools only built statically. The packaging of the
+ libraries and tools will include cmake-config files that allows
+ projects to choose either shared or static (default) libraries
+ to be found with the find_package command using the COMPONENTS
+ keyword and a list of components. The imported libraries will
+ include any interface specific settings and dependent libraries.
+
+ The default setting for BUILD_SHARED_LIBS has changed from OFF
+ to ON, which builds both static and shared libraries. The static
+ libraries are always built because of tools requirements.
+
+ (ADB - 2015/08/24 HDFFV-5881)
+
+ - Inline functions now correctly annotated with Autotools builds.
+
+ The method used to detect the appropriate inline markup scheme was
+ nonfunctional in Autotools builds. The Autotools have been modified
+ to correctly detect the compiler's inline markup symbol and apply it
+ to the source. Note that only a very small number of internal
+ functions are marked inline so this was not a very big change or
+ likely to significantly affect performance.
+
+ As a part of this change, the H5_inline symbol no longer appears in
+ H5pubconf.h.
+
+ (DER - 2015/08/13 HDFFV-9119, HDFFV-9421)
+
+ - Removed obsolete/unmaintained files from config/
+
+ Several files were removed from the config directory. These files
+ represent old operating systems, were no longer necessary, and/or
+ were no longer maintained. configure.ac was updated to reflect the
+ removed files.
+
+ Removed:
+
+ craynv
+ dec-flags
+ hpux11.23
+ ia64-linux-gnu
+ nec-superux14.1
+ sv1-cray
+ x86_64-redstorm-linux-gnu
+ powerpc-ibm-aix5.x
+
+ As a part of this work, a few lines that deal with locating the
+ sys/fpu.h header on SGI machines and some OSF/1 configure lines
+ were also removed. The Solaris config was also renamed to not have
+ a version number since the version number was ignored by configure
+ as it applies to all Solaris versions.
+
+ (DER - 2015/09/04 HDFFV-9116)
+
+ - Removed the FP_TO_INTEGER_OVERFLOW_WORKS macro/defines from the library
+
+ This was for working around bugs in the Cray X1 compiler, which is no
+ longer supported.
+
+ (DER - 2015/09/09 HDFFV-9191)
+
+ - Removed the H5_SW_ULONG_TO_FP_BOTTOM_BIT_WORKS and
+ H5_FP_TO_ULLONG_BOTTOM_BIT_WORKS symbols and associated code.
+
+ H5_SW_ULONG_TO_FP_BOTTOM_BIT_WORKS was a work-around on old 64-bit
+ SGI and Solaris systems.
+
+ H5_FP_TO_ULLONG_BOTTOM_BIT_WORKS was a work-around for old PGI
+ compilers on Linux.
+
+ Neither of these were used in any current library code and only appeared
+ in the dt_arith test.
+
+ (DER - 2015/09/09 HDFFV-9187)
+
+ - Removed CONVERT_DENORMAL_FLOAT symbol and associated code from the
+ library.
+
+ This was only set in configure files for Cray and NEC computers. These
+ config files no longer exist so there is no effect on currently
+ supported platforms.
+
+ (DER - 2015/09/09 HDFFV-9188)
+
+ - Removed _BSD_SOURCE and _DEFAULT_SOURCE from configure.ac
+
+ These are old BSD-compatibility symbols that are no longer needed by
+ the library.
+
+ (DER - 2015/09/10 HDFFV-9079)
+
+ - Removed HW_FP_TO_LLONG_NOT_WORKS symbol and associated code from the
+ library.
+
+ This was part of a work-around for the VS.NET 2003 compiler, which is
+ no longer supported.
+
+ (DER - 2015/09/10 HDFFV-9189)
+
+ - Removed the BAD_LOG2_CODE_GENERATED symbol and associated code from the
+ library.
+
+ This was an IRIX work-around.
+
+ (DER - 2015/09/11 HDFFV-9195)
+
+ - Decoupled shared object version numbers for wrapper libraries from the
+ shared object version number for the HDF5 library. These will be
+ maintained on an individual basis according to the interface changes
+ specific to these wrapper libraries.
+
+ For HDF5 1.8.16 the shared object version numbers were changed from
+ 10.0.1 to 10.1.0 for the HDF5 library due to added APIs. For the C++
+ wrapper library they were changed from 10.0.1 to 11.0.0 due to changes
+ in existing APIs. For all other wrapper libraries the versions were
+ changed from 10.0.1 to 10.0.2 because while the APIs had no changes
+ there have been changes in code that did not result in changes to their
+ interfaces.
+
+ (LRK - 2015/10/28)
+
+ Library
+ -------
+
+ - H5F_ACC_DEBUG flag for H5Fopen/create: functionality removed
+
+ The symbol was used to emit some extra debugging information
+ for HDF Group developers in the multi VFD. The underlying
+ functionality has been removed due to disuse. The symbol
+ remains defined since it was visible in H5Fpublic.h but it
+ has been set to zero and has no effect anywhere in the library.
+
+ (DER - 2015-05-02, HDFFV-1074)
+
+ - New public API call: H5is_library_threadsafe()
+
+ This API call indicates if the library was built with thread-
+ safety enabled.
+
+ (DER - 2015-09-01, HDFFV-9496)
+
+ Parallel Library
+ ----------------
+ - None
+
+ Tools
+ -----
+ - None
+
+ High-Level APIs
+ ---------------
+ - None
+
+ Fortran API
+ -----------
+ - None
+
+
+ C++ API
+ -------
+ - Class H5::ObjCreatPropList is added for the object creation property
+ list class.
+
+ Class H5::ObjCreatPropList is derived from H5::PropList and is a
+ baseclass of H5::DSetCreatPropList. Additional property list classes
+ will be derived from H5::ObjCreatPropList when they are added to the
+ library in future releases.
+
+ (BMR, 2015/10/13, Part of HDFFV-9169)
+
+ - New Wrappers for C Functions H5P[s/g]et_attr_phase_change and
+ H5P[s/g]et_attr_creation_order.
+
+ Wrappers were added to class H5::ObjCreatPropList for the C Functions
+ H5Pset_attr_phase_change: H5::ObjCreatPropList::setAttrPhaseChange
+ H5Pget_attr_phase_change: H5::ObjCreatPropList::getAttrPhaseChange
+ H5Pset_attr_creation_order: H5::ObjCreatPropList::setAttrCrtOrder
+ H5Pget_attr_creation_order: H5::ObjCreatPropList::getAttrCrtOrder
+
+ (BMR, 2015/10/13, Part of HDFFV-9167 and HDFFV-9169)
+
+
+Support for New Platforms, Languages, and Compilers
+===================================================
+ - Added VS2015 with Intel Fortran 16 to supported Windows 7 platforms
+
+
+Bug Fixes since HDF5-1.8.15
+===========================
+
+ Configuration
+ -------------
+
+ - CMake test for long long printf format improved
+
+ The CMake configuration test for determining the printf format string
+ for printing a long long integer was fixed. The test would crash
+ when executed with VS2015.
+
+ (ADB - 2015-10-21 HDFFV-9488)
+
+ Library
+ -------
+ - VS2015 removed global variable timezone
+
+ The usage of the global variable timezone was modified for VS2015 by
+ adding an alias to Windows builds.
+
+ (ADB - 2015-10-23 HDFFV-9550)
+
+ - Fix potential error in H5Iclear_type
+
+ If the ID type's close callback could close another ID of the same type,
+ H5Iclear_type could occasionally run into problems due to the inner
+ workings of the skip list package. This could potentially cause an
+ error on library shutdown without calling H5Iclear_type directly. This
+ issue has been fixed.
+
+ (NAF - 2015-08-12)
+
+ - Fix uninitialized memory in dataspace selection code
+
+ When creating a dataspace with H5Screate and setting the extent with
+ H5Sextent_copy, the selection offset was not initialized, potentially
+ causing invalid I/O. There may be other cases where this happened.
+ Modified the library to always initialize the offset.
+
+ (NAF - 2015-09-08)
+
+ - Truncate file in H5Fflush() if EOA != EOF to avoid file
+ corruption in certain scenarios
+
+ In the following scenario, the resulting HDF5 file would be
+ incorrectly corrupted because the truncate operation
+ was at some point wrongly moved out of the flush operation:
+ - Create a new file with a single dataset.
+ - Write parts of the dataset (make sure that some values at
+ the end of the dataset are not initialized).
+ - Flush the file.
+ - Crash the program.
+ - Try to open the file with h5dump or h5debug, but the
+ resulting file is corrupted.
+
+ (MSC - 2015-06-15 HDFFV-9418)
+
+
+ Parallel Library
+ ----------------
+ -
+ (XYZ - YYYY/MM/DD HDFFV-####)
+
+ Performance
+ -------------
+ - None
+
+ Tools
+ -----
+ - VS2015 changed the default format for printing of exponents
+
+ VS2015 default format for exponents changed with the elimination
+ of the leading '0'. CMake now tests for the VS2015 compiler and
+ adjusts which reference files are used by tests.
+
+ (ADB - 2015-10-23 HDFFV-9550)
+
+ - Fixed h5repack with user-defined filters
+
+ h5repack would throw a buffer overrun exception on Windows when
+ parsing a user-defined filter ID of 5 digits. A local variable in
+ the parse routine was not of sufficient size.
+
+ (ADB - 2015/09/01 HDFFV-9515)
+
+ Fortran API
+ ------------
+ - None
+
+
+ C++ API
+ ------
+ - Removed memory leaks
+
+ The static global constant objects were changed to constant references
+ referencing dynamically allocated objects. This ensures that the clean-up
+ process in the C++ library occurs before the termination of the C library
+ and prevents memory leaks because the previous global constants were not
+ properly deleted before the C library termination.
+
+ (BMR, 2015/10/13, HDFFV-9529)
+
+ - Fixed the problem about identifiers being closed prematurely.
+
+ The C++ library needs to increment the ID's reference counter when it is
+ duplicated in the form of C++ objects, but not when the ID is obtained
+ from a C function. With this approach, both problems, prematurely
+ closing ID's and memory leaks due to ID's not being closed, should be
+ eliminated.
+
+ (BMR, 2015/10/15, HDFFV-7947)
+
+
+ High-Level APIs:
+ ------
+ - None
+
+
+ Fortran High-Level APIs:
+ ------------------------
+ - None
+
+
+ Testing
+ -------
+ - None
+
+
+Supported Platforms
+===================
+The following platforms are supported and have been tested for this release.
+They are built with the configure process unless specified otherwise.
+
+ AIX 6.1 xlc/xlc_r 10.1.0.5
+ (NASA G-ADA) xlC/xlC_r 10.1.0.5
+ xlf90/xlf90_r 12.1.0.6
+
+ Linux 2.6.32-573.3.1.el6 GNU C (gcc), Fortran (gfortran), C++ (g++)
+ #1 SMP x86_64 GNU/Linux compilers:
+ (platypus) Version 4.4.7 20120313
+ Version 4.8.4, Version 5.2.0
+ PGI C, Fortran, C++ for 64-bit target on
+ x86-64;
+ Version 15.7-0
+ Intel(R) C (icc), C++ (icpc), Fortran (icc)
+ compilers:
+ Version 15.0.3.187 Build 20150407
+ MPICH 3.1.4 compiled with GCC 4.9.3
+
+ Linux 2.6.32-504.8.1.el6.ppc64 gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-11)
+ #1 SMP ppc64 GNU/Linux g++ (GCC) 4.4.7 20120313 (Red Hat 4.4.7-11)
+ (ostrich) GNU Fortran (GCC) 4.4.7 20120313 (Red Hat 4.4.7-11)
+ IBM XL C/C++ V13.1
+ IBM XL Fortran V15.1
+
+ Linux 3.10.0-229.14.1.el7 GNU C (gcc), Fortran (gfortran), C++ (g++)
+ #1 SMP x86_64 GNU/Linux compilers:
+ (kituo/moohan) Version 4.8.3 20140911 (Red Hat 4.8.3-9)
+ Version 5.2.0
+ Intel(R) C (icc), C++ (icpc), Fortran (icc)
+ compilers:
+ Version 15.0.3.187 Build 20150407
+ MPICH 3.1.4 compiled with GCC 4.9.3
+
+ SunOS 5.11 32- and 64-bit Sun C 5.12 SunOS_sparc
+ (emu) Sun Fortran 95 8.6 SunOS_sparc
+ Sun C++ 5.12 SunOS_sparc
+
+ Windows 7 Visual Studio 2012 w/ Intel Fortran 15 (cmake)
+ Visual Studio 2013 w/ Intel Fortran 15 (cmake)
+ Visual Studio 2015 w/ Intel Fortran 16 (cmake)
+ Cygwin(CYGWIN_NT-6.1 2.2.1(0.289/5/3) gcc(4.9.3) compiler and gfortran)
+ (cmake and autotools)
+
+ Windows 7 x64 Visual Studio 2012 w/ Intel Fortran 15 (cmake)
+ Visual Studio 2013 w/ Intel Fortran 15 (cmake)
+ Visual Studio 2015 w/ Intel Fortran 16 (cmake)
+
+ Windows 8.1 Visual Studio 2012 w/ Intel Fortran 15 (cmake)
+ Visual Studio 2013 w/ Intel Fortran 15 (cmake)
+
+ Windows 8.1 x64 Visual Studio 2012 w/ Intel Fortran 15 (cmake)
+ Visual Studio 2013 w/ Intel Fortran 15 (cmake)
+
+ Mac OS X Mt. Lion 10.8.5 Apple clang/clang++ version 5.1 from Xcode 5.1
+ 64-bit gfortran GNU Fortran (GCC) 4.8.2
+ (swallow/kite) Intel icc/icpc/ifort version 15.0.3
+
+ Mac OS X Mavericks 10.9.5 Apple clang/clang++ version 6.0 from Xcode 6.2.0
+ 64-bit gfortran GNU Fortran (GCC) 4.9.2
+ (wren/quail) Intel icc/icpc/ifort version 15.0.3
+
+ Mac OS X Yosemite 10.10.5 Apple clang/clang++ version 6.0 from Xcode 7.0.0
+ 64-bit gfortran GNU Fortran (GCC) 4.9.2
+ (osx1010dev/osx1010test) Intel icc/icpc/ifort version 15.0.3
+
+Tested Configuration Features Summary
+=====================================
+
+ In the tables below
+ y = tested
+ n = not tested in this release
+ C = Cluster
+ W = Workstation
+ x = not working in this release
+ dna = does not apply
+ ( ) = footnote appears below second table
+ <blank> = testing incomplete on this feature or platform
+
+Platform C F90/ F90 C++ zlib SZIP
+ parallel F2003 parallel
+SunOS 5.11 32-bit n y/y n y y y
+SunOS 5.11 64-bit n y/y n y y y
+Windows 7 y y/y n y y y
+Windows 7 x64 y y/y n y y y
+Windows 7 Cygwin n y/y n y y n
+Windows 8.1 n y/y n y y y
+Windows 8.1 x64 n y/y n y y y
+Mac OS X Mountain Lion 10.8.5 64-bit n y/y n y y y
+Mac OS X Mavericks 10.9.5 64-bit n y/y n y y y
+Mac OS X Yosemeti 10.10.5 64-bit n y/y n y y y
+AIX 6.1 32- and 64-bit n y/n n y y y
+CentOS 6.7 Linux 2.6.32 x86_64 GNU y y/y y y y y
+CentOS 6.7 Linux 2.6.32 x86_64 Intel n y/y n y y y
+CentOS 6.7 Linux 2.6.32 x86_64 PGI n y/y n y y y
+CentOS 7.1 Linux 3.10.0 x86_64 GNU y y/y y y y y
+CentOS 7.1 Linux 3.10.0 x86_64 Intel n y/y n y y y
+Linux 2.6.32-431.11.2.el6.ppc64 n y/n n y y y
+
+Platform Shared Shared Shared Thread-
+ C libs F90 libs C++ libs safe
+SunOS 5.11 32-bit y y y y
+SunOS 5.11 64-bit y y y y
+Windows 7 y y y y
+Windows 7 x64 y y y y
+Windows 7 Cygwin n n n y
+Windows 8.1 y y y y
+Windows 8.1 x64 y y y y
+Mac OS X Mountain Lion 10.8.5 64-bit y n y y
+Mac OS X Mavericks 10.9.5 64-bit y n y y
+Mac OS X Yosemeti 10.10.5 64-bit y n y y
+AIX 6.1 32- and 64-bit y n n y
+CentOS 6.7 Linux 2.6.32 x86_64 GNU y y y y
+CentOS 6.7 Linux 2.6.32 x86_64 Intel y y y y
+CentOS 6.7 Linux 2.6.32 x86_64 PGI y y y y
+CentOS 7.1 Linux 3.10.0 x86_64 GNU y y y y
+CentOS 7.1 Linux 3.10.0 x86_64 Intel y y y y
+Linux 2.6.32-431.11.2.el6.ppc64 y y y y
+
+Compiler versions for each platform are listed in the preceding
+"Supported Platforms" table.
+
+
+More Tested Platforms
+=====================
+The following platforms are not supported but have been tested for this release.
+
+ Linux 2.6.18-431.11.2.el6 g95 (GCC 4.0.3 (g95 0.94!)
+ #1 SMP x86_64 GNU/Linux
+ (platypus)
+
+ Mac OS X El Capitan 10.11 Apple clang/clang++ version 7.0.0 from Xcode 7.0.1
+ 64-bit gfortran GNU Fortran (GCC) 5.2.0
+ (VM)
+
+ Windows 7 Visual Studio 2008 (cmake)
+
+ Windows 7 x64 Visual Studio 2008 (cmake)
+
+ Windows 10 Visual Studio 2013 w/ Intel Fortran 15 (cmake)
+
+ Windows 10 x64 Visual Studio 2013 w/ Intel Fortran 15 (cmake)
+
+ Debian7.5.0 3.2.0-4-amd64 #1 SMP Debian 3.2.51-1 x86_64 GNU/Linux
+ gcc (Debian 4.7.2-5) 4.7.2
+ GNU Fortran (Debian 4.7.2-5) 4.7.2
+ (cmake and autotools)
+
+ Fedora20 3.15.3-200.fc20.x86_64 #1 SMP x86_64 x86_64 x86_64 GNU/Linux
+ gcc (GCC) 4.8.3 20140624 (Red Hat 4.8.3-1)
+ GNU Fortran (GCC) 4.8.3 20140624 (Red Hat 4.8.3-1)
+ (cmake and autotools)
+
+ SUSE 13.1 3.11.10-17-desktop #1 SMP PREEMPT x86_64 x86_64 x86_64 GNU/Linux
+ gcc (SUSE Linux) 4.8.1
+ GNU Fortran (SUSE Linux) 4.8.1
+ (cmake and autotools)
+
+ Ubuntu 14.04 3.13.0-35-generic #62-Ubuntu SMP x86_64 GNU/Linux
+ gcc (Ubuntu/Linaro 4.9.1-0ubuntu1) 4.9.1
+ GNU Fortran (Ubuntu/Linaro 4.9.1-0ubuntu1) 4.9.1
+ (cmake and autotools)
+
+ hopper.nersc.gov PrgEnv-gnu/5.2.40
+ gcc (GCC) 4.9.2 20141030 (Cray Inc.)
+ GNU Fortran (GCC) 4.9.2 20141030 (Cray Inc.)
+ g++ (GCC) 4.9.2 20141030 (Cray Inc.)
+
+
+Known Problems
+==============
+* On Windows platforms in debug configurations, the VFD flush1 tests will fail
+ with the split and multi VFD drivers. These tests will display a modal debug
+ dialog which must be answered or wait for the test timeout to expire.
+ (ADB - 2014/06/23 - HDFFV-8851)
+
+* CLANG compiler with the options -fcatch-undefined-behavior and -ftrapv
+ catches some undefined behavior in the alignment algorithm of the macro DETECT_I
+ in H5detect.c (Issue 8147). Since the algorithm is trying to detect the alignment
+ of integers, ideally the flag -fcatch-undefined-behavior shouldn't to be used for
+ H5detect.c. In the future, we can separate flags for H5detect.c from the rest of
+ the library. (SLU - 2013/10/16)
+
+* Make provided by Solaris fails in "make check". Solaris users should use
+ gmake to build and install the HDF5 software. (AKC - 2013/10/08 - HDFFV-8534)
+
+* The C++ and FORTRAN bindings are not currently working on FreeBSD with the
+ native release 8.2 compilers (4.2.1), but are working with gcc 4.6 from the
+ ports (and probably gcc releases after that).
+ (QAK - 2012/10/19)
+
+* The following h5dump test case fails in BG/P machines (and potentially other
+ machines that use a command script to launch executables):
+
+ h5dump --no-compact-subset -d "AHFINDERDIRECT::ah_centroid_t[0] it=0 tl=0"
+ tno-subset.h5
+
+ This is due to the embedded spaces in the dataset name being interpreted
+ by the command script launcher as meta-characters, thus passing three
+ arguments to h5dump's -d flag. The command passes if run by hand, just
+ not via the test script.
+ (AKC - 2012/05/03)
+
+* The STDIO VFD does not work on some architectures, possibly due to 32/64
+ bit or large file issues. The basic STDIO VFD test is known to fail on
+ 64-bit SunOS 5.10 on SPARC when built with -m64 and 32-bit OS X/Darwin
+ 10.7.0. The STDIO VFD test has been disabled while we investigate and
+ a fix should appear in a future release.
+ (DER - 2011/10/14 - HDFFV-8235)
+
+* h5diff can report inconsistent results when comparing datasets of enum type
+ that contain invalid values. This is due to how enum types are handled in
+ the library and will be addressed in a future release.
+ (DER - 2011/10/14 - HDFFV-7527)
+
+* The links test can fail under the stdio VFD due to some issues with external
+ links. This will be investigated and fixed in a future release.
+ (DER - 2011/10/14 - HDFFV-7768)
+
+* After the shared library support was fixed for some bugs, it was discovered
+ that "make prefix=XXX install" no longer works for shared libraries. It
+ still works correctly for static libraries. Therefore, if you want to
+ install the HDF5 shared libraries in a location such as /usr/local/hdf5,
+ you need to specify the location via the --prefix option during configure
+ time. E.g, ./configure --prefix=/usr/local/hdf5 ...
+ (AKC - 2011/05/07 - HDFFV-7583)
+
+* The parallel test, t_shapesame, in testpar/, may run for a long time and may
+ be terminated by the alarm signal. If that happens, one can increase the
+ alarm seconds (default is 1200 seconds = 20 minutes) by setting the
+ environment variable, $HDF5_ALARM_SECONDS, to a larger value such as 3600
+ (60 minutes). Note that the t_shapesame test may fail in some systems
+ (see the "While working on the 1.8.6 release..." problem below). If
+ it does, it will waste more time if $HDF5_ALARM_SECONDS is set
+ to a larger value.
+ (AKC - 2011/05/07)
+
+* Shared Fortran libraries are not quite working on AIX. While they are
+ generated when --enable-shared is specified, the Fortran and HL/Fortran
+ tests fail. HL and C++ shared libraries should now be working as intended,
+ however.
+ (MAM - 2011/04/20)
+
+* While working on the 1.8.6 release of HDF5, a bug was discovered that can
+ occur when reading from a dataset in parallel shortly after it has been
+ written to collectively. The issue was exposed by a new test in the parallel
+ HDF5 test suite, but had existed before that. We believe the problem lies with
+ certain MPI implementations and/or file systems.
+
+ We have provided a pure MPI test program, as well as a standalone HDF5
+ program, that can be used to determine if this is an issue on your system.
+ They should be run across multiple nodes with a varying number of processes.
+ These programs can be found at:
+ http://www.hdfgroup.org/ftp/HDF5/examples/known_problems/
+ (NAF - 2011/01/19)
+
+* All of the VFL drivers aren't backward compatible. In H5FDpublic.h, the
+ structure H5FD_class_t changed in 1.8. There is new parameter added to
+ get_eoa and set_eoa callback functions. A new callback function
+ get_type_map was added in. The public function H5FDrealloc was taken
+ out in 1.8. The problem only happens when users define their own driver
+ for 1.6 and try to plug in 1.8 library. Because there's only one user
+ complaining about it, we (Elena, Quincey, and I) decided to leave it as
+ it is (see bug report #1279). Quincey will make a plan for 1.10.
+ (SLU - 2010/02/02)
+
+* The --enable-static-exec configure flag will only statically link libraries
+ if the static version of that library is present. If only the shared version
+ of a library exists (i.e., most system libraries on Solaris, AIX, and Mac,
+ for example, only have shared versions), the flag should still result in a
+ successful compilation, but note that the installed executables will not be
+ fully static. Thus, the only guarantee on these systems is that the
+ executable is statically linked with just the HDF5 library.
+ (MAM - 2009/11/04)
+
+* A dataset created or rewritten with a v1.6.3 library or after cannot be read
+ with the v1.6.2 library or before when the Fletcher32 EDC filter is enabled.
+ There was a bug in the calculation of the Fletcher32 checksum in the
+ library before v1.6.3; the checksum value was not consistent between big-
+ endian and little-endian systems. This bug was fixed in Release 1.6.3.
+ However, after fixing the bug, the checksum value was no longer the same as
+ before on little-endian systems. Library releases after 1.6.4 can still read
+ datasets created or rewritten with an HDF5 library of v1.6.2 or before.
+ (SLU - 2005/06/30)
+
+
+%%%%1.8.15%%%%
+
+
+HDF5 version 1.8.15 released on 2015-05-04
+================================================================================
+
+INTRODUCTION
+============
+
+This document describes the differences between HDF5-1.8.14 and
+HDF5-1.8.15, and contains information on the platforms tested and
+known problems in HDF5-1.8.15.
+
+Links to the HDF5 source code, documentation, and additional materials
+can be found on the HDF5 web page at:
+
+ http://www.hdfgroup.org/products/hdf5/
+
+The HDF5 release can be obtained from:
+
+ http://www.hdfgroup.org/HDF5/release/obtain5.html
+
+User documentation for HDF5 can be accessed directly at this location:
+
+ http://www.hdfgroup.org/HDF5/doc/
+
+All new and modified APIs are listed in detail in the "HDF5 Software Changes
+from Release to Release" document at this location:
+
+ http://www.hdfgroup.org/HDF5/doc/ADGuide/Changes.html
+
+If you have any questions or comments, please send them to the HDF Help Desk:
+
+ help@hdfgroup.org
+
+
+CONTENTS
+========
+
+- New Features
+- Support for New Platforms, Languages, and Compilers
+- Bug Fixes since HDF5-1.8.14
+- Supported Platforms
+- Supported Configuration Features Summary
+- More Tested Platforms
+- Known Problems
+
+
+New Features
+============
+
+ Configuration
+ -------------
+ - CMake
+
+ Improvements made to the CMake build system.
+
+ The default options were changed to align with the Autotools configure
+ defaults. CMake configure files now support components when packaged
+ with CPack. Windows CPack supports WiX packaging, and will look for
+ WiX and NSIS in the standard locations.
+
+ The CMake minimum has been changed to 3.1.
+
+ (ADB - 2015/04/01 HDFFV-8074, 8968, 9006)
+
+ - cmakehdf5 for Cmake building.
+ Added configure options to support the building of Fortran or CXX API,
+ to enable/disable testings. Use "cmakehdf5 --help" for details.
+ (AKC - 2014/12/09 HDFFV-8932)
+
+ - Building Shared and Parallel Made Explicit
+
+ When --enable-parallel is specified, configure used to disable
+ shared by default.
+
+ Removed the restriction for building shared when parallel is
+ enabled. --disable-shared has to be used explicitly if user
+ wishes to disable shared libraries.
+
+ (MSC - 2015/02/19 HDFFV-9069)
+
+ - Inferring Parallel Compilers
+
+ configure was trying to infer if a compiler is a parallel
+ compiler with MPI support and enable parallel even if the user
+ did not explicitly enable parallel. This should not happen.
+
+ Disabled inferring parallel compilers to enable parallel HDF5
+ build. --enable-parallel has to be used explicitly to build
+ parallel HDF5 regardless of the compiler type being used.
+
+ (MSC - 2015/02/19 HDFFV-9068)
+
+ - Large File Support Configuration Option
+
+ Removed the option to enable or disable large file support. It will
+ always be enabled.
+
+ (MSC - 2015/02/19 HDFFV-9097)
+
+ - Removed Configuration Feature
+
+ When configure detected that the CodeWarrior compiler was being used it
+ would define a symbol that caused a test in test/tfile.c to be skipped
+ due to a broken CodeWarrior open() command.
+
+ Since this only masks the problem instead of fixing it and we don't
+ support CodeWarrior anyway, this functionality was removed.
+
+ (DER - 2015/02/21, HDFFV-9080)
+
+ - VMS Build/Test Files Have Been Removed
+
+ HDF5 no longer supports VMS, and the files were getting out of date.
+ Since we have no access to a VMS machine, there is no way for us to
+ maintain them.
+
+ A Subversion tag was created at:
+
+ https://svn.hdfgroup.uiuc.edu/tags/vms_last_support_1_8
+
+ immediately before removing the files.
+
+ (DER - 2015-02-26, HDFFV-9147)
+
+ - Removal of --with-default-vfd configure Option
+
+ In theory, this option was intended to allow setting a default
+ VFD that would be used by the library. In practice, the feature
+ only accepted the POSIX (SEC2) VFD (already the default) and
+ the stdio VFD (a demo VFD not intended for production use). The
+ inability to pass key VFD parameters at configure time limits the
+ full implementation of this feature, so it was retired.
+
+ (DER - 2015-02-26, HDFFV-9081)
+
+ - Direct VFD configure Behavior
+
+ The configure options for Linux now allow the Direct VFD to build
+ without passing additional compiler options/defines like _GNU_SOURCE.
+ Passing --enable-direct-vfd is now all that is needed to enable
+ the feature.
+
+ The Direct VFD is now disabled by default since it is intended for
+ specialized audiences. It was previously enabled by default, but the
+ configure script did not set correct POSIX levels, etc. making this
+ a moot point.
+
+ Note that the Direct VFD can only be configured on Linux when
+ the O_DIRECT flag to open()/create() and posix_memalign() function
+ are available. This is unchanged from previous behavior.
+
+ (DER - 2015-02-26, HDFFV-9057, 7567, 9088, 7566)
+
+ - _POSIX_C_SOURCE, _GNU_SOURCE, and _BSD_SOURCE No Longer Exported
+ to h5cc and Other Compiler Wrappers
+
+ The _POSIX_C_SOURCE, _GNU_SOURCE, and _BSD_SOURCE definitions are
+ not required for using API functions and may conflict with user
+ code requirements.
+
+ (DER - 2015-03-08, HDFFV-9152)
+
+ - Removed the --enable-filters Option from configure
+
+ This option allowed the user to disable selected internal filters,
+ presumably to make the library smaller. It has been removed since
+ it saved little space (the internal filters are small with respect
+ to the overall library size) and was not generally extendible to
+ the library at large due to the large number of #ifdefs that would
+ be required.
+
+ Note that this features applied to internal filters such as shuffle
+ and n-bit and not external filters like gzip or Szip. Those are still
+ enabled or disabled via their own configure options.
+
+ (DER - 2015-03-08, HDFFV-9086)
+
+ - Removed Obsolete Time Functionality from configure and the C Library
+
+ The library contained some residual functionality from obsolete
+ time zone handling code. This has been removed, and the configure
+ checks for the time functions have been cleaned up.
+
+ * Lumped all the time functionality together in configure.ac.
+ This was previously more spread out due to Solaris issues
+ with the ordering of certain checks.
+
+ * Removed processing that handles __tm_gmtoff members of struct
+ tm. (libc-4)
+
+ * Removed BSDgettimeofday(). (IRIX 5.3)
+
+ * Removed timezone struct handling in gettimeofday() (considered
+ harmful).
+
+ Note that the HDF5 Library stores timestamps in a platform-independent
+ manner, so old files can still be read. This only affects converting
+ system time to HDF5 timestamps.
+
+ The library currently uses the tm_gmtoff member of the tm struct
+ (preferred, if available) or the timezone global variable to
+ construct HDF5 timestamps.
+
+ (DER - 2015-03-09, HDFFV-9083 and 9085)
+
+ - Added -D_DEFAULT_SOURCE to CPPFLAGS on Linux Systems
+
+ This is the replacement for -D_BSD_SOURCE in versions of glibc since 2.19.
+ Since both are defined, it should work for all versions of glibc. Defining
+ both suppresses the warning about defining _BSD_SOURCE.
+
+ (NAF - 2015-04-02, HDFFV-9079)
+
+ Library
+ -------
+ - Added Memory Allocation Functions that Use the Library's Allocator
+
+ HDF5 filters may need to allocate or resize the buffer that is passed
+ to them from the library. If the filter has been compiled separately
+ from the library, it and the library may use different memory
+ allocation libraries for the (re)allocation and free calls. This can
+ cause heap corruption and crashes. This is particularly a problem on
+ Windows since each C run-time library is implemented as a separate
+ shared library, but can also show up on POSIX systems when debug or
+ high-performance allocation libraries are in use.
+
+ Two new functions (H5allocate_memory() and H5resize_memory()) were
+ added to the HDF5 C library. These functions have the same semantics as
+ malloc/calloc and realloc, respectively. Their primary purpose is to
+ allow filter authors to allocate or resize memory using the same
+ memory allocation library as the HDF5 library. Filter authors are
+ highly encouraged to use these new functions in place of malloc,
+ calloc, and realloc. They should also use the H5free_memory() call when
+ freeing memory.
+
+ Note that the filters provided with the library (zlib, szip, etc.) do
+ not experience the problems that these new functions are intended to
+ fix. This work only applies to third-party filters that are compiled
+ separately from the library.
+
+ (DER - 2015-04-01, HDFFV-9100)
+
+ - H5Pset_istore_k and H5Pset_sym_k
+
+ These two functions didn't check the value of the input parameter "ik".
+ When 2*ik exceeded 2 bytes of storage, data was lost in the file;
+ for example, some chunks would be overwritten.
+
+ Added validation of "ik" to not exceed the max v1 btree entries (2 bytes)
+ to these two routines.
+
+ (VC - 2015-03-24, HDFFV-9173)
+
+ - Added Functions to Control the Value of H5PL_no_plugin_g without
+ Using an Environment Variable
+
+ Sometimes it is necessary for an application to disable the use of
+ dynamically loaded plugin libraries without requiring the library to
+ be built with plugin support disabled or to set an environment
+ variable to disable plugin support globally.
+
+ Two new functions (H5PLset_loading_state() and H5PLget_loading_state())
+ were added to the HDF5 C Library. These functions require a parameter
+ that indicates which type of dynamically loaded plugin is enabled or
+ disabled.
+
+ (ADB - 2015-03-17, HDFFV-8520)
+
+ Parallel Library
+ ----------------
+ - MPI_Finalize and HDF5 Library Shutdown
+
+ Calling HDF5 routines after MPI_Finalize has been closed should
+ not be done, since those routines might call MPI functions that
+ would not be possible to do after finalizing the MPI library.
+
+ Attached an attribute destroy callback to MPI_COMM_SELF that
+ shuts down the HDF5 library when MPI_COMM_SELF is destroyed,
+ in other words, on MPI_Finalize. This should fix several issues
+ that users see when they forget to close HDF5 objects before
+ calling MPI_Finalize().
+
+ (MSC - 2015/02/25, HDFFV-883)
+
+ Tools
+ -----
+ - None
+
+ High-Level APIs
+ ---------------
+ - None
+
+ Fortran API
+ -----------
+ - Added Global Variables
+
+ These new global variables are equivalent to the C definitions
+ without the '_F':
+
+ H5G_UDLINK_F
+ H5G_SAME_LOC_F
+ H5O_TYPE_UNKNOWN_F
+ H5O_TYPE_GROUP_F
+ H5O_TYPE_DATASET_F
+ H5O_NAMED_DATATYPE_F
+ H5O_TYPE_NTYPES_F
+
+ (MSB - 2015/02/03, HDFFV-9040)
+
+
+ C++ API
+ -------
+ - New Wrappers for C Functions H5P[s/g]et_libver_bounds
+
+ Wrappers were added to class H5::FileAccPropList for the
+ C Functions H5Pget_libver_bounds and H5Pset_libver_bounds.
+
+ (BMR, 2015/04/06, Part of HDFFV-9167)
+
+ - New Wrappers to Get the Object Header's Version
+
+ The following wrappers are added to class H5::CommonFG
+ Returns the object header version of an object in a file or group,
+ given the object's name.
+
+ unsigned childObjVersion(const char* objname) const;
+ unsigned childObjVersion(const H5std_string& objname) const;
+
+ (BMR, 2015/04/06)
+
+ - New DataType Constructor
+
+ Added a DataType constructor that takes a PredType object, and this
+ constructor will invoke H5Tcopy to generate another datatype id
+ from a predefined datatype.
+
+ (BMR, 2015/04/06)
+
+
+Support for New Platforms, Languages, and Compilers
+===================================================
+ - Support for Linux 3.10.0-123.20.1.el7 added (LK - 2015/04/01)
+ - Support for Mac OS X Yosemite 10.10 added (AKC - 2015/03/04, HDFFV-9007)
+ - Support for AIX 6.1 added and AIX 5.3 is retired. (AKC - 2015/01/09)
+
+Bug Fixes since HDF5-1.8.14
+===========================
+
+ Configuration
+ -------------
+ - Make uninstall generated "test: argument expected".
+ The error is due to $EXAMPLETOPDIR is used without setting a value first.
+
+ Fixed by assign it with the proper value.
+
+ (AKC - 2015/04/29, HDFFV-9298)
+
+ - Windows Installer Incorrect Display of PATH Environment Variable
+
+ In the Windows installer, the dialog box where the user can elect to
+ add the product's bin path to the %PATH% environment variable displayed
+ an incorrect path. This path was missing the C:\Program Files part
+ and used the POSIX file separator '/' before the bin (<path>/bin,
+ instead of <path>\bin).
+
+ The dialog box text was changed to simply say that the product's bin
+ path would be added instead of explicitly displaying the path.
+ This is in line with most installers. The reason for not fixing the
+ displayed path instead is that it is difficult to pass the correct
+ path from CPack to the NSIS installer for display.
+
+ Note that this was never a code issue - it was just a display
+ problem. The installer always did the right thing when updating the
+ environment variable.
+
+ (DER - 2014/11/14, HDFFV-9016)
+
+ Library
+ -------
+ - Incorrect Usage of List in CMake COMPILE_DEFINITIONS set_property
+
+ The CMake command set_property with COMPILE_DEFINITIONS property
+ needs a quoted semi-colon separated list of values. CMake will
+ transform the list to a series of -D{value} for the compile.
+
+ (ADB - 2014/12/09, HDFV-9041)
+
+ - Fixed Compile Errors on Windows w/ Visual Studio and CMake When
+ UNICODE is Defined
+
+ The HDF5 Library could not be built on Windows with Visual Studio when
+ UNICODE was defined. This was due to the incorrect use of the TEXT()
+ macro and some Win32 API functions that take TCHAR parameters. The faulty
+ code was a part of the filter plugin functionality. This was a
+ compile-time error that only affected users who build HDF5 from source
+ and define UNICODE, usually when HDF5 is being built as a part of a
+ larger product. There were no run-time effects.
+
+ These errors caused no problems when UNICODE was not defined. HDF5 is
+ normally not built with UNICODE defined and the binaries were
+ unaffected.
+
+ The fix was to remove the TEXT() macro and explicitly use the
+ 'A' form of the Win32 API calls, which expect char strings instead of
+ wchar_t strings.
+
+ Note that HDF5 currently does not support Unicode file paths on Windows.
+
+ (DER - 2015/02/22, HDFFV-8927)
+
+ - Addition of Error Tracing Functionality to Several C API Calls
+
+ A bug in a text processing script caused API calls that return a
+ pointer to not receive error tracing macros/functionality.
+
+ The bug has been corrected and error tracing functionality has been
+ added to the affected API calls. These functions will now correctly
+ print trace information when library errors are encountered.
+
+ (DER - 2015/02/26, HDFFV-9141)
+
+ - H5Rdereference Now Checks for HADDR_UNDEF or Uninitialized References
+
+ When passed HADDR_UNDEF or uninitialized references, the previous
+ behavior of H5Rdereference was to continue to process the reference
+ as a valid address.
+
+ H5Rdereference was changed to return immediately (with an error
+ message) if the references are HADDR_UNDEF or uninitialized.
+
+ (MSB - 2015/3/10, HDFFV-7959)
+
+ - Fixed Bugs in H5Sextent_copy
+
+ H5Sextent_copy would not free the previous extent, resulting in a memory
+ leak. Also, H5Sextent_copy would not update the number of elements
+ selected if the selection was "all", causing various problems. These
+ issues have been fixed.
+
+ (NAF - 2015/04/02)
+
+
+ Parallel Library
+ ----------------
+ - Fixed a Potential Memory Error
+
+ Fixed a potential memory error when performing parallel I/O on a
+ dataset with a single chunk, and at least one process has nothing
+ to do.
+
+ (NAF - 2015/02/16)
+
+ - Parallel Test Problem Fixed
+
+ Fixed problem with parallel tests where they failed beyond a
+ certain number of ranks. All tests should work for any arbitrary
+ number of ranks.
+
+ (MSC - 2014/11/06, HDFFV-1027,8962,8963)
+
+ - MPE Support
+
+ Enabling MPE was causing HDF5 build to fail. Support for it was
+ dropped at some point in time.
+
+ Fixed problem with enabling MPE. Users should use the community
+ maintained MPE on github (http://git.mpich.org/mpe.git/).
+
+ (MSC - 2015/02/20, HDFFV-9135)
+
+ Performance
+ -------------
+ - None
+
+ Tools
+ -----
+ - h5repack crashed on enumerated 8-bit type.
+
+ Previous version 1.8.14 introduced an error that caused the reading
+ of enumerated 8-bit type nested in compound type to fail.
+
+ Fixed library code responsible for reading the particular type.
+ (AKC - 2015.03/31, HDFFV-8667)
+
+ - h52gif crashed non-8bit images.
+
+ h52gif crashed if instructed to convert images other than 8bit images.
+
+ h52gif could handle only 8bit images. Added code to detect non-8bit
+ images and flag them as failure. Update tool document page to reflect
+ the limit.
+ (AKC - 2015/03/31, HDFFV-8957)
+
+ - perform/benchpar.c retired.
+
+ benchpar.c has not been built for a long time and its original purpose
+ is not needed any more.
+ (AKC - 2014/12/19, HDFFV-8156)
+
+ - Source perform/ directory moved to tools/perform.
+ The perform directory is moved to tools/perform for easier maintenance.
+ (AKC - 2014/12/17, HDFFV-9046)
+
+ Fortran API
+ ------------
+ - Fortran Fails with --enable-fortran2003 and Intel 15.x Compilers
+
+ Added BIND(C) to the offending APIs.
+
+ The Fortran Library (--enable-fortran2003) now works using Intel 15.x
+ without the need for any additional compilers flags.
+
+ (MSB - 2015/1/26, HDFFV-9049)
+
+ - h5tenum_insert_f Does Not Work with Default 8 Byte Integers
+ (xlf compiler)
+
+ In the Fortran 90 API, 'value' is no longer cast into the C int type.
+ Therefore, if h5tenum_insert_f is passed an 8 byte integer (via -i8)
+ then 'value' is written as the same type as the default Fortran
+ integer type (which can be 8 bytes).
+
+ A new Fortran 2003 API was added which is more in line with the C
+ API and users are strongly encouraged to use the Fortran 2003 API
+ instead of the Fortran 90 API.
+
+ SUBROUTINE h5tenum_insert_f(type_id, name, value, hdferr)
+ INTEGER(HID_T) , INTENT(IN) :: type_id
+ CHARACTER(LEN=*), INTENT(IN) :: name
+ TYPE(C_PTR) , INTENT(IN) :: value
+ INTEGER, INTENT(OUT) :: hdferr
+
+ (MSB - 2015/2/19, HDFFV-8908)
+
+ - Some Fortran APIs Never Returned the Error State
+
+ Some Fortran APIs never returned the error state: they
+ would always return a positive number. The APIs include
+ the following:
+
+ h5fget_file_image_f
+ h5lget_name_by_idx_f
+ h5oget_comment_by_name_f
+
+ They were corrected to return a negative number as described in
+ the Reference Manual if an error occurred.
+
+ (MSB - 2015/3/19, HDF5-239)
+
+ - Fixed h5pget_class_f
+
+ h5pget_class_f never correlated the class identifier to the property
+ list class name as indicated in the HDF5 Reference Manual; it instead
+ returned a property list class identifier as an INTEGER. The INTEGER
+ needed to be of type INTEGER(HID_T) to be correct.
+
+ The h5pget_class_f API was changed to return an INTEGER(HID_T)
+ property list class identifier instead of an INTEGER. This mimics the
+ intended behavior of the C API.
+
+ (MSB - 2015/3/16, HDFFV5-9162)
+
+ C++ API
+ ------
+ - Combined Two H5File::getObjCount Overloaded Methods
+
+ The following two methods
+
+ ssize_t getObjCount(unsigned types) const;
+ ssize_t getObjCount() const;
+
+ were combined into one:
+
+ ssize_t getObjCount(unsigned types = H5F_OBJ_ALL) const;
+
+ (BMR - 2015/04/06)
+
+ - Many Warnings Were Removed
+
+ Many warnings such as conversion, unused variables, missing base
+ class initialization, and initializing base classes in wrong order
+ were removed.
+
+ (BMR, 2015/04/06)
+
+ - Functionality Deprecation
+
+ The following two constructors of classes AbstractDs, IdComponent,
+ H5Location, and H5Object are no longer appropriate after the data member
+ "id" had been moved from IdComponent to the sub-classes in previous
+ releases.
+
+ <Classname>(const hid_t h5_id);
+ <Classname>(const <Classname>& original);
+
+ The copy constructors were no-op and removed in 1.8.15. The other
+ constructors will be removed from 1.10 release, and then from 1.8.17
+ if their removal does not cause any problems.
+
+ (BMR, 2015-04-06)
+
+
+ High-Level APIs:
+ ------
+ - Suppress Warnings from Flex/Bison-generated Code
+
+ Warning suppression #pragmas, etc. have been added to H5LTparse.c and
+ H5LTanalyze.c. We have no control over this code since it's created by
+ a generator.
+
+ (DER - 2015/03/08 - HDFFV-9149)
+
+ - Changed hdf5_hl.h to Include the HDF5 Main Library "hdf5.h"
+
+ User's no longer need to include both hdf5_hl.h and hdf5.h
+
+ (MSB - 2015/2/14, HDFFV-8685)
+
+
+ - H5PTcreate_fl Does Not Convert to Memory Datatype
+
+ H5PTcreate_fl now converts to the table's native memory datatype
+ to fix the problem of handling BE and LE packet tables.
+
+ (MSB - 2015/2/26 - HDFFV-9042)
+
+ - Fix for H5LT Attribute Functions
+
+ H5LT attribute functions fail to create attributes whose name
+ is a substring of an existing attribute.
+
+ H5LT attribute functions can now create attributes whose name
+ is a substring of an existing attribute.
+
+ (MSB - 2015/2/24, HDFFV-9132)
+
+
+ Fortran High-Level APIs:
+ ------------------------
+
+ - Internal Library Fix for Missing Argument Declaration
+
+ In Interface block for h5tbmake_table_c, "max_char_size_field_names"
+ is listed as an input, but in the argument definitions it is
+ "INTEGER :: max_char_size". This caused no known problems with the
+ Fortran HL API.
+
+ Fixed missing argument definition.
+
+ (MSB - 2015/2/18, HDFFV-8559)
+
+
+ Testing
+ -------
+ - None
+
+
+Supported Platforms
+===================
+The following platforms are supported and have been tested for this release.
+They are built with the configure process unless specified otherwise.
+
+ AIX 6.1 xlc/xlc_r 10.1.0.5
+ (NASA G-ADA) xlC/xlC_r 10.1.0.5
+ xlf90/xlf90_r 12.1.0.6
+
+ Linux 2.6.18-308.13.1.el5PAE GNU C (gcc), Fortran (gfortran), C++ (g++)
+ #1 SMP i686 i686 i386 compilers for 32-bit applications;
+ (jam) Version 4.1.2 20080704 (Red Hat 4.1.2-55)
+ Version 4.8.4, 4.9.2
+ PGI C, Fortran, C++ Compilers for 32-bit
+ applications;
+ Version 14.10-0
+ Intel(R) C, C++, Fortran Compiler for 32-bit
+ applications;
+ Version 15.0.1.133 (Build 20141023)
+
+ Linux 2.6.18-371.6.1.el5 GNU C (gcc), Fortran (gfortran), C++ (g++)
+ #1 SMP x86_64 GNU/Linux compilers for 64-bit applications;
+ (koala) Version 4.1.2 20080704 (Red Hat 4.1.2-55)
+ Version 4.8.4, 4.9.2
+ Intel(R) C, C++, Fortran Compilers for
+ applications running on Intel(R) 64;
+ Version 15.0.1.133 Build 20141023
+
+ Linux 2.6.32-431.11.2.el6 GNU C (gcc), Fortran (gfortran), C++ (g++)
+ #1 SMP x86_64 GNU/Linux compilers:
+ (platypus) Version 4.4.7 20120313
+ Version 4.8.2, Version 4.9.2
+ PGI C, Fortran, C++ for 64-bit target on
+ x86-64;
+ Version 14.10-0
+ Intel(R) C (icc), C++ (icpc), Fortran (icc)
+ compilers:
+ Version 15.0.1.133 Build 20141023
+
+ Linux 3.10.0-123.20.1.el7 GNU C (gcc), Fortran (gfortran), C++ (g++)
+ #1 SMP x86_64 GNU/Linux compilers:
+ (moohan) Version 4.8.2 20140120 (Red Hat 4.8.2-16)
+ Intel(R) C Intel(R) 64 Compiler XE for
+ applications running on Intel(R) 64,
+ Version 15.0.1.133 Build 20141023
+
+ Linux 2.6.32-431.29.2.el6.ppc64 gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-4)
+ #1 SMP ppc64 GNU/Linux g++ (GCC) 4.4.7 20120313 (Red Hat 4.4.7-4)
+ (ostrich) GNU Fortran (GCC) 4.4.7 20120313 (Red Hat 4.4.7-4)
+ IBM XL C/C++ V13.1
+ IBM XL Fortran V15.1
+
+ SunOS 5.11 32- and 64-bit Sun C 5.12 SunOS_sparc
+ (emu) Sun Fortran 95 8.6 SunOS_sparc
+ Sun C++ 5.12 SunOS_sparc
+
+ Windows 7 Visual Studio 2008 (cmake)
+ Visual Studio 2010 w/ Intel Fortran 14 (cmake)
+ Visual Studio 2012 w/ Intel Fortran 15 (cmake)
+ Visual Studio 2013 w/ Intel Fortran 15 (cmake)
+ Cygwin(CYGWIN_NT-6.1 1.7.34(0.285/5/3) gcc(4.9.2) compiler and gfortran)
+ (cmake and autotools)
+
+ Windows 7 x64 Visual Studio 2008 (cmake)
+ Visual Studio 2010 w/ Intel Fortran 14 (cmake)
+ Visual Studio 2012 w/ Intel Fortran 15 (cmake)
+ Visual Studio 2013 w/ Intel Fortran 15 (cmake)
+
+ Windows 8.1 Visual Studio 2012 w/ Intel Fortran 15 (cmake)
+ Visual Studio 2013 w/ Intel Fortran 15 (cmake)
+
+ Windows 8.1 x64 Visual Studio 2012 w/ Intel Fortran 15 (cmake)
+ Visual Studio 2013 w/ Intel Fortran 15 (cmake)
+
+ Mac OS X Mt. Lion 10.8.5 Apple clang/clang++ version 5.1 from Xcode 5.1
+ 64-bit gfortran GNU Fortran (GCC) 4.8.2
+ (swallow/kite) Intel icc/icpc/ifort version 14.0.2
+
+ Mac OS X Mavericks 10.9.5 Apple clang/clang++ version 6.0 from Xcode 6.1.1
+ 64-bit gfortran GNU Fortran (GCC) 4.8.2
+ (wren/quail) Intel icc/icpc/ifort version 14.0.2
+
+ Mac OS X Yosemite 10.10.2 Apple clang/clang++ version 6.0 from Xcode 6.1.1
+ 64-bit gfortran GNU Fortran (GCC) 4.9.2
+ (osx1010dev/osx1010test) Intel icc/icpc/ifort version 15.0.1
+
+
+Tested Configuration Features Summary
+=====================================
+
+ In the tables below
+ y = tested
+ n = not tested in this release
+ C = Cluster
+ W = Workstation
+ x = not working in this release
+ dna = does not apply
+ ( ) = footnote appears below second table
+ <blank> = testing incomplete on this feature or platform
+
+Platform C F90/ F90 C++ zlib SZIP
+ parallel F2003 parallel
+SunOS 5.11 32-bit n y/y n y y y
+SunOS 5.11 64-bit n y/y n y y y
+Windows 7 y y/y n y y y
+Windows 7 x64 y y/y n y y y
+Windows 7 Cygwin n y/y n y y n
+Windows 8.1 n y/y n y y y
+Windows 8.1 x64 n y/y n y y y
+Mac OS X Mountain Lion 10.8.5 64-bit n y/y n y y y
+Mac OS X Mavericks 10.9.5 64-bit n y/y n y y y
+Mac OS X Yosemeti 10.10.2 64-bit n y/y n y y y
+AIX 6.1 32- and 64-bit n y/n n y y y
+CentOS 5.9 Linux 2.6.18-308 i686 GNU y y/y y y y y
+CentOS 5.9 Linux 2.6.18-308 i686 Intel n y/y n y y y
+CentOS 5.9 Linux 2.6.18-308 i686 PGI n y/y n y y y
+CentOS 5.9 Linux 2.6.18 x86_64 GNU n y/y n y y y
+CentOS 5.9 Linux 2.6.18 x86_64 Intel n y/y n y y y
+CentOS 6.4 Linux 2.6.32 x86_64 GNU y y/y y y y y
+CentOS 6.4 Linux 2.6.32 x86_64 Intel n y/y n y y y
+CentOS 6.4 Linux 2.6.32 x86_64 PGI n y/y n y y y
+CentOS 7.0 Linux 3.10.0 x86_64 GNU y y/y y y y y
+CentOS 7.0 Linux 3.10.0 x86_64 Intel n y/y n y y y
+Linux 2.6.32-431.11.2.el6.ppc64 n y/n n y y y
+
+Platform Shared Shared Shared Thread-
+ C libs F90 libs C++ libs safe
+SunOS 5.11 32-bit y y y y
+SunOS 5.11 64-bit y y y y
+Windows 7 y y y y
+Windows 7 x64 y y y y
+Windows 7 Cygwin n n n y
+Windows 8.1 y y y y
+Windows 8.1 x64 y y y y
+Mac OS X Mountain Lion 10.8.5 64-bit y n y y
+Mac OS X Mavericks 10.9.5 64-bit y n y y
+Mac OS X Yosemeti 10.10.2 64-bit y n y y
+AIX 6.1 32- and 64-bit y n n y
+CentOS 5.9 Linux 2.6.18-308 i686 GNU y y y y
+CentOS 5.9 Linux 2.6.18-308 i686 Intel y y y n
+CentOS 5.9 Linux 2.6.18-308 i686 PGI y y y n
+CentOS 5.9 Linux 2.6.18 x86_64 GNU y y y y
+CentOS 5.9 Linux 2.6.18 x86_64 Intel y y y n
+CentOS 6.4 Linux 2.6.32 x86_64 GNU y y y n
+CentOS 6.4 Linux 2.6.32 x86_64 Intel y y y n
+CentOS 6.4 Linux 2.6.32 x86_64 PGI y y y n
+CentOS 7.0 Linux 3.10.0 x86_64 GNU y y y n
+CentOS 7.0 Linux 3.10.0 x86_64 Intel y y y n
+Linux 2.6.32-431.11.2.el6.ppc64 y y y n
+
+Compiler versions for each platform are listed in the preceding
+"Supported Platforms" table.
+
+
+More Tested Platforms
+=====================
+The following platforms are not supported but have been tested for this release.
+
+ Linux 2.6.18-308.13.1.el5PAE MPICH mpich 3.1.3 compiled with
+ #1 SMP i686 i686 i386 gcc 4.9.2 and gfortran 4.9.2
+ (jam) g95 (GCC 4.0.3 (g95 0.94!)
+
+ Linux 2.6.18-431.11.2.el6 MPICH mpich 3.1.3 compiled with
+ #1 SMP x86_64 GNU/Linux gcc 4.9.2 and gfortran 4.9.2
+ (platypus) g95 (GCC 4.0.3 (g95 0.94!)
+
+ FreeBSD 8.2-STABLE i386 gcc 4.5.4 [FreeBSD] 20110526
+ (loyalty) gcc 4.6.1 20110527
+ g++ 4.6.1 20110527
+ gfortran 4.6.1 20110527
+
+ FreeBSD 8.2-STABLE amd64 gcc 4.5.4 [FreeBSD] 20110526
+ (freedom) gcc 4.6.1 20110527
+ g++ 4.6.1 20110527
+ gfortran 4.6.1 20110527
+
+ Debian7.5.0 3.2.0-4-amd64 #1 SMP Debian 3.2.51-1 x86_64 GNU/Linux
+ gcc (Debian 4.7.2-5) 4.7.2
+ GNU Fortran (Debian 4.7.2-5) 4.7.2
+ (cmake and autotools)
+
+ Fedora20 3.15.3-200.fc20.x86_64 #1 SMP x86_64 x86_64 x86_64 GNU/Linux
+ gcc (GCC) 4.8.3 20140624 (Red Hat 4.8.3-1)
+ GNU Fortran (GCC) 4.8.3 20140624 (Red Hat 4.8.3-1)
+ (cmake and autotools)
+
+ SUSE 13.1 3.11.10-17-desktop #1 SMP PREEMPT x86_64 x86_64 x86_64 GNU/Linux
+ gcc (SUSE Linux) 4.8.1
+ GNU Fortran (SUSE Linux) 4.8.1
+ (cmake and autotools)
+
+ Ubuntu 14.04 3.13.0-35-generic #62-Ubuntu SMP x86_64 GNU/Linux
+ gcc (Ubuntu/Linaro 4.9.1-0ubuntu1) 4.9.1
+ GNU Fortran (Ubuntu/Linaro 4.9.1-0ubuntu1) 4.9.1
+ (cmake and autotools)
+
+ hopper.nersc.gov PrgEnv-gnu/5.2.40
+ gcc (GCC) 4.9.2 20141030 (Cray Inc.)
+ GNU Fortran (GCC) 4.9.2 20141030 (Cray Inc.)
+ g++ (GCC) 4.9.2 20141030 (Cray Inc.)
+
+
+Known Problems
+==============
+* On Windows platforms in debug configurations, the VFD flush1 tests will fail
+ with the split and multi VFD drivers. These tests will display a modal debug
+ dialog which must be answered or wait for the test timeout to expire.
+ (ADB - 2014/06/23 - HDFFV-8851)
+
+* CLANG compiler with the options -fcatch-undefined-behavior and -ftrapv
+ catches some undefined behavior in the alignment algorithm of the macro DETECT_I
+ in H5detect.c (Issue 8147). Since the algorithm is trying to detect the alignment
+ of integers, ideally the flag -fcatch-undefined-behavior shouldn't to be used for
+ H5detect.c. In the future, we can separate flags for H5detect.c from the rest of
+ the library. (SLU - 2013/10/16)
+
+* Make provided by Solaris fails in "make check". Solaris users should use
+ gmake to build and install the HDF5 software. (AKC - 2013/10/08 - HDFFV-8534)
+
+* The C++ and FORTRAN bindings are not currently working on FreeBSD with the
+ native release 8.2 compilers (4.2.1), but are working with gcc 4.6 from the
+ ports (and probably gcc releases after that).
+ (QAK - 2012/10/19)
+
+* The following h5dump test case fails in BG/P machines (and potentially other
+ machines that use a command script to launch executables):
+
+ h5dump --no-compact-subset -d "AHFINDERDIRECT::ah_centroid_t[0] it=0 tl=0"
+ tno-subset.h5
+
+ This is due to the embedded spaces in the dataset name being interpreted
+ by the command script launcher as meta-characters, thus passing three
+ arguments to h5dump's -d flag. The command passes if run by hand, just
+ not via the test script.
+ (AKC - 2012/05/03)
+
+* The STDIO VFD does not work on some architectures, possibly due to 32/64
+ bit or large file issues. The basic STDIO VFD test is known to fail on
+ 64-bit SunOS 5.10 on SPARC when built with -m64 and 32-bit OS X/Darwin
+ 10.7.0. The STDIO VFD test has been disabled while we investigate and
+ a fix should appear in a future release.
+ (DER - 2011/10/14 - HDFFV-8235)
+
+* h5diff can report inconsistent results when comparing datasets of enum type
+ that contain invalid values. This is due to how enum types are handled in
+ the library and will be addressed in a future release.
+ (DER - 2011/10/14 - HDFFV-7527)
+
+* The links test can fail under the stdio VFD due to some issues with external
+ links. This will be investigated and fixed in a future release.
+ (DER - 2011/10/14 - HDFFV-7768)
+
+* After the shared library support was fixed for some bugs, it was discovered
+ that "make prefix=XXX install" no longer works for shared libraries. It
+ still works correctly for static libraries. Therefore, if you want to
+ install the HDF5 shared libraries in a location such as /usr/local/hdf5,
+ you need to specify the location via the --prefix option during configure
+ time. E.g, ./configure --prefix=/usr/local/hdf5 ...
+ (AKC - 2011/05/07 - HDFFV-7583)
+
+* The parallel test, t_shapesame, in testpar/, may run for a long time and may
+ be terminated by the alarm signal. If that happens, one can increase the
+ alarm seconds (default is 1200 seconds = 20 minutes) by setting the
+ environment variable, $HDF5_ALARM_SECONDS, to a larger value such as 3600
+ (60 minutes). Note that the t_shapesame test may fail in some systems
+ (see the "While working on the 1.8.6 release..." problem below). If
+ it does, it will waste more time if $HDF5_ALARM_SECONDS is set
+ to a larger value.
+ (AKC - 2011/05/07)
+
+* Shared Fortran libraries are not quite working on AIX. While they are
+ generated when --enable-shared is specified, the fortran and hl/fortran
+ tests fail. the issue. HL and C++ shared libraries should now be
+ working as intended, however.
+ (MAM - 2011/04/20)
+
+* While working on the 1.8.6 release of HDF5, a bug was discovered that can
+ occur when reading from a dataset in parallel shortly after it has been
+ written to collectively. The issue was exposed by a new test in the parallel
+ HDF5 test suite, but had existed before that. We believe the problem lies with
+ certain MPI implementations and/or file systems.
+
+ We have provided a pure MPI test program, as well as a standalone HDF5
+ program, that can be used to determine if this is an issue on your system.
+ They should be run across multiple nodes with a varying number of processes.
+ These programs can be found at:
+ http://www.hdfgroup.org/ftp/HDF5/examples/known_problems/
+ (NAF - 2011/01/19)
+
+* All the VFL drivers aren't backward compatible. In H5FDpublic.h, the
+ structure H5FD_class_t changed in 1.8. There is new parameter added to
+ get_eoa and set_eoa callback functions. A new callback function
+ get_type_map was added in. The public function H5FDrealloc was taken
+ out in 1.8. The problem only happens when users define their own driver
+ for 1.6 and try to plug in 1.8 library. Because there's only one user
+ complaining about it, we (Elena, Quincey, and I) decided to leave it as
+ it is (see bug report #1279). Quincey will make a plan for 1.10.
+ (SLU - 2010/02/02)
+
+* The --enable-static-exec configure flag will only statically link libraries
+ if the static version of that library is present. If only the shared version
+ of a library exists (i.e., most system libraries on Solaris, AIX, and Mac,
+ for example, only have shared versions), the flag should still result in a
+ successful compilation, but note that the installed executables will not be
+ fully static. Thus, the only guarantee on these systems is that the
+ executable is statically linked with just the HDF5 library.
+ (MAM - 2009/11/04)
+
+* A dataset created or rewritten with a v1.6.3 library or after cannot be read
+ with the v1.6.2 library or before when the Fletcher32 EDC filter is enabled.
+ There was a bug in the calculation of the Fletcher32 checksum in the
+ library before v1.6.3; the checksum value was not consistent between big-
+ endian and little-endian systems. This bug was fixed in Release 1.6.3.
+ However, after fixing the bug, the checksum value was no longer the same as
+ before on little-endian system. Library releases after 1.6.4 can still read
+ datasets created or rewritten with an HDF5 library of v1.6.2 or before.
+ (SLU - 2005/06/30)
+
+
+%%%%1.8.14%%%%
+
+
+HDF5 version 1.8.14 released on 2014-11-12
+================================================================================
+
+INTRODUCTION
+============
+
+This document describes the differences between HDF5-1.8.13 and
+HDF5-1.8.14, and contains information on the platforms tested and
+known problems in HDF5-1.8.14.
+
+All new and modified APIs are listed in the "HDF5 Software Changes
+from Release to Release" document along with details about previous
+releases at:
+
+ http://www.hdfgroup.org/HDF5/doc/ADGuide/Changes.html
+
+Links to the HDF5 1.8.14 source code, documentation, and additional materials
+can be found on the HDF5 web page at:
+
+ http://www.hdfgroup.org/products/hdf5/
+
+The HDF5 1.8.14 release can be obtained from:
+
+ http://www.hdfgroup.org/HDF5/release/obtain5.html
+
+User documentation for 1.8.14 can be accessed directly at this location:
+
+ http://www.hdfgroup.org/HDF5/doc/
+
+If you have any questions or comments, please send them to the HDF Help Desk:
+
+ help@hdfgroup.org
+
+
+CONTENTS
+========
+
+- New Features
+- Support for New Platforms, Languages, and Compilers
+- Bug Fixes since HDF5-1.8.13
+- Supported Platforms
+- Supported Configuration Features Summary
+- More Tested Platforms
+- Known Problems
+
+
+New Features
+============
+
+ Configuration
+ -------------
+ - bin/cmakehdf5 configures, builds and installs C, C++, Fortran and High
+ level API's. (It used to build the C API only).
+ (AKC 2014/10/17 HDFFV-8932).
+
+ Library
+ -------
+ - None
+
+ Parallel Library
+ ----------------
+ - Chunk Fill Writes Changed to Collective
+
+ Slow performance in chunk fill writes. Chunk fills
+ in the past were written independently by rank 0 one block
+ at a time.
+
+ Optimized the chunk fill write algorithm so that all
+ chunk fill values will be written collectively in a single MPI-IO
+ call. This should show a great performance improvement when
+ creating chunked datasets in parallel when the chunk dimensions
+ are fairly small.
+
+ (MSC - 2014/08/22, HDFFV-8878)
+
+ Tools
+ -----
+ - None
+
+ High-level APIs
+ ---------------
+ - None
+
+ Fortran API
+ -----------
+ - None
+
+ C++ API
+ -------
+ - Initialization of Object IDs
+
+ The data member "id" in classes that represent HDF5 objects were
+ initialized to 0, which caused problem for some users.
+
+ Replaced 0 with H5I_INVALID_HID to initialize these "id"s. For the
+ PropList class, H5P_DEFAULT is used instead of H5I_INVALID_HID.
+
+ (BMR - 2014/09/30, HDFFV-4259)
+
+
+
+Support for New Platforms, Languages, and Compilers
+===================================================
+ - None
+
+Bug Fixes since HDF5-1.8.13
+===========================
+
+ Configuration
+ -------------
+ - CMake and SVN URLs
+
+ The SVN URLs will be different when the HDF Group domain name changes.
+
+ Removed the SVN URL references in the cacheinit.cmake and release_docs files.
+
+ (ADB - 2014/10/27, HDFFV-8953)
+
+ - CMake Packaging
+
+ A Fortran module was not generated if the compiler was not F2003
+ compliant.
+
+ Removed the module name from the package list of Fortran modules because
+ that module was never generated. This was only an issue for Fortran
+ compliers that are not F2003 compatible.
+
+ (ADB - 2014/10/16, HDFFV-8932)
+
+ - Shared Library Interface Version Number (soname)
+
+ In order to increase the maintainability of HDF5, an architectural
+ change was made which required the renaming of several public symbols in
+ H5Ppublic.h.
+
+ The shared libary interface version number ("soname") has been increased
+ on account of these changes. For a full list of the changed symbols, see
+ the interface compatibility report, which is available as a link off of
+ the 'HDF5 Software Changes from Release to Release' document:
+
+ http://www.hdfgroup.org/HDF5/doc/ADGuide/Changes.html
+
+ (AKC - 2014/10/03, HDFFV-8937)
+
+ - Configure Settings for Mac OSX Need Defaults for PROD_XXX, DEBUG_XXX,
+ and PROFILE_XXX
+
+ The configure setting files for Mac OSX (config/apple) did not
+ have the default settings of PROD_XXX, DEBUG_XXX, PROFILE_XXX.
+
+ Added the default settings. Mac platforms now builds library with
+ "-O3" optimization when the default clang compiler is used.
+
+ (AKC - 2014/10/01, HDFFV-8933)
+
+ - CMake ConfigureChecks
+
+ Two include files were missing from two C tests.
+
+ Propagated the configure test changes to H5_LDOUBLE_TO_INTEGER_WORKS_TEST
+ and H5_ULLONG_TO_LDOUBLE_PRECISION_TEST to ConfigureChecks.cmake (added
+ stdlib.h and string.h in the HDFTests.c file).
+
+ (ADB - 2014/09/02 HDFFV-8845)
+
+ - CMake Parallel Test Missing
+
+ The source file was removed in the previous release but the parallel
+ test t_posix_compliant was not.
+
+ Removed the t_posix_compliant parallel test from the library.
+
+ (ADB - 2014/8/14 HDFFV-8880)
+
+ - Autotools Reconfigure. Bison. Flex.
+
+ The Bison and Flex files were out of date.
+
+ Bison was upgraded to 2.7, and Flex was upgraded to 2.5.37. The
+ bin/reconfigure script now will execute Bison and Flex and update
+ the hl/src files.
+
+ (ADB - 2014/06/16 HDFFV-8709)
+
+ - Autotools Reconfigure. m4.
+
+ The m4 macro processor was out of date.
+
+ Reconfigured Autotools with m4 upgraded to 1.4.17.
+
+ (ADB - 2014/06/12 HDFFV-8743)
+
+ - Autotools: Modified configure to add an entry at the beginning of AM_LDFLAGS
+ for the hdf5 install directory. Without this entry the relink commands
+ invoked by "make install" to create libraries dependent on libhdf5.so added
+ a dependency on the first libhdf5.so found in any directory in AM_LDFLAGS
+ regardless of its version. (LRK - 2014/10/17 HDFFV-8944)
+
+ - Changed Autotools Build Behavior. Fortran High-level Library.
+
+ The Fortran high-level (HL) library did not compile if the default
+ size of a REAL is DOUBLE PRECISION; the build would fail during
+ compilation.
+
+ Configure now checks to see if REAL is DOUBLE PRECISION, Fortran is
+ enabled, and HL library is enabled. If this is true, then configure
+ will stop with an error message.
+
+ (MSB - 2014/8/11, HDFFV-8883/HDFFV-889)
+
+
+
+ Library
+ -------
+ - Fixed Identifier Management Code
+
+ Opening an object returns an identifier; closing the object should
+ free up the identifier. A problem was found where the identifiers
+ were not being freed up correctly.
+
+ Fixed the problem so that identifiers that have been used can be
+ used again after their object has been closed.
+
+ (QAK - 2014/10/16, HDFFV-8930)
+
+ - Removal of DllMain() from Static Windows Builds
+
+ A DllMain() function was added in HDF5 1.8.13 in order to handle
+ win32 thread cleanup. The preprocessor #ifdefs around the DllMain
+ function allowed it to be compiled when the static library is built,
+ which is incorrect behavior that can cause linkage problems in
+ clients.
+
+ The fix was to change the preprocessor #ifdefs to exclude compiling
+ DllMain() in static builds. Our DllMain function is now only
+ compiled when the shared, thread-safe library is built on Windows.
+
+ (DER - 2014/06/13, HDFFV-8837)
+
+ - Enforce Constraint on page_size Parameter in H5Pset_core_write_tracking()
+
+ The reference manual states that the page_size parameter cannot be
+ zero.
+
+ This change checks the page_size parameter to see it is zero and
+ returns an error code if it is.
+
+ (DER - 2014/08/11, HDFFV-8891)
+
+ - H5Ldelete_by_idx() fails on non-existent group name.
+ (MSC - 2014/07/31, HDFFV-8888)
+
+ - H5Ldelete_by_idx() Seg Fault on Non-existent Group Name
+
+ If a non-existent group name was used by H5Ldelete_by_idx(), a
+ segmentation fault would result.
+
+ Bug was fixed.
+
+ (MSC - 2014/07/31, HDFFV-8888)
+
+ - Bug in Test When Building Parallel HDF5 on PVFS2
+
+ There was a bug in a test when building Parallel HDF5 on PVFS2.
+
+ The build now uses MPI_File_get_size() instead of stat().
+
+ (MSC - 2014/07/14, HDFFV-8856)
+
+ - MPI-IO Driver Tried to Allocate Space for Zero-length Dataset
+
+ MPI-IO driver tried to allocate space for zero-length dataset
+ and asserts.
+
+ Fixed driver and added a regression test.
+
+ (MSC - 2014/07/03, HDFFV-8761)
+
+
+ Parallel Library
+ ----------------
+ - None
+
+ Performance
+ -------------
+ - None
+
+ Tools
+ -----
+ - None
+
+ Fortran API
+ -------
+ - SIZEOF Replaced by C_SIZEOF and STORAGE_SIZE.
+
+ The intrinsic function SIZEOF is non-standard and should be replaced with a
+ standard intrinsic function.
+
+ If the F2008 intrinsic C_SIZEOF and STORAGE_SIZE are available, then they will
+ be used instead of the non-standard SIZEOF intrinsic, even when the SIZEOF
+ function is available.
+
+ (MSB - 2014/6/16, HDFFV-8653)
+
+ - Non-functional API: h5pget_fill_value_f
+
+ The Fortran wrapper h5pget_fill_value_f was calling the wrong C API.
+
+ The correct C API, H5Pget_fill_value, is now called by the Fortran
+ wrapper.
+
+ (MSB - 2014/9/25, HDFFV-8879)
+
+ - Interoperability with C HDF5: H5Literate and h5literate_f
+
+ h5literate_f assumes the return value for the callback function to
+ be of type int (or int_f in C). However, in the C wrapper the return
+ value of H5Literate is type herr_t, and this could cause
+ interoperability issues.
+
+ The callback function should be declared INTEGER(C_INT) for
+ portability. The tests were updated accordingly.
+
+ (MSB - 2014/9/26, HDFFV-8909)
+
+ - Interoperability with C HDF5: Constant INTEGER Parameters with the
+ H5FD Interface
+
+ Wrong type cast of constant Fortran INTEGER parameters was used.
+
+ The following parameter constant types were changed from INTEGER to
+ INTEGER(HID_T) to match the C types: H5FD_CORE, H5FD_FAMILY, H5FD_LOG,
+ H5FD_MPIO, H5FD_MULTI, H5FD_SEC2, and H5FD_STDIO.
+
+ Other internal 'int' types where changed to 'hid_t'; these are
+ transparent to the user.
+
+ (MSB - 2014/7/18, HDFFV-8748)
+
+ C++ API
+ ------
+ - Memory Leaks
+
+ There were several potential memory leaks in the library due to
+ dynamically allocated strings not being freed when failure occurs.
+
+ Applied user's patches to remove these potential memory leaks.
+
+ (BMR - 2014/09/30, HDFFV-8928)
+
+ - Disallow H5F_ACC_CREAT
+
+ H5F_ACC_CREAT was included in the C++ API but the C library does not
+ allow it at this time.
+
+ Removed this flag from the functions in H5File class.
+
+ (BMR - 2014/09/29, HDFFV-8852)
+
+ - Missing Flags in Documentation: H5F_ACC_RDONLY and H5F_ACC_RDWR
+
+ The H5F_ACC_RDONLY and H5F_ACC_RDWR flags were missing from the
+ documentation of the H5File constructors.
+
+ These two flags are now included in the documentation for opening
+ files.
+
+ (BMR - 2014/09/29, HDFFV-8852)
+
+ High-level APIs:
+ ------
+ - Seg Faults in H5TBread_field_name and H5TBread_field_name_f
+
+ When H5TBread_field_name or H5TBread_field_name_f were used to read a
+ field and if the name of the field was wrong, a segmentation fault
+ would result.
+
+ Both C and Fortran APIs were fixed so they no longer seg fault if
+ the name of the field is wrong, and both APIs return a negative
+ value if the name of the field is wrong.
+
+ (MSB - 2014/09/29, HDFFV-8912)
+
+ - Possible Buffer Overflow in High-level (HL) APIs
+
+ Multiple HL APIs (H5DSis_scale is one example) had issues:
+ (1) The datatype from the file was re-used as the memory datatype,
+ and
+ (2) No effort was made to ensure that strings were actually
+ null-terminated.
+
+ All of the HL routines now check for NULL pointers, for null-terminated
+ strings, and to see if string buffers are short enough not to overflow
+ the buffer. The minimum length of the buffers is now used in strncmp
+ to avoid overflow.
+
+ (MSB - 2014/9/29, HDFFV-8670)
+
+ - Behavior Change of H5LTdtype_to_text
+
+ If a user buffer was passed in to H5LTdtype_to_text along with the
+ length, then the function would not truncate at the end of the
+ buffer, but would exceed the end of the user buffer.
+
+ H5LTdtype_to_text was changed to truncate the string if the user
+ buffer is too small.
+
+ (MSB - 2014/9/29, HDFFV-8855)
+
+ Fortran High-level APIs:
+ ------
+ - See entry for HDFFV-8912 above.
+
+ Testing
+ -------
+ - A subtest in parallel h5diff (ph5diff) testing was bypassed for the
+ local Linux 32 machine due to unknown issue in the previous version of
+ Mpich. The failure no long exists in the current Mpich. Therefore the
+ bypass is removed. (AKC - 2014/11/03 HDFFV-8954)
+
+ - Fixed incorrect exit code values (was -1) in testframe which is commonly
+ used by several test programs. (AKC - 2014/07/22 HDFFV-8881)
+
+ - Fixed Incorrect Exit Code Values in Testframe
+ The testframe which is commonly used by several test programs
+ had some incorrect exit code values. Fixed the incorrect exit code
+ values. (AKC - 2014/07/22, HDFFV-8881)
+
+Supported Platforms
+===================
+The following platforms are supported and have been tested for this release.
+They are built with the configure process unless specified otherwise.
+
+ AIX 5.3 xlc 10.1.0.5
+ (NASA G-ADA) xlC 10.1.0.5
+ xlf90 12.1.0.6
+
+ Linux 2.6.18-308.13.1.el5PAE GNU C (gcc), Fortran (gfortran), C++ (g++)
+ #1 SMP i686 i686 i386 compilers for 32-bit applications;
+ (jam) Version 4.1.2 20080704 (Red Hat 4.1.2-54)
+ Version 4.8.2
+ PGI C, Fortran, C++ Compilers for 32-bit
+ applications;
+ Version 13.7-0
+ Intel(R) C, C++, Fortran Compiler for 32-bit
+ applications;
+ Version 14.0.2 (Build 20140120)
+
+ Linux 2.6.18-371.6.1.el5 GNU C (gcc), Fortran (gfortran), C++ (g++)
+ #1 SMP x86_64 GNU/Linux compilers for 64-bit applications;
+ (koala) Version 4.1.2 20080704 (Red Hat 4.1.2-54)
+ Version 4.8.2
+ Intel(R) C, C++, Fortran Compilers for
+ applications running on Intel(R) 64;
+ Version 14.0.2 (Build 20140120)
+
+ Linux 2.6.32-431.11.2.el6 GNU C (gcc), Fortran (gfortran), C++ (g++)
+ #1 SMP x86_64 GNU/Linux compilers:
+ (platypus) Version 4.4.7 20120313
+ Version 4.8.2
+ PGI C, Fortran, C++ for 64-bit target on
+ x86-64;
+ Version 13.7-0
+ Intel(R) C (icc), C++ (icpc), Fortran (icc)
+ compilers:
+ Version 14.0.2 (Build 20140120)
+
+ Linux 2.6.32-431.29.2.el6.ppc64 gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-4)
+ #1 SMP ppc64 GNU/Linux g++ (GCC) 4.4.7 20120313 (Red Hat 4.4.7-4)
+ (ostrich) GNU Fortran (GCC) 4.4.7 20120313 (Red Hat 4.4.7-4)
+ IBM XL C/C++ V13.1
+ IBM XL Fortran V15.1
+
+ SunOS 5.11 32- and 64-bit Sun C 5.12 SunOS_sparc
+ (emu) Sun Fortran 95 8.6 SunOS_sparc
+ Sun C++ 5.12 SunOS_sparc
+
+ Windows 7 Visual Studio 2008 (cmake)
+ Visual Studio 2010 w/ Intel Fortran 14 (cmake)
+ Visual Studio 2012 w/ Intel Fortran 14 (cmake)
+ Visual Studio 2013 w/ Intel Fortran 14 (cmake)
+ Cygwin(CYGWIN_NT-6.1 1.7.32(0.274/5/3) gcc(4.8.3) compiler and gfortran)
+ (cmake and autotools)
+
+ Windows 7 x64 Visual Studio 2008 (cmake)
+ Visual Studio 2010 w/ Intel Fortran 14 (cmake)
+ Visual Studio 2012 w/ Intel Fortran 14 (cmake)
+ Visual Studio 2013 w/ Intel Fortran 14 (cmake)
+
+ Windows 8.1 Visual Studio 2012 w/ Intel Fortran 14 (cmake)
+ Visual Studio 2013 w/ Intel Fortran 14 (cmake)
+
+ Windows 8.1 x64 Visual Studio 2012 w/ Intel Fortran 14 (cmake)
+ Visual Studio 2013 w/ Intel Fortran 14 (cmake)
+
+ Mac OS X Lion 10.7.5 Apple clang/clang++ version 3.0 from Xcode 4.6.1
+ 64-bit gfortran GNU Fortran (GCC) 4.8.2
+ (duck) Intel icc/icpc/ifort version 13.0.3
+
+ Mac OS X Mt. Lion 10.8.5 Apple clang/clang++ version 5.1 from Xcode 5.1
+ 64-bit gfortran GNU Fortran (GCC) 4.8.2
+ (swallow/kite) Intel icc/icpc/ifort version 14.0.2
+
+ Mac OS X Mavericks 10.9.5 Apple clang/clang++ version 6.0 from Xcode 6.0.1
+ 64-bit gfortran GNU Fortran (GCC) 4.8.2
+ (wren) Intel icc/icpc/ifort version 14.0.2
+
+
+Tested Configuration Features Summary
+=====================================
+
+ In the tables below
+ y = tested
+ n = not tested in this release
+ C = Cluster
+ W = Workstation
+ x = not working in this release
+ dna = does not apply
+ ( ) = footnote appears below second table
+ <blank> = testing incomplete on this feature or platform
+
+Platform C F90/ F90 C++ zlib SZIP
+ parallel F2003 parallel
+Solaris2.11 32-bit n y/y n y y y
+Solaris2.11 64-bit n y/y n y y y
+Windows 7 y y/y n y y y
+Windows 7 x64 y y/y n y y y
+Windows 7 Cygwin n y/y n y y n
+Windows 8.1 n y/y n y y y
+Windows 8.1 x64 n y/y n y y y
+Mac OS X Lion 10.7.5 64-bit n y/y n y y y
+Mac OS X Mountain Lion 10.8.5 64-bit n y/y n y y y
+Mac OS X Mavericks 10.9.5 64-bit n y/y n y y ?
+AIX 5.3 32- and 64-bit n y/n n y y y
+CentOS 5.9 Linux 2.6.18-308 i686 GNU y y/y y y y y
+CentOS 5.9 Linux 2.6.18-308 i686 Intel n y/y n y y y
+CentOS 5.9 Linux 2.6.18-308 i686 PGI n y/y n y y y
+CentOS 5.9 Linux 2.6.18 x86_64 GNU n y/y n y y y
+CentOS 5.9 Linux 2.6.18 x86_64 Intel n y/y n y y y
+CentOS 6.4 Linux 2.6.32 x86_64 GNU y y/y y y y y
+CentOS 6.4 Linux 2.6.32 x86_64 Intel n y/y n y y y
+CentOS 6.4 Linux 2.6.32 x86_64 PGI n y/y n y y y
+Linux 2.6.32-431.11.2.el6.ppc64 n y/n n y y y
+
+Platform Shared Shared Shared Thread-
+ C libs F90 libs C++ libs safe
+Solaris2.11 32-bit y y y y
+Solaris2.11 64-bit y y y y
+Windows 7 y y y y
+Windows 7 x64 y y y y
+Windows 7 Cygwin n n n y
+Windows 8.1 y y y y
+Windows 8.1 x64 y y y y
+Mac OS X Lion 10.7.5 64-bit y n y y
+Mac OS X Mountain Lion 10.8.5 64-bit y n y y
+Mac OS X Mavericks 10.9.5 64-bit y n y y
+AIX 5.3 32- and 64-bit y n n y
+CentOS 5.9 Linux 2.6.18-308 i686 GNU y y y y
+CentOS 5.9 Linux 2.6.18-308 i686 Intel y y y n
+CentOS 5.9 Linux 2.6.18-308 i686 PGI y y y n
+CentOS 5.9 Linux 2.6.18 x86_64 GNU y y y y
+CentOS 5.9 Linux 2.6.18 x86_64 Intel y y y n
+CentOS 6.4 Linux 2.6.32 x86_64 GNU y y y n
+CentOS 6.4 Linux 2.6.32 x86_64 Intel y y y n
+CentOS 6.4 Linux 2.6.32 x86_64 PGI y y y n
+Linux 2.6.32-431.11.2.el6.ppc64 y y y n
+
+Compiler versions for each platform are listed in the preceding
+"Supported Platforms" table.
+
+
+More Tested Platforms
+=====================
+The following platforms are not supported but have been tested for this release.
+
+ Linux 2.6.18-308.13.1.el5PAE MPICH mpich 3.1.2 compiled with
+ #1 SMP i686 i686 i386 gcc 4.9.1 and gfortran 4.9.1
+ (jam) g95 (GCC 4.0.3 (g95 0.94!)
+
+ Linux 2.6.18-431.11.2.el6 MPICH mpich 3.1.2 compiled with
+ #1 SMP x86_64 GNU/Linux gcc 4.9.1 and gfortran 4.9.1
+ (platypus) g95 (GCC 4.0.3 (g95 0.94!)
+
+ FreeBSD 8.2-STABLE i386 gcc 4.5.4 [FreeBSD] 20110526
+ (loyalty) gcc 4.6.1 20110527
+ g++ 4.6.1 20110527
+ gfortran 4.6.1 20110527
+
+ FreeBSD 8.2-STABLE amd64 gcc 4.5.4 [FreeBSD] 20110526
+ (freedom) gcc 4.6.1 20110527
+ g++ 4.6.1 20110527
+ gfortran 4.6.1 20110527
+
+ Debian7.5.0 3.2.0-4-amd64 #1 SMP Debian 3.2.51-1 x86_64 GNU/Linux
+ gcc (Debian 4.7.2-5) 4.7.2
+ GNU Fortran (Debian 4.7.2-5) 4.7.2
+ (cmake and autotools)
+
+ Fedora20 3.15.3-200.fc20.x86_64 #1 SMP x86_64 x86_64 x86_64 GNU/Linux
+ gcc (GCC) 4.8.3 20140624 (Red Hat 4.8.3-1)
+ GNU Fortran (GCC) 4.8.3 20140624 (Red Hat 4.8.3-1)
+ (cmake and autotools)
+
+ SUSE 13.1 3.11.10-17-desktop #1 SMP PREEMPT x86_64 x86_64 x86_64 GNU/Linux
+ gcc (SUSE Linux) 4.8.1
+ GNU Fortran (SUSE Linux) 4.8.1
+ (cmake and autotools)
+
+ Ubuntu 14.04 3.13.0-35-generic #62-Ubuntu SMP x86_64 GNU/Linux
+ gcc (Ubuntu/Linaro 4.9.1-0ubuntu1) 4.9.1
+ GNU Fortran (Ubuntu/Linaro 4.9.1-0ubuntu1) 4.9.1
+ (cmake and autotools)
+
+ Cray Linux Environment (CLE) PrgEnv-pgi/4.2.34
+ hopper.nersc.gov pgcc 13.6-0 64-bit target on x86-64 Linux -tp istanbul
+ pgf90 13.6-0 64-bit target on x86-64 Linux -tp istanbul
+ pgCC 13.6-0 64-bit target on x86-64 Linux -tp istanbul
+
+
+Known Problems
+==============
+* On cygwin platforms the feature to load dynamic filter libraries only looks
+ for libraries with the a so extension. Support for cygwin cygxxx.dll libraries
+ is planned for the next release.
+ (ADB - 2014/11/04 - HDFFV-8736)
+
+* On windows platforms in debug configurations, the VFD flush1 tests will fail
+ with the split and multi VFD drivers. These tests will display a modal debug
+ dialog which must be answered or wait for the test timeout to expire.
+ The flush1 and flush2 tests will be skipped under debug for this release.
+ (ADB - 2014/06/23 - HDFFV-8851)
+
+* CLANG compiler with the options -fcatch-undefined-behavior and -ftrapv
+ catches some undefined behavior in the alignment algorithm of the macro DETECT_I
+ in H5detect.c (Issue 8147). Since the algorithm is trying to detect the alignment
+ of integers, ideally the flag -fcatch-undefined-behavior shouldn't to be used for
+ H5detect.c. In the future, we can separate flags for H5detect.c from the rest of
+ the library. (SLU - 2013/10/16)
+
+* Make provided by Solaris fails in "make check". Solaris users should use
+ gmake to build and install the HDF5 software. (AKC - 2013/10/08 - HDFFV-8534)
+
+* The h5dump and h5diff utilities occasionally produce different output
+ between Linux and Windows systems. This is caused by lower-level library
+ routines that fail to write fill values to the user's buffer when reading
+ unallocated chunks from datasets that have a fill value set to
+ H5D_FILL_VALUE_DEFAULT. Due to platform differences the return of
+ spurious data values has only been encountered on Windows 32-bit systems.
+ (Issue HDFFV-8247; JP - 2013/03/27)
+
+* The C++ and FORTRAN bindings are not currently working on FreeBSD with the
+ native release 8.2 compilers (4.2.1), but are working with gcc 4.6 from the
+ ports (and probably gcc releases after that).
+ (QAK - 2012/10/19)
+
+* The STDIO VFD does not work on some architectures, possibly due to 32/64
+ bit or large file issues. The basic STDIO VFD test is known to fail on
+ 64-bit SunOS 5.10 on SPARC when built with -m64 and 32-bit OS X/Darwin
+ 10.7.0. The STDIO VFD test has been disabled while we investigate and
+ a fix should appear in a future release.
+ (DER - 2011/10/14 - HDFFV-8235)
+
+* h5diff can report inconsistent results when comparing datasets of enum type
+ that contain invalid values. This is due to how enum types are handled in
+ the library and will be addressed in a future release.
+ (DER - 2011/10/14 - HDFFV-7527)
+
+* The links test can fail under the stdio VFD due to some issues with external
+ links. This will be investigated and fixed in a future release.
+ (DER - 2011/10/14 - HDFFV-7768)
+
+* After the shared library support was fixed for some bugs, it was discovered
+ that "make prefix=XXX install" no longer works for shared libraries. It
+ still works correctly for static libraries. Therefore, if you want to
+ install the HDF5 shared libraries in a location such as /usr/local/hdf5,
+ you need to specify the location via the --prefix option during configure
+ time. E.g, ./configure --prefix=/usr/local/hdf5 ...
+ (AKC - 2011/05/07 - HDFFV-7583)
+
+* The parallel test, t_shapesame, in testpar/, may run for a long time and may
+ be terminated by the alarm signal. If that happens, one can increase the
+ alarm seconds (default is 1200 seconds = 20 minutes) by setting the
+ environment variable, $HDF5_ALARM_SECONDS, to a larger value such as 3600
+ (60 minutes). Note that the t_shapesame test may fail in some systems
+ (see the "While working on the 1.8.6 release..." problem below). If
+ it does, it will waste more time if $HDF5_ALARM_SECONDS is set
+ to a larger value.
+ (AKC - 2011/05/07)
+
+* Shared Fortran libraries are not quite working on AIX. While they are
+ generated when --enable-shared is specified, the fortran and hl/fortran
+ tests fail. We are looking into the issue. HL and C++ shared libraries
+ should now be working as intended, however.
+ (MAM - 2011/04/20)
+
+* The --with-mpe configure option does not work with Mpich2.
+ (AKC - 2011/03/10)
+
+* While working on the 1.8.6 release of HDF5, a bug was discovered that can
+ occur when reading from a dataset in parallel shortly after it has been
+ written to collectively. The issue was exposed by a new test in the parallel
+ HDF5 test suite, but had existed before that. We believe the problem lies with
+ certain MPI implementations and/or file systems.
+
+ We have provided a pure MPI test program, as well as a standalone HDF5
+ program, that can be used to determine if this is an issue on your system.
+ They should be run across multiple nodes with a varying number of processes.
+ These programs can be found at:
+ http://www.hdfgroup.org/ftp/HDF5/examples/known_problems/
+ (NAF - 2011/01/19)
+
+* All the VFL drivers aren't backward compatible. In H5FDpublic.h, the
+ structure H5FD_class_t changed in 1.8. There is new parameter added to
+ get_eoa and set_eoa callback functions. A new callback function
+ get_type_map was added in. The public function H5FDrealloc was taken
+ out in 1.8. The problem only happens when users define their own driver
+ for 1.6 and try to plug in 1.8 library. Because there's only one user
+ complaining about it, we (Elena, Quincey, and I) decided to leave it as
+ it is (see bug report #1279). Quincey will make a plan for 1.10.
+ (SLU - 2010/02/02)
+
+* The --enable-static-exec configure flag will only statically link libraries
+ if the static version of that library is present. If only the shared version
+ of a library exists (i.e., most system libraries on Solaris, AIX, and Mac,
+ for example, only have shared versions), the flag should still result in a
+ successful compilation, but note that the installed executables will not be
+ fully static. Thus, the only guarantee on these systems is that the
+ executable is statically linked with just the HDF5 library.
+ (MAM - 2009/11/04)
+
+* Parallel tests failed with 16 processes with data inconsistency at testphdf5
+ / dataset_readAll. Parallel tests also failed with 32 and 64 processes with
+ collective abort of all ranks at t_posix_compliant / allwrite_allread_blocks
+ with MPI IO.
+ (CMC - 2009/04/28)
+
+* A dataset created or rewritten with a v1.6.3 library or after cannot be read
+ with the v1.6.2 library or before when the Fletcher32 EDC filter is enabled.
+ There was a bug in the calculation of the Fletcher32 checksum in the
+ library before v1.6.3; the checksum value was not consistent between big-
+ endian and little-endian systems. This bug was fixed in Release 1.6.3.
+ However, after fixing the bug, the checksum value was no longer the same as
+ before on little-endian system. Library releases after 1.6.4 can still read
+ datasets created or rewritten with an HDF5 library of v1.6.2 or before.
+ (SLU - 2005/06/30)
+
+
+%%%%1.8.13%%%%
+
+
+HDF5 version 1.8.13 released on 2014-05-05
+================================================================================
+
+INTRODUCTION
+============
+
+This document describes the differences between HDF5-1.8.12 and
+HDF5-1.8.13, and contains information on the platforms tested and
+known problems in HDF5-1.8.13.
+For more details, see the files HISTORY-1_0-1_8_0_rc3.txt
+and HISTORY-1_8.txt in the release_docs/ directory of the HDF5 source.
+
+Links to the HDF5 1.8.13 source code, documentation, and additional materials
+can be found on the HDF5 web page at:
+
+ http://www.hdfgroup.org/products/hdf5/
+
+The HDF5 1.8.13 release can be obtained from:
+
+ http://www.hdfgroup.org/HDF5/release/obtain5.html
+
+User documentation for 1.8.13 can be accessed directly at this location:
+
+ http://www.hdfgroup.org/HDF5/doc/
+
+New features in the HDF5-1.8.x release series, including brief general
+descriptions of some new and modified APIs, are described in the "What's New
+in 1.8.0?" document:
+
+ http://www.hdfgroup.org/HDF5/doc/ADGuide/WhatsNew180.html
+
+All new and modified APIs are listed in detail in the "HDF5 Software Changes
+from Release to Release" document, in the section "Release 1.8.13 (current
+release) versus Release 1.8.12":
+
+ http://www.hdfgroup.org/HDF5/doc/ADGuide/Changes.html
+
+If you have any questions or comments, please send them to the HDF Help Desk:
+
+ help@hdfgroup.org
+
+
+CONTENTS
+========
+
+- New Features
+- Support for New Platforms, Languages, and Compilers
+- Bug Fixes since HDF5-1.8.12
+- Supported Platforms
+- Supported Configuration Features Summary
+- More Tested Platforms
+- Known Problems
+
+
+New Features
+============
+
+ Configuration
+ -------------
+ - Autotools: Automake updated to 1.14.1 (ADB - 2014/04/08)
+
+ - CMake: Moved minimum CMake version to 2.8.11 which enables better library
+ include processing. (ADB - 2014/03/26)
+
+ - When configuring a thread-safe HDF5 Library it is no longer necessary
+ to specify --enable-threadsafe with --with-pthreads if the Pthreads
+ library is in a standard location. (DER - 2014/04/11 HDFFV-8693)
+
+ Library
+ -------
+ - Added an H5free_memory API call. This should be used to free memory
+ that has been allocated by HDF5 API calls. H5Tget_member_name and
+ H5Pget_class_name are two examples. The main motivation for this call
+ is Windows, where it is common for application code and the HDF5 Library
+ to be using different C run-time libraries (CRT). Using the new call
+ ensures that the same CRT handles both the allocation and free. This
+ new function can also be useful in any case where the library uses a
+ different memory manager than the application, such as when a debug
+ memory manager is in use or when the HDF5 Library is wrapped for use
+ in a managed language like Python or Java. Fixes HDFFV-7710, 8519,
+ and 8851. (DER - 2014/04/11)
+
+ - The Core VFD (aka Memory VFD) can now be configured to track dirty
+ regions in the file and only write out the changed regions on
+ flush/close. Additionally, a "page aggregation" size can be set that
+ will aggregate small writes into larger writes. For example, setting
+ a 1 MiB page aggregation size will logically partition the the
+ in-memory file into 1 MiB pages that will be written out in their
+ entirety if even a single byte is dirtied. The feature is controlled
+ via the new H5Pset/get_core_write_tracking() API call. A new
+ "core_paged" target has been added to the check-vfd target in
+ test/Makefile.am that exercises the feature over all HDF5 VFD-aware
+ tests. (DER - 2014/04/12)
+
+ Parallel Library
+ ----------------
+ - Removed MPI-POSIX VFD, as it wasn't helping anyone and was just
+ generating support questions. Application developers performing
+ parallel I/O should always use the MPI-IO VFD.
+ (QAK - 2014/03/28 HDFFV-8659)
+
+ - Improved parallel I/O support to allow collective I/O on point
+ selections. (QAK - 2014/03/15)
+
+ Tools
+ -----
+ - None
+
+ High-Level APIs
+ ---------------
+ - None
+
+ Fortran API
+ -----------
+ - Wrappers h5pset_file_image_f and h5pget_file_image_f were added to the
+ library. (MSB - 2014/1/2014)
+
+ C++ API
+ -------
+ - The following new features are added:
+ + Wrappers to class H5Object to get an object's name (HDFFV-8548).
+ ssize_t getObjName(char *obj_name, size_t buf_size = 0)
+ ssize_t getObjName(H5std_string& obj_name, size_t len = 0)
+ H5std_string getObjName()
+ + Wrappers to class H5CommonFG to get a child object's type from a
+ group or file (HDFFV-8367).
+ H5O_type_t childObjType(const H5std_string& objname)
+ H5O_type_t childObjType(const char* objname)
+ H5O_type_t childObjType(hsize_t index,
+ H5_index_t index_type=H5_INDEX_NAME,
+ H5_iter_order_t order=H5_ITER_INC, const char* objname=".")
+ + Wrappers to class DSetMemXferPropList for setting/getting a transform
+ property list (HDFFV-7907).
+ DSetMemXferPropList(const char* expression);
+ void setDataTransform(const char* expression)
+ void setDataTransform(const H5std_string& expression)
+ ssize_t getDataTransform(char* exp, size_t buf_size=0)
+ H5std_string getDataTransform()
+ + Wrapper to CompType for setting size to compound datatype (HDFFV-8642).
+ void setSize(size_t size)
+ + Overloaded functions to provide prototypes that declare constant
+ arguments const (HDFFV-3384). These include:
+ DataSet::fillMemBuf
+ DataSet::getVlenBufSize
+ DataSpace::extentCopy
+ DataType::commit
+ FileAccPropList::setSplit
+ H5File::getVFDHandle
+ + Additional overload to class H5Location to get a comment as a char*
+ ssize_t getComment(const char* name, size_t buf_size, char* comment)
+ + Additional overloads to class Attribute to get an attribute's name for
+ convenience:
+ ssize_t getName(char* attr_name, size_t buf_size=0)
+ ssize_t getName(H5std_string& attr_name, size_t buf_size=0)
+ (BMR, 2014/04/15)
+ + A static wrapper to Exception for printing the error stack without an
+ instance of Exception
+ static void printErrorStack(FILE* stream = stderr,
+ hid_t err_stack = H5E_DEFAULT);
+ (BMR, 2014/04/25)
+
+
+Support for New Platforms, Languages, and Compilers
+===================================================
+ Mac OS X 10.6 Snow Leopard is not supported by Apple any more. In view of
+ the added support of Mac OS X 10.9, Mac OS X 10.6 is retired from HDF5
+ supported platforms. (AKC - 2014/03/14 HDFFV-8704)
+
+ Mac OS X 10.9 Mavericks is supported. (AKC - 2014/03/04 HDFFV-8694)
+
+
+Bug Fixes since HDF5-1.8.12
+===========================
+
+ Configuration
+ -------------
+ - CMake: When CMake commands are executed individually on the command line
+ and the external filters are being built, the CMAKE_BUILD_TYPE define
+ must be set to the same value as the configuration
+ (-DCMAKE_BUILD_TYPE:STRING=Release if using -C Release). This is needed
+ by the the szip and zlib filter build commands. (ADB - HDFFV-8695)
+
+ - CMake: Removed use of the XLATE_UTILITY program.
+ (ADB - 2014/03/28 HDFFV-8640)
+
+ - CMake: Added missing quotes in setting the CMAKE_EXE_LINKER_FLAGS for the
+ MPI option. (ADB - 2014/02/27 HDFFV-8674)
+
+ - CMake: Configuration of the HDF5 C++ or Fortran libraries with the
+ thread-safety feature.
+
+ C++ and/or Fortran + thread-safe is enforced as a non-supported
+ configuration. This matches the autotools. (DER - 2014/04/11)
+
+ - CMake: Configuration of static HDF5 C library with the thread-safety
+ feature.
+
+ Static + thread-safe + Win32 threads is not a supported configuration
+ due to the inability to automatically clean up thread-local storage.
+ This is expected to be fixed in a future release. In the meantime, a
+ work-around that uses internal functionality may allow the combination
+ to be used without resource leaks. Contact the help desk for more
+ information. (DER - 2014/04/11)
+
+ - Autotools: Several changes were done to configure and installcheck.
+
+ An export of LD_LIBRARY_PATH=<szip library location> was
+ removed from configure; make installcheck was revised to run
+ scripts installed in share/hdf5_examples to use the installed h5cc, etc.
+ to compile and run example source files also installed there.
+
+ Make installcheck will now fail when a shared szip or other external lib
+ file cannot be found in the same manner that executables compiled and
+ linked with h5cc will fail to run when those lib files cannot be found
+ after install. Make installcheck should pass after setting
+ LD_LIBRARY_PATH to the szip location. (LRK - 2014/04/16)
+
+ Library
+ -------
+ - A Gnu Make directive (.NOTPARALLEL) is added to fortran/test/Makefile.
+
+ AIX native make does not support this directive and would fail if
+ parallel make (e.g. make -j4) is used to build the library. AIX users
+ either do not use parallel make or install Gnu Make to build the library.
+ (AKC 2014/04/08 HDFFV-8738)
+
+ - H5R.c: H5Rget_name gave an assertion failure if the "name" parameter
+ was NULL.
+
+ Fixed H5Rget_name to return the size of the buffer needed to read a
+ name of the referenced object in this case. The size doesn't include
+ the NULL terminator. H5Rget_name returns negative on failure.
+ (MSB - 2014/01/22 HDFFV-8620)
+
+ - H5Z.c: H5Zfilter_avail didn't check if a filter was available as a
+ dynamically loaded filter. The error manifested itself in the h5repack
+ tool when removing user-defined dynamically loaded filter.
+
+ Added a code to find the filter among the dynamically loaded filters
+ after the function fails to find it among the registered filters.
+ (ADB - 2014/03/03 HDFFV-8629)
+
+ - Memory leak: a memory leak was observed in conjunction to the
+ H5TS_errstk_key_g thread-local variable allocated in the H5E_get_stack
+ function in H5E.c.
+
+ The shared HDF5 thread-safe library now no longer leaks thread-local
+ storage resources on Windows with Win32 threads. Currently, there is
+ no solution for this problem when HDF5 is statically built. We
+ disabled the build of the static HDF5 thread-safe library with
+ Win32 threads. (DER - 2014/04/11 HDFFV-8518)
+
+ - H5Dio.c: Improved handling of NULL pointers to H5Dread/H5Dwrite
+ calls. Credit to Jason Newton (nevion@gmail.com) for the original patch.
+
+ H5Dwrite/read failed when a NULL pointer was passed for a data buffer
+ and 0 elements were selected. Fixed. (QAK - 2014/04/16 HDFFV-8705)
+
+ - Deprecated API (1_6 API): Improved handling of closing the library and
+ re-accessing it with a deprecated routine.
+
+ When a program used a deprecated API (for example, H5Gcreate1),
+ closed the library, and reopened it again to access a group, dataset,
+ datatype, dataspace, attribute, or property list, HDF5 failed to
+ provide an identifier for the object. Fixed.
+ (NAF, QAK - 2014/04/16 HDFFV-8232)
+
+ Parallel Library
+ ----------------
+ - Fixed a missing H5F_Provisional module in HDF5mpio.f90
+ (MSB - 2014/2/7 HDFFV-8651)
+
+ Performance
+ -------------
+ - None
+
+ Tools
+ -----
+ - The h5diff tool would report that a datafile compared with an exact
+ copy of the same datafile had differences. This was due to the issue
+ below of reading un-written chunks. This problem is also fixed.
+ (AKC - 2014/05/01 HDFFV-8637)
+
+ - The h5dump and h5diff utilities occasionally produced different output
+ between Linux and Windows systems. This has been fixed.
+
+ This happened to datasets that used chunked storage, with default fill
+ values, and some of the chunks had not been written.
+ When the dataset was read, the library failed to write the default fill
+ values to parts of the use buffer that were associated with the unwritten
+ chunks. (JP - 2014/05/01 HDFFV-8247)
+
+ - The compress option is retired from bin/release.
+ (AKC - 2014/04/25 HDFFV-8755)
+
+ - bin/release has a new option "zip" that produces a release zip file for
+ the Windows platform. (AKC - 2014/04/24 HDFFV-8433)
+
+ - h5diff: Several failures relating to handling of strings attributes
+ are fixed.
+
+ The tool crashed or gave an error message when one of the strings had
+ fixed size type and another variable-length size type. h5diff now flags such
+ strings as "not comparable". We plan to enhance the tool to handle
+ strings of the different types in the future releases.
+ (AKC - 2014/04/18 HDFFV-8625, 8639, 8745)
+
+ - h5repack: h5repack would not remove user-defined filters.
+ Fixed by modifying h5repack to check if the filter is registered or
+ can be dynamically loaded. (ADB - 2014/03/03 HDFFV-8629)
+
+ F90 API
+ -------
+ - H5D_CHUNK_CACHE_NSLOTS_DFLT_F and H5D_CHUNK_CACHE_NBYTES_DFLT_F were
+ changed from the default KIND for INTEGER to INTEGER of KIND size_t.
+ (MSB - 2014/3/31 HDFFV-8689)
+
+ C++ API
+ ------
+ - Added throw() to all exception destructors. Credit to Jason Newton
+ (nevion@gmail.com) for the patch. (BMR - 2014/4/15 HDFFV-8623)
+ - Changed the default value for H5Location::getComment from 256 to 0
+ to conform to C function and because it makes more sense.
+ (BMR - 2014/4/15)
+
+ High-Level APIs:
+ ------
+ - None
+
+ Fortran High-Level APIs:
+ ------
+ - None
+
+ Testing
+ -------
+ - testhdf5 now exits with EXIT_SUCCESS(0) if no errors, else
+ EXIT_FAILURE(1). (AKC - 2014/01/27 HDFFV-8572)
+
+ - The big test now pays attention to the HDF5_DRIVER environment variable.
+ Previously, it would run all tests with the family, stdio, and sec2
+ virtual file drivers (VFDs) for each VFD in the check-vfd make target,
+ regardless of the variable setting. It now checks the variable and
+ either runs the appropriate VFD-specific tests or skips as needed.
+ This saves much testing time. Fixes HDFFV-8554. (DER - 2014/04/11)
+
+Supported Platforms
+===================
+The following platforms are supported and have been tested for this release.
+They are built with the configure process unless specified otherwise.
+
+ AIX 5.3 xlc 10.1.0.5
+ (NASA G-ADA) xlC 10.1.0.5
+ xlf90 12.1.0.6
+ gmake v3.82
+
+ Linux 2.6.18-308.13.1.el5PAE GNU C (gcc), Fortran (gfortran), C++ (g++)
+ #1 SMP i686 i686 i386 compilers for 32-bit applications;
+ (jam) Version 4.1.2 20080704 (Red Hat 4.1.2-54)
+ Version 4.8.2
+ PGI C, Fortran, C++ Compilers for 32-bit
+ applications;
+ Version 13.7-0
+ Intel(R) C, C++, Fortran Compiler for 32-bit
+ applications;
+ Version 14.0.2 (Build 20140120)
+
+ Linux 2.6.18-371.6.1.el5 GNU C (gcc), Fortran (gfortran), C++ (g++)
+ #1 SMP x86_64 GNU/Linux compilers for 64-bit applications;
+ (koala) Version 4.1.2 20080704 (Red Hat 4.1.2-54)
+ Version 4.8.2
+ PGI C, Fortran, C++ for 64-bit target on
+ x86-64;
+ Version 13.7-0
+ Intel(R) C, C++, Fortran Compilers for
+ applications running on Intel(R) 64;
+ Version 14.0.2 (Build 20140120)
+
+ Linux 2.6.32-431.11.2.el6 GNU C (gcc), Fortran (gfortran), C++ (g++)
+ #1 SMP x86_64 GNU/Linux compilers:
+ (platypus) Version 4.4.7 20120313
+ Version 4.8.2
+ PGI C, Fortran, C++ for 64-bit target on
+ x86-64;
+ Version 13.7-0
+ Intel(R) C (icc), C++ (icpc), Fortran (icc)
+ compilers:
+ Version 14.0.2 (Build 20140120)
+
+ Linux 2.6.32-431.11.2.el6.ppc64 gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-3)
+ #1 SMP ppc64 GNU/Linux g++ (GCC) 4.4.7 20120313 (Red Hat 4.4.7-3)
+ (ostrich) GNU Fortran (GCC) 4.4.7 20120313 (Red Hat 4.4.7-3)
+ IBM XL C/C++ V11.1
+ IBM XL Fortran V13.1
+
+ SunOS 5.11 32- and 64-bit Sun C 5.12 SunOS_sparc
+ (emu) Sun Fortran 95 8.6 SunOS_sparc
+ Sun C++ 5.12 SunOS_sparc
+
+ Windows 7 Visual Studio 2008 w/ Intel Fortran 14 (cmake)
+ Visual Studio 2010 w/ Intel Fortran 14 (cmake)
+ Visual Studio 2012 w/ Intel Fortran 14 (cmake)
+ Cygwin(CYGWIN_NT-6.1 1.7.28(0.271/5/3) gcc(4.8.2) compiler and gfortran)
+ (cmake and autotools)
+
+ Windows 7 x64 Visual Studio 2008 w/ Intel Fortran 14 (cmake)
+ Visual Studio 2010 w/ Intel Fortran 14 (cmake)
+ Visual Studio 2012 w/ Intel Fortran 14 (cmake)
+
+ Windows 8.1 Visual Studio 2012 w/ Intel Fortran 14 (cmake)
+
+ Windows 8.1 x64 Visual Studio 2012 w/ Intel Fortran 14 (cmake)
+
+ Mac OS X Lion 10.7.3 Apple clang/clang++ version 3.0 from Xcode 4.6.1
+ 64-bit gfortran GNU Fortran (GCC) 4.6.2
+ (duck) Intel icc/icpc/ifort version 13.0.3
+
+ Mac OS X Mt. Lion 10.8.5 Apple clang/clang++ version 5.0 from Xcode 5.0.2
+ 64-bit gfortran GNU Fortran (GCC) 4.8.2
+ (swallow/kite) Intel icc/icpc/ifort version 14.0.2
+
+ Mac OS X Mavericks 10.9.2 Apple clang/clang++ version 5.1 from Xcode 5.1
+ 64-bit gfortran GNU Fortran (GCC) 4.8.2
+ (wren/quail) Intel icc/icpc/ifort version 14.0.2
+
+
+Tested Configuration Features Summary
+=====================================
+
+ In the tables below
+ y = tested
+ n = not tested in this release
+ C = Cluster
+ W = Workstation
+ x = not working in this release
+ dna = does not apply
+ ( ) = footnote appears below second table
+ <blank> = testing incomplete on this feature or platform
+
+Platform C F90/ F90 C++ zlib SZIP
+ parallel F2003 parallel
+Solaris2.11 32-bit n y/y n y y y
+Solaris2.11 64-bit n y/y n y y y
+Windows 7 y y/y n y y y
+Windows 7 x64 y y/y n y y y
+Windows 7 Cygwin n y/y n y y y
+Windows 8.1 n y/y n y y y
+Windows 8.1 x64 n y/y n y y y
+Mac OS X Lion 10.7.3 64-bit n y/y n y y y
+Mac OS X Mountain Lion 10.8.1 64-bit n y/y n y y y
+Mac OS X Mavericks 10.9.1 64-bit n y/y n y y y
+AIX 5.3 32- and 64-bit n y/n n y y y
+CentOS 5.9 Linux 2.6.18-308 i686 GNU y y/y y y y y
+CentOS 5.9 Linux 2.6.18-308 i686 Intel n y/y n y y y
+CentOS 5.9 Linux 2.6.18-308 i686 PGI n y/y n y y y
+CentOS 5.9 Linux 2.6.18 x86_64 GNU n y/y n y y y
+CentOS 5.9 Linux 2.6.18 x86_64 Intel n y/y n y y y
+CentOS 6.4 Linux 2.6.32 x86_64 GNU y y/y y y y y
+CentOS 6.4 Linux 2.6.32 x86_64 Intel n y/y n y y y
+CentOS 6.4 Linux 2.6.32 x86_64 PGI n y/y n y y y
+Linux 2.6.32-431.11.2.el6.ppc64 n y/n n y y y
+OpenVMS IA64 V8.4 n y/n n y y n
+
+Platform Shared Shared Shared Thread-
+ C libs F90 libs C++ libs safe
+Solaris2.11 32-bit y y y y
+Solaris2.11 64-bit y y y y
+Windows 7 y y y y
+Windows 7 x64 y y y y
+Windows 7 Cygwin n n n y
+Windows 8.1 y y y y
+Windows 8.1 x64 y y y y
+Mac OS X Lion 10.7.3 64-bit y n y y
+Mac OS X Mountain Lion 10.8.1 64-bit y n y y
+Mac OS X Mavericks 10.9.1 64-bit y n y y
+AIX 5.3 32- and 64-bit y n n y
+CentOS 5.9 Linux 2.6.18-308 i686 GNU y y y y
+CentOS 5.9 Linux 2.6.18-308 i686 Intel y y y n
+CentOS 5.9 Linux 2.6.18-308 i686 PGI y y y n
+CentOS 5.9 Linux 2.6.18 x86_64 GNU y y y y
+CentOS 5.9 Linux 2.6.18 x86_64 Intel y y y n
+CentOS 6.4 Linux 2.6.32 x86_64 GNU y y y n
+CentOS 6.4 Linux 2.6.32 x86_64 Intel y y y n
+CentOS 6.4 Linux 2.6.32 x86_64 PGI y y y n
+Linux 2.6.32-431.11.2.el6.ppc64 y y y n
+OpenVMS IA64 V8.4 n n n n
+
+Compiler versions for each platform are listed in the preceding
+"Supported Platforms" table.
+
+
+More Tested Platforms
+=====================
+The following platforms are not supported but have been tested for this release.
+
+ Linux 2.6.18-308.13.1.el5PAE MPICH mpich 3.1 compiled with
+ #1 SMP i686 i686 i386 gcc 4.8.2 and gfortran 4.8.2
+ (jam) g95 (GCC 4.0.3 (g95 0.94!)
+
+ Linux 2.6.18-431.11.2.el6 MPICH mpich 3.1 compiled with
+ #1 SMP x86_64 GNU/Linux gcc 4.8.2 and gfortran 4.8.2
+ (platypus) g95 (GCC 4.0.3 (g95 0.94!)
+
+ FreeBSD 8.2-STABLE i386 gcc 4.5.4 [FreeBSD] 20110526
+ (loyalty) gcc 4.6.1 20110527
+ g++ 4.6.1 20110527
+ gfortran 4.6.1 20110527
+
+ FreeBSD 8.2-STABLE amd64 gcc 4.5.4 [FreeBSD] 20110526
+ (freedom) gcc 4.6.1 20110527
+ g++ 4.6.1 20110527
+ gfortran 4.6.1 20110527
+
+ Debian7.1.0 3.2.0-4-amd64 #1 SMP Debian 3.2.51-1 x86_64 GNU/Linux
+ gcc (Debian 4.7.2-5) 4.7.2
+ GNU Fortran (Debian 4.7.2-5) 4.7.2
+ (cmake and autotools)
+
+ Fedora20 3.11.10-301.fc20.x86_64 #1 SMP x86_64 x86_64 x86_64 GNU/Linux
+ gcc (GCC) 4.8.2 20131212 (Red Hat 4.8.2-7)
+ GNU Fortran (GCC) 4.8.2 20130603 (Red Hat 4.8.2-7)
+ (cmake and autotools)
+
+ SUSE 13.1 3.11.6-4-desktop #1 SMP PREEMPT x86_64 x86_64 x86_64 GNU/Linux
+ gcc (SUSE Linux) 4.8.1
+ GNU Fortran (SUSE Linux) 4.8.1
+ (cmake and autotools)
+
+ Ubuntu 13.10 3.11.0-13-generic #20-Ubuntu SMP x86_64 GNU/Linux
+ gcc (Ubuntu/Linaro 4.8.1-10ubuntu8) 4.8.1
+ GNU Fortran (Ubuntu/Linaro 4.8.1-10ubuntu8) 4.8.1
+ (cmake and autotools)
+
+ Cray Linux Environment (CLE) PrgEnv-pgi/4.0.46
+ hopper.nersc.gov pgcc 12.5-0 64-bit target on x86-64 Linux -tp shanghai
+ pgf90 12.5-0 64-bit target on x86-64 Linux -tp shanghai
+ pgCC 12.5-0 64-bit target on x86-64 Linux -tp shanghai
+
+
+Known Problems
+==============
+* When reading or writing a dataset (H5Dread/H5Dwrite) with a large selection
+ size (e.g., 2GB ~= 500 million of 4 bytes integers or floating point
+ numbers), some I/O systems may not be able to process it correctly.
+ We advise users to find out system limits before using large selections. If
+ I/O size limits exist, application should use HDF5 partial I/O capabilities
+ (e.g., H5Sselect_hyperslab(...)) to divide large requests into smaller sizes.
+ In this case we also advise users not to use chunk storage sizes larger that
+ 2GB since the HDF5 library performs I/O on the entire chunk. We will work
+ on the HDF5 library to divide large data requests to smaller I/O requests.
+ (AKC 2014/05/02 HDFFV-8479)
+
+* Due to an Intel compiler bug introduced in version 14.0.1, the HDF5 FORTRAN
+ wrappers do not work with configure option --enable-fortran2003.
+ However, the option --enable-fortran works with Intel 14.0.1. The compiler
+ bug was fixed in Intel version 14.0.2 and resolved the issue.
+ (MSB - 2014/4/15)
+
+* Due to a PGI compiler bug introduced in versions before 13.3 and versions
+ after 14.2, the FORTRAN test 'Testing get file image' will fail.
+ (MSB - 2014/4/15)
+
+* On CYGWIN, when building the library dynamically, testing will fail on
+ dynamically loaded filters. The test process will build dynamic filter
+ libraries with the *.dll.a extension, and the HDF5 Library will be looking
+ for *.so libraries. Entered as issue HDFFV-8736. (ADB - 2014/04/14)
+
+* A Gnu Make directive (.NOTPARALLEL) is added to fortran/test/Makefile.
+ AIX native make does not support this directive and would fail if
+ parallel make (e.g. make -j4) is used to build the library. AIX users
+ either do not use parallel make or install Gnu Make to build the library.
+ (AKC 2014/04/08 HDFFV-8738)
+
+* CLANG compiler with the options -fcatch-undefined-behavior and -ftrapv
+ catches some undefined behavior in the alignment algorithm of the macro
+ DETECT_I in H5detect.c. Since the algorithm is trying to detect the alignment
+ of integers, ideally the flag -fcatch-undefined-behavior should not to be
+ used for H5detect.c. In the future, we can separate flags for H5detect.c
+ from the rest of the library. (SLU - 2013/10/16 HDFFV-8147)
+
+* Make provided by Solaris fails in "make check". Solaris users should use
+ gmake to build and install the HDF5 software. (AKC - 2013/10/08 - HDFFV-8534)
+
+* On OpenVMS, two soft conversion functions (H5T__conv_i_f and H5T__conv_f_i)
+ have bugs. They convert data between floating-point numbers and integers.
+ But the library's default is hard conversion. The user should avoid
+ explicitly enabling soft conversion between floating-point numbers and
+ integers. (Issue VMS-8; SLU - 2013/09/19)
+
+* On OpenVMS, ZLIB 1.2.8 library doesn't work properly. ZLIB 1.2.5 works
+ fine. So please use ZLIB 1.2.5 to build HDF5 library. (Issue VMS-5;
+ SLU 2013/09/19)
+
+* When building using the Cray compilers on Cray machines, HDF5
+ configure mistakenly thinks the compiler is an intel compiler and
+ sets the -std=c99 flag which breaks configure on Cray. To build HDF5
+ properly on a Cray machine, please consult with the instructions in
+ INSTALL_parallel for building on Hopper.
+ (MSC - 2013/04/26 - HDFFV-8429)
+
+* The 5.9 C++ compiler on Sun failed to compile a C++ test ttypes.cpp. It
+ complains with this message:
+ "/home/hdf5/src/H5Vprivate.h", line 130: Error: __func__ is not defined.
+
+ The reason is that __func__ is a predefined identifier in C99 standard. The
+ HDF5 C library uses it in H5private.h. The test ttypes.cpp includes
+ H5private.h (H5Tpkg.h<-H5Fprivate.h<-H5Vprivate.h<-H5private.h). Sun's 5.9
+ C++ compiler doesn't support __func__, thus fails to compile the C++ test.
+ But Sun's 5.11 C++ compiler does. To check whether your Sun C++ compiler
+ knows this identifier, try to compile the following simple C++ program:
+ #include<stdio.h>
+
+ int main(void)
+ {
+ printf("%s\n", __func__);
+ return 0;
+ }
+ (SLU - 2012/11/5)
+
+* The C++ and FORTRAN bindings are not currently working on FreeBSD with the
+ native release 8.2 compilers (4.2.1), but are working with gcc 4.6 from the
+ ports (and probably gcc releases after that).
+ (QAK - 2012/10/19)
+
+* The following h5dump test case fails in BG/P machines (and potentially other
+ machines that use a command script to launch executables):
+
+ h5dump --no-compact-subset -d "AHFINDERDIRECT::ah_centroid_t[0] it=0 tl=0"
+ tno-subset.h5
+
+ This is due to the embedded spaces in the dataset name being interpreted
+ by the command script launcher as meta-characters, thus passing three
+ arguments to h5dump's -d flag. The command passes if run by hand, just
+ not via the test script.
+ (AKC - 2012/05/03)
+
+* On hopper, the build failed when RUNSERIAL and RUNPARALLEL are set
+ to aprun -np X, because the H5lib_settings.c file was not generated
+ properly. Not setting those environment variables works, because
+ configure was able to automatically detect that it's a Cray system
+ and used the proper launch commands when necessary.
+ (MSC - 2012/04/18)
+
+* The data conversion test dt_arith.c fails in "long double" to integer
+ conversion on Ubuntu 11.10 (3.0.0.13 kernel) with GCC 4.6.1 if the library
+ is built with optimization -O3 or -O2. The older GCC (4.5) or newer kernal
+ (3.2.2 on Fedora) doesn't have the problem. Users should lower the
+ optimization level (-O1 or -O0) by defining CFLAGS in the command line of
+ "configure" like:
+
+ CFLAGS=-O1 ./configure
+
+ This will overwrite the library's default optimization level.
+ (SLU - 2012/02/07 - HDFFV-7829)
+ This issue is no longer present on Ubuntu 12.10 (3.5.0 kernel) with
+ gcc 4.7.2.
+
+* The STDIO VFD does not work on some architectures, possibly due to 32/64
+ bit or large file issues. The basic STDIO VFD test is known to fail on
+ 64-bit SunOS 5.10 on SPARC when built with -m64 and 32-bit OS X/Darwin
+ 10.7.0. The STDIO VFD test has been disabled while we investigate and
+ a fix should appear in a future release.
+ (DER - 2011/10/14 - HDFFV-8235)
+
+* h5diff can report inconsistent results when comparing datasets of enum type
+ that contain invalid values. This is due to how enum types are handled in
+ the library and will be addressed in a future release.
+ (DER - 2011/10/14 - HDFFV-7527)
+
+* The links test can fail under the stdio VFD due to some issues with external
+ links. This will be investigated and fixed in a future release.
+ (DER - 2011/10/14 - HDFFV-7768)
+
+* After the shared library support was fixed for some bugs, it was discovered
+ that "make prefix=XXX install" no longer works for shared libraries. It
+ still works correctly for static libraries. Therefore, if you want to
+ install the HDF5 shared libraries in a location such as /usr/local/hdf5,
+ you need to specify the location via the --prefix option during configure
+ time. E.g, ./configure --prefix=/usr/local/hdf5 ...
+ (AKC - 2011/05/07 - HDFFV-7583)
+
+* The parallel test, t_shapesame, in testpar/, may run for a long time and may
+ be terminated by the alarm signal. If that happens, one can increase the
+ alarm seconds (default is 1200 seconds = 20 minutes) by setting the
+ environment variable, $HDF5_ALARM_SECONDS, to a larger value such as 3600
+ (60 minutes). Note that the t_shapesame test may fail in some systems
+ (see the "While working on the 1.8.6 release..." problem below). If
+ it does, it will waste more time if $HDF5_ALARM_SECONDS is set
+ to a larger value.
+ (AKC - 2011/05/07)
+
+* The C++ and FORTRAN bindings are not currently working on FreeBSD.
+ (QAK - 2011/04/26)
+
+* Shared Fortran libraries are not quite working on AIX. While they are
+ generated when --enable-shared is specified, the fortran and hl/fortran
+ tests fail. We are looking into the issue. HL and C++ shared libraries
+ should now be working as intended, however.
+ (MAM - 2011/04/20)
+
+* The --with-mpe configure option does not work with Mpich2.
+ (AKC - 2011/03/10)
+
+* While working on the 1.8.6 release of HDF5, a bug was discovered that can
+ occur when reading from a dataset in parallel shortly after it has been
+ written to collectively. The issue was exposed by a new test in the parallel
+ HDF5 test suite, but had existed before that. We believe the problem lies with
+ certain MPI implementations and/or file systems.
+
+ We have provided a pure MPI test program, as well as a standalone HDF5
+ program, that can be used to determine if this is an issue on your system.
+ They should be run across multiple nodes with a varying number of processes.
+ These programs can be found at:
+ http://www.hdfgroup.org/ftp/HDF5/examples/known_problems/
+ (NAF - 2011/01/19)
+
+* All the VFL drivers aren't backward compatible. In H5FDpublic.h, the
+ structure H5FD_class_t changed in 1.8. There is new parameter added to
+ get_eoa and set_eoa callback functions. A new callback function
+ get_type_map was added in. The public function H5FDrealloc was taken
+ out in 1.8. The problem only happens when users define their own driver
+ for 1.6 and try to plug in 1.8 library. Because there's only one user
+ complaining about it, we (Elena, Quincey, and I) decided to leave it as
+ it is (see bug report #1279). Quincey will make a plan for 1.10.
+ (SLU - 2010/02/02)
+
+* The --enable-static-exec configure flag will only statically link libraries
+ if the static version of that library is present. If only the shared version
+ of a library exists (i.e., most system libraries on Solaris, AIX, and Mac,
+ for example, only have shared versions), the flag should still result in a
+ successful compilation, but note that the installed executables will not be
+ fully static. Thus, the only guarantee on these systems is that the
+ executable is statically linked with just the HDF5 library.
+ (MAM - 2009/11/04)
+
+* Parallel tests failed with 16 processes with data inconsistency at testphdf5
+ / dataset_readAll. Parallel tests also failed with 32 and 64 processes with
+ collective abort of all ranks at t_posix_compliant / allwrite_allread_blocks
+ with MPI IO.
+ (CMC - 2009/04/28)
+
+* On an Intel 64 Linux cluster (RH 4, Linux 2.6.9) with Intel 10.0 compilers,
+ use -mp -O1 compilation flags to build the libraries. A higher level of
+ optimization causes failures in several HDF5 library tests.
+
+* A dataset created or rewritten with a v1.6.3 library or after cannot be read
+ with the v1.6.2 library or before when the Fletcher32 EDC filter is enabled.
+ There was a bug in the calculation of the Fletcher32 checksum in the
+ library before v1.6.3; the checksum value was not consistent between big-
+ endian and little-endian systems. This bug was fixed in Release 1.6.3.
+ However, after fixing the bug, the checksum value was no longer the same as
+ before on little-endian system. Library releases after 1.6.4 can still read
+ datasets created or rewritten with an HDF5 library of v1.6.2 or before.
+ (SLU - 2005/06/30)
+
+
+%%%%1.8.12%%%%
+
+
+HDF5 version 1.8.12 released on 2013-11-04
+================================================================================
+
+INTRODUCTION
+============
+
+This document describes the differences between HDF5-1.8.11 and
+HDF5-1.8.12, and contains information on the platforms tested and
+known problems in HDF5-1.8.12.
+For more details, see the files HISTORY-1_0-1_8_0_rc3.txt
+and HISTORY-1_8.txt in the release_docs/ directory of the HDF5 source.
+
+Links to the HDF5 1.8.12 source code, documentation, and additional materials
+can be found on the HDF5 web page at:
+
+ http://www.hdfgroup.org/products/hdf5/
+
+The HDF5 1.8.12 release can be obtained from:
+
+ http://www.hdfgroup.org/HDF5/release/obtain5.html
+
+User documentation for 1.8.12 can be accessed directly at this location:
+
+ http://www.hdfgroup.org/HDF5/doc/
+
+New features in the HDF5-1.8.x release series, including brief general
+descriptions of some new and modified APIs, are described in the "What's New
+in 1.8.0?" document:
+
+ http://www.hdfgroup.org/HDF5/doc/ADGuide/WhatsNew180.html
+
+All new and modified APIs are listed in detail in the "HDF5 Software Changes
+from Release to Release" document, in the section "Release 1.8.12 (current
+release) versus Release 1.8.11":
+
+ http://www.hdfgroup.org/HDF5/doc/ADGuide/Changes.html
+
+If you have any questions or comments, please send them to the HDF Help Desk:
+
+ help@hdfgroup.org
+
+
+CONTENTS
+========
+
+- New Features
+- Support for New Platforms, Languages, and Compilers
+- Bug Fixes since HDF5-1.8.11
+- Supported Platforms
+- Supported Configuration Features Summary
+- More Tested Platforms
+- Known Problems
+
+
+New Features
+============
+
+ Configuration
+ -------------
+ - Added a configuration option to change the default plugin path.
+ The configure option is --with-default-plugindir=location.
+ The cmake option is -DH5_DEFAULT_PLUGINDIR:PATH=location.
+ HDFFV-8513. (ADB 2013/09/04)
+ - Renamed FFLAGS to FCFLAGS in configure. (ADB 2013/08/13)
+ - CMake can now package a compressed examples file, the default for
+ Windows binaries from HDF Group. (ADB - 2013/07/22)
+
+ Library
+ -------
+ - None
+
+ Parallel Library
+ ----------------
+ - None
+
+ Tools
+ -----
+ - h5repack: Added the ability to use plugin filters to read and write
+ files. The option uses the filter number. HDFFV-8345
+ (ADB - 2013/09/04).
+ - h5dump: Added the option -N --any_path, which searches the file for
+ paths that match the search path. HDFFV-7989 (ADB - 2013/08/12).
+ - h5dump: Added the optional arg 0 to -A, which excludes attributes
+ from display. HDFFV-8134 (ADB - 2013/08/01).
+
+ High-Level APIs
+ ---------------
+ - None
+
+ Fortran API
+ -----------
+ - None
+
+ C++ API
+ -------
+ - Added tutorial examples to C++/examples. They can be installed by
+ "make install-examples" and, in the installed directory, they can be
+ executed by running the script file run-c++-ex.sh. (BMR - 2013/09/28)
+ - A new class, H5::H5Location, is added to represent the location concept
+ in the C library. It is a base class to H5::H5File and H5::H5Ojbect,
+ whose member functions are moved into H5::H5Location. H5::H5File can
+ now inherent those functions. As a result, an H5::H5File object can have
+ an attribute. (BMR - 2013/09/27)
+ - Added wrappers for H5Rget_obj_type2 to retrieve the type of the object
+ that an object reference points to. (BMR - 2013/09/27)
+ H5O_type_t H5Location::getRefObjType(void *ref, H5R_type_t ref_type)
+ - Added wrappers for H5Aexist to check whether an attribute exists given
+ a name. (BMR - 2013/09/27)
+ bool H5::H5Location::attrExists(const char* name)
+ bool H5::H5Location::attrExists(const H5std_string& name)
+ - Added a number of overloaded functions for convenience. (BMR - 2013/09/27)
+
+
+Support for New Platforms, Languages, and Compilers
+===================================================
+ - None
+
+Bug Fixes since HDF5-1.8.11
+===========================
+
+ Configuration
+ -------------
+ - Modified H5detect.c to scan floating point types for padding bits before
+ analyzing the type further. This should fix problems with gcc 4.8.
+ (NAF - 2013/09/19 - HDFFV-8523/HDFFV-8500)
+ - HDF5 rpaths are no longer encoded in the library files when configured
+ with --disable-sharedlib-rpath. (LRK-2013-09-23 - HDFFV-8276)
+
+ Library
+ -------
+ - Added const qualifier to source buffer parameters in H5Dgather and
+ H5D_scatter_func_t (H5Dscatter callback). (NAF - 2013/7/09)
+
+ - CMake now creates *.so.{lt_version} files with the same version as
+ configure. (ADB - 2013/06/05 HDFFV-8437)
+
+ Parallel Library
+ ----------------
+ - None
+
+ Performance
+ -------------
+ - None
+
+ Tools
+ -----
+ - h5dump: Added the option -N --any_path, which searches the file for
+ paths that match the search path. HDFFV-7989 (ADB - 2013/08/12).
+ - h5dump: Added the optional arg 0 to -A, which excludes attributes
+ from display. HDFFV-8134 (ADB - 2013/08/01).
+ - h5dump correctly exports subsetted data to a file, using the --output
+ option. (ADB - 2013/06/07 HDFFV-8447)
+ - h5cc and other compile scripts now default to linking shared libraries
+ when HDF5 is configured with the --disable-static option.
+ (LRK - 2013-09-23 - HDFFV-8141)
+
+ F90 API
+ -------
+ - None
+
+ C++ API
+ ------
+ - None
+
+ High-Level APIs:
+ ------
+ - None
+
+ Fortran High-Level APIs:
+ ------
+ - None
+
+ Testing
+ -------
+ - test/big sometimes failed with the message of "file selection+offset not
+ within extent". This has been fixed. (AKC - 2013/09/28 HDFFV-8271).
+ - tools/h5diff/testh5diff.sh is run in every "make check", even after it
+ has passed in the previous run. It should not run again if there are no
+ code changes. Fixed. (AKC - 2013/07/19 HDFFV-8392)
+
+Supported Platforms
+===================
+The following platforms are supported and have been tested for this release.
+They are built with the configure process unless specified otherwise.
+
+ AIX 5.3 xlc 10.1.0.5
+ (NASA G-ADA) xlC 10.1.0.5
+ xlf90 12.1.0.6
+
+ Linux 2.6.18-308.13.1.el5PAE GNU C (gcc), Fortran (gfortran), C++ (g++)
+ #1 SMP i686 i686 i386 compilers for 32-bit applications;
+ (jam) Version 4.1.2 20080704 (Red Hat 4.1.2-54)
+ Version 4.8.1
+ PGI C, Fortran, C++ Compilers for 32-bit
+ applications;
+ Version 13.7-0
+ Intel(R) C, C++, Fortran Compiler for 32-bit
+ applications;
+ Version 13.1.3 (Build 20130607)
+
+ Linux 2.6.18-308.16.1.el5 GNU C (gcc), Fortran (gfortran), C++ (g++)
+ #1 SMP x86_64 GNU/Linux compilers for 64-bit applications;
+ (koala) Version 4.1.2 20080704 (Red Hat 4.1.2-54)
+ Version 4.8.1
+ PGI C, Fortran, C++ for 64-bit target on
+ x86-64;
+ Version 13.7-0
+ Intel(R) C, C++, Fortran Compilers for
+ applications running on Intel(R) 64;
+ Version 13.1.3 (Build 20130607)
+
+ Linux 2.6.32-358.18.1.el6 GNU C (gcc), Fortran (gfortran), C++ (g++)
+ #1 SMP x86_64 GNU/Linux compilers:
+ (platypus) Version 4.4.7 20120313
+ Version 4.8.1
+ PGI C, Fortran, C++ for 64-bit target on
+ x86-64;
+ Version 13.7-0
+ Intel(R) C (icc), C++ (icpc), Fortran (icc)
+ compilers:
+ Version 13.1.3 (Build 20130607)
+
+ Linux 2.6.32-358.18.1.el6.ppc64 gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-3)
+ #1 SMP ppc64 GNU/Linux g++ (GCC) 4.4.7 20120313 (Red Hat 4.4.7-3)
+ (ostrich) GNU Fortran (GCC) 4.4.7 20120313 (Red Hat 4.4.7-3)
+ IBM XL C/C++ V11.1
+ IBM XL Fortran V13.1
+
+ SunOS 5.11 32- and 64-bit Sun C 5.12 SunOS_sparc
+ (emu) Sun Fortran 95 8.6 SunOS_sparc
+ Sun C++ 5.12 SunOS_sparc
+
+ Windows 7 Visual Studio 2008 w/ Intel Fortran 11 (cmake)
+ Visual Studio 2010 w/ Intel Fortran 12 (cmake)
+ Visual Studio 2012 w/ Intel Fortran 13 (cmake)
+ Cygwin(CYGWIN_NT-6.1 1.7.15(0.260/5/3) gcc(4.5.3) compiler and gfortran)
+ (cmake and autotools)
+
+ Windows 7 x64 Visual Studio 2008 w/ Intel Fortran 11 (cmake)
+ Visual Studio 2010 w/ Intel Fortran 12 (cmake)
+ Visual Studio 2012 w/ Intel Fortran 13 (cmake)
+
+ Windows 8.1 Visual Studio 2012 w/ Intel Fortran 13 (cmake)
+
+ Windows 8.1 x64 Visual Studio 2012 w/ Intel Fortran 13 (cmake)
+
+ Mac OS X Snow Leopard 10.6.8 gcc i686-apple-darwin11-llvm-gcc-4.2 (GCC) 4.2.1 from Xcode 3.2.6
+ Darwin Kernel Version 10.8.0 g++ i686-apple-darwin11-llvm-g++-4.2 (GCC) 4.2.1 from Xcode 3.2.6
+ 64-bit gfortran GNU Fortran (GCC) 4.6.2
+ (fred) Intel C (icc), Fortran (ifort), C++ (icpc)
+ 12.1 Build 20120928
+
+ Mac OS X Lion 10.7.3 Apple clang/clang++ version 3.0 from Xcode 4.6.1
+ 64-bit gfortran GNU Fortran (GCC) 4.6.2
+ (duck) Intel icc/icpc/ifort version 13.0.3
+
+ Mac OS X Mountain Lion 10.8.1 Apple clang/clang++ version 4.2 from Xcode 4.6.1
+ 64-bit gfortran GNU Fortran (GCC) 4.6.2
+ (wren) Intel icc/icpc/ifort version 13.0.3
+
+ OpenVMS IA64 V8.4 HP C V7.3-018
+ HP Fortran V8.2-104939-50H96
+ HP C++ V7.4-004
+
+Tested Configuration Features Summary
+=====================================
+
+ In the tables below
+ y = tested
+ n = not tested in this release
+ C = Cluster
+ W = Workstation
+ x = not working in this release
+ dna = does not apply
+ ( ) = footnote appears below second table
+ <blank> = testing incomplete on this feature or platform
+
+Platform C F90/ F90 C++ zlib SZIP
+ parallel F2003 parallel
+Solaris2.11 32-bit n y/y n y y y
+Solaris2.11 64-bit n y/y n y y y
+Windows 7 y y/y n y y y
+Windows 7 x64 y y/y n y y y
+Windows 7 Cygwin n y/n n y y y
+Windows 8.1 n y/y n y y y
+Windows 8.1 x64 n y/y n y y y
+Mac OS X Snow Leopard 10.6.8 64-bit n y/y n y y y
+Mac OS X Lion 10.7.3 64-bit n y/y n y y y
+Mac OS X Mountain Lion 10.8.1 64-bit n y/y n y y y
+AIX 5.3 32- and 64-bit n y/n n y y y
+CentOS 5.9 Linux 2.6.18-308 i686 GNU y y/y y y y y
+CentOS 5.9 Linux 2.6.18-308 i686 Intel n y/y n y y y
+CentOS 5.9 Linux 2.6.18-308 i686 PGI n y/y n y y y
+CentOS 5.9 Linux 2.6.18 x86_64 GNU y y/y y y y y
+CentOS 5.9 Linux 2.6.18 x86_64 Intel n y/y n y y y
+CentOS 5.9 Linux 2.6.18 x86_64 PGI n y/y n y y y
+CentOS 6.4 Linux 2.6.32 x86_64 GNU n y/y n y y y
+CentOS 6.4 Linux 2.6.32 x86_64 Intel n y/y n y y y
+Linux 2.6.32-358.2.1.el6.ppc64 n y/n n y y y
+OpenVMS IA64 V8.4 n y/n n y y n
+
+Platform Shared Shared Shared Thread-
+ C libs F90 libs C++ libs safe
+Solaris2.11 32-bit y y y y
+Solaris2.11 64-bit y y y y
+Windows 7 y y y y
+Windows 7 x64 y y y y
+Windows 7 Cygwin n n n y
+Windows 8.1 y y y y
+Windows 8.1 x64 y y y y
+Mac OS X Snow Leopard 10.6.8 64-bit y n y n
+Mac OS X Lion 10.7.3 64-bit y n y y
+Mac OS X Mountain Lion 10.8.1 64-bit y n y y
+AIX 5.3 32- and 64-bit y n n y
+CentOS 5.9 Linux 2.6.18-308 i686 GNU y y y y
+CentOS 5.9 Linux 2.6.18-308 i686 Intel y y y n
+CentOS 5.9 Linux 2.6.18-308 i686 PGI y y y n
+CentOS 5.9 Linux 2.6.18 x86_64 GNU y y y y
+CentOS 5.9 Linux 2.6.18 x86_64 Intel y y y n
+CentOS 5.9 Linux 2.6.18 x86_64 PGI y y y n
+CentOS 6.4 Linux 2.6.32 x86_64 GNU y y y n
+CentOS 6.4 Linux 2.6.32 x86_64 Intel y y y n
+Linux 2.6.32-358.2.1.el6.ppc64 y y y n
+OpenVMS IA64 V8.4 n n n n
+
+Compiler versions for each platform are listed in the preceding
+"Supported Platforms" table.
+
+
+More Tested Platforms
+=====================
+The following platforms are not supported but have been tested for this release.
+
+ Linux 2.6.18-308.13.1.el5PAE MPICH mpich2-1.4.1p1 compiled with
+ #1 SMP i686 i686 i386 gcc 4.1.2 and gfortran 4.1.2
+ (jam) g95 (GCC 4.0.3 (g95 0.94!)
+
+ Linux 2.6.18-308.16.1.el5 MPICH mpich2-1.4.1p1 compiled with
+ #1 SMP x86_64 GNU/Linux gcc 4.1.2 and gfortran 4.1.2
+ (koala) g95 (GCC 4.0.3 (g95 0.94!)
+
+ FreeBSD 8.2-STABLE i386 gcc 4.5.4 [FreeBSD] 20110526
+ (loyalty) gcc 4.6.1 20110527
+ g++ 4.6.1 20110527
+ gfortran 4.6.1 20110527
+
+ FreeBSD 8.2-STABLE amd64 gcc 4.5.4 [FreeBSD] 20110526
+ (freedom) gcc 4.6.1 20110527
+ g++ 4.6.1 20110527
+ gfortran 4.6.1 20110527
+
+ Debian7.1.0 3.2.0-4-amd64 #1 SMP Debian 3.2.46-1 x86_64 GNU/Linux
+ gcc (Debian 4.7.2-5) 4.7.2
+ GNU Fortran (Debian 4.7.2-5) 4.7.2
+ (cmake and autotools)
+
+ Fedora19 3.11.1-200.fc19.x86_64 #1 SMP x86_64 x86_64 x86_64 GNU/Linux
+ gcc (GCC) 4.8.1 20130603 (Red Hat 4.8.1-1)
+ GNU Fortran (GCC) 4.8.1 20130603 (Red Hat 4.8.1-1)
+ (cmake and autotools)
+
+ SUSE 12.3 3.7.10-1.16-desktop #1 SMP PREEMPT x86_64 x86_64 x86_64 GNU/Linux
+ gcc (SUSE Linux) 4.7.2
+ GNU Fortran (SUSE Linux) 4.7.2
+ (cmake and autotools)
+
+ Ubuntu 13.04 3.8.0-30-generic #44-Ubuntu SMP x86_64 GNU/Linux
+ gcc (Ubuntu/Linaro 4.7.3-1ubuntu1) 4.7.3
+ GNU Fortran (Ubuntu/Linaro 4.7.3-1ubuntu1) 4.7.3
+ (cmake and autotools)
+
+ Cray Linux Environment (CLE) PrgEnv-pgi/4.0.46
+ hopper.nersc.gov pgcc 12.5-0 64-bit target on x86-64 Linux -tp shanghai
+ pgf90 12.5-0 64-bit target on x86-64 Linux -tp shanghai
+ pgCC 12.5-0 64-bit target on x86-64 Linux -tp shanghai
+
+
+Known Problems
+==============
+* Several HDF5 command-line tools and tests leave behind generated files
+ that are not cleaned up with "make clean" or "make distclean" when software
+ is built in place. The issue will be addressed in the 1.8.13 release. We
+ recommend to use build directory to compile and test HDF5 as described
+ in the INSTALL file, section 4.2.
+
+* Source directory names with spaces in them will cause failures in configure
+ or make on Mac (HDFFV-8152), Linux, and probably all other platforms. If a
+ configure command with a space is run from a build directory, it will exit
+ with an error message: "checking whether build environment is sane...
+ configure: error: unsafe srcdir value: '/scr/lrknox/hdf5 v1.8.12'". If
+ configure is run inside or below the directory with the space in the name,
+ libtool will get the directory path from the system, put the part of the
+ path before the space in the libdir variable in .../src/libhdf5.la, and
+ then fail to find the nonexistent directory. This is a known libtool issue
+ and the suggested workaround is to rename the directory without spaces.
+ (LRK - 2013/10/22)
+
+* CLANG compiler with the options -fcatch-undefined-behavior and -ftrapv
+ catches some undefined behavior in the alignment algorithm of the macro
+ DETECT_I in H5detect.c (HDFFV-8147). This issue will be addressed in the
+ next release. (SLU - 2013/10/16)
+
+* Running make check for the tools can fail in the tools tests if make was not
+ run prior. The tests for the tools use other tools in the tests, therefore
+ all the tools should be built before testing the tools. (ADB - 2013/10/09)
+
+* Make provided by Solaris fails in "make check". Solaris users should use
+ gmake to build and install HDF5 software. (AKC - 2013/10/08 - HDFFV-8534)
+
+* On OpenVMS, two soft conversion functions (H5T__conv_i_f and H5T__conv_f_i)
+ have bugs. They convert data between floating-point numbers and integers.
+ But the library's default is hard conversion. The user should avoid
+ explicitly enabling soft conversion between floating-point numbers and
+ integers. (Issue VMS-8; SLU - 2013/09/19)
+
+* On OpenVMS, ZLIB 1.2.8 library doesn't work properly. ZLIB 1.2.5 works
+ fine. So please use ZLIB 1.2.5 to build HDF5 library. (Issue VMS-5;
+ SLU 2013/09/19)
+
+* When building using the Cray compilers on Cray machines, HDF5
+ configure mistakenly thinks the compiler is an intel compiler and
+ sets the -std=c99 flag which breaks configure on Cray. To build HDF5
+ properly on a Cray machine, please consult with the instructions in
+ INSTALL_parallel for building on Hopper.
+ (MSC - 2013/04/26 - HDFFV-8429)
+
+* The h5dump and h5diff utilities occasionally produce different output
+ between Linux and Windows systems. This is caused by lower-level library
+ routines that fail to write fill values to the user's buffer when reading
+ unallocated chunks from datasets that have a fill value set to
+ H5D_FILL_VALUE_DEFAULT. Due to platform differences the return of
+ spurious data values has only been encountered on Windows 32-bit systems.
+ (Issue HDFFV-8247; JP - 2013/03/27)
+
+* The 5.9 C++ compiler on Sun failed to compile a C++ test ttypes.cpp. It
+ complains with this message:
+ "/home/hdf5/src/H5Vprivate.h", line 130: Error: __func__ is not defined.
+
+ The reason is that __func__ is a predefined identifier in C99 standard. The
+ HDF5 C library uses it in H5private.h. The test ttypes.cpp includes
+ H5private.h (H5Tpkg.h<-H5Fprivate.h<-H5Vprivate.h<-H5private.h). Sun's 5.9
+ C++ compiler doesn't support __func__, thus fails to compile the C++ test.
+ But Sun's 5.11 C++ compiler does. To check whether your Sun C++ compiler
+ knows this identifier, try to compile the following simple C++ program:
+ #include<stdio.h>
+
+ int main(void)
+ {
+ printf("%s\n", __func__);
+ return 0;
+ }
+ (SLU - 2012/11/5)
+
+* The C++ and FORTRAN bindings are not currently working on FreeBSD with the
+ native release 8.2 compilers (4.2.1), but are working with gcc 4.6 from the
+ ports (and probably gcc releases after that).
+ (QAK - 2012/10/19)
+
+* The following h5dump test case fails in BG/P machines (and potentially other
+ machines that use a command script to launch executables):
+
+ h5dump --no-compact-subset -d "AHFINDERDIRECT::ah_centroid_t[0] it=0 tl=0"
+ tno-subset.h5
+
+ This is due to the embedded spaces in the dataset name being interpreted
+ by the command script launcher as meta-characters, thus passing three
+ arguments to h5dump's -d flag. The command passes if run by hand, just
+ not via the test script.
+ (AKC - 2012/05/03)
+
+* On hopper, the build failed when RUNSERIAL and RUNPARALLEL are set
+ to aprun -np X, because the H5lib_settings.c file was not generated
+ properly. Not setting those environment variables works, because
+ configure was able to automatically detect that it is a Cray system
+ and used the proper launch commands when necessary.
+ (MSC - 2012/04/18)
+
+* The data conversion test dt_arith.c fails in "long double" to integer
+ conversion on Ubuntu 11.10 (3.0.0.13 kernel) with GCC 4.6.1 if the library
+ is built with optimization -O3 or -O2. The older GCC (4.5) or newer kernel
+ (3.2.2 on Fedora) do not have the problem. Users should lower the
+ optimization level (-O1 or -O0) by defining CFLAGS in the command line of
+ "configure" like:
+
+ CFLAGS=-O1 ./configure
+
+ This will overwrite the library's default optimization level.
+ (SLU - 2012/02/07 - HDFFV-7829)
+ This issue is no longer present on Ubuntu 12.10 (3.5.0 kernel) with
+ gcc 4.7.2.
+
+* The STDIO VFD does not work on some architectures, possibly due to 32/64
+ bit or large file issues. The basic STDIO VFD test is known to fail on
+ 64-bit SunOS 5.10 on SPARC when built with -m64 and 32-bit OS X/Darwin
+ 10.7.0. The STDIO VFD test has been disabled while we investigate and
+ a fix should appear in a future release.
+ (DER - 2011/10/14 - HDFFV-8235)
+
+* h5diff can report inconsistent results when comparing datasets of enum type
+ that contain invalid values. This is due to how enum types are handled in
+ the library and will be addressed in a future release.
+ (DER - 2011/10/14 - HDFFV-7527)
+
+* The links test can fail under the stdio VFD due to some issues with external
+ links. This will be investigated and fixed in a future release.
+ (DER - 2011/10/14 - HDFFV-7768)
+
+* After the shared library support was fixed for some bugs, it was discovered
+ that "make prefix=XXX install" no longer works for shared libraries. It
+ still works correctly for static libraries. Therefore, if you want to
+ install the HDF5 shared libraries in a location such as /usr/local/hdf5,
+ you need to specify the location via the --prefix option during configure
+ time. E.g, ./configure --prefix=/usr/local/hdf5 ...
+ (AKC - 2011/05/07 - HDFFV-7583)
+
+* The parallel test, t_shapesame, in testpar/, may run for a long time and may
+ be terminated by the alarm signal. If that happens, one can increase the
+ alarm seconds (default is 1200 seconds = 20 minutes) by setting the
+ environment variable, $HDF5_ALARM_SECONDS, to a larger value such as 3600
+ (60 minutes). Note that the t_shapesame test may fail in some systems
+ (see the "While working on the 1.8.6 release..." problem below). If
+ it does, it will waste more time if $HDF5_ALARM_SECONDS is set
+ to a larger value.
+ (AKC - 2011/05/07)
+
+* The C++ and FORTRAN bindings are not currently working on FreeBSD.
+ (QAK - 2011/04/26)
+
+* Shared Fortran libraries are not quite working on AIX. While they are
+ generated when --enable-shared is specified, the fortran and hl/fortran
+ tests fail. We are looking into the issue. HL and C++ shared libraries
+ should now be working as intended, however.
+ (MAM - 2011/04/20)
+
+* The --with-mpe configure option does not work with Mpich2.
+ (AKC - 2011/03/10)
+
+* While working on the 1.8.6 release of HDF5, a bug was discovered that can
+ occur when reading from a dataset in parallel shortly after it has been
+ written to collectively. The issue was exposed by a new test in the parallel
+ HDF5 test suite, but had existed before that. We believe the problem lies with
+ certain MPI implementations and/or file systems.
+
+ We have provided a pure MPI test program, as well as a standalone HDF5
+ program, that can be used to determine if this is an issue on your system.
+ They should be run across multiple nodes with a varying number of processes.
+ These programs can be found at:
+ http://www.hdfgroup.org/ftp/HDF5/examples/known_problems/
+ (NAF - 2011/01/19)
+
+* All the VFL drivers aren't backward compatible. In H5FDpublic.h, the
+ structure H5FD_class_t changed in 1.8. There is new parameter added to
+ get_eoa and set_eoa callback functions. A new callback function
+ get_type_map was added in. The public function H5FDrealloc was taken
+ out in 1.8. The problem only happens when users define their own driver
+ for 1.6 and try to plug in 1.8 library. Because there's only one user
+ complaining about it, we (Elena, Quincey, and I) decided to leave it as
+ it is (see bug report #1279). Quincey will make a plan for 1.10.
+ (SLU - 2010/02/02)
+
+* The --enable-static-exec configure flag will only statically link libraries
+ if the static version of that library is present. If only the shared version
+ of a library exists (i.e., most system libraries on Solaris, AIX, and Mac,
+ for example, only have shared versions), the flag should still result in a
+ successful compilation, but note that the installed executables will not be
+ fully static. Thus, the only guarantee on these systems is that the
+ executable is statically linked with just the HDF5 library.
+ (MAM - 2009/11/04)
+
+* Parallel tests failed with 16 processes with data inconsistency at testphdf5
+ / dataset_readAll. Parallel tests also failed with 32 and 64 processes with
+ collective abort of all ranks at t_posix_compliant / allwrite_allread_blocks
+ with MPI IO.
+ (CMC - 2009/04/28)
+
+* On an Intel 64 Linux cluster (RH 4, Linux 2.6.9) with Intel 10.0 compilers,
+ use -mp -O1 compilation flags to build the libraries. A higher level of
+ optimization causes failures in several HDF5 library tests.
+
+* A dataset created or rewritten with a v1.6.3 library or after cannot be read
+ with the v1.6.2 library or before when the Fletcher32 EDC filter is enabled.
+ There was a bug in the calculation of the Fletcher32 checksum in the
+ library before v1.6.3; the checksum value was not consistent between big-
+ endian and little-endian systems. This bug was fixed in Release 1.6.3.
+ However, after fixing the bug, the checksum value was no longer the same as
+ before on little-endian system. Library releases after 1.6.4 can still read
+ datasets created or rewritten with an HDF5 library of v1.6.2 or before.
+ (SLU - 2005/06/30)
+
+
+%%%%1.8.11%%%%
+
+
+HDF5 version 1.8.11 released on 2013-05-08
+================================================================================
+
+INTRODUCTION
+============
+
+This document describes the differences between HDF5-1.8.10 and
+HDF5-1.8.11-*, and contains information on the platforms tested and
+known problems in HDF5-1.8.11-*.
+For more details, see the files HISTORY-1_0-1_8_0_rc3.txt
+and HISTORY-1_8.txt in the release_docs/ directory of the HDF5 source.
+
+Links to the HDF5 1.8.11 source code, documentation, and additional materials
+can be found on the HDF5 web page at:
+
+ http://www.hdfgroup.org/products/hdf5/
+
+The HDF5 1.8.11 release can be obtained from:
+
+ http://www.hdfgroup.org/HDF5/release/obtain5.html
+
+User documentation for 1.8.11 can be accessed directly at this location:
+
+ http://www.hdfgroup.org/HDF5/doc/
+
+New features in the HDF5-1.8.x release series, including brief general
+descriptions of some new and modified APIs, are described in the "What's New
+in 1.8.0?" document:
+
+ http://www.hdfgroup.org/HDF5/doc/ADGuide/WhatsNew180.html
+
+All new and modified APIs are listed in detail in the "HDF5 Software Changes
+from Release to Release" document, in the section "Release 1.8.11 (current
+release) versus Release 1.8.10":
+
+ http://www.hdfgroup.org/HDF5/doc/ADGuide/Changes.html
+
+If you have any questions or comments, please send them to the HDF Help Desk:
+
+ help@hdfgroup.org
+
+
+CONTENTS
+========
+
+- New Features
+- Support for New Platforms, Languages, and Compilers
+- Bug Fixes since HDF5-1.8.10
+- Supported Platforms
+- Supported Configuration Features Summary
+- More Tested Platforms
+- Known Problems
+
+
+New Features
+============
+
+ Configuration
+ -------------
+ - Libtool version number is changed to 8.0.0 because there are API
+ changes. See below for details. (AKC - 2013/05/07 HDFFV-8435)
+ - Mac OS X 10.7 (Lion) and 10.8 (Mountain Lion) uses clang/clang++ as the
+ default C and C++ compilers. (AKC - 2013/04/19 HDFFV-8245)
+ - CMake minimum is now 2.8.10. (ADB 2013/1/14)
+ - A new tool, cmakehdf5, which is a build command script similar to
+ buildhdf5 is added and is available in the bin directory.
+ (AKC - 2013/01/16 HDFFV-8336)
+
+ Library
+ -------
+ - The library can load filter libraries dynamically during runtime. Users
+ can set the search path through environment variable HDF5_PLUGIN_PATH
+ and call H5Pset_filter to enable a dynamic filter. (SLU - 2013/04/08)
+ - Added new API functions H5Dscatter and H5Dgather to scatter data to and
+ and gather data from a selection within a memory buffer.
+ (NAF - 2013/02/05)
+ - The library now supports the data conversion from enumeration to numeric
+ (integer and floating-point number) datatypes. See Issue HDFFV-8221.
+ (SLU - 2012/10/23)
+
+ Parallel Library
+ ----------------
+ - None
+
+ Tools
+ -----
+ - h5dump: added new option -O or -ddl to output the ddl text to a file. This
+ is a complement to the -o or --output option, which redirects the data to
+ a file. HDFFV-8229 (ADB - 2013/2/25)
+
+ High-Level APIs
+ ---------------
+ - A new API function, H5DOwrite_chunk. This function writes a data chunk
+ directly into a file, bypassing hyperslab selection, data conversion,
+ and the filter pipeline. The user must be careful with the function and
+ clearly understand the I/O process of the library. (SLU - 2013/2/11)
+
+ Fortran API
+ -----------
+ - New API functions added (MSB - 2013/3/23):
+
+ h5odecr_refcount_f, h5oexists_by_name_f, h5oget_comment_f,
+ h5oget_comment_by_name_f, h5oincr_refcount_f, h5oopen_by_idx_f,
+ h5oset_comment_f, h5oset_comment_by_name_f, h5oset_comment_by_name_f
+
+ F2003: h5oget_info_f, h5oget_info_by_idx_f, h5ovisit_by_name_f
+
+
+ C++ API
+ -------
+ - None
+
+
+Support for New Platforms, Languages, and Compilers
+===================================================
+ - SunOS 5.11 (emu) 32-bit and 64-bit with Sun C/C++ 5.12 compiler and
+ Sun Fortran 95 8.6 compiler.
+ - Visual Studio 2012 w/ Intel Fortran 13 on Windows 7
+ - g95 released new version recently and is tested in this release.
+
+Bug Fixes since HDF5-1.8.10
+==========================
+
+ Configuration
+ -------------
+ - Fixed Thread-safe configure failure for the AIX platform.
+ (AKC - 2013/04/19 HDFFV-8390)
+ - Configure will check the result of header searches before searching for
+ the library.
+ Fixes HDFFV-8257 (ADB 2013/03/04)
+ - HDF does not support building SHARED Fortran libraries on OSX. Added
+ CMake code to check for this condition.
+ Fixes HDFFV-8227 (ADB 2013/03/04)
+ - CMake builds on Windows will no longer use legacy naming for libraries.
+ The "dll" tag will no longer be added to the name of *.lib and *.dll.
+ The option HDF_LEGACY_NAMING is now OFF by default.
+ Fixes HDFFV-8292 (ADB 2013/01/30)
+
+ Library
+ -------
+ - The library now behaves correctly when performing large I/O operations
+ on Mac OS-X. Previously, single I/O operations > 2 GB would fail
+ since the Darwin read/write calls cannot handle the number of bytes
+ that their parameter types imply.
+ Fixes HDFFV-7975 and HDFFV-8240 (DER 2013/01/07)
+ - Fixed a bug in the core VFD that causes failures when opening files
+ > 2 GB.
+ Fixes HDFFV-8124 and HDFFV-8158 (DER 2013/01/07)
+ - Fixed a bug where unintialized memory was read during variable-length
+ type conversion. This caused segfaults in netCDF. Fixes HDFFV-8159.
+ (DER 2013/03/30)
+ - Removed the H5Pset/get_dxpl_multi functions from the library. The
+ intended functionality for them was never fully implemented, and they
+ have always been fundamentally broken. NOTE: This does not affect
+ setting the multi VFD or any expected VFD functionality. Multi VFD
+ usage remains unchanged.
+ Fixes HDFFV-8296. (DER 2013/03/30)
+
+ Parallel Library
+ ----------------
+ - None
+
+ Performance
+ -------------
+ - None
+
+ Tools
+ -----
+ - h5redeploy is changed to do this by default:
+ Installation directories:
+ prefix architecture-independent files.
+ exec_prefix architecture-dependent files, default is <prefix>.
+ libdir libraries, default is <exec_prefix>/lib.
+ includedir header files, default is <prefix/include>.
+ This allows users to just change the first line of prefix=<...> and the
+ effect will change libdir and includedir too. (AKC 2013/04/05 HDFFV-8358)
+ - h5repack: Fixed failure to convert the layout of a small chunked
+ dataset (size < 1K) to contiguous layout. HDFFV-8214 (JKM 2013/03/26)
+ - h5dump: Fixed displaying compression ratio for unknown or user-defined
+ filters. HDFFV-8344 (XCAO 2013/03/19)
+ - h5dump: Changed UNKNOWN_FILTER to USER_DEFINED_FILTER for user defined
+ filter. HDFFV-8346 (XCAO 2013/03/19)
+ - h5diff: Fixed to return the correct exit code 1 when the program
+ detects a unique extra attribute. Prior to this fix, h5diff returned
+ exit code 0 indicating the two files are identical.
+ HDFFV-7643 (JKM 2013/02/15)
+ - h5dump: Fixed writing nulls to a binary file when exporting a dataset
+ with compound string datatype. HDFFV-8169 (ADB 2013/1/31)
+ - The following h5stat test case failed in BG/P machines (and potentially
+ other machines that display extra output if an MPI task returns with a
+ non-zero code.)
+ Testing h5stat notexist.h5
+ The test script was fixed to ignore the extra output. HDFFV-8233
+ (AKC - 2012/11/30)
+ - h5diff: Improved speed when comparing HDF5 files with lots of
+ attributes. Much slower performance was identified with release versions
+ from 1.8.7 to 1.8.10 compared to 1.8.6. (JKM 2012/10/19)
+
+ F90 API
+ -------
+ - The integer type of the 'offset' argument in h5pset_external_f and
+ h5pget_external_f was changed to INTEGER(KIND=OFF_T) to support 8-byte
+ integers, matching the C type definition of off_t. (MSB - 2013/3/23)
+ - h5fc updated to recognize .f95, .f03 and .f08 file extensions.
+
+ C++ API
+ ------
+ - The C++ wrappers DSetMemXferPropList::setMulti/getMulti were removed
+ because the C functions H5Pset/get_dxpl_multi functions are removed
+ from the library. Fixes HDFFV-8296 by DER. (BMR 2013/03/30)
+ - An exception thrown by an internal function was not propagating to the
+ test program during stack unwinding, so it couldn't be caught by the
+ test, and the program terminated "without an active exception." It
+ seemed that the problem happened when c_str() was used to generate
+ an equivalent const char* from a std::string and the resulting string
+ was passed to the internal function. As a work-around, we added a
+ try/catch around the the call to the internal function and when the
+ exception is caught there, it is re-thrown. Fixes HDFFV-8067.
+ (BMR 2013/03/30)
+
+ High-Level APIs:
+ ------
+ - Fixed a problem with H5DSget_scale_name including the NULL terminator
+ in the size calculation returned by the function. The API was changed
+ to NOT include the NULL terminator in the size of name returned
+ (MSB- 2013/2/10)
+
+ Fortran High-Level APIs:
+ ------
+ - None
+
+ Testing
+ -------
+ - In some Mac systems, testlibinfo.sh failed with this error:
+ Check file ../src/.libs/libhdf5.7.dylib
+ strings: object: ../src/.libs/libhdf5.7.dylib malformed object \
+ (unknown load command 15)
+ The strings command of Mac systems inspects library files, and older
+ versions of strings may not know newer library formats, resulting
+ in errors. Fixed by sending the library file as stdin to the strings
+ command to avoid this problem. (AKC - 2013/03/08 HDFFV-8305)
+ - Fixed a typo in the ERROR macro in test/testhdf5.h. It segmentation
+ faulted when used before. (AKC - 2013/02/12 HDFFV-8267)
+
+Supported Platforms
+===================
+The following platforms are supported and have been tested for this release.
+They are built with the configure process unless specified otherwise.
+
+ AIX 5.3 xlc 10.1.0.5
+ (NASA G-ADA) xlC 10.1.0.5
+ xlf90 12.1.0.6
+
+ Linux 2.6.18-308.13.1.el5PAE GNU C (gcc), Fortran (gfortran), C++ (g++)
+ #1 SMP i686 i686 i386 compilers for 32-bit applications;
+ (jam) Version 4.1.2 20080704 (Red Hat 4.1.2-54)
+ Version 4.6.3
+ PGI C, Fortran, C++ Compilers for 32-bit
+ applications;
+ Version 11.9-0
+ Version 12.5-0
+ Intel(R) C, C++, Fortran Compiler for 32-bit
+ applications;
+ Version 12.1 (Build 20110811)
+ Version 12.1 (Build 20120212)
+
+ Linux 2.6.18-308.16.1.el5 GNU C (gcc), Fortran (gfortran), C++ (g++)
+ #1 SMP x86_64 GNU/Linux compilers for 64-bit applications;
+ (koala) Version 4.1.2 20080704 (Red Hat 4.1.2-52)
+ Version 4.6.3
+ PGI C, Fortran, C++ for 64-bit target on
+ x86-64;
+ Version 11.9-0
+ Version 12.5-0
+ Intel(R) C, C++, Fortran Compilers for
+ applications running on Intel(R) 64;
+ Version 12.1 (Build 20110811)
+ Version 12.1 (Build 20120212)
+
+ Linux 2.6.32-358.2.1.el6 GNU C (gcc), Fortran (gfortran), C++ (g++)
+ #1 SMP x86_64 GNU/Linux compilers:
+ (platypus) Version 4.4.7 20120313
+ Intel(R) C (icc), C++ (icpc), Fortran (icc)
+ compilers:
+ Version 12.1 20120212
+
+ Linux 2.6.32-358.2.1.el6.ppc64 gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-3)
+ #1 SMP ppc64 GNU/Linux g++ (GCC) 4.4.7 20120313 (Red Hat 4.4.7-3)
+ (ostrich) GNU Fortran (GCC) 4.4.7 20120313 (Red Hat 4.4.7-3)
+ IBM XL C/C++ V11.1
+ IBM XL Fortran V13.1
+
+ SunOS 5.11 32- and 64-bit Sun C 5.12 SunOS_sparc
+ (emu) Sun Fortran 95 8.6 SunOS_sparc
+ Sun C++ 5.12 SunOS_sparc
+
+ Windows 7 Visual Studio 2008 w/ Intel Fortran 11 (cmake)
+ Visual Studio 2010 w/ Intel Fortran 12 (cmake)
+ Visual Studio 2012 w/ Intel Fortran 13 (cmake)
+ Cygwin(CYGWIN_NT-6.1 1.7.15(0.260/5/3) gcc(4.5.3) compiler and gfortran)
+ (cmake and autotools)
+
+ Windows 7 x64 Visual Studio 2008 w/ Intel Fortran 11 (cmake)
+ Visual Studio 2010 w/ Intel Fortran 12 (cmake)
+ Visual Studio 2012 w/ Intel Fortran 13 (cmake)
+ Cygwin(CYGWIN_NT-6.1 1.7.15(0.260/5/3) gcc(4.5.3) compiler and gfortran)
+ (cmake and autotools)
+
+ Mac OS X Snow Leopard 10.6.8 gcc i686-apple-darwin11-llvm-gcc-4.2 (GCC) 4.2.1 from Xcode 3.2.6
+ Darwin Kernel Version 10.8.0 g++ i686-apple-darwin11-llvm-g++-4.2 (GCC) 4.2.1 from Xcode 3.2.6
+ 64-bit gfortran GNU Fortran (GCC) 4.6.2
+ (fred) Intel C (icc), Fortran (ifort), C++ (icpc)
+ 12.1 Build 20120928
+
+ Mac OS X Lion 10.7.3 Apple clang/clang++ version 3.0 from Xcode 4.6.1
+ 64-bit gfortran GNU Fortran (GCC) 4.6.2
+ (duck) Intel icc/icpc/ifort version 13.0
+
+ Mac OS X Mountain Lion 10.8.1 Apple clang/clang++ version 4.2 from Xcode 4.6.1
+ 64-bit gfortran GNU Fortran (GCC) 4.6.2
+ (wren) Intel icc/icpc/ifort version 13.0.1.119
+
+
+Tested Configuration Features Summary
+=====================================
+
+ In the tables below
+ y = tested
+ n = not tested in this release
+ C = Cluster
+ W = Workstation
+ x = not working in this release
+ dna = does not apply
+ ( ) = footnote appears below second table
+ <blank> = testing incomplete on this feature or platform
+
+Platform C F90/ F90 C++ zlib SZIP
+ parallel F2003 parallel
+Solaris2.11 32-bit n y/y n y y y
+Solaris2.11 64-bit n y/n n y y y
+Windows 7 y y/y n y y y
+Windows 7 x64 y y/y n y y y
+Windows 7 Cygwin n y/n n y y y
+Windows 7 x64 Cygwin n y/n n y y y
+Mac OS X Snow Leopard 10.6.8 64-bit n y/y n y y y
+Mac OS X Lion 10.7.3 64-bit n y/y n y y y
+Mac OS X Mountain Lion 10.8.1 64-bit n y/y n y y y
+AIX 5.3 32- and 64-bit n y/n n y y y
+CentOS 5.9 Linux 2.6.18-308 i686 GNU y y/y y y y y
+CentOS 5.9 Linux 2.6.18-308 i686 Intel n y/y n y y y
+CentOS 5.9 Linux 2.6.18-308 i686 PGI n y/y n y y y
+CentOS 5.9 Linux 2.6.18 x86_64 GNU y y/y y y y y
+CentOS 5.9 Linux 2.6.18 x86_64 Intel n y/y n y y y
+CentOS 5.9 Linux 2.6.18 x86_64 PGI n y/y n y y y
+CentOS 6.4 Linux 2.6.32 x86_64 GNU n y/n n y y y
+CentOS 6.4 Linux 2.6.32 x86_64 Intel n y/y n y y y
+Linux 2.6.32-358.2.1.el6.ppc64 n y/n n y y y
+
+
+Platform Shared Shared Shared Thread-
+ C libs F90 libs C++ libs safe
+Solaris2.11 32-bit y y y y
+Solaris2.11 64-bit y y y y
+Windows 7 y y y y
+Windows 7 x64 y y y y
+Windows 7 Cygwin n n n y
+Windows 7 x64 Cygwin n n n y
+Mac OS X Snow Leopard 10.6.8 64-bit y n y n
+Mac OS X Lion 10.7.3 64-bit y n y y
+Mac OS X Mountain Lion 10.8.1 64-bit y n y y
+AIX 5.3 32- and 64-bit y n n y
+CentOS 5.9 Linux 2.6.18-308 i686 GNU y y y y
+CentOS 5.9 Linux 2.6.18-308 i686 Intel y y y n
+CentOS 5.9 Linux 2.6.18-308 i686 PGI y y y n
+CentOS 5.9 Linux 2.6.18 x86_64 GNU y y y y
+CentOS 5.9 Linux 2.6.18 x86_64 Intel y y y n
+CentOS 5.9 Linux 2.6.18 x86_64 PGI y y y n
+CentOS 6.4 Linux 2.6.32 x86_64 GNU y y y n
+CentOS 6.4 Linux 2.6.32 x86_64 Intel y y y n
+Linux 2.6.32-358.2.1.el6.ppc64 y y y n
+
+Compiler versions for each platform are listed in the preceding
+"Supported Platforms" table.
+
+
+More Tested Platforms
+=====================
+The following platforms are not supported but have been tested for this release.
+
+ Linux 2.6.18-308.13.1.el5PAE MPICH mpich2-1.4.1p1 compiled with
+ #1 SMP i686 i686 i386 gcc 4.1.2 and gfortran 4.1.2
+ (jam) g95 (GCC 4.0.3 (g95 0.94!)
+
+ Linux 2.6.18-308.16.1.el5 MPICH mpich2-1.4.1p1 compiled with
+ #1 SMP x86_64 GNU/Linux gcc 4.1.2 and gfortran 4.1.2
+ (koala) g95 (GCC 4.0.3 (g95 0.94!)
+
+ FreeBSD 8.2-STABLE i386 gcc 4.2.1 [FreeBSD] 20070719
+ (loyalty) gcc 4.6.1 20110422
+ g++ 4.6.1 20110422
+ gfortran 4.6.1 20110422
+
+ FreeBSD 8.2-STABLE amd64 gcc 4.2.1 [FreeBSD] 20070719
+ (freedom) gcc 4.6.1 20110422
+ g++ 4.6.1 20110422
+ gfortran 4.6.1 20110422
+
+ Debian6.0.7 2.6.32-5-amd64 #1 SMP x86_64 GNU/Linux
+ gcc (Debian 4.4.5-8) 4.4.5
+ GNU Fortran (Debian 4.4.5-8) 4.4.5
+ (cmake and autotools)
+
+ Fedora18 3.7.9-205.fc18.x86_64 #1 SMP x86_64 x86_64 x86_64 GNU/Linux
+ gcc (GCC) 4.7.2 20121109 (Red Hat 4.7.2-8)
+ GNU Fortran (GCC) 4.7.2 20120507 (Red Hat 4.7.2-8)
+ (cmake and autotools)
+
+ SUSE 12.3 3.7.10-1.1-desktop #1 SMP PREEMPT x86_64 x86_64 x86_64 GNU/Linux
+ gcc (SUSE Linux) 4.7.2
+ GNU Fortran (SUSE Linux) 4.7.2
+ (cmake and autotools)
+
+ Ubuntu 12.10 3.5.0-25-generic #39-Ubuntu SMP x86_64 GNU/Linux
+ gcc (Ubuntu/Linaro 4.7.2-2ubuntu1) 4.7.2
+ GNU Fortran (Ubuntu/Linaro 4.7.2-2ubuntu1) 4.7.2
+ (cmake and autotools)
+
+ Cray Linux Environment (CLE) PrgEnv-pgi/4.0.46
+ hopper.nersc.gov pgcc 12.5-0 64-bit target on x86-64 Linux -tp shanghai
+ pgf90 12.5-0 64-bit target on x86-64 Linux -tp shanghai
+ pgCC 12.5-0 64-bit target on x86-64 Linux -tp shanghai
+
+
+Known Problems
+==============
+
+* When building using the Cray compilers on Cray machines, HDF5
+ configure mistakenly thinks the compiler is an intel compiler and
+ sets the -std=c99 flag which breaks configure on Cray. To build HDF5
+ properly on a Cray machine, please consult with the instructions in
+ INSTALL_parallel for building on Hopper.
+ (MSC - 2013/04/26 - HDFFV-8429)
+
+* The h5dump and h5diff utilities occasionally produce different output
+ between Linux and Windows systems. This is caused by lower-level library
+ routines that fail to write fill values to the user's buffer when reading
+ unallocated chunks from datasets that have a fill value set to
+ H5D_FILL_VALUE_DEFAULT. Due to platform differences the return of
+ spurious data values has only been encountered on Windows 32-bit systems.
+ (Issue HDFFV-8247; JP - 2013/03/27)
+
+* The 5.9 C++ compiler on Sun failed to compile a C++ test ttypes.cpp. It
+ complains with this message:
+ "/home/hdf5/src/H5Vprivate.h", line 130: Error: __func__ is not defined.
+
+ The reason is that __func__ is a predefined identifier in C99 standard. The
+ HDF5 C library uses it in H5private.h. The test ttypes.cpp includes
+ H5private.h (H5Tpkg.h<-H5Fprivate.h<-H5Vprivate.h<-H5private.h). Sun's 5.9
+ C++ compiler doesn't support __func__, thus fails to compile the C++ test.
+ But Sun's 5.11 C++ compiler does. To check whether your Sun C++ compiler
+ knows this identifier, try to compile the following simple C++ program:
+ #include<stdio.h>
+
+ int main(void)
+ {
+ printf("%s\n", __func__);
+ return 0;
+ }
+ (SLU - 2012/11/5)
+
+* The C++ and FORTRAN bindings are not currently working on FreeBSD with the
+ native release 8.2 compilers (4.2.1), but are working with gcc 4.6 from the
+ ports (and probably gcc releases after that).
+ (QAK - 2012/10/19)
+
+* The following h5dump test case fails in BG/P machines (and potentially other
+ machines that use a command script to launch executables):
+
+ h5dump --no-compact-subset -d "AHFINDERDIRECT::ah_centroid_t[0] it=0 tl=0"
+ tno-subset.h5
+
+ This is due to the embedded spaces in the dataset name being interpreted
+ by the command script launcher as meta-characters, thus passing three
+ arguments to h5dump's -d flag. The command passes if run by hand, just
+ not via the test script.
+ (AKC - 2012/05/03)
+
+* On hopper, the build failed when RUNSERIAL and RUNPARALLEL are set
+ to aprun -np X, because the H5lib_settings.c file was not generated
+ properly. Not setting those environment variables works, because
+ configure was able to automatically detect that it's a Cray system
+ and used the proper launch commands when necessary.
+ (MSC - 2012/04/18)
+
+* The data conversion test dt_arith.c fails in "long double" to integer
+ conversion on Ubuntu 11.10 (3.0.0.13 kernel) with GCC 4.6.1 if the library
+ is built with optimization -O3 or -O2. The older GCC (4.5) or newer kernal
+ (3.2.2 on Fedora) doesn't have the problem. Users should lower the
+ optimization level (-O1 or -O0) by defining CFLAGS in the command line of
+ "configure" like:
+
+ CFLAGS=-O1 ./configure
+
+ This will overwrite the library's default optimization level.
+ (SLU - 2012/02/07 - HDFFV-7829)
+ This issue is no longer present on Ubuntu 12.10 (3.5.0 kernel) with
+ gcc 4.7.2.
+
+* The STDIO VFD does not work on some architectures, possibly due to 32/64
+ bit or large file issues. The basic STDIO VFD test is known to fail on
+ 64-bit SunOS 5.10 on SPARC when built with -m64 and 32-bit OS X/Darwin
+ 10.7.0. The STDIO VFD test has been disabled while we investigate and
+ a fix should appear in a future release.
+ (DER - 2011/10/14 - HDFFV-8235)
+
+* h5diff can report inconsistent results when comparing datasets of enum type
+ that contain invalid values. This is due to how enum types are handled in
+ the library and will be addressed in a future release.
+ (DER - 2011/10/14 - HDFFV-7527)
+
+* The links test can fail under the stdio VFD due to some issues with external
+ links. This will be investigated and fixed in a future release.
+ (DER - 2011/10/14 - HDFFV-7768)
+
+* After the shared library support was fixed for some bugs, it was discovered
+ that "make prefix=XXX install" no longer works for shared libraries. It
+ still works correctly for static libraries. Therefore, if you want to
+ install the HDF5 shared libraries in a location such as /usr/local/hdf5,
+ you need to specify the location via the --prefix option during configure
+ time. E.g, ./configure --prefix=/usr/local/hdf5 ...
+ (AKC - 2011/05/07 - HDFFV-7583)
+
+* The parallel test, t_shapesame, in testpar/, may run for a long time and may
+ be terminated by the alarm signal. If that happens, one can increase the
+ alarm seconds (default is 1200 seconds = 20 minutes) by setting the
+ environment variable, $HDF5_ALARM_SECONDS, to a larger value such as 3600
+ (60 minutes). Note that the t_shapesame test may fail in some systems
+ (see the "While working on the 1.8.6 release..." problem below). If
+ it does, it will waste more time if $HDF5_ALARM_SECONDS is set
+ to a larger value.
+ (AKC - 2011/05/07)
+
+* The C++ and FORTRAN bindings are not currently working on FreeBSD.
+ (QAK - 2011/04/26)
+
+* Shared Fortran libraries are not quite working on AIX. While they are
+ generated when --enable-shared is specified, the fortran and hl/fortran
+ tests fail. We are looking into the issue. HL and C++ shared libraries
+ should now be working as intended, however.
+ (MAM - 2011/04/20)
+
+* The --with-mpe configure option does not work with Mpich2.
+ (AKC - 2011/03/10)
+
+* While working on the 1.8.6 release of HDF5, a bug was discovered that can
+ occur when reading from a dataset in parallel shortly after it has been
+ written to collectively. The issue was exposed by a new test in the parallel
+ HDF5 test suite, but had existed before that. We believe the problem lies with
+ certain MPI implementations and/or file systems.
+
+ We have provided a pure MPI test program, as well as a standalone HDF5
+ program, that can be used to determine if this is an issue on your system.
+ They should be run across multiple nodes with a varying number of processes.
+ These programs can be found at:
+ http://www.hdfgroup.org/ftp/HDF5/examples/known_problems/
+ (NAF - 2011/01/19)
+
+* The library's test dt_arith.c showed a compiler's rounding problem on
+ Cygwin when converting from unsigned long long to long double. The
+ library's own conversion works fine. We defined a macro for Cygwin to
+ skip this test until we can solve the problem.
+ (SLU - 2010/05/05 - HDFFV-1264)
+
+* All the VFL drivers aren't backward compatible. In H5FDpublic.h, the
+ structure H5FD_class_t changed in 1.8. There is new parameter added to
+ get_eoa and set_eoa callback functions. A new callback function
+ get_type_map was added in. The public function H5FDrealloc was taken
+ out in 1.8. The problem only happens when users define their own driver
+ for 1.6 and try to plug in 1.8 library. Because there's only one user
+ complaining about it, we (Elena, Quincey, and I) decided to leave it as
+ it is (see bug report #1279). Quincey will make a plan for 1.10.
+ (SLU - 2010/02/02)
+
+* The --enable-static-exec configure flag will only statically link libraries
+ if the static version of that library is present. If only the shared version
+ of a library exists (i.e., most system libraries on Solaris, AIX, and Mac,
+ for example, only have shared versions), the flag should still result in a
+ successful compilation, but note that the installed executables will not be
+ fully static. Thus, the only guarantee on these systems is that the
+ executable is statically linked with just the HDF5 library.
+ (MAM - 2009/11/04)
+
+* Parallel tests failed with 16 processes with data inconsistency at testphdf5
+ / dataset_readAll. Parallel tests also failed with 32 and 64 processes with
+ collective abort of all ranks at t_posix_compliant / allwrite_allread_blocks
+ with MPI IO.
+ (CMC - 2009/04/28)
+
+* On an Intel 64 Linux cluster (RH 4, Linux 2.6.9) with Intel 10.0 compilers,
+ use -mp -O1 compilation flags to build the libraries. A higher level of
+ optimization causes failures in several HDF5 library tests.
+
+* A dataset created or rewritten with a v1.6.3 library or after cannot be read
+ with the v1.6.2 library or before when the Fletcher32 EDC filter is enabled.
+ There was a bug in the calculation of the Fletcher32 checksum in the
+ library before v1.6.3; the checksum value was not consistent between big-
+ endian and little-endian systems. This bug was fixed in Release 1.6.3.
+ However, after fixing the bug, the checksum value was no longer the same as
+ before on little-endian system. Library releases after 1.6.4 can still read
+ datasets created or rewritten with an HDF5 library of v1.6.2 or before.
+ (SLU - 2005/06/30)
+
+
+%%%%1.8.10-patch1%%%%
+
+
+HDF5 version 1.8.10-patch1 released on 2013-01-22
+================================================================================
+
+INTRODUCTION
+============
+
+This document describes the differences between HDF5-1.8.9 and
+HDF5 1.8.10, and contains information on the platforms tested and
+known problems in HDF5-1.8.10.
+For more details, see the files HISTORY-1_0-1_8_0_rc3.txt
+and HISTORY-1_8.txt in the release_docs/ directory of the HDF5 source.
+
+Links to the HDF5 1.8.10 source code, documentation, and additional materials
+can be found on the HDF5 web page at:
+
+ http://www.hdfgroup.org/products/hdf5/
+
+The HDF5 1.8.10 release can be obtained from:
+
+ http://www.hdfgroup.org/HDF5/release/obtain5.html
+
+User documentation for 1.8.10 can be accessed directly at this location:
+
+ http://www.hdfgroup.org/HDF5/doc/
+
+New features in the HDF5-1.8.x release series, including brief general
+descriptions of some new and modified APIs, are described in the "What's New
+in 1.8.0?" document:
+
+ http://www.hdfgroup.org/HDF5/doc/ADGuide/WhatsNew180.html
+
+All new and modified APIs are listed in detail in the "HDF5 Software Changes
+from Release to Release" document, in the section "Release 1.8.10 (current
+release) versus Release 1.8.9":
+
+ http://www.hdfgroup.org/HDF5/doc/ADGuide/Changes.html
+
+If you have any questions or comments, please send them to the HDF Help Desk:
+
+ help@hdfgroup.org
+
+
+CONTENTS
+========
+
+- New Features
+- Support for New Platforms, Languages, and Compilers
+- Bug Fixes since HDF5-1.8.10
+- Bug Fixes since HDF5-1.8.9
+- Supported Platforms
+- Supported Configuration Features Summary
+- More Tested Platforms
+- Known Problems
+
+
+New Features
+============
+
+ Configuration
+ -------------
+ - A new tool, cmakehdf5, which is a build command script similar to
+ buildhdf5 is added and is available in the bin directory.
+ (AKC - 2013/01/21)
+
+ Library
+ -------
+ - Updated to latest autotools and changed all hard *.sh scripts to
+ configure managed *.sh.in files. Removed overloading of autotools
+ TESTS variable by examples and tests. Renamed configure.in to
+ configure.ac. (ADB - 2012/08/23 - HDFFV-8129)
+ - The data sieve buffer size was set for all the datasets in the file. It
+ could waste memory if any dataset size is smaller than the sieve buffer
+ size. Now the library picks the smaller one between the dataset size
+ and the sieve buffer size from the file access property. See Issue 7934.
+ (SLU - 2012/4/11)
+
+ Parallel Library
+ ----------------
+ - Added the H5Pget_mpio_no_collective_cause() function that retrieves
+ reasons why the collective I/O was broken during read/write IO access.
+ (JKM - 2012/08/30 HDFFV-8143)
+
+ - Added H5Pget_mpio_actual_io_mode_f (MSB - 2012/09/27)
+
+ Tools
+ -----
+ - h5import: Changed to allow the use of h5dump output as input files to
+ h5import. h5dump must include the "-p" option to print the properties;
+ configuration file is captured output of h5dump. The restrictions are
+ that only one dataset with a simple datatype (integer, floating-point,
+ or string) can be processed. Integers and floating-point imports from
+ h5dump must use the "binary" option for the data file. The string version
+ uses the h5dump "-y --width=1" options to disable the indexing printouts,
+ print single columns, and obviously NOT use the "binary" option.
+ (ADB - 2012/07/19 HDFFV-721)
+
+ High-Level APIs
+ ---------------
+ - None
+
+ Fortran API
+ -----------
+ - Fixed a typo in return value of the nh5dread_f_c function (was 1
+ instead of 0 on success); fixed the return value to make it consistent
+ with other Fortran functions; cleaned debug statements from the code.
+ (EIP - 2012/06/23)
+
+ C++ API
+ -------
+ - None
+
+
+Support for New Platforms, Languages, and Compilers
+===================================================
+ - None
+
+Bug Fixes since HDF5-1.8.10
+===========================
+ Library
+ -------
+ - The library now behaves correctly when performing large I/O operations on
+ Mac OS-X. Previously, single I/O operations > 2 GB would fail since the
+ Darwin read/write calls cannot handle the number of bytes that their
+ parameter types imply.
+ Fixes HDFFV-7975 and HDFFV-8240 (DER - 07 JAN 2013)
+ - Fixed a bug in the core VFD that cause failures when opening files > 2 GB.
+ Fixes HDFFV-8124 and HDFFV-8158 (DER - 07 JAN 2013)
+
+ Tools
+ -----
+ - The following h5stat test case failed in BG/P machines (and potentially
+ other machines that display extra output if an MPI task returns with a
+ non-zero code.)
+ Testing h5stat notexist.h5
+ The test script was fixed to ignore the extra output.
+ HDFFV-8233 (AKC - 2012/12/17)
+ - h5diff: Fixed slowness when comparing HDF5 files with many attributes.
+ Much slower performance was identified with later release version
+ (from 1.8.7 to 1.8.10) compared to 1.8.6. The issue was introduced
+ from fixing an attribute related bug for 1.8.7 release in the past.
+ HDFFV-8145 (JKM 2012/12/13)
+
+ Testing
+ -------
+ - None
+
+Bug Fixes since HDF5-1.8.9
+==========================
+
+ Configuration
+ -------------
+ - Fixed configure --enable-production to not use -O optimization for Lion
+ and Mountain Lion systems when gcc (i686-apple-darwin11-llvm-gcc-4.2
+ (GCC) 4.2.1) is used. Somehow the -O optimization will cause some of
+ the hard conversion code in test/dt_arith.c to fail. HDFFV-8017.
+ (AKC - 2012/10/10)
+ - Fixed AIX Fortran compiler flags to use appropriate settings for
+ debugging, profiling, and optimization situations. HDFFV-8069.
+ (AKC 2012/09/27)
+
+ Library
+ -------
+ - Fixed a memory leak exposed when inserting/removing a property
+ from a property list several times. HDFFV-8022. (MSC 2012/05/18)
+ - The file_image test will fail in the "initial file image and callbacks in
+ the core VFD" sub-test if the source directory is read-only as the test
+ fails to create its test files in the build directory. This has been
+ fixed. HDFFV-8009 (AKC - 2012/07/06)
+
+
+ Parallel Library
+ ----------------
+ - The MPI-POSIX VFD was updated to include the POSIX and Windows
+ correctness features added that had already been added to the other VFDs.
+ HDFFV-8058/7845. (DER 2012/09/17)
+
+ Performance
+ -------------
+ - Removed program perform/benchpar from the enable-build-all list. The
+ program will be retired or moved to another location. HDFFV-8156
+ (AKC 2012/10/01)
+ - Retired program perform/mpi-perf. Its purpose has been incorporated
+ into h5perf. (AKC 2012/09/21)
+
+ Tools
+ -----
+ - h5repack: "h5repack -f NONE file1.h5 out.h5" command failed if
+ source file contains chunked dataset and a chunk dim is bigger than
+ the dataset dim. Another issue is that the command changed max dims
+ if chunk dim is smaller than the dataset dim. These issue occurred
+ when dataset size is smaller than 64k (compact size limit) Fixed both.
+ HDFFV-8012 (JKM 2012/09/24)
+ - h5diff: Fixed the counter in verbose mode (-v, -r) so that it will no
+ longer add together the differences between datasets and the differences
+ between attributes of those datasets. This change makes the output of
+ verbose mode consistent for datasets, groups, and committed datatypes.
+ HDFFV-5919 (JKM 2012/09/10)
+ - h5diff: Fixed the incorrect result when comparing attribute data
+ values and the data type has the same class but different sizes.
+ HDFFV-7942 (JKM 2012/08/15)
+ - h5dump: Replaced single element fwrite with block writes.
+ HDFFV-1208 (ADB 2012/08/13)
+ - h5diff: Fixed test failure for "make check" due to failure of
+ copying test files when performed in HDF5 source tree. Also applied
+ to other tools. HDFFV-8107 (JKM 2012/08/01)
+ - ph5diff: Fixed intermittent hang issue on a certain operation in
+ parallel mode. It was detected by daily test for comparing
+ non-comparable objects, but it could have occurred in other
+ operations depending on machine condition. HDFFV-8003 (JKM 2012/08/01)
+ - h5diff: Fixed the function COPY_TESTFILES_TO_TESTDIR() of testh5diff.sh
+ to better report when there is an error in the file copying.
+ HDFFV-8105 (AKC 2012/07/22)
+ - h5dump: Fixed the sort by name display to maintain correct parent/child
+ relationships between ascending/descending order.
+ HDFFV-8095 (ADB 2012/07/12)
+ - h5dump: Fixed the display by creation order when using option -n
+ (print contents).
+ HDFFV-5942 (ADB 2012/07/09)
+ - h5dump: Changed to allow H5T_CSET_UTF8 to be displayed in h5dump output.
+ Used technique similar to what was done in h5ls (matches library
+ options).
+ HDFFV-7999 (ADB 2012/05/23)
+ - h5diff: Fixed the tool so that it will not check and display the status
+ of dangling links without setting the --follow-symlinks option. This
+ also improved performance when comparing lots of external links without
+ the --follow-symlinks option.
+ HDFFV-7998 (JKM 2012/04/26)
+
+ F90 API
+ -------
+
+ - Fixed a typo in return value of the nh5dread_f_c function (was 1
+ instead of 0 on success); fixed the return value to make it consistent
+ with other Fortran functions; cleaned debug statements from the code.
+ (EIP - 2012/06/23)
+
+ - Fixed a problem writing/reading control characters to a dataset; writing
+ a string containing alerts, backspace, carriage_return, form_feed,
+ horizontal_tab, vertical_tab, or new_line is now tested and working.
+ (MSB - 2012/09/01)
+
+ - Corrected the integer type of H5S_UNLIMITED_F to HSIZE_T (MSB - 2012/09/01)
+
+ - Corrected the number of continuation lines in the src files
+ to be less than 32 lines for F95 compliance. (MSB - 2012/10/01)
+
+ C++ API
+ ------
+ - None
+
+ High-Level APIs:
+ ------
+
+ - Fixed problem with H5TBdelete_record destroying all data following the
+ deletion of a row. (MSB- 2012/7/26)
+
+ - Fixed H5LTget_attribute_string not closing an object identifier when an
+ error occurs. (MSB- 2012/7/21)
+
+ - Corrected the return type of H5TBAget_fill from herr_t to htri_t to
+ reflect that a return value of 1 indicates that a fill value is
+ present, 0 indicates a fill value is not present, and <0 indicates an
+ error.
+
+ Fortran High-Level APIs:
+ ------
+ - None
+
+Supported Platforms
+===================
+ AIX 5.3 xlc 10.1.0.5
+ (NASA G-ADA) xlC 10.1.0.5
+ xlf90 12.1.0.6
+
+ Linux 2.6.18-308.13.1.el5PAE GNU C (gcc), Fortran (gfortran), C++ (g++)
+ #1 SMP i686 i686 i386 compilers for 32-bit applications;
+ (jam) Version 4.1.2 20080704 (Red Hat 4.1.2-52)
+ Version 4.6.3
+ PGI C, Fortran, C++ Compilers for 32-bit
+ applications;
+ Version 11.9-0
+ Intel(R) C, C++, Fortran Compiler for 32-bit
+ applications;
+ Version 12.1
+ MPICH mpich2-1.4.1p1 compiled with
+ gcc 4.1.2 and gfortran 4.1.2
+
+ Linux 2.6.18-308.16.1.el5 GNU C (gcc), Fortran (gfortran), C++ (g++)
+ #1 SMP x86_64 GNU/Linux compilers for 32-bit applications;
+ (koala) Version 4.1.2 20080704 (Red Hat 4.1.2-52)
+ Version 4.6.3
+ PGI C, Fortran, C++ for 64-bit target on
+ x86-64;
+ Version 11.9-0
+ Version 12.5-0
+ Intel(R) C, C++, Fortran Compilers for
+ applications running on Intel(R) 64;
+ Version 12.1 (Build 20110811)
+ Version 12.1 (Build 20120212)
+ MPICH mpich2-1.4.1p1 compiled with
+ gcc 4.1.2 and gfortran 4.1.2
+
+ Linux 2.6.32-220.7.1.el6.ppc64 gcc (GCC) 4.4.6 20110731 (Red Hat 4.4.6-3)
+ #1 SMP ppc64 GNU/Linux g++ (GCC) 4.4.6 20110731
+ (ostrich) GNU Fortran (GCC) 4.4.6 20110731 (Red Hat 4.4.6-3)
+
+ Linux 2.6.32-220.23.1.1chaos Intel C, C++, Fortran Compilers
+ ch5.x86_64 GNU/Linux Version 12.1.5.339
+ (LLNL Aztec)
+
+ IBM Blue Gene/P XL C for Blue Gene/P, bgxlc V9.0
+ (LLNL uDawn) XL C++ for Blue Gene/P, bgxlC V9.0
+ XL Fortran for Blue Gene/P, bgxlf90 V11.1
+
+ SunOS 5.10 32- and 64-bit Sun C 5.9 Sun OS_sparc Patch 124867-16
+ (linew) Sun Fortran 95 8.3 Sun OS_sparc Patch 127000-13
+ Sun C++ 5.9 Sun OS_sparc Patch 124863-26
+ Sun C 5.11 SunOS_sparc
+ Sun Fortran 95 8.5 SunOS_sparc
+ Sun C++ 5.11 SunOS_sparc
+
+ Windows XP Visual Studio 2008 w/ Intel Fortran 10.1 (project files)
+
+ Windows XP x64 Visual Studio 2008 w/ Intel Fortran 10.1 (project files)
+
+ Windows 7 Visual Studio 2008 w/ Intel Fortran 11.1 (cmake)
+ Visual Studio 2010 w/ Intel Fortran 12 (cmake)
+ Cygwin(CYGWIN_NT-6.1 1.7.15(0.260/5/3) gcc(4.5.3) compiler and gfortran)
+ (cmake and autotools)
+
+ Windows 7 x64 Visual Studio 2008 w/ Intel Fortran 11.1 (cmake)
+ Visual Studio 2010 w/ Intel Fortran 12 (cmake)
+ Cygwin(CYGWIN_NT-6.1 1.7.15(0.260/5/3) gcc(4.5.3) compiler and gfortran)
+ (cmake and autotools)
+
+ Mac OS X Snow Leopard 10.6.8 gcc i686-apple-darwin11-llvm-gcc-4.2 (GCC) 4.2.1 from Xcode 3.2.6
+ Darwin Kernel Version 10.8.0 g++ i686-apple-darwin11-llvm-g++-4.2 (GCC) 4.2.1 from Xcode 3.2.6
+ (fred) gfortran GNU Fortran (GCC) 4.6.2
+ Intel C (icc), Fortran (ifort), C++ (icpc)
+ 12.1.0.038 Build 20110811
+
+ Mac OS X Snow Leopard 10.6.8 gcc i686-apple-darwin11-llvm-gcc-4.2 (GCC) 4.2.1 from Xcode 3.2.6
+ Darwin Kernel Version 10.8.0 g++ i686-apple-darwin11-llvm-g++-4.2 (GCC) 4.2.1 from Xcode 3.2.6
+ Intel 32-bit gfortran GNU Fortran (GCC) 4.6.1
+ (tejeda) Intel C (icc), Fortran (ifort), C++ (icpc)
+ 12.1.0.038 Build 20110811
+
+ Mac OS X Lion 10.7.3 gcc i686-apple-darwin11-llvm-gcc-4.2 (GCC) 4.2.1 from Xcode 4.2.1
+ 32- and 64-bit g++ i686-apple-darwin11-llvm-g++-4.2 (GCC) 4.2.1 from Xcode 4.2.1
+ (duck) gfortran GNU Fortran (GCC) 4.6.2
+
+ Mac OS X Mountain Lion 10.8.1 cc Apple clang version 4.0 from Xcode 4.5.1
+ (owl) c++ Apple clang version 4.0 from Xcode 4.5.1
+ gcc i686-apple-darwin11-llvm-gcc-4.2 (GCC) 4.2.1 from Xcode 4.5.1
+ g++ i686-apple-darwin11-llvm-g++-4.2 (GCC) 4.2.1 from Xcode 4.5.1
+ gfortran GNU Fortran (GCC) 4.6.2
+
+
+Tested Configuration Features Summary
+=====================================
+
+ In the tables below
+ y = tested
+ n = not tested in this release
+ C = Cluster
+ W = Workstation
+ x = not working in this release
+ dna = does not apply
+ ( ) = footnote appears below second table
+ <blank> = testing incomplete on this feature or platform
+
+Platform C F90/ F90 C++ zlib SZIP
+ parallel F2003 parallel
+Solaris2.10 32-bit n y/y n y y y
+Solaris2.10 64-bit n y/n n y y y
+Windows 7 y y/n n y y y
+Windows 7 x64 y y/n n y y y
+Mac OS X Snow Leopard 10.6.8 32-bit n y/y n y y n
+Mac OS X Snow Leopard 10.6.8 64-bit n y/y n y y y
+Mac OS X Lion 10.7.3 32-bit n y/y n y y n
+Mac OS X Lion 10.7.3 64-bit n y/y n y y y
+Mac OS X Mountain Lion 10.8.1 64-bit n y/n n y y n
+AIX 5.3 32- and 64-bit y y/n y y y y
+CentOS 5.5 Linux 2.6.18-308 i686 GNU y y/y y y y y
+CentOS 5.5 Linux 2.6.18-308 i686 Intel n y/y n y y y
+CentOS 5.5 Linux 2.6.18-308 i686 PGI n y/y n y y y
+CentOS 5.5 Linux 2.6.18 x86_64 GNU y y/y y y y y
+CentOS 5.5 Linux 2.6.18 x86_64 Intel n y/y n y y y
+CentOS 5.5 Linux 2.6.18 x86_64 PGI n y/y n y y y
+Linux 2.6.32-220.7.1.el6.ppc64 n y/n n y y y
+
+
+Platform Shared Shared Shared Thread-
+ C libs F90 libs C++ libs safe
+Solaris2.10 32-bit y y y y
+Solaris2.10 64-bit n n n n
+Windows 7 y y y y
+Windows 7 x64 y y y y
+Mac OS X Snow Leopard 10.6.8 32-bit y n y n
+Mac OS X Snow Leopard 10.6.8 64-bit y n y n
+Mac OS X Lion 10.7.3 32-bit y n y y
+Mac OS X Lion 10.7.3 64-bit y n y y
+Mac OS X Mountain Lion 10.8.1 64-bit y n y y
+AIX 5.3 32- and 64-bit n n n y
+CentOS 5.5 Linux 2.6.18-308 i686 GNU y y y y
+CentOS 5.5 Linux 2.6.18-308 i686 Intel y y y n
+CentOS 5.5 Linux 2.6.18-308 i686 PGI y y y n
+CentOS 5.5 Linux 2.6.18 x86_64 GNU y y y y
+CentOS 5.5 Linux 2.6.18 x86_64 Intel y y y n
+CentOS 5.5 Linux 2.6.18 x86_64 PGI y y y n
+Linux 2.6.32-220.7.1.el6.ppc64 y y y n
+
+Compiler versions for each platform are listed in the preceding
+"Supported Platforms" table.
+
+
+More Tested Platforms
+=====================
+The following platforms are not supported but have been tested for this release.
+
+ FreeBSD 8.2-STABLE i386 gcc 4.2.1 [FreeBSD] 20070719
+ (loyalty) gcc 4.6.1 20110422
+ g++ 4.6.1 20110422
+ gfortran 4.6.1 20110422
+
+ FreeBSD 8.2-STABLE amd64 gcc 4.2.1 [FreeBSD] 20070719
+ (freedom) gcc 4.6.1 20110422
+ g++ 4.6.1 20110422
+ gfortran 4.6.1 20110422
+
+ Debian6.0.3 2.6.32-5-686 #1 SMP i686 GNU/Linux
+ gcc (Debian 4.4.5-8) 4.4.5
+ GNU Fortran (Debian 4.4.5-8) 4.4.5
+ (cmake and autotools)
+
+ Debian6.0.3 2.6.32-5-amd64 #1 SMP x86_64 GNU/Linux
+ gcc (Debian 4.4.5-8) 4.4.5
+ GNU Fortran (Debian 4.4.5-8) 4.4.5
+ (cmake and autotools)
+
+ Fedora17 3.5.2-1.fc17.i6866 #1 SMP i686 i686 i386 GNU/Linux
+ gcc (GCC) 4.7.0 20120507 (Red Hat 4.7.0-5)
+ GNU Fortran (GCC) 4.7.0 20120507 (Red Hat 4.7.0-5)
+ (cmake and autotools)
+
+ Fedora17 3.5.2-1.fc17.x86_64 #1 SMP x86_64 x86_64 x86_64 GNU/Linux
+ gcc (GCC) 4.7.0 20120507 (Red Hat 4.7.0-5)
+ GNU Fortran (GCC) 4.7.0 20120507 (Red Hat 4.7.0-5)
+ (cmake and autotools)
+
+ SUSE 12.2 3.4.6-2.10-desktop #1 SMP PREEMPT i686 i686 i386 GNU/Linux
+ gcc (SUSE Linux) 4.7.1
+ GNU Fortran (SUSE Linux) 4.7.1
+ (cmake and autotools)
+
+ SUSE 12.2 3.4.6-2.10-desktop #1 SMP PREEMPT x86_64 x86_64 x86_64 GNU/Linux
+ gcc (SUSE Linux) 4.7.1
+ GNU Fortran (SUSE Linux) 4.7.1
+ (cmake and autotools)
+
+ Ubuntu 12.04 3.2.0-29-generic #46-Ubuntu SMP i686 GNU/Linux
+ gcc (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3
+ GNU Fortran (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3
+ (cmake and autotools)
+
+ Ubuntu 12.04 3.2.0-29-generic #46-Ubuntu SMP x86_64 GNU/Linux
+ gcc (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3
+ GNU Fortran (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3
+ (cmake and autotools)
+ (Use optimization level -O1)
+
+ Cray Linux Environment (CLE) PrgEnv-pgi/4.0.46
+ hopper.nersc.gov pgcc 12.5-0 64-bit target on x86-64 Linux -tp shanghai
+ pgf90 12.5-0 64-bit target on x86-64 Linux -tp shanghai
+ pgCC 12.5-0 64-bit target on x86-64 Linux -tp shanghai
+
+
+Known Problems
+==============
+* The C++ and FORTRAN bindings are not currently working on FreeBSD with the
+ native release 8.2 compilers (4.2.1), but are working with gcc 4.6 from the
+ ports (and probably gcc releases after that).
+ (QAK - 2012/10/19)
+
+* The following h5dump test case fails in BG/P machines (and potentially other
+ machines that use a command script to launch executables):
+
+ h5dump --no-compact-subset -d "AHFINDERDIRECT::ah_centroid_t[0] it=0 tl=0"
+ tno-subset.h5
+
+ This is due to the embedded spaces in the dataset name being interpreted
+ by the command script launcher as meta-characters, thus passing three
+ arguments to h5dump's -d flag. The command passes if run by hand, just
+ not via the test script.
+ (AKC - 2012/05/03)
+
+* On hopper, the build failed when RUNSERIAL and RUNPARALLEL are set
+ to aprun -np X, because the H5lib_settings.c file was not generated
+ properly. Not setting those environment variables works, because
+ configure was able to automatically detect that it's a Cray system
+ and used the proper launch commands when necessary.
+ (MSC - 2012/04/18)
+
+* The data conversion test dt_arith.c fails in "long double" to integer
+ conversion on Ubuntu 11.10 (3.0.0.13 kernal) with GCC 4.6.1 if the library
+ is built with optimization -O3 or -O2. The older GCC (4.5) or newer kernal
+ (3.2.2 on Fedora) doesn't have the problem. Users should lower the
+ optimization level (-O1 or -O0) by defining CFLAGS in the command line of
+ "configure" like:
+
+ CFLAGS=-O1 ./configure
+
+ This will overwrite the library's default optimization level.
+ (SLU - 2012/02/07 - HDFFV-7829)
+
+* The STDIO VFD does not work on some architectures, possibly due to 32/64
+ bit or large file issues. The basic STDIO VFD test is known to fail on
+ 64-bit SunOS 5.10 on SPARC when built with -m64 and 32-bit OS X/Darwin
+ 10.7.0. The STDIO VFD test has been disabled while we investigate and
+ a fix should appear in a future release.
+ (DER - 2011/10/14 - HDFFV-8235)
+
+* h5diff can report inconsistent results when comparing datasets of enum type
+ that contain invalid values. This is due to how enum types are handled in
+ the library and will be addressed in a future release.
+ (DER - 2011/10/14 - HDFFV-7527)
+
+* The links test can fail under the stdio VFD due to some issues with external
+ links. This will be investigated and fixed in a future release.
+ (DER - 2011/10/14 - HDFFV-7768)
+
+* After the shared library support was fixed for some bugs, it was discovered
+ that "make prefix=XXX install" no longer works for shared libraries. It
+ still works correctly for static libraries. Therefore, if you want to
+ install the HDF5 shared libraries in a location such as /usr/local/hdf5,
+ you need to specify the location via the --prefix option during configure
+ time. E.g, ./configure --prefix=/usr/local/hdf5 ...
+ (AKC - 2011/05/07 - HDFFV-7583)
+
+* The parallel test, t_shapesame, in testpar/, may run for a long time and may
+ be terminated by the alarm signal. If that happens, one can increase the
+ alarm seconds (default is 1200 seconds = 20 minutes) by setting the
+ environment variable, $HDF5_ALARM_SECONDS, to a larger value such as 3600
+ (60 minutes). Note that the t_shapesame test may fail in some systems
+ (see the "While working on the 1.8.6 release..." problem below). If
+ it does, it will waste more time if $HDF5_ALARM_SECONDS is set
+ to a larger value.
+ (AKC - 2011/05/07)
+
+* The C++ and FORTRAN bindings are not currently working on FreeBSD.
+ (QAK - 2011/04/26)
+
+* Shared Fortran libraries are not quite working on AIX. While they are
+ generated when --enable-shared is specified, the fortran and hl/fortran
+ tests fail. We are looking into the issue. HL and C++ shared libraries
+ should now be working as intended, however.
+ (MAM - 2011/04/20)
+
+* The --with-mpe configure option does not work with Mpich2.
+ (AKC - 2011/03/10)
+
+* While working on the 1.8.6 release of HDF5, a bug was discovered that can
+ occur when reading from a dataset in parallel shortly after it has been
+ written to collectively. The issue was exposed by a new test in the parallel
+ HDF5 test suite, but had existed before that. We believe the problem lies with
+ certain MPI implementations and/or file systems.
+
+ We have provided a pure MPI test program, as well as a standalone HDF5
+ program, that can be used to determine if this is an issue on your system.
+ They should be run across multiple nodes with a varying number of processes.
+ These programs can be found at:
+ http://www.hdfgroup.org/ftp/HDF5/examples/known_problems/
+ (NAF - 2011/01/19)
+
+* The library's test dt_arith.c showed a compiler's rounding problem on
+ Cygwin when converting from unsigned long long to long double. The
+ library's own conversion works fine. We defined a macro for Cygwin to
+ skip this test until we can solve the problem.
+ (SLU - 2010/05/05 - HDFFV-1264)
+
+* All the VFL drivers aren't backward compatible. In H5FDpublic.h, the
+ structure H5FD_class_t changed in 1.8. There is new parameter added to
+ get_eoa and set_eoa callback functions. A new callback function
+ get_type_map was added in. The public function H5FDrealloc was taken
+ out in 1.8. The problem only happens when users define their own driver
+ for 1.6 and try to plug in 1.8 library. Because there's only one user
+ complaining about it, we (Elena, Quincey, and I) decided to leave it as
+ it is (see bug report #1279). Quincey will make a plan for 1.10.
+ (SLU - 2010/02/02)
+
+* The --enable-static-exec configure flag will only statically link libraries
+ if the static version of that library is present. If only the shared version
+ of a library exists (i.e., most system libraries on Solaris, AIX, and Mac,
+ for example, only have shared versions), the flag should still result in a
+ successful compilation, but note that the installed executables will not be
+ fully static. Thus, the only guarantee on these systems is that the
+ executable is statically linked with just the HDF5 library.
+ (MAM - 2009/11/04)
+
+* Parallel tests failed with 16 processes with data inconsistency at testphdf5
+ / dataset_readAll. Parallel tests also failed with 32 and 64 processes with
+ collective abort of all ranks at t_posix_compliant / allwrite_allread_blocks
+ with MPI IO.
+ (CMC - 2009/04/28)
+
+* On an Intel 64 Linux cluster (RH 4, Linux 2.6.9) with Intel 10.0 compilers,
+ use -mp -O1 compilation flags to build the libraries. A higher level of
+ optimization causes failures in several HDF5 library tests.
+
+* A dataset created or rewritten with a v1.6.3 library or after cannot be read
+ with the v1.6.2 library or before when the Fletcher32 EDC filter is enabled.
+ There was a bug in the calculation of the Fletcher32 checksum in the
+ library before v1.6.3; the checksum value was not consistent between big-
+ endian and little-endian systems. This bug was fixed in Release 1.6.3.
+ However, after fixing the bug, the checksum value was no longer the same as
+ before on little-endian system. Library releases after 1.6.4 can still read
+ datasets created or rewritten with an HDF5 library of v1.6.2 or before.
+ (SLU - 2005/06/30)
+
+
+%%%%1.8.10%%%%
+
+
+HDF5 version 1.8.10 released on 2012-10-26
+================================================================================
+
+INTRODUCTION
+============
+
+This document describes the differences between HDF5-1.8.9 and
+HDF5 1.8.10, and contains information on the platforms tested and
+known problems in HDF5-1.8.10.
+For more details, see the files HISTORY-1_0-1_8_0_rc3.txt
+and HISTORY-1_8.txt in the release_docs/ directory of the HDF5 source.
+
+Links to the HDF5 1.8.10 source code, documentation, and additional materials
+can be found on the HDF5 web page at:
+
+ http://www.hdfgroup.org/products/hdf5/
+
+The HDF5 1.8.10 release can be obtained from:
+
+ http://www.hdfgroup.org/HDF5/release/obtain5.html
+
+User documentation for 1.8.10 can be accessed directly at this location:
+
+ http://www.hdfgroup.org/HDF5/doc/
+
+New features in the HDF5-1.8.x release series, including brief general
+descriptions of some new and modified APIs, are described in the "What's New
+in 1.8.0?" document:
+
+ http://www.hdfgroup.org/HDF5/doc/ADGuide/WhatsNew180.html
+
+All new and modified APIs are listed in detail in the "HDF5 Software Changes
+from Release to Release" document, in the section "Release 1.8.10 (current
+release) versus Release 1.8.9":
+
+ http://www.hdfgroup.org/HDF5/doc/ADGuide/Changes.html
+
+If you have any questions or comments, please send them to the HDF Help Desk:
+
+ help@hdfgroup.org
+
+
+CONTENTS
+========
+
+- New Features
+- Support for New Platforms, Languages, and Compilers
+- Bug Fixes since HDF5-1.8.9
+- Supported Platforms
+- Supported Configuration Features Summary
+- More Tested Platforms
+- Known Problems
+
+
+New Features
+============
+
+ Configuration
+ -------------
+ - None
+
+ Library
+ -------
+ - Updated to latest autotools and changed all hard *.sh scripts to
+ configure managed *.sh.in files. Removed overloading of autotools
+ TESTS variable by examples and tests. Renamed configure.in to
+ configure.ac. (ADB - 2012/08/23 - HDFFV-8129)
+ - The data sieve buffer size was set for all the datasets in the file. It
+ could waste memory if any dataset size is smaller than the sieve buffer
+ size. Now the library picks the smaller one between the dataset size
+ and the sieve buffer size from the file access property. See Issue 7934.
+ (SLU - 2012/4/11)
+
+ Parallel Library
+ ----------------
+ - Added the H5Pget_mpio_no_collective_cause() function that retrieves
+ reasons why the collective I/O was broken during read/write IO access.
+ (JKM - 2012/08/30 HDFFV-8143)
+
+ - Added H5Pget_mpio_actual_io_mode_f (MSB - 2012/09/27)
+
+ Tools
+ -----
+ - h5import: Changed to allow the use of h5dump output as input files to
+ h5import. h5dump must include the "-p" option to print the properties;
+ configuration file is captured output of h5dump. The restrictions are
+ that only one dataset with a simple datatype (integer, floating-point,
+ or string) can be processed. Integers and floating-point imports from
+ h5dump must use the "binary" option for the data file. The string version
+ uses the h5dump "-y --width=1" options to disable the indexing printouts,
+ print single columns, and obviously NOT use the "binary" option.
+ (ADB - 2012/07/19 HDFFV-721)
+
+ High-Level APIs
+ ---------------
+ - None
+
+ Fortran API
+ -----------
+ - Fixed a typo in return value of the nh5dread_f_c function (was 1
+ instead of 0 on success); fixed the return value to make it consistent
+ with other Fortran functions; cleaned debug statements from the code.
+ (EIP - 2012/06/23)
+
+ C++ API
+ -------
+ - None
+
+
+Support for New Platforms, Languages, and Compilers
+===================================================
+ - None
+
+Bug Fixes since HDF5-1.8.9
+==========================
+
+ Configuration
+ -------------
+ - Fixed configure --enable-production to not use -O optimization for Lion
+ and Mountain Lion systems when gcc (i686-apple-darwin11-llvm-gcc-4.2
+ (GCC) 4.2.1) is used. Somehow the -O optimization will cause some of
+ the hard conversion code in test/dt_arith.c to fail. HDFFV-8017.
+ (AKC - 2012/10/10)
+ - Fixed AIX Fortran compiler flags to use appropriate settings for
+ debugging, profiling, and optimization situations. HDFFV-8069.
+ (AKC 2012/09/27)
+
+ Library
+ -------
+ - Fixed a memory leak exposed when inserting/removing a property
+ from a property list several times. HDFFV-8022. (MSC 2012/05/18)
+ - The file_image test will fail in the "initial file image and callbacks in
+ the core VFD" sub-test if the source directory is read-only as the test
+ fails to create its test files in the build directory. This has been
+ fixed. HDFFV-8009 (AKC - 2012/07/06)
+
+
+ Parallel Library
+ ----------------
+ - The MPI-POSIX VFD was updated to include the POSIX and Windows
+ correctness features added that had already been added to the other VFDs.
+ HDFFV-8058/7845. (DER 2012/09/17)
+
+ Performance
+ -------------
+ - Removed program perform/benchpar from the enable-build-all list. The
+ program will be retired or moved to another location. HDFFV-8156
+ (AKC 2012/10/01)
+ - Retired program perform/mpi-perf. Its purpose has been incorporated
+ into h5perf. (AKC 2012/09/21)
+
+ Tools
+ -----
+ - h5repack: "h5repack -f NONE file1.h5 out.h5" command failed if
+ source file contains chunked dataset and a chunk dim is bigger than
+ the dataset dim. Another issue is that the command changed max dims
+ if chunk dim is smaller than the dataset dim. These issue occurred
+ when dataset size is smaller than 64k (compact size limit) Fixed both.
+ HDFFV-8012 (JKM 2012/09/24)
+ - h5diff: Fixed the counter in verbose mode (-v, -r) so that it will no
+ longer add together the differences between datasets and the differences
+ between attributes of those datasets. This change makes the output of
+ verbose mode consistent for datasets, groups, and committed datatypes.
+ HDFFV-5919 (JKM 2012/09/10)
+ - h5diff: Fixed the incorrect result when comparing attribute data
+ values and the data type has the same class but different sizes.
+ HDFFV-7942 (JKM 2012/08/15)
+ - h5dump: Replaced single element fwrite with block writes.
+ HDFFV-1208 (ADB 2012/08/13)
+ - h5diff: Fixed test failure for "make check" due to failure of
+ copying test files when performed in HDF5 source tree. Also applied
+ to other tools. HDFFV-8107 (JKM 2012/08/01)
+ - ph5diff: Fixed intermittent hang issue on a certain operation in
+ parallel mode. It was detected by daily test for comparing
+ non-comparable objects, but it could have occurred in other
+ operations depending on machine condition. HDFFV-8003 (JKM 2012/08/01)
+ - h5diff: Fixed the function COPY_TESTFILES_TO_TESTDIR() of testh5diff.sh
+ to better report when there is an error in the file copying.
+ HDFFV-8105 (AKC 2012/07/22)
+ - h5dump: Fixed the sort by name display to maintain correct parent/child
+ relationships between ascending/descending order.
+ HDFFV-8095 (ADB 2012/07/12)
+ - h5dump: Fixed the display by creation order when using option -n
+ (print contents).
+ HDFFV-5942 (ADB 2012/07/09)
+ - h5dump: Changed to allow H5T_CSET_UTF8 to be displayed in h5dump output.
+ Used technique similar to what was done in h5ls (matches library
+ options).
+ HDFFV-7999 (ADB 2012/05/23)
+ - h5diff: Fixed the tool so that it will not check and display the status
+ of dangling links without setting the --follow-symlinks option. This
+ also improved performance when comparing lots of external links without
+ the --follow-symlinks option.
+ HDFFV-7998 (JKM 2012/04/26)
+
+ F90 API
+ -------
+
+ - Fixed a typo in return value of the nh5dread_f_c function (was 1
+ instead of 0 on success); fixed the return value to make it consistent
+ with other Fortran functions; cleaned debug statements from the code.
+ (EIP - 2012/06/23)
+
+ - Fixed a problem writing/reading control characters to a dataset; writing
+ a string containing alerts, backspace, carriage_return, form_feed,
+ horizontal_tab, vertical_tab, or new_line is now tested and working.
+ (MSB - 2012/09/01)
+
+ - Corrected the integer type of H5S_UNLIMITED_F to HSIZE_T (MSB - 2012/09/01)
+
+ - Corrected the number of continuation lines in the src files
+ to be less than 32 lines for F95 compliance. (MSB - 2012/10/01)
+
+ C++ API
+ ------
+ - None
+
+ High-Level APIs:
+ ------
+
+ - Fixed problem with H5TBdelete_record destroying all data following the
+ deletion of a row. (MSB- 2012/7/26)
+
+ - Fixed H5LTget_attribute_string not closing an object identifier when an
+ error occurs. (MSB- 2012/7/21)
+
+ - Corrected the return type of H5TBAget_fill from herr_t to htri_t to
+ reflect that a return value of 1 indicates that a fill value is
+ present, 0 indicates a fill value is not present, and <0 indicates an
+ error.
+
+ Fortran High-Level APIs:
+ ------
+ - None
+
+Supported Platforms
+===================
+ AIX 5.3 xlc 10.1.0.5
+ (NASA G-ADA) xlC 10.1.0.5
+ xlf90 12.1.0.6
+
+ Linux 2.6.18-308.13.1.el5PAE GNU C (gcc), Fortran (gfortran), C++ (g++)
+ #1 SMP i686 i686 i386 compilers for 32-bit applications;
+ (jam) Version 4.1.2 20080704 (Red Hat 4.1.2-52)
+ Version 4.6.3
+ PGI C, Fortran, C++ Compilers for 32-bit
+ applications;
+ Version 11.9-0
+ Intel(R) C, C++, Fortran Compiler for 32-bit
+ applications;
+ Version 12.1
+ MPICH mpich2-1.4.1p1 compiled with
+ gcc 4.1.2 and gfortran 4.1.2
+
+ Linux 2.6.18-308.16.1.el5 GNU C (gcc), Fortran (gfortran), C++ (g++)
+ #1 SMP x86_64 GNU/Linux compilers for 32-bit applications;
+ (koala) Version 4.1.2 20080704 (Red Hat 4.1.2-52)
+ Version 4.6.3
+ PGI C, Fortran, C++ for 64-bit target on
+ x86-64;
+ Version 11.9-0
+ Version 12.5-0
+ Intel(R) C, C++, Fortran Compilers for
+ applications running on Intel(R) 64;
+ Version 12.1 (Build 20110811)
+ Version 12.1 (Build 20120212)
+ MPICH mpich2-1.4.1p1 compiled with
+ gcc 4.1.2 and gfortran 4.1.2
+
+ Linux 2.6.32-220.7.1.el6.ppc64 gcc (GCC) 4.4.6 20110731 (Red Hat 4.4.6-3)
+ #1 SMP ppc64 GNU/Linux g++ (GCC) 4.4.6 20110731
+ (ostrich) GNU Fortran (GCC) 4.4.6 20110731 (Red Hat 4.4.6-3)
+
+ Linux 2.6.32-220.23.1.1chaos Intel C, C++, Fortran Compilers
+ ch5.x86_64 GNU/Linux Version 12.1.5.339
+ (LLNL Aztec)
+
+ IBM Blue Gene/P XL C for Blue Gene/P, bgxlc V9.0
+ (LLNL uDawn) XL C++ for Blue Gene/P, bgxlC V9.0
+ XL Fortran for Blue Gene/P, bgxlf90 V11.1
+
+ SunOS 5.10 32- and 64-bit Sun C 5.9 Sun OS_sparc Patch 124867-16
+ (linew) Sun Fortran 95 8.3 Sun OS_sparc Patch 127000-13
+ Sun C++ 5.9 Sun OS_sparc Patch 124863-26
+ Sun C 5.11 SunOS_sparc
+ Sun Fortran 95 8.5 SunOS_sparc
+ Sun C++ 5.11 SunOS_sparc
+
+ Windows XP Visual Studio 2008 w/ Intel Fortran 10.1 (project files)
+
+ Windows XP x64 Visual Studio 2008 w/ Intel Fortran 10.1 (project files)
+
+ Windows 7 Visual Studio 2008 w/ Intel Fortran 11.1 (cmake)
+ Visual Studio 2010 w/ Intel Fortran 12 (cmake)
+ Cygwin(CYGWIN_NT-6.1 1.7.15(0.260/5/3) gcc(4.5.3) compiler and gfortran)
+ (cmake and autotools)
+
+ Windows 7 x64 Visual Studio 2008 w/ Intel Fortran 11.1 (cmake)
+ Visual Studio 2010 w/ Intel Fortran 12 (cmake)
+ Cygwin(CYGWIN_NT-6.1 1.7.15(0.260/5/3) gcc(4.5.3) compiler and gfortran)
+ (cmake and autotools)
+
+ Mac OS X Snow Leopard 10.6.8 gcc i686-apple-darwin11-llvm-gcc-4.2 (GCC) 4.2.1 from Xcode 3.2.6
+ Darwin Kernel Version 10.8.0 g++ i686-apple-darwin11-llvm-g++-4.2 (GCC) 4.2.1 from Xcode 3.2.6
+ (fred) gfortran GNU Fortran (GCC) 4.6.2
+ Intel C (icc), Fortran (ifort), C++ (icpc)
+ 12.1.0.038 Build 20110811
+
+ Mac OS X Snow Leopard 10.6.8 gcc i686-apple-darwin11-llvm-gcc-4.2 (GCC) 4.2.1 from Xcode 3.2.6
+ Darwin Kernel Version 10.8.0 g++ i686-apple-darwin11-llvm-g++-4.2 (GCC) 4.2.1 from Xcode 3.2.6
+ Intel 32-bit gfortran GNU Fortran (GCC) 4.6.1
+ (tejeda) Intel C (icc), Fortran (ifort), C++ (icpc)
+ 12.1.0.038 Build 20110811
+
+ Mac OS X Lion 10.7.3 gcc i686-apple-darwin11-llvm-gcc-4.2 (GCC) 4.2.1 from Xcode 4.2.1
+ 32- and 64-bit g++ i686-apple-darwin11-llvm-g++-4.2 (GCC) 4.2.1 from Xcode 4.2.1
+ (duck) gfortran GNU Fortran (GCC) 4.6.2
+
+ Mac OS X Mountain Lion 10.8.1 cc Apple clang version 4.0 from Xcode 4.5.1
+ (owl) c++ Apple clang version 4.0 from Xcode 4.5.1
+ gcc i686-apple-darwin11-llvm-gcc-4.2 (GCC) 4.2.1 from Xcode 4.5.1
+ g++ i686-apple-darwin11-llvm-g++-4.2 (GCC) 4.2.1 from Xcode 4.5.1
+ gfortran GNU Fortran (GCC) 4.6.2
+
+
+Tested Configuration Features Summary
+=====================================
+
+ In the tables below
+ y = tested
+ n = not tested in this release
+ C = Cluster
+ W = Workstation
+ x = not working in this release
+ dna = does not apply
+ ( ) = footnote appears below second table
+ <blank> = testing incomplete on this feature or platform
+
+Platform C F90/ F90 C++ zlib SZIP
+ parallel F2003 parallel
+Solaris2.10 32-bit n y/y n y y y
+Solaris2.10 64-bit n y/n n y y y
+Windows 7 y y/n n y y y
+Windows 7 x64 y y/n n y y y
+Mac OS X Snow Leopard 10.6.8 32-bit n y/y n y y n
+Mac OS X Snow Leopard 10.6.8 64-bit n y/y n y y y
+Mac OS X Lion 10.7.3 32-bit n y/y n y y n
+Mac OS X Lion 10.7.3 64-bit n y/y n y y y
+Mac OS X Mountain Lion 10.8.1 64-bit n y/n n y y n
+AIX 5.3 32- and 64-bit y y/n y y y y
+CentOS 5.5 Linux 2.6.18-308 i686 GNU y y/y y y y y
+CentOS 5.5 Linux 2.6.18-308 i686 Intel n y/y n y y y
+CentOS 5.5 Linux 2.6.18-308 i686 PGI n y/y n y y y
+CentOS 5.5 Linux 2.6.18 x86_64 GNU y y/y y y y y
+CentOS 5.5 Linux 2.6.18 x86_64 Intel n y/y n y y y
+CentOS 5.5 Linux 2.6.18 x86_64 PGI n y/y n y y y
+Linux 2.6.32-220.7.1.el6.ppc64 n y/n n y y y
+
+
+Platform Shared Shared Shared Thread-
+ C libs F90 libs C++ libs safe
+Solaris2.10 32-bit y y y y
+Solaris2.10 64-bit n n n n
+Windows 7 y y y y
+Windows 7 x64 y y y y
+Mac OS X Snow Leopard 10.6.8 32-bit y n y n
+Mac OS X Snow Leopard 10.6.8 64-bit y n y n
+Mac OS X Lion 10.7.3 32-bit y n y y
+Mac OS X Lion 10.7.3 64-bit y n y y
+Mac OS X Mountain Lion 10.8.1 64-bit y n y y
+AIX 5.3 32- and 64-bit n n n y
+CentOS 5.5 Linux 2.6.18-308 i686 GNU y y y y
+CentOS 5.5 Linux 2.6.18-308 i686 Intel y y y n
+CentOS 5.5 Linux 2.6.18-308 i686 PGI y y y n
+CentOS 5.5 Linux 2.6.18 x86_64 GNU y y y y
+CentOS 5.5 Linux 2.6.18 x86_64 Intel y y y n
+CentOS 5.5 Linux 2.6.18 x86_64 PGI y y y n
+Linux 2.6.32-220.7.1.el6.ppc64 y y y n
+
+Compiler versions for each platform are listed in the preceding
+"Supported Platforms" table.
+
+
+More Tested Platforms
+=====================
+The following platforms are not supported but have been tested for this release.
+
+ FreeBSD 8.2-STABLE i386 gcc 4.2.1 [FreeBSD] 20070719
+ (loyalty) gcc 4.6.1 20110422
+ g++ 4.6.1 20110422
+ gfortran 4.6.1 20110422
+
+ FreeBSD 8.2-STABLE amd64 gcc 4.2.1 [FreeBSD] 20070719
+ (freedom) gcc 4.6.1 20110422
+ g++ 4.6.1 20110422
+ gfortran 4.6.1 20110422
+
+ Debian6.0.3 2.6.32-5-686 #1 SMP i686 GNU/Linux
+ gcc (Debian 4.4.5-8) 4.4.5
+ GNU Fortran (Debian 4.4.5-8) 4.4.5
+ (cmake and autotools)
+
+ Debian6.0.3 2.6.32-5-amd64 #1 SMP x86_64 GNU/Linux
+ gcc (Debian 4.4.5-8) 4.4.5
+ GNU Fortran (Debian 4.4.5-8) 4.4.5
+ (cmake and autotools)
+
+ Fedora17 3.5.2-1.fc17.i6866 #1 SMP i686 i686 i386 GNU/Linux
+ gcc (GCC) 4.7.0 20120507 (Red Hat 4.7.0-5)
+ GNU Fortran (GCC) 4.7.0 20120507 (Red Hat 4.7.0-5)
+ (cmake and autotools)
+
+ Fedora17 3.5.2-1.fc17.x86_64 #1 SMP x86_64 x86_64 x86_64 GNU/Linux
+ gcc (GCC) 4.7.0 20120507 (Red Hat 4.7.0-5)
+ GNU Fortran (GCC) 4.7.0 20120507 (Red Hat 4.7.0-5)
+ (cmake and autotools)
+
+ SUSE 12.2 3.4.6-2.10-desktop #1 SMP PREEMPT i686 i686 i386 GNU/Linux
+ gcc (SUSE Linux) 4.7.1
+ GNU Fortran (SUSE Linux) 4.7.1
+ (cmake and autotools)
+
+ SUSE 12.2 3.4.6-2.10-desktop #1 SMP PREEMPT x86_64 x86_64 x86_64 GNU/Linux
+ gcc (SUSE Linux) 4.7.1
+ GNU Fortran (SUSE Linux) 4.7.1
+ (cmake and autotools)
+
+ Ubuntu 12.04 3.2.0-29-generic #46-Ubuntu SMP i686 GNU/Linux
+ gcc (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3
+ GNU Fortran (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3
+ (cmake and autotools)
+
+ Ubuntu 12.04 3.2.0-29-generic #46-Ubuntu SMP x86_64 GNU/Linux
+ gcc (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3
+ GNU Fortran (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3
+ (cmake and autotools)
+ (Use optimization level -O1)
+
+ Cray Linux Environment (CLE) PrgEnv-pgi/4.0.46
+ hopper.nersc.gov pgcc 12.5-0 64-bit target on x86-64 Linux -tp shanghai
+ pgf90 12.5-0 64-bit target on x86-64 Linux -tp shanghai
+ pgCC 12.5-0 64-bit target on x86-64 Linux -tp shanghai
+
+
+Known Problems
+==============
+* The following h5stat test case fails in BG/P machines (and potentially other
+ machines that display extra output if an MPI task returns with a non-zero
+ code.)
+ Testing h5stat notexist.h5
+
+ The test actually runs and passes as expected. It is the extra output from
+ the MPI process that causes the test script to fail. This will be fixed
+ in the next release. (AKC - 2012/10/25 - HDFFV-8233)
+
+* The C++ and FORTRAN bindings are not currently working on FreeBSD with the
+ native release 8.2 compilers (4.2.1), but are working with gcc 4.6 from the
+ ports (and probably gcc releases after that).
+ (QAK - 2012/10/19)
+
+* The following h5dump test case fails in BG/P machines (and potentially other
+ machines that use a command script to launch executables):
+
+ h5dump --no-compact-subset -d "AHFINDERDIRECT::ah_centroid_t[0] it=0 tl=0"
+ tno-subset.h5
+
+ This is due to the embedded spaces in the dataset name being interpreted
+ by the command script launcher as meta-characters, thus passing three
+ arguments to h5dump's -d flag. The command passes if run by hand, just
+ not via the test script.
+ (AKC - 2012/05/03)
+
+* On hopper, the build failed when RUNSERIAL and RUNPARALLEL are set
+ to aprun -np X, because the H5lib_settings.c file was not generated
+ properly. Not setting those environment variables works, because
+ configure was able to automatically detect that it's a Cray system
+ and used the proper launch commands when necessary.
+ (MSC - 2012/04/18)
+
+* The data conversion test dt_arith.c fails in "long double" to integer
+ conversion on Ubuntu 11.10 (3.0.0.13 kernal) with GCC 4.6.1 if the library
+ is built with optimization -O3 or -O2. The older GCC (4.5) or newer kernal
+ (3.2.2 on Fedora) doesn't have the problem. Users should lower the
+ optimization level (-O1 or -O0) by defining CFLAGS in the command line of
+ "configure" like:
+
+ CFLAGS=-O1 ./configure
+
+ This will overwrite the library's default optimization level.
+ (SLU - 2012/02/07 - HDFFV-7829)
+
+* The STDIO VFD does not work on some architectures, possibly due to 32/64
+ bit or large file issues. The basic STDIO VFD test is known to fail on
+ 64-bit SunOS 5.10 on SPARC when built with -m64 and 32-bit OS X/Darwin
+ 10.7.0. The STDIO VFD test has been disabled while we investigate and
+ a fix should appear in a future release.
+ (DER - 2011/10/14 - HDFFV-8235)
+
+* h5diff can report inconsistent results when comparing datasets of enum type
+ that contain invalid values. This is due to how enum types are handled in
+ the library and will be addressed in a future release.
+ (DER - 2011/10/14 - HDFFV-7527)
+
+* The links test can fail under the stdio VFD due to some issues with external
+ links. This will be investigated and fixed in a future release.
+ (DER - 2011/10/14 - HDFFV-7768)
+
+* After the shared library support was fixed for some bugs, it was discovered
+ that "make prefix=XXX install" no longer works for shared libraries. It
+ still works correctly for static libraries. Therefore, if you want to
+ install the HDF5 shared libraries in a location such as /usr/local/hdf5,
+ you need to specify the location via the --prefix option during configure
+ time. E.g, ./configure --prefix=/usr/local/hdf5 ...
+ (AKC - 2011/05/07 - HDFFV-7583)
+
+* The parallel test, t_shapesame, in testpar/, may run for a long time and may
+ be terminated by the alarm signal. If that happens, one can increase the
+ alarm seconds (default is 1200 seconds = 20 minutes) by setting the
+ environment variable, $HDF5_ALARM_SECONDS, to a larger value such as 3600
+ (60 minutes). Note that the t_shapesame test may fail in some systems
+ (see the "While working on the 1.8.6 release..." problem below). If
+ it does, it will waste more time if $HDF5_ALARM_SECONDS is set
+ to a larger value.
+ (AKC - 2011/05/07)
+
+* The C++ and FORTRAN bindings are not currently working on FreeBSD.
+ (QAK - 2011/04/26)
+
+* Shared Fortran libraries are not quite working on AIX. While they are
+ generated when --enable-shared is specified, the fortran and hl/fortran
+ tests fail. We are looking into the issue. HL and C++ shared libraries
+ should now be working as intended, however.
+ (MAM - 2011/04/20)
+
+* The --with-mpe configure option does not work with Mpich2.
+ (AKC - 2011/03/10)
+
+* While working on the 1.8.6 release of HDF5, a bug was discovered that can
+ occur when reading from a dataset in parallel shortly after it has been
+ written to collectively. The issue was exposed by a new test in the parallel
+ HDF5 test suite, but had existed before that. We believe the problem lies with
+ certain MPI implementations and/or file systems.
+
+ We have provided a pure MPI test program, as well as a standalone HDF5
+ program, that can be used to determine if this is an issue on your system.
+ They should be run across multiple nodes with a varying number of processes.
+ These programs can be found at:
+ http://www.hdfgroup.org/ftp/HDF5/examples/known_problems/
+ (NAF - 2011/01/19)
+
+* The library's test dt_arith.c showed a compiler's rounding problem on
+ Cygwin when converting from unsigned long long to long double. The
+ library's own conversion works fine. We defined a macro for Cygwin to
+ skip this test until we can solve the problem.
+ (SLU - 2010/05/05 - HDFFV-1264)
+
+* All the VFL drivers aren't backward compatible. In H5FDpublic.h, the
+ structure H5FD_class_t changed in 1.8. There is new parameter added to
+ get_eoa and set_eoa callback functions. A new callback function
+ get_type_map was added in. The public function H5FDrealloc was taken
+ out in 1.8. The problem only happens when users define their own driver
+ for 1.6 and try to plug in 1.8 library. Because there's only one user
+ complaining about it, we (Elena, Quincey, and I) decided to leave it as
+ it is (see bug report #1279). Quincey will make a plan for 1.10.
+ (SLU - 2010/02/02)
+
+* The --enable-static-exec configure flag will only statically link libraries
+ if the static version of that library is present. If only the shared version
+ of a library exists (i.e., most system libraries on Solaris, AIX, and Mac,
+ for example, only have shared versions), the flag should still result in a
+ successful compilation, but note that the installed executables will not be
+ fully static. Thus, the only guarantee on these systems is that the
+ executable is statically linked with just the HDF5 library.
+ (MAM - 2009/11/04)
+
+* Parallel tests failed with 16 processes with data inconsistency at testphdf5
+ / dataset_readAll. Parallel tests also failed with 32 and 64 processes with
+ collective abort of all ranks at t_posix_compliant / allwrite_allread_blocks
+ with MPI IO.
+ (CMC - 2009/04/28)
+
+* On an Intel 64 Linux cluster (RH 4, Linux 2.6.9) with Intel 10.0 compilers,
+ use -mp -O1 compilation flags to build the libraries. A higher level of
+ optimization causes failures in several HDF5 library tests.
+
+* A dataset created or rewritten with a v1.6.3 library or after cannot be read
+ with the v1.6.2 library or before when the Fletcher32 EDC filter is enabled.
+ There was a bug in the calculation of the Fletcher32 checksum in the
+ library before v1.6.3; the checksum value was not consistent between big-
+ endian and little-endian systems. This bug was fixed in Release 1.6.3.
+ However, after fixing the bug, the checksum value was no longer the same as
+ before on little-endian system. Library releases after 1.6.4 can still read
+ datasets created or rewritten with an HDF5 library of v1.6.2 or before.
+ (SLU - 2005/06/30)
+
+
+%%%%1.8.9%%%%
+
+
+HDF5 version 1.8.9 released on 2012-05-09
+================================================================================
+
+INTRODUCTION
+============
+
+This document describes the differences between HDF5-1.8.8 and
+HDF5 1.8.9. It also contains information on the platforms tested and
+known problems in HDF5-1.8.9.
+
+For more details, see the files HISTORY-1_0-1_8_0_rc3.txt
+and HISTORY-1_8.txt in the release_docs/ directory of the HDF5 source.
+
+Links to the HDF5 1.8.9 source code, documentation, and additional materials
+can be found on the HDF5 web page at:
+
+ http://www.hdfgroup.org/products/hdf5/
+
+The HDF5 1.8.9 release can be obtained from:
+
+ http://www.hdfgroup.org/HDF5/release/obtain5.html
+
+User documentation for 1.8.9 can be accessed directly at this location:
+
+ http://www.hdfgroup.org/HDF5/doc/
+
+New features in the HDF5-1.8.x release series, including brief general
+descriptions of some new and modified APIs, are described in the "What's New
+in 1.8.0?" document:
+
+ http://www.hdfgroup.org/HDF5/doc/ADGuide/WhatsNew180.html
+
+All new and modified APIs are listed in detail in the "HDF5 Software Changes
+from Release to Release" document, in the section "Release 1.8.9 (current
+release) versus Release 1.8.8":
+
+ http://www.hdfgroup.org/HDF5/doc/ADGuide/Changes.html
+
+If you have any questions or comments, please send them to the HDF Help Desk:
+
+ help@hdfgroup.org
+
+
+CONTENTS
+========
+
+- New Features
+- Support for New Platforms, Languages, and Compilers
+- Bug Fixes since HDF5-1.8.8
+- Platforms Tested
+- Supported Configuration Features Summary
+- Known Problems
+
+
+New Features
+============
+
+ Configuration
+ -------------
+ - None
+
+ Library
+ -------
+ - Added new feature to merge committed datatypes when copying objects,
+ using new H5O_COPY_MERGE_COMMITTED_DTYPE_FLAG, modified by new API
+ routines: H5Padd_merge_committed_dtype_path(),
+ H5Pfree_merge_committed_dtype_paths(), H5Pset_mcdt_search_cb() and
+ H5Pget_mcdt_search_cb(). (QAK - 2012/03/30)
+ - Added new feature which allows working with files in memory in the
+ same ways files are worked with on disk. New API routines include
+ H5Pset_file_image, H5Pget_file_image, H5Pset_file_image_callbacks,
+ H5Pget_file_image_callbacks, H5Fget_file_image, and
+ H5LTopen_file_image. (QAK - 2012/04/17)
+
+ Parallel Library
+ ----------------
+ - Corrected memory allocation error in MPI datatype construction code.
+ (QAK - 2012/04/23)
+ - Add two new routines to set/get the atomicity parameter in the
+ MPI library to perform atomic operations. Some file systems (for
+ example PVFS2) do not support atomic updates, so those routines
+ would not be supported. (MSC - 2012/03/27 - HDFFV-7961)
+
+ Tools
+ -----
+ - h5repack: Added ability to set the metadata block size of the output
+ file, with the '-M'/'--metadata_block_size' command line parameter.
+ (QAK - 2012/03/30)
+ - h5stat: Added ability to display a summary of the file space usage for a
+ file, with the '-S'/'--summary' command line parameter. (QAK - 2012/03/28)
+ - h5dump: Added capability for "-a" option to show attributes containing "/"
+ by using an escape character. For example, for a dataset "/dset"
+ containing attribute "speed(m/h)", use "h5dump -a "/dset/speed(\/h)"
+ to show the content of the attribute. (PC - 2012/03/12 - HDFFV-7523)
+ - h5dump: Added ability to apply command options across multiple files using a
+ wildcard in the filename. Unix example; "h5dump -H -d Dataset1 tarr*.h5".
+ Cross platform example; "h5dump -H -d Dataset1 tarray1.h5 tarray2.h5 tarray3.h5".
+ (ADB - 2012/03/12 - HDFFV-7876).
+ - h5dump: Added new option --no-compact-subset. This option will not
+ interpret the '[' character as starting the compact form of
+ subsetting. This is useful when the "h5dump error: unable to
+ open dataset "datset_name"" message is output because a dataset
+ name contains a '[' character. (ADB - 2012/03/05 - HDFFV-7689).
+ - h5repack: Improved performance for big chunked datasets (size > 128MB)
+ when used with the layout (-l) or compression (-f) options.
+ Before this change, repacking datasets with chunks with a large first
+ dimension would take extremely long. For example, repacking a dataset
+ with chunk dimensions of 1024x5x1 might take many hours to process
+ while changing a dataset with chunk dimensions set to 1x5x1024
+ might take under an hour. After this change, processing the dataset
+ with chunk dimensions of 1024x5x1 takes about 15 minutes, and processing
+ a dataset with chunk dimensions of 1x5x1024 takes about 14 minutes.
+ (JKM - 2012/03/01 - HDFFV-7862)
+
+ High-Level APIs
+ ---------------
+ - New API: H5LTpath_valid (Fortran: h5ltpath_valid_f) checks
+ if a path is correct, determines if a link resolves to a valid
+ object, and checks that the link does not dangle. (MSB - 2012/03/15)
+
+ Fortran API
+ -----------
+
+ - Added for the C API the Fortran wrapper:
+ h5ocopy_f (MSB - 2012/03/22)
+
+ C++ API
+ -------
+ - None
+
+
+Support for New Platforms, Languages, and Compilers
+===================================================
+ - None
+
+Bug Fixes since HDF5-1.8.8
+==========================
+
+ Configuration
+ -------------
+ - Fixed Makefile issue in which "-Wl," was not properly specified
+ prior to -rpath when building parallel Fortran libraries with
+ an Intel compiler. (MAM - 2012/03/26)
+ - Makefiles generated by other packages using h5cc as the compiler
+ no longer error when 'make' is invoked more than once in order
+ to 'rebuild' after changes to source. (MAM - 2012/03/26)
+ - Added code to display the version information of XL Fortran and C++
+ in the summary of configure. (AKC - 2012/02/28 - HDFFV-7793)
+ - Updated all CMakeLists.txt files to indicate the minimum CMake version is
+ the current standard of 2.8.6 (ADB - 2011/12/05 - HDFFV-7854)
+
+ Library
+ -------
+ - Windows and STDIO correctness changes have been propagated from the SEC2
+ and old Windows drivers to the STDIO VFD. (DER - 2012/03/30 - HDFFV-7917)
+ - Fixed an error that would occur when copying an object with attribute
+ creation order tracked and indexed. (NAF - 2012/03/28 - HDFFV-7762)
+ - Fixed a bug in H5Ocopy(): When copying an opened object, call the
+ object's flush class action to ensure that cached data is flushed so
+ that H5Ocopy will get the correct data. (VC - 2012/03/27 - HDFFV-7853)
+ - The istore test will now skip the sparse 50x50x50 test when the VFD does
+ not support sparse files on that platform. The most important platforms
+ on which this will be skipped are Windows (NTFS sparse files are not
+ supported) and Mac OS-X (HFS sparse files are not supported). This
+ fixes CTest timeout issues on Windows. (DER - 2012/03/27 - HDFFV-7769)
+ - Windows and POSIX correctness changes have been propagated from the SEC2
+ VFD to the Core VFD. This mainly affects file operations on the
+ driver's backing store and fixes a problem on Windows where large files
+ could not be read. (DER - 2012/03/27 - HDFFV-7916 - HDFFV-7603)
+ - When an application tries to write or read many small data chunks and
+ runs out of memory, the library had a segmentation fault. The fix is to
+ return the error stack with proper information.
+ (SLU - 2012/03/23 - HDFFV-7785)
+ - H5Pset_data_transform had a segmentation fault in some cases like x*-100.
+ It works correctly now and handles other cases like 100-x or 2/x.
+ (SLU - 2012/03/15 - HDFFV-7922)
+ - Fixed rare corruption bugs that could occur when using the new object
+ header format. (NAF - 2012/03/15 - HDFFV-7879)
+ - Fixed an error that occurred when creating a contiguous dataset with a
+ zero-sized dataspace and space allocation time set to 'early'.
+ (QAK - 2012/03/12)
+ - Changed Windows thread creation to use _beginthread() instead of
+ CreateThread(). Threads created by the latter can be killed in
+ low-memory situations. (DER - 2012/02/10 - HDFFV-7780)
+ - Creating a dataset in a read-only file caused a segmentation fault when
+ the file is closed. It's fixed. The attempt to create a dataset will
+ fail with an error indicating the file is read-only.
+ (SLU - 2012/01/25 - HDFFV-7756)
+ - Fixed a segmentation fault that could occur when shrinking a dataset
+ with chunks larger than 1 MB. (NAF - 2011/11/30 - HDFFV-7833)
+ - Fixed a bug that could cause H5Oget_info to return the wrong address
+ after copying a committed (named) datatype. (NAF - 2011/11/14)
+ - The library allowed the conversion of strings between ASCII and UTF8
+ We have corrected it to report an error under this situation.
+ (SLU - 2011/11/8 - HDFFV-7582)
+ - Fixed a segmentation fault when the library tried to shrink the size
+ of a compound datatype through H5Tset_size immediately after the
+ datatype was created. (SLU - 2011/11/4 - HDFFV-7618)
+
+ Parallel Library
+ ----------------
+ - None
+
+ Tools
+ -----
+ - h5unjam: Fixed a segmentation fault that occurred when h5unjam was used
+ with the -V (show version) option. (JKM - 2012/04/19 - HDFFV-8001)
+ - h5repack: Fixed a failure that occurred when repacking the chunk size
+ of a specified chunked dataset with unlimited max dims.
+ (JKM - 2012/04/11 - HDFFV-7993)
+ - h5diff: Fixed a failure when comparing groups. Before the fix, if an
+ object in a group was compared with an object in another group where
+ both had the same name but the object type was different, then h5diff
+ would fail. After the fix, h5diff detects such cases as non-comparable
+ and displays appropriate error messages.
+ (JKM - 2012/03/28 - HDFFV-7644)
+ - h5diff: If unique objects exist only in one file and if h5diff is set to
+ exclude the unique objects with the --exclude-path option, then h5diff
+ might miss excluding some objects. This was fixed to correctly exclude
+ objects. (JKM - 2012/03/20 - HDFFV-7837)
+ - h5diff: When two symbolic dangling links are compared with the
+ --follow-symlinks option, the result should be the same. This worked when
+ comparing two files, but didn't work when comparing two objects.
+ h5diff now works when comparing two objects.
+ (JKM - 2012/03/09 - HDFFV-7835)
+ - h5dump: Added the tools library error stack to properly catch error
+ information generated within the library. (ADB - 2012/03/12 - HDFFV-7958)
+ - h5dump: Changed the process where an open link used to fail. Now dangling
+ links no longer throw error messages. (ADB - 2012/03/12 - HDFFV-7839)
+ - h5dump: Refactored code to remove duplicated functions. Split XML
+ functions from DDL functions. Corrected indentation and formatting
+ errors. Also fixed subsetting counting overflow (HDFFV-5874). Verified
+ all tools call tools_init() in main. The USER_BLOCK data now correctly
+ displays within the SUPER_BLOCK info. NOTE: WHITESPACE IN THE OUTPUT
+ HAS CHANGED. (ADB - 2012/02/17 - HDFFV-7560)
+ - h5diff: Fixed to prevent from displaying error stack message when
+ comparing two dangling symbolic links with the follow-symlinks option.
+ (JKM - 2012/01/13 - HDFFV-7836)
+ - h5repack: Fixed a memory leak that occurred with the handling of
+ variable length strings in attributes.
+ (JKM - 2012/01/10 - HDFFV-7840)
+ - h5ls: Fixed a segmentation fault that occurred when accessing region
+ reference data in an attribute. (JKM - 2012/01/06 - HDFFV-7838)
+
+ F90 API
+ -------
+ - None
+
+ C++ API
+ ------
+ - None
+
+ High-Level APIs:
+ ------
+ - None
+
+ Fortran High-Level APIs:
+ ------
+ - h5ltget_attribute_string_f: The h5ltget_attribute_string_f used to return
+ the C NULL character in the returned character buffer. The returned
+ charactor buffer now does not return the C NULL character; the buffer
+ is blank-padded if needed. (MSB - 2012/03/23)
+
+
+Platforms Tested
+================
+The following platforms and compilers have been tested for this release.
+
+ AIX 5.3 xlc 10.1.0.5
+ (NASA G-ADA) xlC 10.1.0.5
+ xlf90 12.1.0.6
+
+ FreeBSD 8.2-STABLE i386 gcc 4.2.1 [FreeBSD] 20070719
+ (loyalty) g++ 4.2.1 [FreeBSD] 20070719
+ gcc 4.6.1 20110422
+ g++ 4.6.1 20110422
+ gfortran 4.6.1 20110422
+
+ FreeBSD 8.2-STABLE amd64 gcc 4.2.1 [FreeBSD] 20070719
+ (freedom) g++ 4.2.1 [FreeBSD] 20070719
+ gcc 4.6.1 20110422
+ g++ 4.6.1 20110422
+ gfortran 4.6.1 20110422
+
+ Linux 2.6.18-194.3.1.el5PAE GNU C (gcc), Fortran (gfortran), C++ (g++)
+ #1 SMP i686 i686 i386 compilers for 32-bit applications;
+ (jam) Version 4.1.2 20080704 (Red Hat 4.1.2-52)
+ Version 4.5.2
+ PGI C, Fortran, C++ Compilers for 32-bit
+ applications;
+ Version 11.8-0
+ Version 11.9-0
+ Intel(R) C, C++, Fortran Compiler for 32-bit
+ applications;
+ Version 12.0
+ Version 12.1
+ MPICH mpich2-1.3.1 compiled with
+ gcc 4.1.2 and gfortran 4.1.2
+
+ Linux 2.6.18-308.1.1.el5 GNU C (gcc), Fortran (gfortran), C++ (g++)
+ #1 SMP x86_64 GNU/Linux compilers for 32-bit applications;
+ (koala) Version 4.1.2 20080704 (Red Hat 4.1.2-52)
+ Version 4.5.2
+ PGI C, Fortran, C++ for 64-bit target on
+ x86-64;
+ Version 11.9-0 (64-bit)
+ Version 11.8-0 (32-bit)
+ Intel(R) C, C++, Fortran Compilers for
+ applications running on Intel(R) 64;
+ Version 12.0
+ Version 12.1
+ MPICH mpich2-1.3.1 compiled with
+ gcc 4.1.2 and gfortran 4.1.2
+
+ Linux 2.6.32-220.7.1.el6.ppc64 gcc (GCC) 4.4.6 20110731 (Red Hat 4.4.6-3)
+ #1 SMP ppc64 GNU/Linux g++ (GCC) 4.4.6 20110731
+ (ostrich) GNU Fortran (GCC) 4.4.6 20110731 (Red Hat 4.4.6-3)
+
+ Linux 2.6.18-108chaos Intel C, C++, Fortran Compilers Version 11.1
+ #1 SMP x86_64 GNU/Linux
+ (LLNL Aztec)
+
+ IBM Blue Gene/P XL C for Blue Gene/P, bgxlc V9.0
+ (LLNL uDawn) XL C++ for Blue Gene/P, bgxlC V9.0
+ XL Fortran for Blue Gene/P, bgxlf0 V11.1
+
+ SunOS 5.10 32- and 64-bit Sun C 5.9 Sun OS_sparc Patch 124867-16
+ (linew) Sun Fortran 95 8.3 Sun OS_sparc Patch 127000-13
+ Sun C++ 5.9 Sun OS_sparc Patch 124863-26
+ Sun C 5.11 SunOS_sparc
+ Sun Fortran 95 8.5 SunOS_sparc
+ Sun C++ 5.11 SunOS_sparc
+
+ SGI Altix UV Intel(R) C, Fortran Compilers
+ SGI ProPack 7 Linux Version 11.1 20100806
+ 2.6.32.24-0.2.1.2230.2.PTF- SGI MPT 2.02
+ default #1 SMP
+ (NCSA ember)
+
+ Dell NVIDIA Cluster Intel(R) C, Fortran Compilers
+ Red Hat Enterprise Linux 6 Version 12.0.4 20110427
+ 2.6.32-131.4.1.el6.x86_64 mvapich2 1.7rc1-intel-12.0.4
+ (NCSA forge)
+
+ Windows XP Visual Studio 2008 w/ Intel Fortran 10.1 (project files)
+ Visual Studio 2008 w/ Intel Fortran 11.1 (cmake)
+ Visual Studio 2010 w/ Intel Fortran 12 (cmake)
+
+ Windows XP x64 Visual Studio 2008 w/ Intel Fortran 10.1 (project files)
+ Visual Studio 2008 w/ Intel Fortran 11.1 (cmake)
+ Visual Studio 2010 w/ Intel Fortran 12 (cmake)
+
+ Windows 7 Visual Studio 2008 w/ Intel Fortran 11.1 (cmake)
+ Visual Studio 2010 w/ Intel Fortran 12 (cmake)
+ Cygwin(1.7.9 native gcc(4.5.3) compiler and gfortran)
+
+ Windows 7 x64 Visual Studio 2008 w/ Intel Fortran 11.1 (cmake)
+ Visual Studio 2010 w/ Intel Fortran 12 (cmake)
+ Cygwin(1.7.9 native gcc(4.5.3) compiler and gfortran)
+
+ Mac OS X Snow Leopard 10.6.8 i686-apple-darwin10-gcc-4.2.1 (GCC) 4.2.1 (gcc)
+ Darwin Kernel Version 10.8.0 i686-apple-darwin10-g++-4.2.1 (GCC) 4.2.1 (g++)
+ Intel 64-bit (Apple Inc. build 5666) (dot 3)
+ (fred) GNU Fortan (GCC) 4.6.1 (gfortran)
+ Intel C (icc), Fortran (ifort), C++ (icpc)
+ 12.1.0.038 Build 20110811
+
+ Mac OS X Snow Leopard 10.6.8 i686-apple-darwin10-gcc-4.2.1 (GCC) 4.2.1 (gcc)
+ Darwin Kernel Version 10.8.0 i686-apple-darwin10-g++-4.2.1 (GCC) 4.2.1 (g++)
+ Intel 32-bit (Apple Inc. build 5666) (dot 3)
+ (tejeda) GNU Fortran (GCC) 4.6.1 (gfortran)
+ Intel C (icc), Fortran (ifort), C++ (icpc)
+ 12.1.0.038 Build 20110811
+
+ Mac OS X Lion 10.7.3 GCC 4.2.1 gcc
+ 32- and 64-bit GNU Fortran (GCC) 4.6.1 gfortran
+ (duck) GCC 4.2.1. g++
+
+ Debian6.0.3 2.6.32-5-686 #1 SMP i686 GNU/Linux
+ gcc (Debian 4.4.5-8) 4.4.5
+ GNU Fortran (Debian 4.4.5-8) 4.4.5
+
+ Debian6.0.3 2.6.32-5-amd64 #1 SMP x86_64 GNU/Linux
+ gcc (Debian 4.4.5-8) 4.4.5
+ GNU Fortran (Debian 4.4.5-8) 4.4.5
+
+ Fedora16 3.2.9-2.fc16.i6866 #1 SMP i686 i686 i386 GNU/Linux
+ gcc (GCC) 4.6.2 20111027 (Red Hat 4.6.2-1)
+ GNU Fortran (GCC) 4.6.2 20111027 (Red Hat 4.6.2-1)
+
+ Fedora16 3.2.9-2.fc16.x86_64 #1 SMP x86_64 x86_64 x86_64 GNU/Linux
+ gcc (GCC) 4.6.2 20111027 (Red Hat 4.6.2-1)
+ GNU Fortran (GCC) 4.6.2 20111027 (Red Hat 4.6.2-1)
+
+ SUSE 12.1 3.1.9-1.4-desktop #1 SMP PREEMPT i686 i686 i386 GNU/Linux
+ gcc (SUSE Linux) 4.6.2
+ GNU Fortran (SUSE Linux) 4.6.2
+
+ SUSE 12.1 3.1.9-1.4-desktop #1 SMP PREEMPT x86_64 x86_64 x86_64 GNU/Linux
+ gcc (SUSE Linux) 4.6.2
+ GNU Fortran (SUSE Linux) 4.6.2
+
+ Ubuntu 11.10 3.0.0-16-generic #29-Ubuntu SMP i686 GNU/Linux
+ gcc (Ubuntu/Linaro 4.6.1-9ubuntu3) 4.6.1
+ GNU Fortran (Ubuntu/Linaro 4.6.4-9ubuntu3) 4.6.1
+
+ Ubuntu 11.10 3.0.0-16-generic #29-Ubuntu SMP x86_64 GNU/Linux
+ gcc (Ubuntu/Linaro 4.6.1-9ubuntu3) 4.6.1
+ GNU Fortran (Ubuntu/Linaro 4.6.1-9ubuntu3) 4.6.1
+
+ Cray Linux Environment (CLE) PrgEnv-pgi 2.2.74
+ hopper.nersc.gov pgcc 11.9-0 64-bit target on x86-64 Linux -tp k8e
+ pgf90 11.9-0 64-bit target on x86-64 Linux -tp k8e
+ pgCC 11.9-0 64-bit target on x86-64 Linux -tp k8e
+
+
+Tested Configuration Features Summary
+=====================================
+
+ In the tables below
+ y = tested
+ n = not tested in this release
+ C = Cluster
+ W = Workstation
+ x = not working in this release
+ dna = does not apply
+ ( ) = footnote appears below second table
+ <blank> = testing incomplete on this feature or platform
+
+Platform C F90 F90 C++ zlib SZIP
+ parallel parallel
+Solaris2.10 32-bit n y n y y y
+Solaris2.10 64-bit n y n y y y
+Windows XP n y(4) n y y y
+Windows XP x64 n y(4) n y y y
+Windows Vista n y(4) n y y y
+Windows Vista x64 n y(4) n y y y
+Mac OS X Snow Leopard 10.6.8 32-bit n y n y y n
+Mac OS X Snow Leopard 10.6.8 64-bit n y n y y y
+Mac OS X Lion 10.7.3 32-bit n y n y y n
+Mac OS X Lion 10.7.3 64-bit n y n y y y
+AIX 5.3 32- and 64-bit y y y y y y
+FreeBSD 8.2-STABLE 32&64 bit n x n x y y
+CentOS 5.5 Linux 2.6.18-194 i686 GNU (1)W y y(2) y y y y
+CentOS 5.5 Linux 2.6.18-194 i686 Intel W n y n y y y
+CentOS 5.5 Linux 2.6.18-194 i686 PGI W n y n y y y
+CentOS 5.5 Linux 2.6.18 x86_64 GNU (1) W y y(3) y y y y
+CentOS 5.5 Linux 2.6.18 x86_64 Intel W n y n y y y
+CentOS 5.5 Linux 2.6.18 x86_64 PGI W n y n y y y
+Linux 2.6.32-220.7.1.el6.ppc64 n y n y y y
+SGI ProPack 7 Linux 2.6.32.24 y y y y y y
+Red Hat Enterprise Linux 6 y y y y y y
+CLE hopper.nersc.gov y y(3) y y y n
+
+
+Platform Shared Shared Shared Thread-
+ C libs F90 libs C++ libs safe
+Solaris2.10 32-bit y y y y
+Solaris2.10 64-bit n n n n
+Windows XP y y(4) y n
+Windows XP x64 y y(4) y n
+Windows Vista y y(4) y y
+Windows Vista x64 y y(4) y y
+Mac OS X Snow Leopard 10.6.8 32-bit y n y n
+Mac OS X Snow Leopard 10.6.8 64-bit y n y n
+Mac OS X Lion 10.7.3 32-bit y n y y
+Mac OS X Lion 10.7.3 64-bit y n y y
+AIX 5.3 32- and 64-bit n n n y
+FreeBSD 8.2-STABLE 32&64 bit y x x y
+CentOS 5.5 Linux 2.6.18-194 i686 GNU (1)W y y(2) y y
+CentOS 5.5 Linux 2.6.18-194 i686 Intel W y y y n
+CentOS 5.5 Linux 2.6.18-194 i686 PGI W y y y n
+CentOS 5.5 Linux 2.6.18 x86_64 GNU (1) W y y y y
+CentOS 5.5 Linux 2.6.18 x86_64 Intel W y y y n
+CentOS 5.5 Linux 2.6.18 x86_64 PGI W y y y n
+Linux 2.6.32-220.7.1.el6.ppc64 y y y n
+SGI ProPack 7 Linux 2.6.32.24 y y y n
+Red Hat Enterprise Linux 6 y y y n
+CLE hopper.nersc.gov n n n n
+
+ (1) Fortran compiled with gfortran.
+ (2) With PGI and Absoft compilers.
+ (3) With PGI compiler for Fortran.
+ (4) Using Visual Studio 2008 w/ Intel Fortran 10.1 (Cygwin shared libraries are not supported)
+ (5) C and C++ shared libraries will not be built when Fortran is enabled.
+ Compiler versions for each platform are listed in the preceding
+ "Platforms Tested" table.
+
+
+Known Problems
+==============
+* The h5repacktst test fails on AIX 32-bit because the test uses more
+ memory than the default amount. The failure message typically looks like:
+
+ "time: 0551-010 The process was stopped abnormally. Try again."
+
+ This is an issue with the test only and does not represent a problem with
+ the library. To allow the test to pass, request more memory when testing
+ via appropriate command such as:
+
+ $ env LDR_CNRTL=MAXDATA=0x20000000@DSA make check
+
+ (AKC - 2012/05/09 - HDFFV-8016)
+
+* The file_image test will fail in the "initial file image and callbacks in
+ the core VFD" sub-test if the source directory is read-only as the test
+ fails to create its test files in the build directory. This will be
+ resolved in a future release.
+ (AKC - 2012/05/05 - HDFFV-8009)
+
+* The dt_arith test reports several errors involving "long double" on
+ Mac OS X 10.7 Lion when any level of optimization is enabled. The test does
+ not fail in debug mode. This will be addressed in a future release.
+ (SLU - 2012/05/08)
+
+* The following h5dump test case fails in BG/P machines (and potentially other
+ machines that use a command script to launch executables):
+
+ h5dump --no-compact-subset -d "AHFINDERDIRECT::ah_centroid_t[0] it=0 tl=0"
+ tno-subset.h5
+
+ This is due to the embedded spaces in the dataset name being interpreted
+ by the command script launcher as meta-characters, thus passing three
+ arguments to h5dump's -d flag. The command passes if run by hand, just
+ not via the test script.
+ (AKC - 2012/05/03)
+
+* The ph5diff (parallel h5diff) tool can intermittently hang in parallel mode
+ when comparing two HDF5 files that contain objects with the same names but
+ with different object types.
+ (JKM - 2012/04/27)
+
+* On hopper, the build failed when RUNSERIAL and RUNPARALLEL are set
+ to aprun -np X, because the H5lib_settings.c file was not generated
+ properly. Not setting those environment variables works, because
+ configure was able to automatically detect that it's a Cray system
+ and used the proper launch commands when necessary.
+ (MSC - 2012/04/18)
+
+* The data conversion test dt_arith.c fails in "long double" to integer
+ conversion on Ubuntu 11.10 (3.0.0.13 kernal) with GCC 4.6.1 if the library
+ is built with optimization -O3 or -O2. The older GCC (4.5) or newer kernal
+ (3.2.2 on Fedora) doesn't have the problem. Users should lower the
+ optimization level (-O1 or -O0) by defining CFLAGS in the command line of
+ "configure" like:
+
+ CFLAGS=-O1 ./configure
+
+ This will overwrite the library's default optimization level.
+ (SLU - 2012/02/07 - HDFFV-7829)
+
+* The STDIO VFD does not work on some architectures, possibly due to 32/64
+ bit or large file issues. The basic STDIO VFD test is known to fail on
+ 64-bit SunOS 5.10 on SPARC when built with -m64 and 32-bit OS X/Darwin
+ 10.7.0. The STDIO VFD test has been disabled while we investigate and
+ a fix should appear in a future release.
+ (DER - 2011/10/14)
+
+* h5diff can report inconsistent results when comparing datasets of enum type
+ that contain invalid values. This is due to how enum types are handled in
+ the library and will be addressed in a future release.
+ (DER - 2011/10/14 - HDFFV-7527)
+
+* The links test can fail under the stdio VFD due to some issues with external
+ links. This will be investigated and fixed in a future release.
+ (DER - 2011/10/14 - HDFFV-7768)
+
+* After the shared library support was fixed for some bugs, it was discovered
+ that "make prefix=XXX install" no longer works for shared libraries. It
+ still works correctly for static libraries. Therefore, if you want to
+ install the HDF5 shared libraries in a location such as /usr/local/hdf5,
+ you need to specify the location via the --prefix option during configure
+ time. E.g, ./configure --prefix=/usr/local/hdf5 ...
+ (AKC - 2011/05/07 - HDFFV-7583)
+
+* The parallel test, t_shapesame, in testpar/, may run for a long time and may
+ be terminated by the alarm signal. If that happens, one can increase the
+ alarm seconds (default is 1200 seconds = 20 minutes) by setting the
+ environment variable, $HDF5_ALARM_SECONDS, to a larger value such as 3600
+ (60 minutes). Note that the t_shapesame test may fail in some systems
+ (see the "While working on the 1.8.6 release..." problem below). If
+ it does, it will waste more time if $HDF5_ALARM_SECONDS is set
+ to a larger value.
+ (AKC - 2011/05/07)
+
+* The C++ and FORTRAN bindings are not currently working on FreeBSD.
+ (QAK - 2011/04/26)
+
+* Shared Fortran libraries are not quite working on AIX. While they are
+ generated when --enable-shared is specified, the fortran and hl/fortran
+ tests fail. We are looking into the issue. HL and C++ shared libraries
+ should now be working as intended, however.
+ (MAM - 2011/04/20)
+
+* The --with-mpe configure option does not work with Mpich2.
+ (AKC - 2011/03/10)
+
+* While working on the 1.8.6 release of HDF5, a bug was discovered that can
+ occur when reading from a dataset in parallel shortly after it has been
+ written to collectively. The issue was exposed by a new test in the parallel
+ HDF5 test suite, but had existed before that. We believe the problem lies with
+ certain MPI implementations and/or file systems.
+
+ We have provided a pure MPI test program, as well as a standalone HDF5
+ program, that can be used to determine if this is an issue on your system.
+ They should be run across multiple nodes with a varying number of processes.
+ These programs can be found at:
+ http://www.hdfgroup.org/ftp/HDF5/examples/known_problems/
+ (NAF - 2011/01/19)
+
+* The library's test dt_arith.c showed a compiler's rounding problem on
+ Cygwin when converting from unsigned long long to long double. The
+ library's own conversion works fine. We defined a macro for Cygwin to
+ skip this test until we can solve the problem.
+ (SLU - 2010/05/05 - HDFFV-1264)
+
+* All the VFL drivers aren't backward compatible. In H5FDpublic.h, the
+ structure H5FD_class_t changed in 1.8. There is new parameter added to
+ get_eoa and set_eoa callback functions. A new callback function
+ get_type_map was added in. The public function H5FDrealloc was taken
+ out in 1.8. The problem only happens when users define their own driver
+ for 1.6 and try to plug in 1.8 library. Because there's only one user
+ complaining about it, we (Elena, Quincey, and I) decided to leave it as
+ it is (see bug report #1279). Quincey will make a plan for 1.10.
+ (SLU - 2010/02/02)
+
+* MinGW has a missing libstdc++.dll.a library file and will not successfully link
+ C++ applications/tests. Do not use the enable-cxx configure option. Read all of
+ the INSTALL_MINGW.txt file for all restrictions.
+ (ADB - 2009/11/11)
+
+* The --enable-static-exec configure flag will only statically link libraries
+ if the static version of that library is present. If only the shared version
+ of a library exists (i.e., most system libraries on Solaris, AIX, and Mac,
+ for example, only have shared versions), the flag should still result in a
+ successful compilation, but note that the installed executables will not be
+ fully static. Thus, the only guarantee on these systems is that the
+ executable is statically linked with just the HDF5 library.
+ (MAM - 2009/11/04)
+
+* The PathScale MPI implementation, accessing a Panasas file system, would
+ cause H5Fcreate() with H5F_ACC_EXCL to fail even when the file does not
+ exist. This is due to the MPI_File_open() call failing if the mode has
+ the MPI_MODE_EXCL bit set.
+ (AKC - 2009/08/11 - HDFFV-988)
+
+* Parallel tests failed with 16 processes with data inconsistency at testphdf5
+ / dataset_readAll. Parallel tests also failed with 32 and 64 processes with
+ collective abort of all ranks at t_posix_compliant / allwrite_allread_blocks
+ with MPI IO.
+ (CMC - 2009/04/28)
+
+* For Red Storm, a Cray XT3 system, the tools/h5ls/testh5ls.sh and
+ tools/h5copy/testh5copy.sh will fail some of its sub-tests. These sub-tests
+ are expected to fail and should exit with a non-zero code but the yod
+ command does not propagate the exit code of the executables. Yod always
+ returns 0 if it can launch the executable. The test suite shell expects
+ a non-zero for this particular test, therefore it concludes the test has
+ failed when it receives 0 from yod. Skip all the "failing" test for now
+ by changing them as following.
+
+ ======== Original tools/h5ls/testh5ls.sh =========
+ TOOLTEST tgroup-1.ls 1 -w80 -r -g tgroup.h5
+ ======== Change to ===============================
+ echo SKIP TOOLTEST tgroup-1.ls 1 -w80 -r -g tgroup.h5
+ ==================================================
+
+ ======== Original tools/h5copy/testh5copy.sh =========
+ TOOLTEST_FAIL -i $TESTFILE -o $FILEOUT -v -s grp_dsets -d grp_rename
+ TOOLTEST_FAIL -i $TESTFILE -o $FILEOUT -v -s grp_dsets -d /grp_rename/grp_dsets
+ TOOLTEST_FAIL -i $TESTFILE -o $FILEOUT -vp -s /grp_dsets -d /E/F/grp_dsets
+ TOOLTEST_FAIL -i $TESTFILE -o $FILEOUT -vp -s /grp_nested -d /G/H/grp_nested
+ H5LSTEST $FILEOUT
+ ======== Change to ===============================
+ echo SKIP TOOLTEST_FAIL -i $TESTFILE -o $FILEOUT -v -s grp_dsets -d grp_rename
+ echo SKIP TOOLTEST_FAIL -i $TESTFILE -o $FILEOUT -v -s grp_dsets -d /grp_rename/grp_dsets
+ echo SKIP TOOLTEST_FAIL -i $TESTFILE -o $FILEOUT -vp -s /grp_dsets -d /E/F/grp_dsets
+ echo SKIP TOOLTEST_FAIL -i $TESTFILE -o $FILEOUT -vp -s /grp_nested -d /G/H/grp_nested
+ echo SKIP H5LSTEST $FILEOUT
+ ==================================================
+ (AKC - 2008/11/10)
+
+* For Red Storm, a Cray XT3 system, the yod command sometimes gives the
+ message, "yod allocation delayed for node recovery". This interferes with
+ test suites that do not expect to see this message. See the section of "Red
+ Storm" in file INSTALL_parallel for a way to deal with this problem.
+ (AKC - 2008/05/28)
+
+* On an Intel 64 Linux cluster (RH 4, Linux 2.6.9) with Intel 10.0 compilers,
+ use -mp -O1 compilation flags to build the libraries. A higher level of
+ optimization causes failures in several HDF5 library tests.
+
+* On mpich 1.2.5 and 1.2.6, if more than two processes contribute no IO and
+ the application asks to do collective IO, we have found that when using 4
+ processors, a simple collective write will sometimes be hung. This can be
+ verified with t_mpi test under testpar.
+
+* A dataset created or rewritten with a v1.6.3 library or after cannot be read
+ with the v1.6.2 library or before when the Fletcher32 EDC filter is enabled.
+ There was a bug in the calculation of the Fletcher32 checksum in the
+ library before v1.6.3; the checksum value was not consistent between big-
+ endian and little-endian systems. This bug was fixed in Release 1.6.3.
+ However, after fixing the bug, the checksum value was no longer the same as
+ before on little-endian system. Library releases after 1.6.4 can still read
+ datasets created or rewritten with an HDF5 library of v1.6.2 or before.
+ (SLU - 2005/06/30)
+
+* On IBM AIX systems, parallel HDF5 mode will fail some tests with error
+ messages like "INFO: 0031-XXX ...". This is from the command `poe'.
+ Set the environment variable MP_INFOLEVEL to 0 to minimize the messages
+ and run the tests again.
+
+ The tests may fail with messages like "The socket name is already in use",
+ but HDF5 does not use sockets. This failure is due to problems with the
+ poe command trying to set up the debug socket. To resolve this problem,
+ check to see whether there are many old /tmp/s.pedb.* files staying around.
+ These are sockets used by the poe command and left behind due to failed
+ commands. First, ask your system administrator to clean them out.
+ Lastly, request IBM to provide a means to run poe without the debug socket.
+ (AKC - 2004/12/08)
+
+
+%%%%1.8.8%%%%
+
+
+HDF5 version 1.8.8 released on 2011-11-15
+================================================================================
+
+INTRODUCTION
+============
+
+This document describes the differences between HDF5-1.8.7 and
+HDF5 1.8.8, and contains information on the platforms tested and
+known problems in HDF5-1.8.8.
+For more details, see the files HISTORY-1_0-1_8_0_rc3.txt
+and HISTORY-1_8.txt in the release_docs/ directory of the HDF5 source.
+
+Links to the HDF5 1.8.8 source code, documentation, and additional materials
+can be found on the HDF5 web page at:
+
+ http://www.hdfgroup.org/products/hdf5/
+
+The HDF5 1.8.8 release can be obtained from:
+
+ http://www.hdfgroup.org/HDF5/release/obtain5.html
+
+User documentation for 1.8.8 can be accessed directly at this location:
+
+ http://www.hdfgroup.org/HDF5/doc/
+
+New features in the HDF5-1.8.x release series, including brief general
+descriptions of some new and modified APIs, are described in the "What's New
+in 1.8.0?" document:
+
+ http://www.hdfgroup.org/HDF5/doc/ADGuide/WhatsNew180.html
+
+All new and modified APIs are listed in detail in the "HDF5 Software Changes
+from Release to Release" document, in the section "Release 1.8.8 (current
+release) versus Release 1.8.7":
+
+ http://www.hdfgroup.org/HDF5/doc/ADGuide/Changes.html
+
+If you have any questions or comments, please send them to the HDF Help Desk:
+
+ help@hdfgroup.org
+
+
+CONTENTS
+========
+
+- New Features
+- Support for New Platforms, Languages, and Compilers
+- Bug Fixes since HDF5-1.8.7
+- Platforms Tested
+- Supported Configuration Features Summary
+- Known Problems
+
+
+New Features
+============
+
+ Configuration
+ -------------
+ - Added the --enable-fortran2003 flag to enable Fortran2003 support
+ in the HDF5 Fortran library. The flag should be used along with the
+ --enable-fortran flag and takes affect only when the Fortran compiler
+ is Fortran2003 compliant. (EIP - 2011/11/14)
+ - Added checks for clock_gettime and mach/mach_time.h to both configure and
+ CMake. This will support the move from gettimeofday to clock_gettime's
+ monotonic timer in the profiling code in a future release.
+ (DER - 2011/10/12)
+
+ Library
+ -------
+ - The Windows VFD code has been removed with the exception of the functions
+ which set it (H5Pset_fapl_windows, for example). Setting the Windows
+ VFD now really sets the SEC2 VFD. The WINDOWS_MAX_BUF and
+ WINDOWS_USE_STDIO configuration options and #defines have also been
+ removed. NOTE: Since the Windows VFD was a clone of the SEC2 VFD, this
+ change should be transparent to users.
+ (DER - 2011/10/12 - HDFFV-7740, HDFFV-7744)
+ - H5Tcreate now supports the string type (fixed-length and variable-
+ length). (SLU - 2011/05/20)
+
+ Parallel Library
+ ----------------
+ - Added new H5Pget_mpio_actual_chunk_opt_mode and
+ H5Pget_mpio_actual_io_mode API routines for querying whether/how
+ a collective I/O operation completed. (QAK - 2011/10/12)
+
+ Tools
+ -----
+ - None
+
+ High-Level APIs
+ ---------------
+ - Added the following Fortran wrappers for the Dimension Scale APIs:
+ h5dsset_scale_f
+ h5dsattach_scale_f
+ h5dsdetach_scale_f
+ h5dsis_attached_f
+ h5dsis_scale_f
+ h5dsset_label_f
+ h5dsget_label_f
+ h5dsget_scale_name_f
+ h5dsget_num_scales_f
+ (EIP for SB - 2011/10/13 - HDFFV-3797)
+
+ Fortran API
+ -----------
+ - The HDF5 Fortran library was enhanced to support the Fortran 2003 standard.
+ The following features are available when the HDF5 library is configured
+ using the --enable-fortran and --enable-fortran2003 configure flags AND
+ if the Fortran compiler is Fortran 2003 compliant:
+
+ - Subroutines overloaded with the C_PTR derived type:
+ h5pget_f
+ h5pget_fill_value_f
+ h5pinsert_f
+ h5pregister_f
+ h5pset_f
+ h5pset_fill_value_f
+ h5rcreate_f
+ h5rderefrence_f
+ h5rget_name_f
+ h5rget_obj_type_f
+ - Subroutines overloaded with the C_PTR derived type
+ and simplified signatures:
+ h5aread_f
+ h5awrite_f
+ h5dread_f
+ h5dwrite_f
+ - New subroutines
+ h5dvlen_reclaim_f
+ h5literate_by_name_f
+ h5literate_f
+ h5ovisit_f
+ h5tconvert_f
+ h5pset_nbit_f
+ h5pset_scaleoffset_f
+ - Subroutines with additional optional parameters:
+ h5pcreate_class_f
+ (EIP - 2011/10/14)
+
+ C++ API
+ -------
+ - None
+
+
+Support for New Platforms, Languages, and Compilers
+===================================================
+ - None
+
+Bug Fixes since HDF5-1.8.7
+==========================
+
+ Configuration
+ -------------
+ - Changed the size of H5_SIZEOF_OFF_T to 4 bytes (was 8) in the VMS
+ h5pubconf.h based on the output of a test program. (DER - 2011/10/12)
+ - The Windows and VMS versions of H5pubconf.h were brought into sync with
+ the linux/posix version. (DER - 2011/10/12)
+ - Fixed a bug in the bin/trace Perl script where API functions
+ that take a variable number of arguments were not processed for
+ trace statement fixup. (DER - 2011/08/25)
+ - The --enable-h5dump-packed-bits configure option has been removed.
+ The h5dump code that this option conditionally enabled is now always
+ compiled into h5dump. Please refer to the h5dump reference manual for
+ usage of the packed bits feature. (MAM - 2011/06/23 - HDFFV-7592)
+ - Configure now uses the same flags and symbols in its tests that are
+ used to build the library. (DER - 2011/05/24)
+
+ Library
+ -------
+ - Corrected the error when copying attributes between files which are using
+ different versions of the file format. (QAK - 2011/10/20 - HDFFV-7718)
+ - Corrected the error when loading local heaps from the file, which could
+ cause the size of the local heap's data block to increase dramatically.
+ (QAK - 2011/10/14 - HDFFV-7767)
+ - An application does not need to do H5O_move_msgs_forward() when writing
+ attributes. Tests were checked into the performance suite.
+ (VC - 2011/10/13 - HDFFV-7640)
+ - Fixed a bug that occurred when using H5Ocopy on a committed datatype
+ containing an attribute using that committed datatype.
+ (NAF - 2011/10/13 - HDFFV-5854)
+ - Added generic VFD I/O types to the SEC2 and log VFDs to ensure correct
+ I/O sizes (and remove compiler warnings) between Windows and true POSIX
+ systems. (DER - 2011/10/12)
+ - Corrected some Windows behavior in the SEC2 and log VFDs. This mainly
+ involved datatype correctness fixes, Windows API call error checks,
+ and adding the volume serial number to the VFD cmp functions.
+ (DER - 2011/10/12)
+ - Converted post-checks for the appropriate POSIX I/O sizes to pre-checks
+ in order to avoid platform-specific or undefined behavior.
+ (DER - 2011/10/12)
+ - #ifdef _WIN32 instances have been changed to #ifdef H5_HAVE_WIN32_API.
+ H5_HAVE_VISUAL_STUDIO checks have been added where necessary. This is in
+ CMake only as configure never sets _WIN32. (ADB - 2011/09/12)
+ - CLANG compiler with the options -fcatch-undefined-behavior and -ftrapv
+ discovered 3 problems in tests and tools' library:
+ 1. In dsets.c, left shifting an unsigned int for 32 bits or more
+ caused undefined behavior.
+ 2. In dt_arith.c, the INIT_INTEGER macro definition has an overflow
+ when the value is a negative minimal and is being subtracted from one.
+ 3. In tools/lib/h5tools_str.c, right shifting an int value for 32 bits
+ or more caused undefined behavior.
+ All the problems have been corrected. (SLU - 2011/09/02 - HDFFV-7674)
+ - H5Epush2() now has the correct trace functionality (this is related to the
+ bin/trace Perl script bug noted in the configure section).
+ (DER - 2011/08/25)
+ - Corrected mismatched function name typo of h5pget_dxpl_mpio_c and
+ h5pfill_value_defined_c. (AKC - 2011/08/22 - HDFFV-7641)
+ - Corrected an internal error in the library where objects that use committed
+ (named) datatypes and were accessed from two different file IDs could confuse
+ the two and cause erroneous failures. (QAK - 2011/07/18 - HDFFV-7638)
+ - In v1.6 of the library, there was an EOA for the whole MULTI file saved in the
+ super block. We took it out in v1.8 of the library because it's meaningless
+ for the MULTI file. v1.8 of the library saves the EOA for the metadata file
+ instead, but this caused a backward compatibility problem.
+ A v1.8 library couldn't open the file created with the v1.6 library. We
+ fixed the problem by checking the EOA value to detect the file
+ created with v1.6 library. (SLU - 2011/06/22)
+ - When a dataset had filters and reading data failed, the error message
+ didn't say which filter wasn't registered. It's fixed now. (SLU - 2011/06/03)
+
+ Parallel Library
+ ----------------
+ - The Special Collective IO (IO when some processes do not contribute to the
+ IO) and the Complex Derived Datatype MPI functionalities are no longer
+ conditionally enabled in the library by configure. They are always
+ enabled in order to take advantage of performance boosts from these
+ behaviors. Older MPI implementations that do not allow for these
+ functionalities can no longer by used by HDF5.
+ (MAM - 2011/07/08 - HDFFV-7639).
+
+ Tools
+ -----
+ - h5diff: fixed segfault over non-comparable attribute with different
+ dimention or rank, along with '-c' option to display details.
+ (JKM - 2011/10/24 - HDFFV-7770)
+ - Fixed h5diff to display all the comparable objects and attributes
+ regardless of detecting non-comparables. (JKM - 2011/09/16 - HDFFV-7693)
+ - Fixed h5repack to update the values of references(object and region) of
+ attributes in h5repack for 1) references, 2) arrays of references,
+ 3) variable-length references, and 4) compound references.
+ (PC - 2011/09/14 - HDFFV-5932)
+ - h5diff: fixed a segfault over a dataset with container types
+ array and variable-length (vlen) along with multiple nested compound types.
+ Example: compound->array->compound, compound->vlen->compound.
+ (JKM - 2011/09/01 - HDFFV-7712)
+ - h5repack: added macro to handle a failure in H5Dread/write when memory
+ allocation failed inside the library. (PC - 2011/08/19)
+ - Fixed h5jam to not to allow the specifying of an HDF5 formatted file as
+ an input file for the -u (user block file) option. The original HDF5 file
+ would not be accessible if this behavior was allowed.
+ (JKM - 2011/08/19 - HDFFV-5941)
+ - Revised the command help pages of h5jam and h5unjam. The descriptions
+ were not up to date and some were missing.
+ (JKM - 2011/08/15 - HDFFV-7515)
+ - Fixed h5dump to correct the schema location:
+ <hdf5:HDF5-File
+ xmlns:hdf5="http://hdfgroup.org/HDF5/XML/schema/HDF5-File"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://hdfgroup.org/HDF5/XML/schema/HDF5-File
+ http://www.hdfgroup.org/HDF5/XML/schema/HDF5-File.xsd">
+ (ADB - 2011/08/10)
+ - h5repack: h5repack failed to copy a dataset if the layout is changed
+ from chunked with unlimited dimensions to contiguous.
+ (PC - 2011/07/15 - HDFFV-7649)
+ - Fixed h5diff: the "--delta" option considers two NaN of the same type
+ are different. This is wrong based on the h5diff description in the
+ Reference Manual. (PC - 2011/07/15 - HDFFV-7656)
+ - Fixed h5diff to display an instructive error message and exit with
+ an instructive error message when mutually exclusive options
+ (-d, -p and --use-system-epsilon) are used together.
+ (JKM - 2011/07/07 - HDFFV-7600)
+ - Fixed h5dump so that it displays the first line of each element in correct
+ position for multiple dimention array types. Before this fix,
+ the first line of each element in an array was
+ displayed after the last line of previous element without
+ moving to the next line (+indentation).
+ (JKM - 2011/06/15 - HDFFV-5878)
+ - Fixed h5dump so that it will display the correct value for
+ H5T_STD_I8LE datasets on the Blue-gene system (ppc64, linux, Big-Endian,
+ clustering). (AKC & JKM - 2011/05/12 - HDFFV-7594)
+ - Fixed h5diff to compare a file to itself correctly. Previously h5diff
+ reported either the files were different or not compatible in certain
+ cases even when comparing a file to itself. This fix also improves
+ performance when comparing the same target objects through verifying
+ the object and file addresses before comparing the details
+ in the objects. Examples of details are datasets and attributes.
+ (XCAO & JKM - 2011/05/06 - HDFFV-5928)
+
+ F90 API
+ -------
+ - Modified the h5open_f and h5close_f subroutines to not to call H5open
+ and H5close correspondingly. While the H5open call just adds overhead,
+ the H5close call called by a Fortran application shuts down the HDF5
+ library. This makes the library inaccessible to the application.
+ (EIP & SB - 2011/10/13 - HDFFV-915)
+ - Fixed h5tget_tag_f where the length of the C string was used to
+ repack the C string into the Fortran string. This lead to memory
+ corruption in the calling program. (SB - 2011/07/26)
+ - Added defined constants:
+ H5T_ORDER_MIXED_F (HDFFV-2767)
+ H5Z_SO_FLOAT_DSCALE_F
+ H5Z_SO_FLOAT_ESCALE_F
+ H5Z_SO_INT_F
+ H5Z_SO_INT_MINBITS_DEFAULT_F
+ H5O_TYPE_UNKNOWN_F
+ H5O_TYPE_GROUP_F
+ H5O_TYPE_DATASET_F
+ H5O_TYPE_NAMED_DATATYPE_F
+ H5O_TYPE_NTYPES_F
+
+ C++ API
+ ------
+ - None
+
+ High-Level APIs:
+ ------
+ - Fixed the H5LTdtype_to_text function. It had some memory problems when
+ dealing with some complicated data types. (SLU - 2011/10/19 - HDFFV-7701)
+ - Fixed H5DSset_label seg faulting when retrieving the length of a
+ dimension label that was not set. (SB - 2011/08/07 - HDFFV-7673)
+ - Fixed a dimension scale bug where if you create a dimscale, attach two
+ datasets to it, and then unattach them, you get an error if they are
+ unattached in order, but no error if you unattach them in reverse order.
+ (SB - 2011/06/07 - HDFFV-7605)
+
+ Fortran High-Level APIs:
+ ------
+ - None
+
+
+Platforms Tested
+================
+The following platforms and compilers have been tested for this release.
+
+ AIX 5.3 xlc 10.1.0.5
+ (NASA G-ADA) xlC 10.1.0.5
+ xlf90 12.1.0.6
+
+ FreeBSD 8.2-STABLE i386 gcc 4.2.1 [FreeBSD] 20070719
+ (loyalty) g++ 4.2.1 [FreeBSD] 20070719
+ gcc 4.6.1 20110422
+ g++ 4.6.1 20110422
+ gfortran 4.6.1 20110422
+
+ FreeBSD 8.2-STABLE amd64 gcc 4.2.1 [FreeBSD] 20070719
+ (freedom) g++ 4.2.1 [FreeBSD] 20070719
+ gcc 4.6.1 20110422
+ g++ 4.6.1 20110422
+ gfortran 4.6.1 20110422
+
+ IBM Blue Gene/P bgxlc 9.0.0.9
+ (LLNL uDawn) bgxlf90 11.1.0.7
+ bgxlC 9.0.0.9
+
+ Linux 2.6.16.60-0.54.5-smp Intel(R) C, C++, Fortran Compilers
+ x86_64 Version 11.1 20090630
+ (INL Icestorm)
+
+ Linux 2.6.18-194.el5 x86_64 Intel(R) C, C++, Fortran Compilers
+ (INL Fission) Version 12.0.2 20110112
+
+ Linux 2.6.18-108chaos x86_64 Intel(R) C, C++, Fortran Compilers
+ (LLNL Aztec) Version 11.1 20090630
+
+ Linux 2.6.18-194.3.1.el5PAE gcc (GCC) 4.1.2 and 4.4.2
+ #1 SMP i686 i686 i386 GNU Fortran (GCC) 4.1.2 20080704
+ (jam) (Red Hat 4.1.2-48) and 4.4.2
+ PGI C, Fortran, C++ 10.4-0 32-bit
+ PGI C, Fortran, C++ 10.6-0 32-bit
+ Intel(R) C Compiler for 32-bit
+ applications, Version 11.1
+ Intel(R) C++ Compiler for 32-bit
+ applications, Version 11.1
+ Intel(R) Fortran Compiler for 32-bit
+ applications, Version 11.1
+ MPICH mpich2-1.3.1 compiled with
+ gcc 4.1.2 and gfortran 4.1.2
+
+ Linux 2.6.18-238.12.1.el5 gcc 4.1.2 and 4.4.2
+ #1 SMP x86_64 GNU/Linux GNU Fortran (GCC) 4.1.2 20080704
+ (koala) (Red Hat 4.1.2-46) and 4.4.2
+ tested for both 32- and 64-bit binaries
+ Intel(R) C, C++, Fortran Compilers for
+ applications running on Intel(R) 64,
+ Version 11.1.
+ PGI C, Fortran, C++ Version 9.0-4
+ for 64-bit target on x86-64
+ MPICH mpich2-1.3.1 compiled with
+ gcc 4.1.2 and gfortran 4.1.2
+
+ SGI Altix UV Intel(R) C, Fortran Compilers
+ SGI ProPack 7 Linux Version 11.1 20100806
+ 2.6.32.24-0.2.1.2230.2.PTF- SGI MPT 2.02
+ default #1 SMP
+ (NCSA ember)
+
+ Dell NVIDIA Cluster Intel(R) C, Fortran Compilers
+ Red Hat Enterprise Linux 6 Version 12.0.4 20110427
+ 2.6.32-131.4.1.el6.x86_64 mvapich2 1.7rc1-intel-12.0.4
+ (NCSA forge)
+
+ SunOS 5.10 32- and 64-bit Sun C 5.11 SunOS_sparc 2010/08/13
+ Sun Fortran 95 8.5 SunOS_sparc 2010/08/13
+ Sun C++ 5.11 SunOS_sparc 2010/08/13
+
+ Windows XP Visual Studio 2008 w/ Intel Fortran 10.1 (project files)
+ Visual Studio 2008 w/ Intel Fortran 11.1 (cmake)
+ Visual Studio 2010 (cmake)
+ Cygwin(1.7.9 native gcc(4.5.3) compiler and gfortran)
+
+ Windows XP x64 Visual Studio 2008 w/ Intel Fortran 10.1 (project files)
+ Visual Studio 2008 w/ Intel Fortran 11.1 (cmake)
+ Visual Studio 2010 (cmake)
+ Cygwin(1.7.9 native gcc(4.5.3) compiler and gfortran)
+
+ Windows Vista Visual Studio 2008 w/ Intel Fortran 11.1 (cmake)
+
+ Windows Vista x64 Visual Studio 2008 w/ Intel Fortran 11.1 (cmake)
+
+ Windows 7 Visual Studio 2008 w/ Intel Fortran 11.1 (cmake)
+
+ Windows 7 x64 Visual Studio 2008 w/ Intel Fortran 11.1 (cmake)
+
+ Mac OS X 10.8.0 (Intel 64-bit) i686-apple-darwin10-gcc-4.2.1 (GCC) 4.2.1 (Apple Inc. build 5666) (dot 3)
+ Darwin Kernel Version 10.8.0 GNU Fortran (GCC) 4.6.1
+ Intel C, C++ and Fortran compilers 12.1.0
+
+ Mac OS X 10.8.0 (Intel 32-bit) i686-apple-darwin10-gcc-4.2.1 (GCC) 4.2.1 (Apple Inc. build 5666) (dot 3)
+ Darwin Kernel Version 10.8.0 GNU Fortran (GCC) version 4.6.1
+ Intel C, C++ and Fortran compilers 12.1.0
+
+ Fedora 12 2.6.32.16-150.fc12.ppc64 #1 SMP ppc64 GNU/Linux
+ gcc (GCC) 4.4.4 20100630 (Red Hat 4.4.4-10)
+ GNU Fortran (GCC) 4.4.4 20100630 (Red Hat 4.4.4-10)
+
+ Debian6.0.3 2.6.32-5-686 #1 SMP i686 GNU/Linux
+ gcc (Debian 4.4.5-8) 4.4.5
+ GNU Fortran (Debian 4.4.5-8) 4.4.5
+
+ Debian6.0.3 2.6.32-5-amd64 #1 SMP x86_64 GNU/Linux
+ gcc (Debian 4.4.5-8) 4.4.5
+ GNU Fortran (Debian 4.4.5-8) 4.4.5
+
+ Fedora15 2.6.40.6-0.fc15.i686.PAE #1 SMP i686 i686 i386 GNU/Linux
+ gcc (GCC) 4.6.1 20110908 (Red Hat 4.6.1-9)
+ GNU Fortran (GCC) 4.6.1 20110908 (Red Hat 4.6.1-9)
+
+ Fedora15 2.6.40.6-0.fc15.x86_64 #1 SMP x86_64 x86_64 x86_64 GNU/Linux
+ gcc (GCC) 4.6.1 20110908 (Red Hat 4.6.1-9)
+ GNU Fortran (GCC) 4.6.1 20110908 (Red Hat 4.6.1-9)
+
+ SUSE 11.4 2.6.37.6-0.7-desktop #1 SMP PREEMPT i686 i686 i386 GNU/Linux
+ gcc (SUSE Linux) 4.5.1 20101208
+ GNU Fortran (SUSE Linux) 4.5.1 20101208
+
+ SUSE 11.4 2.6.37.6-0.7-desktop #1 SMP PREEMPT x86_64 x86_64 x86_64 GNU/Linux
+ gcc (SUSE Linux) 4.5.1 20101208
+ GNU Fortran (SUSE Linux) 4.5.1 20101208
+
+ Ubuntu 11.10 3.0.0-12-generic #20-Ubuntu SMP i686 GNU/Linux
+ gcc (Ubuntu/Linaro 4.6.1-9ubuntu3) 4.6.1
+ GNU Fortran (Ubuntu/Linaro 4.6.4-9ubuntu3) 4.6.1
+
+ Ubuntu 11.10 3.0.0-12-generic #20-Ubuntu SMP x86_64 GNU/Linux
+ gcc (Ubuntu/Linaro 4.6.1-9ubuntu3) 4.6.1
+ GNU Fortran (Ubuntu/Linaro 4.6.1-9ubuntu3) 4.6.1
+
+ OpenVMS Alpha 8.3 HP C V7.3-009
+ HP Fortran V8.2-104679-48H9K
+ HP C++ V7.3-009
+
+ Cray Linux Environment (CLE) PrgEnv-pgi 2.2.74
+ hopper.nersc.gov pgcc 11.7-0 64-bit target on x86-64 Linux -tp k8e
+ franklin.nersc.gov pgf90 11.7-0 64-bit target on x86-64 Linux -tp k8e
+ pgCC 11.7-0 64-bit target on x86-64 Linux -tp k8e
+
+Tested Configuration Features Summary
+=====================================
+
+ In the tables below
+ y = tested
+ n = not tested in this release
+ C = Cluster
+ W = Workstation
+ x = not working in this release
+ dna = does not apply
+ ( ) = footnote appears below second table
+ <blank> = testing incomplete on this feature or platform
+
+Platform C F90 F90 C++ zlib SZIP
+ parallel parallel
+Solaris2.10 32-bit n y n y y y
+Solaris2.10 64-bit n y n y y y
+Windows XP n y(4) n y y y
+Windows XP x64 n y(4) n y y y
+Windows Vista n y(4) n y y y
+Windows Vista x64 n y(4) n y y y
+OpenVMS Alpha n y n y y n
+Mac OS X 10.8 Intel 32-bit n y n y y y
+Mac OS X 10.8 Intel 64-bit n y n y y y
+AIX 5.3 32- and 64-bit n y n y y y
+FreeBSD 8.2-STABLE 32&64 bit n x n x y y
+CentOS 5.5 Linux 2.6.18-194 i686 GNU (1)W y y(2) y y y y
+CentOS 5.5 Linux 2.6.18-194 i686 Intel W n y n y y n
+CentOS 5.5 Linux 2.6.18-194 i686 PGI W n y n y y n
+CentOS 5.5 Linux 2.6.16 x86_64 GNU (1) W y y(3) y y y y
+CentOS 5.5 Linux 2.6.16 x86_64 Intel W n y n y y n
+CentOS 5.5 Linux 2.6.16 x86_64 PGI W n y n y y y
+Fedora 12 Linux 2.6.32.16-150.fc12.ppc64 n y n y y y
+SGI ProPack 7 Linux 2.6.32.24 y y y y y y
+Red Hat Enterprise Linux 6 y y y y y y
+CLE hopper.nersc.gov y y(3) y y y n
+CLE franklin.nersc.gov y y(3) y y y n
+
+
+Platform Shared Shared Shared Thread-
+ C libs F90 libs C++ libs safe
+Solaris2.10 32-bit y y y y
+Solaris2.10 64-bit y y y y
+Windows XP y y(4) y n
+Windows XP x64 y y(4) y n
+Windows Vista y y(4) y y
+Windows Vista x64 y y(4) y y
+OpenVMS Alpha n n n n
+Mac OS X 10.8 Intel 32-bit y(5) n y n
+Mac OS X 10.8 Intel 64-bit y(5) n y n
+AIX 5.3 32- and 64-bit n n n y
+FreeBSD 8.2-STABLE 32&64 bit y x x y
+CentOS 5.5 Linux 2.6.18-128 i686 GNU (1)W y y(2) y y
+CentOS 5.5 Linux 2.6.18-128 i686 Intel W y y y n
+CentOS 5.5 Linux 2.6.18-128 i686 PGI W y y y n
+CentOS 5.5 Linux 2.6.16 x86_64 GNU (1) W y y y y
+CentOS 5.5 Linux 2.6.16 x86_64 Intel W y y y n
+CentOS 5.5 Linux 2.6.16 x86_64 PGI W y y y n
+Fedora 12 Linux 2.6.32.16-150.fc12.ppc64 y y y y
+SGI ProPack 7 Linux 2.6.32.24 y y y n
+Red Hat Enterprise Linux 6 y y y n
+CLE hopper.nersc.gov n n n n
+CLE franklin.nersc.gov n n n n
+
+ (1) Fortran compiled with gfortran.
+ (2) With PGI and Absoft compilers.
+ (3) With PGI compiler for Fortran.
+ (4) Using Visual Studio 2008 w/ Intel Fortran 10.1 (Cygwin shared libraries are not supported)
+ (5) C and C++ shared libraries will not be built when Fortran is enabled.
+ Compiler versions for each platform are listed in the preceding
+ "Platforms Tested" table.
+
+
+Known Problems
+==============
+
+* The STDIO VFD does not work on some architectures, possibly due to 32/64
+ bit or large file issues. The basic STDIO VFD test is known to fail on
+ 64-bit SunOS 5.10 on SPARC when built with -m64 and 32-bit OS X/Darwin
+ 10.7.0. The STDIO VFD test has been disabled while we investigate and
+ a fix should appear in a future release, possibly 1.8.9.
+ (DER - 2011/10/14)
+
+* h5diff can report inconsistent results when comparing datasets of enum type
+ that contain invalid values. This is due to how enum types are handled in
+ the library and will be addressed in the next release.
+ (DER - 2011/10/14 - HDFFV-7527)
+
+* The links test can fail under the stdio VFD due to some issues with external
+ links. This will be investigated and fixed in a future release.
+ (DER - 2011/10/14 - HDFFV-7768)
+
+* After the shared library support was fixed for some bugs, it was discovered
+ that "make prefix=XXX install" no longer works for shared libraries. It
+ still works correctly for static libraries. Therefore, if you want to
+ install the HDF5 shared libraries in a location such as /usr/local/hdf5,
+ you need to specify the location via the --prefix option during configure
+ time. E.g, ./configure --prefix=/usr/local/hdf5 ...
+ (AKC - 2011/05/07 - HDFFV-7583)
+
+* The parallel test, t_shapesame, in testpar/, may run for a long time and may
+ be terminated by the alarm signal. If that happens, one can increase the
+ alarm seconds (default is 1200 seconds = 20 minutes) by setting the
+ environment variable, $HDF5_ALARM_SECONDS, to a larger value such as 3600
+ (60 minutes). Note that the t_shapesame test may fail in some systems
+ (see the "While working on the 1.8.6 release..." problem below). If
+ it does, it will waste more time if $HDF5_ALARM_SECONDS is set
+ to a larger value. (AKC - 2011/05/07)
+
+* The C++ and FORTRAN bindings are not currently working on FreeBSD.
+ (QAK - 2011/04/26)
+
+* Shared Fortran libraries are not quite working on AIX. While they are
+ generated when --enable-shared is specified, the fortran and hl/fortran
+ tests fail. We are looking into the issue. HL and C++ shared libraries
+ should now be working as intended, however. (MAM - 2011/04/20)
+
+* The --with-mpe configure option does not work with Mpich2. (AKC - 2011/03/10)
+
+* While working on the 1.8.6 release of HDF5, a bug was discovered that can
+ occur when reading from a dataset in parallel shortly after it has been
+ written to collectively. The issue was exposed by a new test in the parallel
+ HDF5 test suite, but had existed before that. We believe the problem lies with
+ certain MPI implementations and/or file systems.
+
+ We have provided a pure MPI test program, as well as a standalone HDF5
+ program, that can be used to determine if this is an issue on your system.
+ They should be run across multiple nodes with a varying number of processes.
+ These programs can be found at:
+ http://www.hdfgroup.org/ftp/HDF5/examples/known_problems/
+ (NAF - 2011/01/19)
+
+* The library's test dt_arith.c showed a compiler's rounding problem on
+ Cygwin when converting from unsigned long long to long double. The
+ library's own conversion works fine. We defined a macro for Cygwin to
+ skip this test until we can solve the problem.
+ (SLU - 2010/05/05 - HDFFV-1264)
+
+* All the VFL drivers aren't backward compatible. In H5FDpublic.h, the
+ structure H5FD_class_t changed in 1.8. There is new parameter added to
+ get_eoa and set_eoa callback functions. A new callback function
+ get_type_map was added in. The public function H5FDrealloc was taken
+ out in 1.8. The problem only happens when users define their own driver
+ for 1.6 and try to plug in 1.8 library. Because there's only one user
+ complaining about it, we (Elena, Quincey, and I) decided to leave it as
+ it is (see bug report #1279). Quincey will make a plan for 1.10.
+ (SLU - 2010/02/02)
+
+* MinGW has a missing libstdc++.dll.a library file and will not successfully link
+ C++ applications/tests. Do not use the enable-cxx configure option. Read all of
+ the INSTALL_MINGW.txt file for all restrictions. (ADB - 2009/11/11)
+
+* The --enable-static-exec configure flag will only statically link libraries
+ if the static version of that library is present. If only the shared version
+ of a library exists (i.e., most system libraries on Solaris, AIX, and Mac,
+ for example, only have shared versions), the flag should still result in a
+ successful compilation, but note that the installed executables will not be
+ fully static. Thus, the only guarantee on these systems is that the
+ executable is statically linked with just the HDF5 library.
+ (MAM - 2009/11/04)
+
+* The PathScale MPI implementation, accessing a Panasas file system, would
+ cause H5Fcreate() with H5F_ACC_EXCL to fail even when the file does not
+ exist. This is due to the MPI_File_open() call failing if the mode has
+ the MPI_MODE_EXCL bit set. (AKC - 2009/08/11 - HDFFV-988)
+
+* Parallel tests failed with 16 processes with data inconsistency at testphdf5
+ / dataset_readAll. Parallel tests also failed with 32 and 64 processes with
+ collective abort of all ranks at t_posix_compliant / allwrite_allread_blocks
+ with MPI IO. (CMC - 2009/04/28)
+
+* For Red Storm, a Cray XT3 system, the tools/h5ls/testh5ls.sh and
+ tools/h5copy/testh5copy.sh will fail some of its sub-tests. These sub-tests
+ are expected to fail and should exit with a non-zero code but the yod
+ command does not propagate the exit code of the executables. Yod always
+ returns 0 if it can launch the executable. The test suite shell expects
+ a non-zero for this particular test, therefore it concludes the test has
+ failed when it receives 0 from yod. Skip all the "failing" test for now
+ by changing them as following.
+
+ ======== Original tools/h5ls/testh5ls.sh =========
+ TOOLTEST tgroup-1.ls 1 -w80 -r -g tgroup.h5
+ ======== Change to ===============================
+ echo SKIP TOOLTEST tgroup-1.ls 1 -w80 -r -g tgroup.h5
+ ==================================================
+
+ ======== Original tools/h5copy/testh5copy.sh =========
+ TOOLTEST_FAIL -i $TESTFILE -o $FILEOUT -v -s grp_dsets -d grp_rename
+ TOOLTEST_FAIL -i $TESTFILE -o $FILEOUT -v -s grp_dsets -d /grp_rename/grp_dsets
+ TOOLTEST_FAIL -i $TESTFILE -o $FILEOUT -vp -s /grp_dsets -d /E/F/grp_dsets
+ TOOLTEST_FAIL -i $TESTFILE -o $FILEOUT -vp -s /grp_nested -d /G/H/grp_nested
+ H5LSTEST $FILEOUT
+ ======== Change to ===============================
+ echo SKIP TOOLTEST_FAIL -i $TESTFILE -o $FILEOUT -v -s grp_dsets -d grp_rename
+ echo SKIP TOOLTEST_FAIL -i $TESTFILE -o $FILEOUT -v -s grp_dsets -d /grp_rename/grp_dsets
+ echo SKIP TOOLTEST_FAIL -i $TESTFILE -o $FILEOUT -vp -s /grp_dsets -d /E/F/grp_dsets
+ echo SKIP TOOLTEST_FAIL -i $TESTFILE -o $FILEOUT -vp -s /grp_nested -d /G/H/grp_nested
+ echo SKIP H5LSTEST $FILEOUT
+ ==================================================
+ (AKC - 2008/11/10)
+
+* For Red Storm, a Cray XT3 system, the yod command sometimes gives the
+ message, "yod allocation delayed for node recovery". This interferes with
+ test suites that do not expect to see this message. See the section of "Red
+ Storm" in file INSTALL_parallel for a way to deal with this problem.
+ (AKC - 2008/05/28)
+
+* On an Intel 64 Linux cluster (RH 4, Linux 2.6.9) with Intel 10.0 compilers,
+ use -mp -O1 compilation flags to build the libraries. A higher level of
+ optimization causes failures in several HDF5 library tests.
+
+* On mpich 1.2.5 and 1.2.6, if more than two processes contribute no IO and
+ the application asks to do collective IO, we have found that when using 4
+ processors, a simple collective write will sometimes be hung. This can be
+ verified with t_mpi test under testpar.
+
+* A dataset created or rewritten with a v1.6.3 library or after cannot be read
+ with the v1.6.2 library or before when the Fletcher32 EDC filter is enabled.
+ There was a bug in the calculation of the Fletcher32 checksum in the
+ library before v1.6.3; the checksum value was not consistent between big-
+ endian and little-endian systems. This bug was fixed in Release 1.6.3.
+ However, after fixing the bug, the checksum value was no longer the same as
+ before on little-endian system. Library releases after 1.6.4 can still read
+ datasets created or rewritten with an HDF5 library of v1.6.2 or before.
+ (SLU - 2005/06/30)
+
+* On IBM AIX systems, parallel HDF5 mode will fail some tests with error
+ messages like "INFO: 0031-XXX ...". This is from the command `poe'.
+ Set the environment variable MP_INFOLEVEL to 0 to minimize the messages
+ and run the tests again.
+
+ The tests may fail with messages like "The socket name is already in use",
+ but HDF5 does not use sockets. This failure is due to problems with the
+ poe command trying to set up the debug socket. To resolve this problem,
+ check to see whether there are many old /tmp/s.pedb.* files staying around.
+ These are sockets used by the poe command and left behind due to failed
+ commands. First, ask your system administrator to clean them out.
+ Lastly, request IBM to provide a means to run poe without the debug socket.
+ (AKC - 2004/12/08)
+
+
+%%%%1.8.7%%%%
+
+
+HDF5 version 1.8.7 released on Tue May 10 09:24:44 CDT 2011
+================================================================================
+
+INTRODUCTION
+============
+
+This document describes the differences between HDF5-1.8.6 and
+HDF5 1.8.7, and contains information on the platforms tested and
+known problems in HDF5-1.8.7.
+For more details, see the files HISTORY-1_0-1_8_0_rc3.txt
+and HISTORY-1_8.txt in the release_docs/ directory of the HDF5 source.
+
+Links to the HDF5 1.8.7 source code, documentation, and additional materials
+can be found on the HDF5 web page at:
+
+ http://www.hdfgroup.org/products/hdf5/
+
+The HDF5 1.8.7 release can be obtained from:
+
+ http://www.hdfgroup.org/HDF5/release/obtain5.html
+
+User documentation for 1.8.7 can be accessed directly at this location:
+
+ http://www.hdfgroup.org/HDF5/doc/
+
+New features in the HDF5-1.8.x release series, including brief general
+descriptions of some new and modified APIs, are described in the "What's New
+in 1.8.0?" document:
+
+ http://www.hdfgroup.org/HDF5/doc/ADGuide/WhatsNew180.html
+
+All new and modified APIs are listed in detail in the "HDF5 Software Changes
+from Release to Release" document, in the section "Release 1.8.7 (current
+release) versus Release 1.8.6":
+
+ http://www.hdfgroup.org/HDF5/doc/ADGuide/Changes.html
+
+If you have any questions or comments, please send them to the HDF Help Desk:
+
+ help@hdfgroup.org
+
+
+CONTENTS
+========
+
+- New Features
+- Support for New Platforms, Languages, and Compilers
+- Bug Fixes since HDF5-1.8.6
+- Platforms Tested
+- Supported Configuration Features Summary
+- Known Problems
+
+
+New Features
+============
+
+ Configuration
+ -------------
+ - Configure now generates Makefiles that build in "silent make mode"
+ by default in which compile and link lines are significantly
+ simplified for clarity. To override this and view actual compile and
+ link lines during building, the --disable-silent-rules flag can be used
+ at configure time, or the 'make' command can be followed by V=1, to
+ indicate a "verbose" make. (MAM - 2011/4/14).
+ - Added mpicc and mpif90 as the default C and Fortran compilers for Linux
+ systems when --enable-parallel is specified but no $CC or $FC is defined.
+ (AKC - 2011/2/7)
+ - Added a new configure option, "--enable-unsupported", which can
+ be used to stop configure from preventing the use of unsupported
+ configure option combinations, such as c++ in parallel or Fortran
+ with threadsafe. Use at your own risk, as it may result in a
+ library that won't compile or run as expected!
+ (MAM - 2010/11/17 - Bug 2061)
+
+ Library
+ -------
+ - The library allows the dimension size of a dataspace to be zero. In
+ the past, the library would allow this only if the maximal dimension
+ size was unlimited. Now there is no such restriction, but no data
+ can be written to this kind of dataset. (SLU - 2011/4/20)
+ - We added two new macros, H5_VERSION_GE and H5_VERSION_LE, to let users
+ compare certain version numbers with the library being used. (SLU -
+ 2011/4/20)
+ - Added ability to cache files opened through external links. Added new
+ public functions H5Pset_elink_file_cache_size(),
+ H5Pget_elink_file_cache_size(), and H5Fclear_elink_file_cache().
+ (NAF - 2011/02/17)
+ - Finished implementing all options for 'log' VFD. (QAK - 2011/1/25)
+ - Removed all old code for Metrowerks compilers, bracketed by
+ __MWERKS__). Metrowerks compiler is long gone. (AKC - 2010/11/17)
+
+ Parallel Library
+ ----------------
+ - None
+
+ Tools
+ -----
+ - h5diff: Added new "verbose with levels" option, '-vN, --verbose=N'.
+ The old '-v, --verbose' option is deprecated but remains available;
+ it is exactly equivalent to '-v0, --verbose=0'.
+ The new levels 1 ('-v1' or '--verbose=1') and 2 ('-v2' or
+ '--verbose=2') can be specified to view more information regarding
+ attributes differences. Bug #2121 (JKM 2011/3/23)
+ - h5dump: Added new option --enable-error-stack. This option will
+ display error stack information in the output stream. This is
+ useful when the "h5dump: Unable to print data" message is output.
+ (ADB - 2011/03/03)
+
+ High-Level APIs
+ ---------------
+ - Fortran LT make datasets routines (H5LTmake_dataset_f,
+ h5ltmake_dataset_int_f, h5ltmake_dataset_float_f, h5ltmake_dataset_double_f)
+ and LT read datasets routines (h5ltread_dataset_f,h5ltread_dataset_int_f,
+ h5ltread_dataset_float_f, 5ltread_dataset_double_f) can now handle
+ 4-dimensional to 7-dimensional rank datasets. HDFFV-1217 (MSB-2011/4/24/2011)
+
+ F90 API
+ -------
+ - None
+
+ C++ API
+ -------
+ - None
+
+
+Support for New Platforms, Languages, and Compilers
+===================================================
+ - Intel V11.1 uses now -O3 optimization in production mode (EIP - 2010/10/08)
+
+
+
+Bug Fixes since HDF5-1.8.6
+==========================
+
+ Configuration
+ -------------
+ - Shared C++ and HL libraries on AIX should now be working correctly.
+ Note that Fortran shared libraries are still not working on AIX.
+ (See the Known Problems section, below). (MAM - 2011/4/20)
+ - Removed config/ibm-aix6.x. All IBM-AIX settings are in one file,
+ ibm-aix. (AKC - 2011/4/14)
+ - Shared C libraries are no longer disabled on Mac when Fortran
+ is enabled. Shared Fortran libraries are still not supported on Mac,
+ so configure will disable them by default, but this is overrideable
+ with the new --enable-unsupported configure option. The configure
+ summary has been updated to reflect the fact that the shared-ness of
+ the C++/Fortran wrapper libraries may not align with the C library.
+ (MAM - 2011/04/11 - HDFFV-4353).
+
+ Library
+ -------
+ - Changed assertion failure when decoding a compound datatype with no
+ fields into a normal error failure. Also prohibit using this sort
+ of datatype for creating an attribute (as is already the case for
+ datasets and committed (named) datatypes). (QAK - 2011/04/15, Jira
+ issue #HDFFV-2766)
+ - Tell the VFL flush call that the file will be closing, allowing
+ the VFDs to avoid sync'ing the file (particularly valuable in parallel).
+ (QAK - 2011/03/09)
+ - The datatype handler created with H5Tencode/decode used to have the
+ reference count 0 (zero); it now has the reference count 1 (one).
+ (SLU - 2011/2/18)
+ - Fixed the definition of H5_HAVE_GETTIMEOFDAY on Windows so that
+ HDgettimeofday() is defined and works properly. Bug HDFFV-5931
+ (DER - 2011/04/14)
+ - Added basic VFD tests for the Windows, STDIO and log VFD tests.
+ (DER - 2011/04/11)
+
+ Parallel Library
+ ----------------
+ - None
+
+ Tools
+ -----
+ - Updated h5dump test case script to prevent entire test failure when
+ source directory is read-only. Bug #HDFFV-4342 (JKM 2011/4/12)
+ - Fixed h5dump displaying incorrect values for H5T_STD_I8BE type data in
+ attribute on Big-Endian machine. H5T_STD_I8BE is unsigned 8bit type,
+ so h5dump is supposed to display -2 instead of 254. It worked correctly
+ on Little-Endian system , but not on Big-Endian system. Bug #HDFFV-4358
+ (JKM 04/08/2011)
+ - Updated some HDF5 tools to standardize the option name as
+ '--enable-error-stack' for printing HDF5 error stack messages. h5ls and
+ h5dump have been updated. For h5ls, this replaces "-e/--errors" option,
+ which is deprecated. For h5dump, this is a new option. Bug #2182
+ (JKM 2011/3/30)
+ - Fixed the h5diff --use-system-epsilon option. The formula used in the
+ calculation was changed from ( |a - b| / b ) to ( |a - b| ).
+ This was done to improve performance. Bug #2184 (JKM 2011/3/24)
+ - Fixed output for H5T_REFERENCE in h5dump. According to the BNF document
+ the output of a H5T_REFERENCE should be followed by the type;
+ <reference> ::= H5T_REFERENCE { <ref_type> }
+ <ref_type> ::= H5T_STD_REF_OBJECT | H5T_STD_REF_DSETREG
+ Previously this was only displayed if the -R option was used.
+ Bug #1725 (ADB 2011/3/28)
+ - Fixed two h5diff issues. 1) h5diff compared attributes correctly only
+ when two objects had the same number of attributes and the attribute
+ names were identical. 2) h5diff did not display useful information about
+ attribute differences. Bug #2121 (JKM 2011/3/17)
+ - Fixed a memory leak in h5diff that occurred when accessing symbolic links
+ with the --follow-symlink option. Bug #2214 (JKM 2011/3/18)
+ - Fixed a memory leak in h5diff that occurred when accessing variable length
+ string data. Bug #2216 (JKM 2011/3/18)
+ - Fixed and improved the help page for h5ls -a, --address option.
+ Bug #1904 (JKM 2011/3/11)
+ - Fixed h5copy to enable copying an object into the same HDF5 file.
+ Previously h5copy displayed an error message when the target file
+ was the same as the source file. (XCAO 2011/3/8)
+ - Fixed an h5dump problem that caused the tool to skip some data elements
+ in large datasets with a large array datatype on Windows. This issue
+ arose only on Windows due to the different return behavior of the
+ _vsnprintf() function. Bug #2161 (JKM 2011/3/3)
+ - Fixed h5dump which was skipping some array indices in large datasets
+ with a relatively large array datatype. The interval of skipped indices
+ varied according to the size of the array. Bug #2092 (JKM 2011/2/15)
+ - Fixed h5diff which was segfaulting when comparing compound datasets
+ with a combination of fixed-length string datatypes and variable-length
+ string datatypes in certain orders. Bug #2089 (JKM 2010/12/28)
+ - Improved h5diff performance. 1) Now use HDmemcmp() before comparing two
+ elements. 2) Replace expensive H5Tequals() calls. 3) Retrieve datatype
+ information at dataset level, not at each element level for compound
+ datasets. HDFFV-7516 (JKM 2011/4/18)
+ - Fixed h5ls to display nested compound types with curly brackets
+ when -S (--simple) option is used with -l (--label), so it shows
+ which members (in curly brackets) belong to which nested compound type,
+ making the output clearer. Bug #1979 (JKM 2010/11/09)
+ - Fixed h5diff to handle variable-length strings in a compound dataset
+ and variable-length string arrays in a compound dataset correctly.
+ Garbage values were previously displayed when h5diff compared multiple
+ variable-length strings in a compound type dataset.
+ Bug #1989 (JKM 2010/10/28)
+ - Fixed h5copy to fail gracefully when copying an object to a non-
+ existing group without the -p option. Bug #2040 (JKM 2010/10/18)
+
+ F90 API
+ ------
+ - None
+
+ C++ API
+ ------
+ - None
+
+ High-Level APIs:
+ ------
+ - None
+
+ Fortran High-Level APIs:
+ ------
+ - h5tbmake_table_f: Fixed error in passing an array of characters with different
+ length field names.
+ - h5tget_field_info_f: Fixed error with packing the C strings into a Fortran
+ array of strings. Added optional argument called 'maxlen_out' which returns
+ the maximum string character length in a field name element.
+ Bug HDFFV-1255 (MSB- 4/17/2011)
+
+
+
+
+Platforms Tested
+================
+The following platforms and compilers have been tested for this release.
+
+ AIX 6.1 xlc 11.1.0.3
+ (NCSA BP) xlC 11.1.0.3
+ xlf90 13.1.0.3
+ mpcc_r 11.1.0.3
+ mpxlf90_r 13.1.0.3
+
+ FreeBSD 8.2-STABLE i386 gcc 4.2.1 [FreeBSD] 20070719
+ (loyalty) g++ 4.2.1 [FreeBSD] 20070719
+ gcc 4.6.1 20110422
+ g++ 4.6.1 20110422
+ gfortran 4.6.1 20110422
+
+ FreeBSD 8.2-STABLE amd64 gcc 4.2.1 [FreeBSD] 20070719
+ (freedom) g++ 4.2.1 [FreeBSD] 20070719
+ gcc 4.6.1 20110422
+ g++ 4.6.1 20110422
+ gfortran 4.6.1 20110422
+
+ Linux 2.6.18-194.3.1.el5PAE gcc (GCC) 4.1.2 and 4.4.2
+ #1 SMP i686 i686 i386 G95 (GCC 4.0.3 (g95 0.93!) Apr 21 2010)
+ (jam) GNU Fortran (GCC) 4.1.2 20080704
+ (Red Hat 4.1.2-48) and 4.4.2
+ PGI C, Fortran, C++ 10.4-0 32-bit
+ PGI C, Fortran, C++ 10.6-0 32-bit
+ Intel(R) C Compiler for 32-bit
+ applications, Version 11.1
+ Intel(R) C++ Compiler for 32-bit
+ applications, Version 11.1
+ Intel(R) Fortran Compiler for 32-bit
+ applications, Version 11.1
+ Absoft 32-bit Fortran 95 10.0.7
+ MPICH mpich2-1.3.1 compiled with
+ gcc 4.1.2 and gfortran 4.1.2
+
+ Linux 2.6.18-194.17.1.el5 gcc 4.1.2 and 4.4.2
+ #1 SMP x86_64 GNU/Linux G95 (GCC 4.0.3 (g95 0.93!) Apr 21 2010)
+ (amani) tested for both 32- and 64-bit binaries
+ GNU Fortran (GCC) 4.1.2 20080704
+ (Red Hat 4.1.2-46) and 4.4.2
+ Intel(R) C, C++, Fortran Compilers for
+ applications running on Intel(R) 64,
+ Version 11.1.
+ PGI C, Fortran, C++ Version 9.0-4
+ for 64-bit target on x86-64
+ MPICH mpich2-1.3.1 compiled with
+ gcc 4.1.2 and gfortran 4.1.2
+
+ SGI ProPack 7 Linux Intel(R) C++ Version 11.1 20100806
+ 2.6.32.24-0.2.1.2230.2.PTF- Intel(R) Fortran Version 11.1 20100806
+ default #1 SMP SGI MPT 2.01
+ SGI Altix UV
+ (NCSA ember)
+
+ SunOS 5.10 32- and 64-bit Sun C 5.9 Sun OS_sparc Patch 124867-16
+ (linew) Sun Fortran 95 8.3 Sun OS_sparc Patch 127000-13
+ Sun C++ 5.9 Sun OS_sparc Patch 124863-26
+ Sun C 5.10 SunOS_sparc Patch 141861-07
+ Sun Fortran 95 8.4 SunOS_sparc Patch 128231-06
+ Sun C++ 5.10 SunOS_sparc 128228-11
+
+ Intel Xeon Linux 2.6.18- gcc 4.2.4
+ 92.1.10.el5_lustre.1.6.6smp- Intel(R) C++ Version 10.1.017
+ perfctr #8 SMP Intel(R) Fortran Compiler Version 10.1.017
+ (NCSA abe) Open MPI 1.3.2
+ MVAPICH2-1.5.1_pgi-10.8
+
+ Windows XP Visual Studio 2008 w/ Intel Fortran 10.1 (project files)
+ Visual Studio 2008 w/ Intel Fortran 11.1 (cmake)
+ Visual Studio 2010 (cmake)
+ Cygwin(1.7.7 native gcc(4.3.4) compiler and gfortran)
+
+ Windows XP x64 Visual Studio 2008 w/ Intel Fortran 10.1 (project files)
+ Visual Studio 2008 w/ Intel Fortran 11.1 (cmake)
+ Visual Studio 2010 (cmake)
+ Cygwin(1.7.7 native gcc(4.3.4) compiler and gfortran)
+
+ Windows Vista Visual Studio 2008 w/ Intel Fortran 11.1 (cmake)
+
+ Windows Vista x64 Visual Studio 2008 w/ Intel Fortran 11.1 (cmake)
+
+ Windows 7 Visual Studio 2008 w/ Intel Fortran 11.1 (cmake)
+
+ Windows 7 x64 Visual Studio 2008 w/ Intel Fortran 11.1 (cmake)
+
+ Mac OS X 10.7.0 (Intel 64-bit) i686-apple-darwin10-gcc-4.2.1 (GCC) 4.2.1
+ Darwin Kernel Version 10.7.0 GNU Fortran (GCC) 4.6.0 20101106 (experimental)
+ Intel C, C++ and Fortran compilers 12.0.1.122 20101110
+
+ Mac OS X 10.7.0 (Intel 32-bit) i686-apple-darwin10-gcc-4.2.1 (GCC) 4.2.1 (Apple Inc. build 5666) (dot 3)
+ Darwin Kernel Version 10.7.0 GNU Fortran (GCC) version 4.4.0 20090123 (experimental)
+ [trunk revision 143587]
+
+ Fedora 12 2.6.32.16-150.fc12.ppc64 #1 SMP ppc64 GNU/Linux
+ gcc (GCC) 4.4.4 20100630 (Red Hat 4.4.4-10)
+ GNU Fortran (GCC) 4.4.4 20100630 (Red Hat 4.4.4-10)
+
+ Debian6.01 2.6.32-5-686 #1 SMP i686 GNU/Linux
+ gcc (Debian 4.4.5-8) 4.4.5
+ GNU Fortran (Debian 4.4.5-8) 4.4.5
+
+ Debian6.01 2.6.32-5-amd64 #1 SMP x86_64 GNU/Linux
+ gcc (Debian 4.4.5-8) 4.4.5
+ GNU Fortran (Debian 4.4.5-8) 4.4.5
+
+ Fedora14 2.6.35.12-88.fc14.i686.PAE #1 SMP i686 i686 i386 GNU/Linux
+ gcc (GCC) 4.5.1 20100924 (Red Hat 4.5.1-4)
+ GNU Fortran (GCC) 4.5.1 20100924 (Red Hat 4.5.1-4)
+
+ Fedora14 2.6.35.12-88.fc14.x86_64 #1 SMP x86_64 x86_64 x86_64 GNU/Linux
+ gcc (GCC) 4.5.1 20100924 (Red Hat 4.5.1-4)
+ GNU Fortran (GCC) 4.5.1 20100924 (Red Hat 4.5.1-4)
+
+ SUSE 11.4 2.6.37.1-1.2-desktop #1 SMP PREEMPT i686 i686 i386 GNU/Linux
+ gcc (SUSE Linux) 4.5.1 20101208
+ GNU Fortran (SUSE Linux) 4.5.1 20101208
+
+ SUSE 11.4 2.6.37.1-1.2-desktop #1 SMP PREEMPT x86_64 x86_64 x86_64 GNU/Linux
+ gcc (SUSE Linux) 4.5.1 20101208
+ GNU Fortran (SUSE Linux) 4.5.1 20101208
+
+ Ubuntu 10.10 2.6.35-28-generic #50-Ubuntu SMP i686 GNU/Linux
+ gcc (Ubuntu/Linaro 4.4.4-14ubuntu5) 4.4.5
+ GNU Fortran (Ubuntu/Linaro 4.4.4-14ubuntu5) 4.4.5
+
+ Ubuntu 10.10 2.6.35-28-generic #50-Ubuntu SMP x86_64 GNU/Linux
+ gcc (Ubuntu/Linaro 4.4.4-14ubuntu5) 4.4.5
+ GNU Fortran (Ubuntu/Linaro 4.4.4-14ubuntu5) 4.4.5
+
+ OpenVMS Alpha 8.3 HP C V7.3-009
+ HP Fortran V8.2-104679-48H9K
+ HP C++ V7.3-009
+
+Tested Configuration Features Summary
+========================================
+
+ In the tables below
+ y = tested
+ n = not tested in this release
+ C = Cluster
+ W = Workstation
+ x = not working in this release
+ dna = does not apply
+ ( ) = footnote appears below second table
+ <blank> = testing incomplete on this feature or platform
+
+Platform C F90 F90 C++ zlib SZIP
+ parallel parallel
+Solaris2.10 32-bit n y n y y y
+Solaris2.10 64-bit n y n y y y
+Windows XP n y(4) n y y y
+Windows XP x64 n y(4) n y y y
+Windows Vista n y(4) n y y y
+Windows Vista x64 n y(4) n y y y
+OpenVMS Alpha n y n y y n
+Mac OS X 10.7 Intel 32-bit n y n y y y
+Mac OS X 10.7 Intel 64-bit n y n y y y
+AIX 6.1 32- and 64-bit y y y y y y
+FreeBSD 8.2-STABLE 32&64 bit n x n x y y
+CentOS 5.5 Linux 2.6.18-194 i686 GNU (1)W y y(2) y y y y
+CentOS 5.5 Linux 2.6.18-194 i686 Intel W n y n y y n
+CentOS 5.5 Linux 2.6.18-194 i686 PGI W n y n y y n
+CentOS 5.5 Linux 2.6.16 x86_64 GNU (1) W y y(3) y y y y
+CentOS 5.5 Linux 2.6.16 x86_64 Intel W n y n y y n
+CentOS 5.5 Linux 2.6.16 x86_64 PGI W n y n y y y
+RedHat EL4 2.6.18 Xeon Lustre C y y y y y n
+Fedora 12 Linux 2.6.32.16-150.fc12.ppc64 n y n y y y
+SGI Linux 2.6.32.19 y y y y y y
+
+
+Platform Shared Shared Shared Thread-
+ C libs F90 libs C++ libs safe
+Solaris2.10 32-bit y y y y
+Solaris2.10 64-bit y y y y
+Windows XP y y(4) y n
+Windows XP x64 y y(4) y n
+Windows Vista y y(4) y y
+Windows Vista x64 y y(4) y y
+OpenVMS Alpha n n n n
+Mac OS X 10.7 Intel 32-bit y(5) n y n
+Mac OS X 10.7 Intel 64-bit y(5) n y n
+AIX 6.1 32- and 64-bit n n n y
+FreeBSD 8.2-STABLE 32&64 bit y x x y
+CentOS 5.5 Linux 2.6.18-128 i686 GNU (1)W y y(2) y y
+CentOS 5.5 Linux 2.6.18-128 i686 Intel W y y y n
+CentOS 5.5 Linux 2.6.18-128 i686 PGI W y y y n
+CentOS 5.5 Linux 2.6.16 x86_64 GNU (1) W y y y y
+CentOS 5.5 Linux 2.6.16 x86_64 Intel W y y y n
+CentOS 5.5 Linux 2.6.16 x86_64 PGI W y y y n
+RedHat EL4 2.6.18 Xeon Lustre C y y y n
+Fedora 12 Linux 2.6.32.16-150.fc12.ppc64 y y y y
+SGI Linux 2.6.32.19 y y y y
+
+ (1) Fortran compiled with gfortran.
+ (2) With PGI and Absoft compilers.
+ (3) With PGI compiler for Fortran.
+ (4) Using Visual Studio 2008 w/ Intel Fortran 10.1 (Cygwin shared libraries are not supported)
+ (5) C and C++ shared libraries will not be built when Fortran is enabled.
+ Compiler versions for each platform are listed in the preceding
+ "Platforms Tested" table.
+
+
+Known Problems
+==============
+* After the shared library support was fixed for some bugs, it was discovered
+ that "make prefix=XXX install" no longer works for shared libraries. It
+ still works correctly for static libraries. Therefore, if you want to
+ install the HDF5 shared libraries in a location such as /usr/local/hdf5,
+ you need to specify the location via the --prefix option during configure
+ time. E.g, ./configure --prefix=/usr/local/hdf5 ...
+ (AKC - 2011/05/07 HDFFV-7583)
+
+* The parallel test, t_shapesame, in testpar/, may run for a long time and may
+ be terminated by the alarm signal. If that happens, one can increase the
+ alarm seconds (default is 1200 seconds = 20 minutes) by setting the
+ environment variable, $HDF5_ALARM_SECONDS, to a larger value such as 3600
+ (60 minutes). Note that the t_shapesame test may fail in some systems
+ (see the "While working on the 1.8.6 release..." problem below). If
+ it does, it will waste more time if $HDF5_ALARM_SECONDS is set
+ to a larger value. (AKC - 2011/05/07)
+
+* The C++ and FORTRAN bindings are not currently working on FreeBSD.
+ (QAK - 2011/04/26)
+
+* Shared Fortran libraries are not quite working on AIX. While they are
+ generated when --enable-shared is specified, the fortran and hl/fortran
+ tests fail. We are looking into the issue. HL and C++ shared libraries
+ should now be working as intended, however. (MAM - 2011/04/20)
+
+* The --with-mpe configure option does not work with Mpich2. AKC - 2011/03/10
+
+* If parallel gmake (e.g., gmake -j 4) is used, the "gmake clean" command
+ sometimes fails in the perform directory due to the attempt to remove the
+ executable of h5perf or h5perf_serial by two "parallel" commands. This error
+ has no consequence on the functionality of the HDF5 library or install. It
+ is fixed in the next release. AKC - 2011/01/25
+
+* While working on the 1.8.6 release of HDF5, a bug was discovered that can
+ occur when reading from a dataset in parallel shortly after it has been
+ written to collectively. The issue was exposed by a new test in the parallel
+ HDF5 test suite, but had existed before that. We believe the problem lies with
+ certain MPI implementations and/or file systems.
+
+ We have provided a pure MPI test program, as well as a standalone HDF5
+ program, that can be used to determine if this is an issue on your system.
+ They should be run across multiple nodes with a varying number of processes.
+ These programs can be found at:
+ http://www.hdfgroup.org/ftp/HDF5/examples/known_problems/
+
+* The library's test dt_arith.c showed a compiler's rounding problem on
+ Cygwin when converting from unsigned long long to long double. The
+ library's own conversion works fine. We defined a macro for Cygwin to
+ skip this test until we can solve the problem. Please see bug #1813.
+ SLU - 2010/5/5
+
+* All the VFL drivers aren't backward compatible. In H5FDpublic.h, the
+ structure H5FD_class_t changed in 1.8. There is new parameter added to
+ get_eoa and set_eoa callback functions. A new callback function
+ get_type_map was added in. The public function H5FDrealloc was taken
+ out in 1.8. The problem only happens when users define their own driver
+ for 1.6 and try to plug in 1.8 library. Because there's only one user
+ complaining about it, we (Elena, Quincey, and I) decided to leave it as
+ it is (see bug report #1279). Quincey will make a plan for 1.10.
+ SLU - 2010/2/2
+
+* MinGW has a missing libstdc++.dll.a library file and will not successfully link
+ C++ applications/tests. Do not use the enable-cxx configure option. Read all of
+ the INSTALL_MINGW.txt file for all restrictions. ADB - 2009/11/11
+
+* The PathScale MPI implementation, accessing a Panasas file system, would
+ cause H5Fcreate() with H5F_ACC_EXCL to fail even when the file does not
+ exist. This is due to the MPI_File_open() call failing if the mode has
+ the MPI_MODE_EXCL bit set. (See bug 1468 for details.) AKC - 2009/8/11
+
+* Parallel tests failed with 16 processes with data inconsistency at testphdf5
+ / dataset_readAll. Parallel tests also failed with 32 and 64 processes with
+ collective abort of all ranks at t_posix_compliant / allwrite_allread_blocks
+ with MPI IO. CMC - 2009/04/28
+
+* For Red Storm, a Cray XT3 system, the tools/h5ls/testh5ls.sh and
+ tools/h5copy/testh5copy.sh will fail some of its sub-tests. These sub-tests
+ are expected to fail and should exit with a non-zero code but the yod
+ command does not propagate the exit code of the executables. Yod always
+ returns 0 if it can launch the executable. The test suite shell expects
+ a non-zero for this particular test, therefore it concludes the test has
+ failed when it receives 0 from yod. Skip all the "failing" test for now
+ by changing them as following.
+
+ ======== Original tools/h5ls/testh5ls.sh =========
+ TOOLTEST tgroup-1.ls 1 -w80 -r -g tgroup.h5
+ ======== Change to ===============================
+ echo SKIP TOOLTEST tgroup-1.ls 1 -w80 -r -g tgroup.h5
+ ==================================================
+
+ ======== Original tools/h5copy/testh5copy.sh =========
+ TOOLTEST_FAIL -i $TESTFILE -o $FILEOUT -v -s grp_dsets -d grp_rename
+ TOOLTEST_FAIL -i $TESTFILE -o $FILEOUT -v -s grp_dsets -d /grp_rename/grp_dsets
+ TOOLTEST_FAIL -i $TESTFILE -o $FILEOUT -vp -s /grp_dsets -d /E/F/grp_dsets
+ TOOLTEST_FAIL -i $TESTFILE -o $FILEOUT -vp -s /grp_nested -d /G/H/grp_nested
+ H5LSTEST $FILEOUT
+ ======== Change to ===============================
+ echo SKIP TOOLTEST_FAIL -i $TESTFILE -o $FILEOUT -v -s grp_dsets -d grp_rename
+ echo SKIP TOOLTEST_FAIL -i $TESTFILE -o $FILEOUT -v -s grp_dsets -d /grp_rename/grp_dsets
+ echo SKIP TOOLTEST_FAIL -i $TESTFILE -o $FILEOUT -vp -s /grp_dsets -d /E/F/grp_dsets
+ echo SKIP TOOLTEST_FAIL -i $TESTFILE -o $FILEOUT -vp -s /grp_nested -d /G/H/grp_nested
+ echo SKIP H5LSTEST $FILEOUT
+ ==================================================
+ AKC - 2008/11/10
+
+* For Red Storm, a Cray XT3 system, the yod command sometimes gives the
+ message, "yod allocation delayed for node recovery". This interferes with
+ test suites that do not expect to see this message. See the section of "Red
+ Storm" in file INSTALL_parallel for a way to deal with this problem.
+ AKC - 2008/05/28
+
+* On an Intel 64 Linux cluster (RH 4, Linux 2.6.9) with Intel 10.0 compilers,
+ use -mp -O1 compilation flags to build the libraries. A higher level of
+ optimization causes failures in several HDF5 library tests.
+
+* On mpich 1.2.5 and 1.2.6, if more than two processes contribute no IO and
+ the application asks to do collective IO, we have found that when using 4
+ processors, a simple collective write will sometimes be hung. This can be
+ verified with t_mpi test under testpar.
+
+* A dataset created or rewritten with a v1.6.3 library or after cannot be read
+ with the v1.6.2 library or before when the Fletcher32 EDC filter is enabled.
+ There was a bug in the calculation of the Fletcher32 checksum in the
+ library before v1.6.3; the checksum value was not consistent between big-
+ endian and little-endian systems. This bug was fixed in Release 1.6.3.
+ However, after fixing the bug, the checksum value was no longer the same as
+ before on little-endian system. Library releases after 1.6.4 can still read
+ datasets created or rewritten with an HDF5 library of v1.6.2 or before.
+ SLU - 2005/6/30
+
+* On IBM AIX systems, parallel HDF5 mode will fail some tests with error
+ messages like "INFO: 0031-XXX ...". This is from the command `poe'.
+ Set the environment variable MP_INFOLEVEL to 0 to minimize the messages
+ and run the tests again.
+
+ The tests may fail with messages like "The socket name is already in use",
+ but HDF5 does not use sockets. This failure is due to problems with the
+ poe command trying to set up the debug socket. To resolve this problem,
+ check to see whether there are many old /tmp/s.pedb.* files staying around.
+ These are sockets used by the poe command and left behind due to failed
+ commands. First, ask your system administrator to clean them out.
+ Lastly, request IBM to provide a means to run poe without the debug socket.
+
+* The --enable-static-exec configure flag will only statically link libraries
+ if the static version of that library is present. If only the shared version
+ of a library exists (i.e., most system libraries on Solaris, AIX, and Mac,
+ for example, only have shared versions), the flag should still result in a
+ successful compilation, but note that the installed executables will not be
+ fully static. Thus, the only guarantee on these systems is that the
+ executable is statically linked with just the HDF5 library.
+
+* There is also a configure error on Altix machines that incorrectly reports
+ when a version of Szip without an encoder is being used.
+
+* On cobalt, an SGI Altix SMP ia64 system, Intel compiler version 10.1 (which
+ is the default on that system) does not work properly and results in
+ failures during make check (in a static build) and make installcheck (during
+ a shared build). This appears to be a compiler optimization problem.
+ Reducing optimization by setting CFLAGS to -O1 or below resolves the issue.
+ Alternatively, using a newer version of the compiler (11.0) also works as
+ intended. MAM - 2010/06/01
+
+* h5diff will not report enum value differences when one or both of the values
+ is not a valid enumeration value. The source of this bug has been identified
+ and it will be fixed in 1.8.8. DER - 2011/04/27
+
+
+%%%%1.8.6%%%%
+
+
+HDF5 version 1.8.6 released on Mon Feb 14 10:26:30 CST 2011
+================================================================================
+
+INTRODUCTION
+============
+
+This document describes the differences between HDF5-1.8.5 and
+HDF5 1.8.6, and contains information on the platforms tested and
+known problems in HDF5-1.8.6.
+For more details, see the files HISTORY-1_0-1_8_0_rc3.txt
+and HISTORY-1_8.txt in the release_docs/ directory of the HDF5 source.
+
+Links to the HDF5 1.8.6 source code, documentation, and additional materials
+can be found on the HDF5 web page at:
+
+ http://www.hdfgroup.org/products/hdf5/
+
+The HDF5 1.8.6 release can be obtained from:
+
+ http://www.hdfgroup.org/HDF5/release/obtain5.html
+
+User documentation for 1.8.6 can be accessed directly at this location:
+
+ http://www.hdfgroup.org/HDF5/doc/
+
+New features in the HDF5-1.8.x release series, including brief general
+descriptions of some new and modified APIs, are described in the "What's New
+in 1.8.0?" document:
+
+ http://www.hdfgroup.org/HDF5/doc/ADGuide/WhatsNew180.html
+
+All new and modified APIs are listed in detail in the "HDF5 Software Changes
+from Release to Release" document, in the section "Release 1.8.6 (current
+release) versus Release 1.8.5":
+
+ http://www.hdfgroup.org/HDF5/doc/ADGuide/Changes.html
+
+If you have any questions or comments, please send them to the HDF Help Desk:
+
+ help@hdfgroup.org
+
+
+CONTENTS
+========
+
+- New Features
+- Support for New Platforms, Languages, and Compilers
+- Bug Fixes since HDF5-1.8.5
+- Platforms Tested
+- Supported Configuration Features Summary
+- Known Problems
+
+
+New Features
+============
+
+ Configuration
+ -------------
+ - CMake: Improved CPack packaging, added parallel commands, improved
+ configuration options (better similarity to configure), added more
+ tests, better support for use in external cmake projects.
+ (ADB - 2010/10/07)
+ - The default configuration setting for official releases is
+ --enable-production. For unofficial releases, the default configuration
+ setting has been --disable-production. (AKC - 2010/05/28)
+ Library
+ -------
+ - Added support for thread safety on Windows using the Windows threads
+ library. Use the HDF5_ENABLE_THREADSAFE option in CMake on a Windows
+ platform to enable this functionality. This is supported on Windows
+ Vista and newer Windows operating systems. (MAM - 2010/09/10)
+ - H5Tset_order and H5Tget_order now support all datatypes. A new byte
+ order, H5T_ORDER_MIXED, has been added specifically for a compound
+ datatype and its derived type. (SLU - 2010/8/23)
+ - Improved performance of metadata I/O by changing the default algorithm
+ to perform I/O from all processes (instead of just process 0) when using
+ parallel I/O drivers. (QAK - 2010/07/19)
+ - Improved performance of I/O on datasets with the same shape, but
+ different rank. (QAK - 2010/07/19)
+ - Improved performance of the chunk cache by avoiding unnecessary b-tree
+ lookups of chunks already in cache. (NAF - 2010/06/15)
+
+ Parallel Library
+ ----------------
+ - None
+
+ Tools
+ -----
+ - h5diff: Added a new flag: --exclude-path. The specified path to an
+ object will be excluded when comparing two files or two groups. If a
+ group is specified to be excluded, all member objects of that group
+ will be excluded. (JKM - 2010/09/16).
+ - h5ls: Added a new flag: --no-dangling-links. See --help output for
+ details. (JKM - 2010/06/15)
+ - h5ls: Added a new flag --follow-symlinks. See --help output for
+ details. (JKM - 2010/05/25)
+
+ High-Level APIs
+ ---------------
+ - None
+
+ F90 API
+ -------
+ - None
+
+ C++ API
+ -------
+ - None
+
+
+Support for New Platforms, Languages, and Compilers
+===================================================
+ - Sun C and C++ 5.10 and Sun Fortran 95 8.4.
+ - Mac OS X 10.6.4 with gcc 4.2.1 and gfortran 4.6
+
+
+Bug Fixes since HDF5-1.8.5
+==========================
+
+ Configuration
+ -------------
+ - The default number of MPI processes for testing purposes has been
+ changed from 3 to 6. (AKC - 2010/11/11)
+ - Some tests in tools/h5repack may fail in AIX systems when -q32 mode is
+ used. The error is caused by not requesting enough memory in default.
+ Added "env LDR_CNTRL=MAXDATA=0x20000000@DSA" into the $RUNSERIAL and
+ $RUNPARALLE in the AIX config file so that executables are tested with
+ more memory. (AKC - 2010/11/11)
+ - Removed recognition of the parallel compilers of LAM(hcc) and
+ ChMPIon(cmpicc) since we have no access to these two MPI implementations
+ and cannot verify their correctness. (AKC - 2010/07/14 - Bug 1921)
+ - PHDF5 was changed to use "mpiexec" instead of mpirun as the default
+ MPI applications startup command as defined in the MPI-2 definition,
+ section 4.1. (AKC - 2010/06/11 - Bug 1921)
+
+ Library
+ -------
+ - Fixed a bug that caused big endian machines to generate corrupt files
+ when using the scale-offset filter with floating point data or fill
+ values. Note that such datasets will no longer be readable by any
+ by any machine after this patch. (NAF - 2010/02/02 - Bug 2131)
+ - Retrieving a link's name by index in the case where the link is external
+ and the file that the link refers to doesn't exist will now fail
+ gracefully rather than cause a segmentation fault. (MAM - 2010/11/17)
+ - Modified metadata accumulator to better track accumulated dirty metadata
+ in an effort to reduce unnecessary I/O in certain situations and to
+ fix some other corner cases which were prone to error. (MAM - 2010/10/15)
+ - Added a new set of unit tests that are run during 'make check' to verify
+ the behavior of the metadata accumulator. (MAM - 2010/10/15)
+ - Modified library to always cache symbol table information. Libraries
+ from version 1.6.3 and earler have a bug which causes them to require
+ this information for some operations. (NAF - 2010/09/21 - Bug 1864)
+ - Fixed a bug where the library could generate an assertion/core dump when
+ a file that had been created with H5Pset_libver_bounds(fapl,
+ H5F_LIBVER_LATEST, H5F_LIBVER_LATEST) but didn't have a superblock
+ extension was later reopened. (QAK - 2010/09/16 - Bug 1968)
+ - Fixed a bug that could occur when getting information for a new-style
+ group that was previously opened through a file handle that was later
+ closed. (NAF - 2010/09/15)
+ - Added define check in H5public.h if stdint.h is supported by the C++
+ compiler. This define is only available on Windows with VS2010 and using
+ CMake to build the library. (ADB - 2010/09/13 - Bug 1938)
+ - When a mandatory filter failed to write data chunks, the dataset
+ couldn't close (bug 1260). The fix releases all resources and closes
+ the dataset but returns a failure. (SLU - 2010/09/08)
+ - H5Eset_current_stack now also closes the error stack set as the
+ default. This is to avoid a potential problem.
+ (SLU - 2010/09/07 - Bug 1799)
+ - Corrected situation where 1-D chunked dataset could get created by an
+ application without calling H5Pset_chunk(). H5Pset_chunk is now
+ required for creating all chunked datasets. (QAK - 2010/09/02)
+ - Fixed many memory issues that valgrind exposed. (QAK - 2010/08/24)
+ - Fixed the bug in the filter's public CAN_APPLY function. The return
+ value should be htri_t not herr_t. (SLU - 2010/08/05 - Bug 1239)
+ - Fixed the STDIO VFD to use fseeko64 instead of fseek64 for 64-bit I/O
+ support. (AKC - 2010/7/30)
+ - Fixed a bug in the direct I/O driver that could render files with certain
+ kinds of unaligned data unreadable or corrupt them. (NAF - 2010/07/28)
+ - valgrind reported an error of copying data to itself when a new attribute
+ is written. Fixed by taking out the memcpy step in the attribute code.
+ (SLU - 2010/07/28 - Bug 1956)
+ - Corrected various issues in the MPI datatype creation code which could
+ cause resource leaks or incorrect behavior (and may improve the
+ performance as well). (QAK - 2010/07/19)
+ - Fixed a bug that could cause file corruption when using non-default sizes
+ of addresses and/or lengths. This bug could also cause uncorrupted files
+ with this property to be unreadable. This bug was introduced in 1.8.5.
+ (NAF - 2010/07/16 - Bug 1951)
+
+ Parallel Library
+ ----------------
+ - None
+
+ Tools
+ -----
+ - Fixed h5diff to compare member objects and groups recursively when
+ two files or groups are compared. (JKM - 2010/9/16 - Bug 1975)
+ - Fixed h5repack to be able to convert a dataset to COMPACT layout.
+ (JKM - 2010/09/15 - Bug 1896)
+ - Changed h5ls to not interpret special characters in object or attribute
+ names for output. (JKM - 2010/06/28 - Bug 1784)
+ - Revised the order of arguments for h5cc, h5fc, h5c++, h5pcc and h5pfc.
+ CPPFLAGS, CFLAGS, LDFLAGS, and LIBS have been duplicated with an H5BLD_
+ prefix to put the flags and paths from the hdf5 build in the correct
+ places and allow the script user to add entries in CPPFLAGS, CFLAGS,
+ LDFLAGS, and LIBS that will take precedence over those from the hdf5
+ build. The user can make these entries persistent by editing
+ CFLAGSBASE, CPPFLAGSBASE, LDFLAGSBASE, and LIBSBASE near the top of
+ the script or temporary by setting HDF5_CFLAGS, HDF5_CPPFLAGS,
+ HDF5_LDFLAGS, or HDF5_LIBS in the environment. The new order of
+ arguments in these scripts is $CLINKER $H5BLD_CPPFLAGS $CPPFLAGS
+ $H5BLD_CFLAGS $CFLAGS $LDFLAGS $clibpath $link_objs $LIBS $link_args
+ $shared_link. (LRK - 2010/10/25 - Bug 1973)
+
+ F90 API
+ ------
+ - None
+
+ C++ API
+ ------
+ - None
+
+ High-Level APIs:
+ ------
+ - None
+
+ Fortran High-Level APIs:
+ ------
+ - None
+
+
+Platforms Tested
+================
+The following platforms and compilers have been tested for this release.
+
+ AIX 6.1 xlc 11.1.0.3
+ (NCSA BP) xlC 11.1.0.3
+ xlf 13.1.0.3
+ mpcc_r 11.1.0.3
+ mpxlf_r 13.1.0.3
+
+ FreeBSD 6.3-STABLE i386 gcc 3.4.6 [FreeBSD] 20060305
+ (duty) g++ 3.4.6 [FreeBSD] 20060305
+ gcc 4.4.5 20100803
+ g++ 4.4.5 20100803
+ gfortran 4.4.5 20100803
+
+ FreeBSD 6.3-STABLE amd64 gcc 3.4.6 [FreeBSD] 20060305
+ (liberty) g++ 3.4.6 [FreeBSD] 20060305
+ gcc 4.4.5 20100803
+ g++ 4.4.5 20100803
+ gfortran 4.4.5 20100803
+
+ Linux 2.6.18-194.3.1.el5PAE gcc (GCC) 4.1.2 and 4.4.2
+ #1 SMP i686 i686 i386 G95 (GCC 4.0.3 (g95 0.93!) Apr 21 2010)
+ (jam) GNU Fortran (GCC) 4.1.2 20080704
+ (Red Hat 4.1.2-48) and 4.4.2
+ PGI C, Fortran, C++ 10.4-0 32-bit
+ PGI C, Fortran, C++ 10.6-0 32-bit
+ Intel(R) C Compiler for 32-bit
+ applications, Version 11.1
+ Intel(R) C++ Compiler for 32-bit
+ applications, Version 11.1
+ Intel(R) Fortran Compiler for 32-bit
+ applications, Version 11.1
+ Absoft 32-bit Fortran 95 10.0.7
+ MPICH mpich2-1.3.1 compiled with
+ gcc 4.1.2 and gfortran 4.1.2
+
+ Linux 2.6.18-194.17.1.el5 gcc 4.1.2 and 4.4.2
+ #1 SMP x86_64 GNU/Linux G95 (GCC 4.0.3 (g95 0.93!) Apr 21 2010)
+ (amani) tested for both 32- and 64-bit binaries
+ GNU Fortran (GCC) 4.1.2 20080704
+ (Red Hat 4.1.2-46) and 4.4.2
+ Intel(R) C, C++, Fortran Compilers for
+ applications running on Intel(R) 64,
+ Version 11.1.
+ PGI C, Fortran, C++ Version 9.0-4
+ for 64-bit target on x86-64
+ MPICH mpich2-1.3.1 compiled with
+ gcc 4.1.2 and gfortran 4.1.2
+
+ SGI ProPack 7 Linux Intel(R) C++ Version 11.1 20100806
+ 2.6.32.19-0.3.1.1982.0.PTF- Intel(R) Fortran Version 11.1 20100806
+ default #1 SMP SGI MPT 2.01
+ SGI Altix UV
+ (NCSA ember)
+
+ SunOS 5.10 32- and 64-bit Sun C 5.9 Sun OS_sparc Patch 124867-16
+ (linew) Sun Fortran 95 8.3 Sun OS_sparc Patch 127000-13
+ Sun C++ 5.9 Sun OS_sparc Patch 124863-62
+ Sun C 5.10 SunOS_sparc Patch 141861-07
+ Sun Fortran 95 8.4 SunOS_sparc Patch 128231-06
+ Sun C++ 5.10 SunOS_sparc 128228-11
+
+ Intel Xeon Linux 2.6.18- gcc 4.2.4
+ 92.1.10.el5_lustre.1.6.6smp- Intel(R) C++ Version 10.1.017
+ perfctr #8 SMP Intel(R) Fortran Compiler Version 10.1.017
+ (NCSA abe) Open MPI 1.3.2
+ MVAPICH2-1.5.1_pgi-10.8
+
+ Windows XP Visual Studio 2008 w/ Intel Fortran 10.1 (project files)
+ Visual Studio 2008 w/ Intel Fortran 11.1 (cmake)
+ Visual Studio 2010 (cmake)
+ Cygwin(1.7.7 native gcc(4.3.4) compiler and gfortran)
+
+ Windows XP x64 Visual Studio 2008 w/ Intel Fortran 10.1 (project files)
+ Visual Studio 2008 w/ Intel Fortran 11.1 (cmake)
+ Visual Studio 2010 (cmake)
+ Cygwin(1.7.7 native gcc(4.3.4) compiler and gfortran)
+
+ Windows Vista Visual Studio 2008 w/ Intel Fortran 10.1 (project files)
+ Visual Studio 2008 w/ Intel Fortran 11.1 (cmake)
+
+ Windows Vista x64 Visual Studio 2008 w/ Intel Fortran 10.1 (project files)
+ Visual Studio 2008 w/ Intel Fortran 11.1 (cmake)
+
+ Windows 7 Visual Studio 2008 w/ Intel Fortran 11.1 (cmake)
+
+ Windows 7 x64 Visual Studio 2008 w/ Intel Fortran 11.1 (cmake)
+
+ Mac OS X 10.6.3 (Intel 64-bit) i686-apple-darwin10-gcc-4.2.1 (GCC) 4.2.1
+ Darwin Kernel Version 10.3.1 GNU Fortran (GCC) 4.5.0 20090910
+ Intel C, C++ and Fortran compilers 11.1 20100806
+
+ Mac OS X 10.6.4 (Intel 32-bit) i686-apple-darwin10-gcc-4.2.1 (GCC) 4.2.1
+ Darwin Kernel Version 10.4.0 GNU Fortran (GCC) 4.6.0 20101106
+ Intel C, C++ and Fortran compilers 12.0.0 20101110
+
+ Mac OS X 10.6.4 (Intel 64-bit) i686-apple-darwin10-gcc-4.2.1 (GCC) 4.2.1 (Apple Inc. build 5659)
+ Darwin Kernel Version 10.6.0 GNU Fortran (GCC) 4.5.0 20090910
+ Intel C, C++ and Fortran compilers 11.1 20100806
+
+ Fedora 12 2.6.32.16-150.fc12.ppc64 #1 SMP ppc64 GNU/Linux
+ gcc (GCC) 4.4.4 20100630 (Red Hat 4.4.4-10)
+ GNU Fortran (GCC) 4.4.4 20100630 (Red Hat 4.4.4-10)
+
+ Debian5.06 2.6.26-2-686 #1 SMP i686 GNU/Linux
+ gcc (Debian 4.3.2-1.1) 4.3.2
+ GNU Fortran (Debian 4.3.2-1.1) 4.3.2
+
+ Debian5.06 2.6.26-2-amd64 #1 SMP x86_64 GNU/Linux
+ gcc (Debian 4.3.2-1.1) 4.3.2
+ GNU Fortran (Debian 4.3.2-1.1) 4.3.2
+
+ Fedora14 2.6.35.6-48.fc14.i686.PAE #1 SMP i686 i686 i386 GNU/Linux
+ gcc (GCC) 4.5.1 20100924 (Red Hat 4.5.1-4)
+ GNU Fortran (GCC) 4.5.1 20100924 (Red Hat 4.5.1-4)
+
+ Fedora14 2.6.35.6-48.fc14.x86_64 #1 SMP x86_64 x86_64 x86_64 GNU/Linux
+ gcc (GCC) 4.5.1 20100924 (Red Hat 4.5.1-4)
+ GNU Fortran (GCC) 4.5.1 20100924 (Red Hat 4.5.1-4)
+
+ SUSE 11.3 2.6.34.7-0.7-desktop #1 SMP PREEMPT i686 i686 i386 GNU/Linux
+ gcc (SUSE Linux) 4.5.0 20100604 [gcc-4_5-branch revision 160292]
+ GNU Fortran (SUSE Linux) 4.5.0 20100604 [gcc-4_5-branch revision 160292]
+
+ SUSE 11.3 2.6.34.7-0.7-desktop #1 SMP PREEMPT x86_64 x86_64 x86_64 GNU/Linux
+ gcc (SUSE Linux) 4.5.0 20100604 [gcc-4_5-branch revision 160292]
+ GNU Fortran (SUSE Linux) 4.5.0 20100604 [gcc-4_5-branch revision 160292]
+
+ Ubuntu 10.10 2.6.35-25-generic #44-Ubuntu SMP i686 GNU/Linux
+ gcc (Ubuntu/Linaro 4.4.4-14ubuntu5) 4.4.5
+ GNU Fortran (Ubuntu/Linaro 4.4.4-14ubuntu5) 4.4.5
+
+ Ubuntu 10.10 2.6.35-25-generic #44-Ubuntu SMP x86_64 GNU/Linux
+ gcc (Ubuntu/Linaro 4.4.4-14ubuntu5) 4.4.5
+ GNU Fortran (Ubuntu/Linaro 4.4.4-14ubuntu5) 4.4.5
+
+ OpenVMS Alpha 8.3 HP C V7.3-009
+ HP Fortran V8.2-104679-48H9K
+ HP C++ V7.3-009
+
+Tested Configuration Features Summary
+========================================
+
+ In the tables below
+ y = tested
+ n = not tested in this release
+ C = Cluster
+ W = Workstation
+ x = not working in this release
+ dna = does not apply
+ ( ) = footnote appears below second table
+ <blank> = testing incomplete on this feature or platform
+
+Platform C F90 F90 C++ zlib SZIP
+ parallel parallel
+Solaris2.10 32-bit n y n y y y
+Solaris2.10 64-bit n y n y y y
+Windows XP n y(4) n y y y
+Windows XP x64 n y(4) n y y y
+Windows Vista n y(4) n y y y
+Windows Vista x64 n y(4) n y y y
+OpenVMS Alpha n y n y y n
+Mac OS X 10.6 Intel n y n y y y
+AIX 6.1 32- and 64-bit y y y y y y
+FreeBSD 6.3-STABLE 32&64 bit n y n y y y
+CentOS 5.5 Linux 2.6.18-194 i686 GNU (1)W y y(2) y y y y
+CentOS 5.5 Linux 2.6.18-194 i686 Intel W n y n y y n
+CentOS 5.5 Linux 2.6.18-194 i686 PGI W n y n y y n
+CentOS 5.5 Linux 2.6.16 x86_64 GNU (1) W y y(3) y y y y
+CentOS 5.5 Linux 2.6.16 x86_64 Intel W n y n y y n
+CentOS 5.5 Linux 2.6.16 x86_64 PGI W n y n y y y
+RedHat EL4 2.6.18 Xeon Lustre C y y y y y n
+Fedora 12 Linux 2.6.32.16-150.fc12.ppc64 n y n y y y
+SGI Linux 2.6.32.19 y y y y y y
+
+
+Platform Shared Shared Shared Thread-
+ C libs F90 libs C++ libs safe
+Solaris2.10 32-bit y y y y
+Solaris2.10 64-bit y y y y
+Windows XP y y(4) y n
+Windows XP x64 y y(4) y n
+Windows Vista y y(4) y y
+Windows Vista x64 y y(4) y y
+OpenVMS Alpha n n n n
+Mac OS X 10.6 y(5) n y n
+AIX 6.1 32- and 64-bit n n n y
+FreeBSD 6.3-STABLE 32&64 bit y n y y
+CentOS 5.5 Linux 2.6.18-128 i686 GNU (1)W y y(2) y y
+CentOS 5.5 Linux 2.6.18-128 i686 Intel W y y y n
+CentOS 5.5 Linux 2.6.18-128 i686 PGI W y y y n
+CentOS 5.5 Linux 2.6.16 x86_64 GNU (1) W y y y y
+CentOS 5.5 Linux 2.6.16 x86_64 Intel W y y y n
+CentOS 5.5 Linux 2.6.16 x86_64 PGI W y y y n
+RedHat EL4 2.6.18 Xeon Lustre C y y y n
+Fedora 12 Linux 2.6.32.16-150.fc12.ppc64 y y y y
+SGI Linux 2.6.32.19 y y y y
+
+ (1) Fortran compiled with gfortran.
+ (2) With PGI and Absoft compilers.
+ (3) With PGI compiler for Fortran.
+ (4) Using Visual Studio 2008 w/ Intel Fortran 10.1 (Cygwin shared libraries are not supported)
+ (5) C and C++ shared libraries will not be built when Fortran is enabled.
+ Compiler versions for each platform are listed in the preceding
+ "Platforms Tested" table.
+
+
+Known Problems
+==============
+* examples/run-all-ex.sh does not work on Cygwin. (NAF - 2011/02/11)
+
+* Parallel test, t_shapesame in testpar, is rather unstable as it continues to
+ have occasional errors in AIX and quite often in NCSA Abe. It is being built
+ but it is not run automatically in the "make check" command. One would have to
+ run it by hand to see if it works in a particular machine. AKC - 2011/01/28
+
+* Although OpenVMS Alpha is supported, there are several problems with the C
+ test suite - getname.c, lheap.c, lheap.c, mtime.c, and stab.c. The test
+ suite for h5diff also fails. These failures are from the tests, not the
+ library. We have fixed these failures. But it's too late to put the fixes
+ into this release. If you install the 1.8.6 library, it should still work
+ despite of these test failures. If you want the working copy without any
+ test failure, you can request it from us. SLU - 2011/01/26
+
+* If parallel gmake (e.g., gmake -j 4) is used, the "gmake clean" command
+ sometimes fails in the perform directory due to the attempt to remove the
+ executable of h5perf or h5perf_serial by two "parallel" commands. This error
+ has no consequence on the functionality of the HDF5 library or install. It
+ is fixed in the next release. AKC - 2011/01/25
+
+* While working on the 1.8.6 release of HDF5, a bug was discovered that can
+ occur when reading from a dataset in parallel shortly after it has been
+ written to collectively. The issue was exposed by a new test in the parallel
+ HDF5 test suite, but had existed before that. We believe the problem lies with
+ certain MPI implementations and/or filesystems.
+
+ We have provided a pure MPI test program, as well as a standalone HDF5
+ program, that can be used to determine if this is an issue on your system.
+ They should be run across multiple nodes with a varying number of processes.
+ These programs can be found at:
+ http://www.hdfgroup.org/ftp/HDF5/examples/known_problems/
+
+* The h5diff tool can display garbage values when variable-length strings in
+ a compound type dataset are compared. This also occurs with variable-length
+ string arrays in a compound type dataset. See bug #1989. This will be fixed
+ in the next release. JKM - 2010/11/05
+
+* The AIX --enable-shared setting does not quite work. It can produce a shared
+ library, but there cannot be more than one shared library that is
+ interlinked. This means that the high level APIs will not work which is not
+ very useful. We hope to have a solution in the next release.
+ (AKC - 2010/10/15)
+
+* H5Eset_auto can cause a seg fault for a library API call if the application
+ compiles with -DH5_USE_16_API (see bug 1707). It will be fixed in the
+ next release. SLU - 2010/10/5
+
+* The library's test dt_arith.c showed a compiler's rounding problem on
+ Cygwin when converting an unsigned long long to a long double. The
+ library's own conversion works fine. We defined a macro for Cygwin to
+ skip this test until we can solve the problem. Please see bug #1813.
+ SLU - 2010/5/5
+
+* All the VFL drivers aren't backwardly compatible. In H5FDpublic.h, the
+ structure H5FD_class_t changed in 1.8. A new parameter was added to the
+ get_eoa and set_eoa callback functions, and a new callback function
+ get_type_map was added. The public function H5FDrealloc was taken out in
+ 1.8. The problem only happens when users define their own driver for 1.6
+ and try to plug in a 1.8 library. This will be fixed in 1.10. SLU - 2010/2/2
+
+* MinGW has a missing libstdc++.dll.a library file and will not successfully link
+ C++ applications/tests. Do not use the enable-cxx configure option. Read all of
+ the INSTALL_MINGW.txt file for all restrictions. ADB - 2009/11/11
+
+* The PathScale MPI implementation, accessing a Panasas file system, would
+ cause H5Fcreate() with H5F_ACC_EXCL to fail even when the file does not
+ exist. This is due to the MPI_File_open() call failing if the amode has
+ the MPI_MODE_EXCL bit set. (See bug 1468 for details.) AKC - 2009/8/11
+
+* Parallel tests failed with 16 processes with data inconsistency at testphdf5
+ / dataset_readAll. Parallel tests also failed with 32 and 64 processes with
+ collective abort of all ranks at t_posix_compliant / allwrite_allread_blocks
+ with MPI IO. CMC - 2009/04/28
+
+* For Red Storm, a Cray XT3 system, the tools/h5ls/testh5ls.sh and
+ tools/h5copy/testh5copy.sh will fail some of their sub-tests. These
+ sub-tests are expected to fail and should exit with a non-zero code but
+ the yod command does not propagate the exit code of the executables. Yod
+ always returns 0 if it can launch the executable. The test suite shell
+ expects a non-zero for this particular test. Therefore, it concludes the
+ test has failed when it receives 0 from yod. To skip all the "failing"
+ tests for now, change them as shown below.
+
+ ======== Original tools/h5ls/testh5ls.sh =========
+ TOOLTEST tgroup-1.ls 1 -w80 -r -g tgroup.h5
+ ======== Change to ===============================
+ echo SKIP TOOLTEST tgroup-1.ls 1 -w80 -r -g tgroup.h5
+ ==================================================
+
+ ======== Original tools/h5copy/testh5copy.sh =========
+ TOOLTEST_FAIL -i $TESTFILE -o $FILEOUT -v -s grp_dsets -d grp_rename
+ TOOLTEST_FAIL -i $TESTFILE -o $FILEOUT -v -s grp_dsets -d /grp_rename/grp_dsets
+ TOOLTEST_FAIL -i $TESTFILE -o $FILEOUT -vp -s /grp_dsets -d /E/F/grp_dsets
+ TOOLTEST_FAIL -i $TESTFILE -o $FILEOUT -vp -s /grp_nested -d /G/H/grp_nested
+ H5LSTEST $FILEOUT
+ ======== Change to ===============================
+ echo SKIP TOOLTEST_FAIL -i $TESTFILE -o $FILEOUT -v -s grp_dsets -d grp_rename
+ echo SKIP TOOLTEST_FAIL -i $TESTFILE -o $FILEOUT -v -s grp_dsets -d /grp_rename/grp_dsets
+ echo SKIP TOOLTEST_FAIL -i $TESTFILE -o $FILEOUT -vp -s /grp_dsets -d /E/F/grp_dsets
+ echo SKIP TOOLTEST_FAIL -i $TESTFILE -o $FILEOUT -vp -s /grp_nested -d /G/H/grp_nested
+ echo SKIP H5LSTEST $FILEOUT
+ ==================================================
+ AKC - 2008/11/10
+
+* For Red Storm, a Cray XT3 system, the yod command sometimes gives the
+ message "yod allocation delayed for node recovery." This interferes
+ with test suites that do not expect to see this message. See the "Red Storm"
+ section in file INSTALL_parallel for a way to deal with this problem.
+ AKC - 2008/05/28
+
+* On an Intel 64 Linux cluster (RH 4, Linux 2.6.9) with Intel 10.0 compilers,
+ use the -mp -O1 compilation flags to build the libraries. A higher level
+ of optimization causes failures in several HDF5 library tests.
+
+* On mpich 1.2.5 and 1.2.6 on a system using four processors, if more than
+ two processes contribute no I/O and the application asks to do collective
+ I/O, we have found that a simple collective write will sometimes hang. This
+ can be verified with the t_mpi test under testpar.
+
+* A dataset created or rewritten with a v1.6.3 or later library cannot be
+ read with the v1.6.2 or earlier library when the Fletcher32 EDC filter
+ is enabled. There was a bug in the calculation of the Fletcher32 checksum
+ in the library before v1.6.3; the checksum value was not consistent
+ between big-endian and little-endian systems. This bug was fixed in
+ Release 1.6.3. However, after fixing the bug, the checksum value was no
+ longer the same as before on little-endian system. Library releases after
+ 1.6.4 can still read datasets created or rewritten with an HDF5 library of
+ v1.6.2 or earlier. SLU - 2005/6/30
+
+* On IBM AIX systems, parallel HDF5 mode will fail some tests with error
+ messages like "INFO: 0031-XXX ...". This is from the command `poe'. To
+ work around this, set the environment variable MP_INFOLEVEL to 0 to
+ minimize the messages and run the tests again. The tests may fail with
+ messages like "The socket name is already in use", but HDF5 does not use
+ sockets. This failure is due to problems with the poe command trying to
+ set up the debug socket. To resolve this problem, check to see whether
+ there are any old /tmp/s.pedb.* files around. These are sockets used by
+ the poe command and left behind if the command failed at some point. To
+ resolve this, ask your system administrator to remove the
+ old/tmp/s.pedb.* files, and then ask IBM to provide a means to run poe
+ without the debug socket.
+
+* The --enable-static-exec configure flag will only statically link
+ libraries if the static version of that library is present. If only the
+ shared version of a library exists (i.e., most system libraries on
+ Solaris, AIX, and Mac, for example, only have shared versions), the flag
+ should still result in a successful compilation, but note that the
+ installed executables will not be fully static. Thus, the only guarantee
+ on these systems is that the executable is statically linked with just
+ the HDF5 library.
+
+* On an SGI Altix SMP ia64 system, the Intel compiler version 10.1 (which
+ is the default on that system) does not work properly and results in
+ failures during the make check (in a static build) and the make
+ installcheck (in a shared build). This appears to be a compiler
+ optimization problem. Reducing the optimization by setting CFLAGS to
+ -O1 or below resolves the issue. Using a newer version of the compiler
+ (11.0) avoids the issue. MAM - 2010/06/01
+
+* On solaris systems, when running the examples with the scripts installed in
+ .../share/hdf5_examples, two of the c tests, h5_extlink and h5_elink_unix2win
+ may fail or generate HDF5 errors because the script commands in c/run-c-ex.sh
+ fail to create test directories red, blue, and u2w. Moving the '!' in lines
+ 67, 70, 73 of run-c-ex.sh will fix the problem. For example the script command
+ "if ! test -d red; then" will work on solaris if changed to
+ "if test ! -d red; then".
+
+
+%%%%1.8.5%%%%
+
+
+HDF5 version 1.8.5 released on Fri Jun 4 13:27:31 CDT 2010
+================================================================================
+
+INTRODUCTION
+============
+
+This document describes the differences between HDF5-1.8.4 and HDF5 1.8.5, and
+contains information on the platforms tested and known problems in HDF5-1.8.5.
+For more details, see the files HISTORY-1_0-1_8_0_rc3.txt and HISTORY-1_8.txt
+in the release_docs/ directory of the HDF5 source.
+
+Links to the HDF5 1.8.5 source code, documentation, and additional materials
+can be found on the HDF5 web page at:
+
+ http://www.hdfgroup.org/products/hdf5/
+
+The HDF5 1.8.5 release can be obtained from:
+
+ http://www.hdfgroup.org/HDF5/release/obtain5.html
+
+User documentation for 1.8.5 can be accessed directly at this location:
+
+ http://www.hdfgroup.org/HDF5/doc/
+
+New features in the HDF5-1.8.x release series, including brief general
+descriptions of some new and modified APIs, are described in the "What's New
+in 1.8.0?" document:
+
+ http://www.hdfgroup.org/HDF5/doc/ADGuide/WhatsNew180.html
+
+All new and modified APIs are listed in detail in the "HDF5 Software Changes
+from Release to Release" document, in the section "Release 1.8.5 (current
+release) versus Release 1.8.4":
+
+ http://www.hdfgroup.org/HDF5/doc/ADGuide/Changes.html
+
+If you have any questions or comments, please send them to the HDF Help Desk:
+
+ help@hdfgroup.org
+
+
+CONTENTS
+========
+
+- New Features
+- Support for New Platforms, Languages, and Compilers
+- Bug Fixes since HDF5-1.8.4
+- Platforms Tested
+- Supported Configuration Features Summary
+- Known Problems
+
+
+New Features
+============
+
+ Configuration
+ -------------
+ - CMake Early Access: This release adds support for building HDF5 using
+ the CMake system. Initial work has targeted Windows, but other platforms
+ can be used. See the CMake.TXT file for more information. Version
+ 2.8.1 of CMake is required.
+ - Configure now adds appropriate defines for supporting large (64-bit)
+ files on all systems, where supported, by default, instead of only Linux.
+ This large file support is controllable with the --enable-largefile
+ configure option. The Linux-specific --enable-linux-lfs option has been
+ deprecated in favor of this new option. Please note that specifying
+ --disable-large does NOT attempt to "turn off" largefile support if it
+ is natively supported by the compiler, but rather just disables
+ configure from actively trying to add any additional compiler flags.
+ (MAM - 2010/05/05 - Bug # 1772/1434)
+ - Fixed an signal handling mask error in H5detect that might result in
+ SIGBUS or SIGSEGV failures in some platforms such as Linux on Sparc.
+ (AKC - 2010/4/28 - Bug # 1764)
+ - Fixed various "strict aliasing" problems, allowing higher levels
+ of compiler optimization (in particular, allowing '-O3' to work
+ with recent versions of GCC). (QAK - 2010/04/26)
+ - Upgraded versions of autotools used to generate configuration suite.
+ We now use Automake 1.11.1, Autoconf 2.65, and Libtool 2.2.6b.
+ (MAM - 2010/04/15)
+ - Added the xlc-* and mpcc_r-* BASENAME patterns to be recognized as IBM
+ compilers so that the IBM compiler options can be added properly. This
+ allows non-system-default compiler command names (e.g. xlc-m.n.k.l) be
+ recognized. (AKC - 2009/11/26)
+
+ Library
+ -------
+ - Performance is substantially improved when extending a dataset with early
+ allocation. (NAF - 2010/03/24 - Bug # 1637)
+ - Added support for filtering densely stored groups. Many of the API
+ functions related to filters have been extended to support dense groups
+ as well as datasets. Pipeline messages can now be stored in a group's
+ object header. (NAF/QAK - 2009/11/3)
+
+ Parallel Library
+ ----------------
+ - None
+
+ Tools
+ -----
+ - h5dump: Added the new packed bits feature which prints packed bits stored
+ in an integer dataset. (AKC/ADB - 2010/5/7)
+ - h5diff: Fixed incorrect behavior (hang) in parallel mode when specifying
+ invalid options (ex: -v and -q). (JKM - 2010/02/17)
+ - h5diff: Added new flag --no-dangling-links (see --help for details).
+ (JKM - 2010/02/10)
+ - h5diff: Added new flag --follow-symlinks (see --help for details).
+ (JKM - 2010/01/25)
+ - h5diff: Added a fix to correct the display of garbage values when
+ displaying big-endian data on a little-endian machine. (JKM - 2009/11/20)
+
+ High-Level APIs
+ ---------------
+ - None
+
+ F90 API
+ -------
+ - None
+
+ C++ API
+ -------
+ - New member functions
+ + Overloaded CommonFG::getObjnameByIdx to take char* for name.
+ + Overloaded CommonFG::getObjTypeByIdx to return type name as a char*.
+ (BMR - 2010/05/10)
+ + Added DataSet::getInMemDataSize() to simplify getting the dataset's
+ data size in memory. (BMR - 2009/07/26)
+
+
+Support for New Platforms, Languages, and Compilers
+===================================================
+ - AIX 6.1 has been added. (AKC - 2010/1/4)
+
+
+Bug Fixes since HDF5-1.8.4
+==========================
+
+ Configuration
+ -------------
+ - Fixed various "strict aliasing" problems, allowing higher levels
+ of compiler optimization (in particular, allowing '-O3' to work
+ with recent versions of GCC). (QAK - 2010/04/26)
+
+ Library
+ -------
+ - Fixed a file corruption bug that could happen when shrinking a compressed
+ dataset. (NAF - 2010/05/20)
+ - Fixed some memory leaks in VL datatype conversion when strings are
+ used as fill values. (MAM - 2010/05/12 - Bug # 1826)
+ - Fixed an H5Rcreate failure when passing in a -1 for the dataspace
+ identifier. (ADB - 2010/4/28)
+ - Fixed a bug when copying objects with NULL references with the
+ H5O_COPY_EXPAND_REFERENCE_FLAG flag set. (NAF - 2010/04/08 - Bug # 1815)
+ - Added a mechanism to the H5I interface to save returned object identifier
+ structures for immediate re-use if needed. This addresses a potential
+ performance issue by delaying the case when the next identifier to be
+ registered has grown so large that it wraps around and needs to be
+ checked to see whether it is available for distribution.
+ (MAM - 2010/03/15 - Bug # 1730)
+ - Files can now be concurrently opened more than once using the core file
+ driver, as long as the backing store is used. (NAF - 2010/03/09)
+ - Added support for H5O_COPY_EXPAND_EXT_LINK_FLAG to H5Ocopy. External
+ links will now be expanded if this flag is set.
+ (NAF - 2010/03/05 - Bug # 1733)
+ - Fixed a bug where the library, when traversing an external link, would
+ reopen the source file if nothing else worked. (NAF - 2010/03/05)
+ - Fixed a bug where fractal heap identifiers for attributes and shared
+ object header messages could be incorrectly encoded in the file for
+ files created on big-endian platforms.
+ Please see http://www.hdfgroup.org/HDF5/release/known_problems if you
+ suspect you have a file with this problem.
+ (QAK - 2010/02/23 - Bug # 1755)
+ - Fixed an intermittent bug in the b-tree code which could be triggered
+ by expanding and shrinking chunked datasets in certain ways.
+ (NAF - 2010/02/16)
+ - H5Tdetect_class said a VL string is a string type. But when it's in
+ a compound type, it said it's a VL type. THis has been fixed to be
+ consistent; it now always returns a string type.
+ (SLU - 2009/12/10 - Bug # 1584)
+ - Allow "child" files from external links to be correctly located when
+ relative to a "parent" file that is opened through a symbolic link.
+ (QAK - 2009/12/01)
+
+ Parallel Library
+ ----------------
+ - Parallel mode in AIX will fail some of the testcheck_version.sh tests
+ where it treats "exit(134) the same as if process 0 had received an abort
+ signal. Fixed. (AKC - 2009/11/3)
+
+ Tools
+ -----
+ - Fixed h5ls to return exit code 1 (error) when a non-existent file is
+ specified. (JKM - 2010/04/27 - Bug # 1793)
+ - Fixed h5copy failure when copying a dangling link that is specified
+ directly. (JKM - 2010/04/22 - Bug # 1817)
+ - Fixed an h5repack failure that lost attributes from a dataset of
+ reference type. (JKM - 2010/3/25 - Bug # 1726)
+ - Fixed h5repack error that set NULL for object reference values for
+ datasets, groups, or named datatypes. (JKM - 2010/03/19 - Bug # 1814)
+
+ F90 API
+ ------
+ - None
+
+ C++ API
+ ------
+ - The constructor PropList::PropList(id) was fixed to act properly
+ according to the nature of 'id'. When 'id' is a property class
+ identifier, a new property list will be created. When 'id' is a
+ property list identifier, a copy of the property list will be made.
+ (BMR - 2010/5/9)
+ - The parameters 'size' and 'bufsize' in CommonFG::getLinkval and
+ CommonFG::getComment, respectively, now have default values for the
+ user's convenience. (BMR - 2009/10/23)
+ - NULL pointer accessing was fixed. (BMR - 2009/10/05 - Bug # 1061)
+ - Read/write methods of DataSet and Attribute classes were fixed
+ to handle string correctly. (BMR - 2009/07/26)
+
+ High-Level APIs:
+ ------
+ - Fixed a bug in H5DSattach_scale, H5DSis_attached, and H5DSdetach_scale
+ caused by using the H5Tget_native_type function to determine the native
+ type for reading the REFERENCE_LIST attribute. This bug was exposed
+ on Mac PPC. (EIP - 2010/05/22 - Bug # 1851)
+ - Fixed a bug in the H5DSdetach_scale function when 0 bytes were
+ allocated after the last reference to a dimension scale was removed
+ from the list of references in a VL element of the DIMENSION_LIST
+ attribute. Modified the function to comply with the specification:
+ the DIMENSION_LIST attribute is now deleted when no dimension scales
+ are left attached. (EIP - 2010/05/14 - Bug # 1822)
+
+ Fortran High-Level APIs:
+ ------
+ - None
+
+
+Platforms Tested
+================
+The following platforms and compilers have been tested for this release.
+
+ AIX 5.3 xlc 7.0.0.9, 8.0.0.20, 9.0.0.4
+ (LLNL Up) xlC 7.0.0.9, 8.0.0.20, 9.0.0.4
+ xlf 9.1.0.9, 10.1.0.9, 11.1.0.7
+ mpcc_r 7.0.0.9
+ mpxlf_r 09.01.0000.0008
+
+ AIX 6.1 xlc 10.1.0.6
+ (NCSA BP) xlC 10.1.0.6
+ xlf 12.1.0.7
+
+ Cray XT3 (2.1.56) cc (pgcc) 10.0-0
+ (SNL red storm) ftn (pgf90) 10.0-0
+ CC (pgCC) 10.0-0
+
+ FreeBSD 6.3-STABLE i386 gcc 3.4.6 [FreeBSD] 20060305
+ (duty) g++ 3.4.6 [FreeBSD] 20060305
+ gcc 4.3.4 20090419
+ g++ 4.3.4 20090419
+ gfortran 4.3.4 20090419
+
+ FreeBSD 6.3-STABLE amd64 gcc 3.4.6 [FreeBSD] 20060305
+ (liberty) g++ 3.4.6 [FreeBSD] 20060305
+ gcc 4.4.1 20090421
+ g++ 4.4.1 20090421
+ gfortran 4.4.1 20090421
+
+ Linux 2.6.18-128.1.6.el5xen gcc (GCC) 4.1.2 20080704 and 4.4.2
+ #1 SMP i686 i686 i386 GNU Fortran (GCC) 4.1.2 20080704 and 4.4.2
+ (jam) g++ (GCC) 4.1.2 20080704 and 4.4.2
+ G95 (GCC 4.0.3 (g95 0.93!) Apr 21 2010)
+ Absoft 32-bit Fortran 95 10.0.7
+ PGI C, Fortran, C++ 10.4-0 32-bit
+ Intel(R) C, C++, Fortran Compilers for 32-bit
+ applications, Version 11.1 Build 20090827
+ MPICH mpich2-1.0.8 compiled with
+ gcc 4.1.2 and GNU Fortran (GCC) 4.1.2
+
+ Linux 2.6.18-164.el5 #1 SMP gcc 4.1.2 20080704 and gcc 4.4.2
+ x86_64 GNU/Linux GNU Fortran (GCC) 4.1.2 20080704 and 4.4.2
+ (amani) g++ (GCC) 4.1.2 20080704 and 4.4.2
+ G95 (GCC 4.0.3 (g95 0.93!) Apr 21 2010)
+ Intel(R) C, C++, Fortran Compilers for
+ applications running on Intel(R) 64,
+ Version 11.1 Build 20090827.
+ PGI C, Fortran, C++ Version 10.4-0
+ for 32 & 64-bit target on x86-64
+ MPICH mpich2-1.0.8 compiled with
+ gcc 4.1.2 and GNU Fortran (GCC) 4.1.2
+
+ Linux 2.6.16.54-0.2.5 #1 Intel(R) C++ Version 11.0.074
+ SGI Altix SMP ia64 Intel(R) Fortran Itanium(R) Version 11.0.074
+ (cobalt) SGI MPI 1.38
+
+ SunOS 5.10 32- and 64-bit Sun C 5.9 SunOS_sparc Patch 124867-14
+ (linew) Sun Fortran 95 8.3 SunOS_sparc
+ Patch 127000-13
+ Sun C++ 5.9 SunOS_sparc Patch 124863-23
+
+ Intel Xeon Linux 2.6.18- Intel(R) C++ Version 10.0.026
+ 92.1.10.el5_lustre.1.6.6smp- Intel(R) Fortran Compiler Version 10.0.026
+ perfctr #7 SMP Open MPI 1.2.2
+ (abe) MVAPICH2-0.9.8p28p2patched-intel-ofed-1.2
+ compiled with icc v10.0.026 and ifort 10.0.026
+
+ Linux 2.6.18-76chaos #1 SMP Intel(R) C, C++, Fortran Compilers for
+ SMP x86_64 GNU/Linux applications running on Intel(R) 64,
+ (SNL Glory) Versions 11.1.
+
+ Windows XP Visual Studio 2008 w/ Intel Fortran 10.1
+ Cygwin(1.7.5 native gcc(4.3.4) compiler and
+ gfortran)
+
+ Windows XP x64 Visual Studio 2008 w/ Intel Fortran 10.1
+
+ Windows Vista Visual Studio 2008 w/ Intel Fortran 10.1
+
+ Windows Vista x64 Visual Studio 2008 w/ Intel Fortran 10.1
+
+ MAC OS 10.6.3 (Intel) i686-apple-darwin10-gcc-4.2.1 (GCC) 4.2.1
+ (pahra) GNU Fortran (GCC) 4.5.0 20090910
+ i686-apple-darwin10-g++-4.2.1 (GCC) 4.2.1
+ Intel C, C++ and Fortran compilers 11.1
+
+ MAC OS 10.5.8 (Intel) i686-apple-darwin9-gcc-4.0.1 (GCC) 4.0.1
+ (tejeda)
+
+ MAC OS 10.5 (PPC) powerpc-apple-darwin9-gcc-4.0.1 (GCC) 4.0.1
+ (juniper-w)
+
+ OpenVMS Alpha V8.3 HP C V7.3-009
+ HP C++ V7.3-009
+ HP Fortran V8.0-1-104669-48GBT
+
+Supported Configuration Features Summary
+========================================
+
+ In the tables below
+ y = tested and supported
+ n = not supported or not tested in this release
+ C = Cluster
+ W = Workstation
+ x = not working in this release
+ dna = does not apply
+ ( ) = footnote appears below second table
+ <blank> = testing incomplete on this feature or platform
+
+Platform C F90 F90 C++ zlib SZIP
+ parallel parallel
+Solaris2.10 32-bit n y n y y y
+Solaris2.10 64-bit n y n y y y
+Windows XP n y(4) n(4) y y y
+Windows XP x64 n y(4) n(4) y y y
+Windows Vista n y(4) n(4) y y y
+Windows Vista x64 n y(4) n(4) y y y
+Mac OS X 10.5 PPC n n n n y n
+Mac OS X 10.5 Intel n y n y y y
+Mac OS X 10.6 Intel n y n y y y
+AIX 5.3 32- and 64-bit n y n y y n
+AIX 6.1 32- and 64-bit n y n y y n
+FreeBSD 6.3-STABLE 32&64 bit n y n y y y
+RedHat EL4 2.6.9-42 i686 GNU (1) W y y y y y y
+RedHat EL5 2.6.18-128 i686 GNU (1)W y y(2) y y y y
+RedHat EL5 2.6.18-128 i686 Intel W n y n y y n
+RedHat EL5 2.6.18-128 i686 PGI W n y n y y n
+SuSe Linux 2.6.16 x86_64 GNU (1) W y y(3) y y y y
+SuSe Linux 2.6.16 x86_64 Intel W n y n y y n
+SuSe Linux 2.6.16 x86_64 PGI W n y n y y y
+SuSe Linux 2.6.16 SGI Altix ia64 C y y y y y y
+RedHat EL4 2.6.18 Xeon Lustre C y y y y y n
+Cray XT3 2.1.56 y y y y y n
+OpenVMS Alpha V8.3 n y n y y n
+
+Platform Shared Shared Shared Thread-
+ C libs F90 libs C++ libs safe
+Solaris2.10 32-bit y y y y
+Solaris2.10 64-bit y y y y
+Windows XP y y(4) y n
+Windows XP x64 y y(4) y n
+Windows Vista y y(4) y n
+Windows Vista x64 y y(4) y n
+Mac OS X 10.5 PPC y n n n
+Mac OS X 10.5 (Intel) y(5) n y n
+Mac OS X 10.6 (Intel) y(5) n y n
+AIX 5.3 32- and 64-bit n n n n
+AIX 6.1 32- and 64-bit n n n n
+FreeBSD 6.3-STABLE 32&64 bit y n y y
+RedHat EL4 2.6.9-42 i686 GNU (1) W y y y y
+RedHat EL5 2.6.18-128 i686 GNU (1)W y y(2) y y
+RedHat EL5 2.6.18-128 i686 Intel W y y y n
+RedHat EL5 2.6.18-128 i686 PGI W y y y n
+SuSe Linux 2.6.16 x86_64 GNU (1) W y y y y
+SuSe Linux 2.6.16 x86_64 Intel W y y y n
+SuSe Linux 2.6.16 x86_64 PGI W y y y n
+SuSe Linux 2.6.16 SGI Altix ia64 C y n
+RedHat EL4 2.6.18 Xeon Lustre C y y y n
+Cray XT3 2.1.56 n n n n
+OpenVMS Alpha V8.3 n n n n
+
+ (1) Fortran compiled with g95.
+ (2) With PGI and Absoft compilers.
+ (3) With PGI compiler for Fortran.
+ (4) Using Visual Studio 2008. (Cygwin shared libraries are not
+ supported.)
+ (5) Shared C and C++ are disabled when Fortran is configured in.
+ Compiler versions for each platform are listed in the preceding
+ "Platforms Tested" table.
+
+
+Known Problems
+==============
+* The library's test dt_arith.c exposed a compiler's rounding problem on
+ Cygwin when converting from unsigned long long to long double. The
+ library's own conversion works correctly. A macro is defined for Cygwin
+ to skip this test until we can solve the problem. (Please see bug #1813.)
+ SLU - 2010/5/5
+
+* All the VFL drivers aren't backward compatible. In H5FDpublic.h, the
+ structure H5FD_class_t changed in 1.8. There is a new parameter added to
+ get_eoa and set_eoa callback functions. A new callback function
+ get_type_map was added. The public function H5FDrealloc was taken
+ out in 1.8. The problem only happens when users define their own driver
+ for 1.6 and try to plug it into a 1.8 library. This affects a very small
+ number of users. (See bug report #1279.) SLU - 2010/2/2
+
+* MinGW has a missing libstdc++.dll.a library file and will not successfully
+ link C++ applications/tests. Do not use the enable-cxx configure option.
+ Read all of the INSTALL_MINGW.txt file for all restrictions.
+ ADB - 2009/11/11
+
+* Some tests in tools/h5repack may fail in AIX systems when -q32 mode is used.
+ The error is due to insufficient memory requested. Request a large amount
+ of runtime memory by setting the following environment variable for more
+ memory.
+ LDR_CNTRL=MAXDATA=0x20000000@DSA
+ AKC - 2009/10/31
+
+* The PathScale MPI implementation, accessing a Panasas file system, would
+ cause H5Fcreate() with H5F_ACC_EXCL to fail even when the file is not
+ existing. This is due to the MPI_File_open() call failing if the amode has
+ the MPI_MODE_EXCL bit set. (See bug 1468 for details.) AKC - 2009/8/11
+
+* Parallel tests failed with 16 processes with data inconsistency at testphdf5
+ / dataset_readAll. Parallel tests also failed with 32 and 64 processes with
+ collective abort of all ranks at t_posix_compliant / allwrite_allread_blocks
+ with MPI IO. CMC - 2009/04/28
+
+* For gcc v4.3 and v4.4, with production mode, if -O3 is used, H5Tinit.c
+ would fail to compile. Actually bad H5Tinit.c is produced. If -O (same
+ as -O1) is used, H5Tinit.c compiled okay but test/dt_arith would fail.
+ When -O0 (no optimizatio) is used, H5Tinit.c compilete okay and all
+ tests passed. Therefore, -O0 is imposed for v4.3 and v4.4 of gcc.
+ AKC - 2009/04/20
+
+* For Red Storm, a Cray XT3 system, the tools/h5ls/testh5ls.sh and
+ tools/h5copy/testh5copy.sh will fail some of its sub-tests. These sub-tests
+ are expected to fail and should exit with a non-zero code but the yod
+ command does not propagate the exit code of the executables. Yod always
+ returns 0 if it can launch the executable. The test suite shell expects
+ a non-zero for this particular test, therefore it concludes the test has
+ failed when it receives 0 from yod. Skip all the "failing" test for now
+ by changing them as following.
+
+ ======== Original tools/h5ls/testh5ls.sh =========
+ TOOLTEST tgroup-1.ls 1 -w80 -r -g tgroup.h5
+ ======== Change to ===============================
+ echo SKIP TOOLTEST tgroup-1.ls 1 -w80 -r -g tgroup.h5
+ ==================================================
+
+ ======== Original tools/h5copy/testh5copy.sh =========
+ TOOLTEST_FAIL -i $TESTFILE -o $FILEOUT -v -s grp_dsets -d grp_rename
+ TOOLTEST_FAIL -i $TESTFILE -o $FILEOUT -v -s grp_dsets -d /grp_rename/grp_dsets
+ TOOLTEST_FAIL -i $TESTFILE -o $FILEOUT -vp -s /grp_dsets -d /E/F/grp_dsets
+ TOOLTEST_FAIL -i $TESTFILE -o $FILEOUT -vp -s /grp_nested -d /G/H/grp_nested
+ H5LSTEST $FILEOUT
+ ======== Change to ===============================
+ echo SKIP TOOLTEST_FAIL -i $TESTFILE -o $FILEOUT -v -s grp_dsets -d grp_rename
+ echo SKIP TOOLTEST_FAIL -i $TESTFILE -o $FILEOUT -v -s grp_dsets -d /grp_rename/grp_dsets
+ echo SKIP TOOLTEST_FAIL -i $TESTFILE -o $FILEOUT -vp -s /grp_dsets -d /E/F/grp_dsets
+ echo SKIP TOOLTEST_FAIL -i $TESTFILE -o $FILEOUT -vp -s /grp_nested -d /G/H/grp_nested
+ echo SKIP H5LSTEST $FILEOUT
+ ==================================================
+ AKC - 2008/11/10
+
+* For Red Storm, a Cray XT3 system, the yod command sometimes gives the
+ message, "yod allocation delayed for node recovery". This interferes with
+ test suites that do not expect seeing this message. See the section of "Red
+ Storm" in file INSTALL_parallel for a way to deal with this problem.
+ AKC - 2008/05/28
+
+* On Intel 64 Linux cluster (RH 4, Linux 2.6.9) with Intel 10.0 compilers,
+ use -mp -O1 compilation flags to build the libraries. A higher level of
+ optimization causes failures in several HDF5 library tests.
+
+* On mpich 1.2.5 and 1.2.6, if more than two processes contribute no IO and
+ the application asks to do collective IO, we have found that when using 4
+ processors, a simple collective write will sometimes be hung. This can be
+ verified with t_mpi test under testpar.
+
+* A dataset created or rewritten with a v1.6.3 library or after cannot be read
+ with the v1.6.2 library or before when the Fletcher32 EDC filter is enabled.
+ There was a bug in the calculation of the Fletcher32 checksum in the
+ library before v1.6.3; the checksum value was not consistent between big-
+ endian and little-endian systems. This bug was fixed in Release 1.6.3.
+ However, after fixing the bug, the checksum value was no longer the same as
+ before on little-endian system. Library releases after 1.6.4 can still read
+ datasets created or rewritten with an HDF5 library of v1.6.2 or before.
+ SLU - 2005/6/30
+
+* On IBM AIX systems, parallel HDF5 mode will fail some tests with error
+ messages like "INFO: 0031-XXX ...". This is from the command `poe'.
+ Set the environment variable MP_INFOLEVEL to 0 to minimize the messages
+ and run the tests again.
+
+ The tests may fail with messages like "The socket name is already in use,"
+ but HDF5 does not use sockets. This failure is due to problems with the
+ poe command trying to set up the debug socket. To resolve this problem,
+ check to see whether there are many old /tmp/s.pedb.* files staying around.
+ These are sockets used by the poe command and left behind due to failed
+ commands. First, ask your system administrator to clean them out.
+ Lastly, request IBM to provide a means to run poe without the debug socket.
+
+* The --enable-static-exec configure flag will only statically link libraries
+ if the static version of that library is present. If only the shared version
+ of a library exists (i.e., most system libraries on Solaris, AIX, and Mac,
+ for example, only have shared versions), the flag should still result in a
+ successful compilation, but note that the installed executables will not be
+ fully static. Thus, the only guarantee on these systems is that the
+ executable is statically linked with just the HDF5 library.
+
+* There is also a configure error on Altix machines that incorrectly reports
+ when a version of Szip without an encoder is being used.
+
+* On FREE-BSD systems when shared libraries are disabled, make install fails
+ in install-examples with the error '"Makefile", line 635: Need an operator'.
+ When this error occurs removing or commenting out the line "export
+ LD_LIBRARY_PATH=$(LL_PATH)" (line 635 in examples/Makefile) will allow make
+ install to finish installing examples. The problem will be fixed in the
+ next release. LRK - 2010/05/26
+
+* On cobalt, an SGI Altix SMP ia64 system, Intel compiler version 10.1 (which
+ is the default on that system) does not work properly and results in
+ failures during make check (in a static build) and make installcheck (during
+ a shared build). This appears to be a compiler optimization problem.
+ Reducing optimization by setting CFLAGS to -O1 or below resolves the issue.
+ Alternatively, using a newer version of the compiler (11.0) also works as
+ intended. MAM - 2010/06/01
+
+
+%%%%1.8.4%%%%
+
+
+HDF5 version 1.8.4 released on Tue Nov 10 15:33:14 CST 2009
+================================================================================
+
+INTRODUCTION
+============
+
+This document describes the differences between HDF5-1.8.3 and
+HDF5 1.8.4, and contains information on the platforms tested and
+known problems in HDF5-1.8.4
+For more details, see the files HISTORY-1_0-1_8_0_rc3.txt
+and HISTORY-1_8.txt in the release_docs/ directory of the HDF5 source.
+
+Links to the HDF5 1.8.4 source code, documentation, and additional materials
+can be found on the HDF5 web page at:
+
+ http://www.hdfgroup.org/products/hdf5/
+
+The HDF5 1.8.4 release can be obtained from:
+
+ http://www.hdfgroup.org/HDF5/release/obtain5.html
+
+User documentation for 1.8.4 can be accessed directly at this location:
+
+ http://www.hdfgroup.org/HDF5/doc/
+
+New features in the HDF5-1.8.x release series, including brief general
+descriptions of some new and modified APIs, are described in the "What's New
+in 1.8.0?" document:
+
+ http://www.hdfgroup.org/HDF5/doc/ADGuide/WhatsNew180.html
+
+All new and modified APIs are listed in detail in the "HDF5 Software Changes
+from Release to Release" document, in the section "Release 1.8.4 (current
+release) versus Release 1.8.3":
+
+ http://www.hdfgroup.org/HDF5/doc/ADGuide/Changes.html
+
+If you have any questions or comments, please send them to the HDF Help Desk:
+
+ help@hdfgroup.org
+
+
+CONTENTS
+========
+
+- New Features
+- Support for New Platforms, Languages, and Compilers
+- Bug Fixes since HDF5-1.8.3
+- Platforms Tested
+- Supported Configuration Features Summary
+- Known Problems
+
+
+New Features
+============
+
+ Configuration
+ -------------
+ - Configuration suite now uses Automake 1.11 and Autoconf 2.64.
+ MAM 2009/08/31.
+ - Changed default Gnu fortran compiler from g95 to gfortran since
+ gfortran is more likely installed with gcc now. -AKC 2009/07/19-
+
+ Library
+ -------
+ - The embedded library information is displayed by H5check_version() if a
+ version mismatch is detected. Also changed H5check_version() to
+ suppress the warning message totally if $HDF5_DISABLE_VERSION_CHECK is 2
+ or higher. (Old behavior treated 3 or higher the same as 1, that is
+ print a warning and allows the program to continue. (AKC - 2009/9/28)
+ - If a user does not care for the extra library information insert
+ in the executables, he may turn it off by --disable-embedded-libinfo
+ during configure. (AKC - 2009/9/15)
+
+ Parallel Library
+ ----------------
+ - None
+
+ Tools
+ -----
+ - h5diff: h5diff treats two INFINITY values different. Fixed by checking
+ (value==expect) before call ABS(...) at h5diff_array.c. This will make
+ that (INF==INF) is true (INF is treated as an number instead of NaN)
+ (PC -- 2009/07/28)
+ - h5diff: add option "--use-system-epsilon" to print difference if
+ (|a-b| > EPSILON).
+ Change default to use strict equality (PC -- 2009/09/12)
+
+ High-Level APIs
+ ---------------
+ - None
+
+ F90 API
+ -------
+ - Added H5Oopen_by_addr_f MSB - 9/14/09
+
+ C++ API
+ -------
+ - None
+
+
+Support for New Platforms, Languages, and Compilers
+===================================================
+ - PathScale compilers are recognized and can build the HDF5 library
+ properly. AKC - 2009/7/28 -
+
+
+Bug Fixes since HDF5-1.8.3
+==========================
+
+ Configuration
+ -------------
+ - Removed the following config files, as we no longer support them:
+ config/dec-osf*, config/hpux11.00, config/irix5.x,
+ config/powerpc-ibm-aix4.x config/rs6000-ibm-aix5.x config/unicos*
+ MAM - 2009/10/08
+ - Modified configure and make process to properly preserve user's CFLAGS
+ (and company) environment variables. Build will now properly use
+ automake's AM_CFLAGS for any compiler flags set by the configure
+ process. Configure will no longer modify CFLAGS directly, nor will
+ setting CFLAGS during make completely replace what configure has set up.
+ MAM - 2009/10/08
+ - Support for TFLOPS, config/intel-osf1, is removed since the TFLOPS
+ machine has long retired. AKC - 2009/10/06.
+ - Added $(EXEEXT) extension to H5detect when it's executed in the
+ src/Makefile to generate H5Tinit.c so it works correctly on platforms
+ that require the full extension when running executables.
+ MAM - 2009/10/01 - BZ #1613
+ - Configure will now set FC and CXX to "no" when fortran and c++
+ are not being compiled, respectively, so configure will not run
+ some of the compiler tests for these languages when they are not
+ being used. MAM - 2009/10/01
+ - The --enable-static-exec flag will now properly place the -static flag
+ on the link line of all installed executables. This will force the
+ executable to link with static libraries over shared libraries, provided
+ the static libraries are available. MAM - 2009/08/31 - BZ #1583
+ - The PathScale compiler (v3.2) was mistaken as gcc v4.2.0 but it fails to
+ recognize some gcc options. Fixed. (see bug 1301). AKC - 2009/7/28 -
+
+ Library
+ -------
+ - Fixed a bug where writing and deleting many global heap objects (i.e.
+ variable length data) would render the file unreadable. Previously
+ created files exhibiting this problem should now be readable.
+ NAF - 2009/10/27 - 1483
+ - Fixed error in library's internal caching mechanisms which could cause
+ an assertion failure (and attendent core dump) when encountering an
+ unusually formatted file. (QAK - 2009/10/13)
+ - Fixed incorrect return value for H5Pget_preserve. AKC - 2009/10/08 - 1628
+ - Fixed an assertion failure that occurred when H5Ocopy was called on a
+ dataset using a vlen inside a compound. NAF - 2009/10/02 - 1597
+ - Fixed incorrect return value for H5Pget_filter_by_id1/2 in H5Ppublic.h.
+ NAF - 2009/09/25 - 1620
+ - Fixed a bug where properties weren't being compared with the registered
+ compare callback. NAF - 2009/09/25 - 1555
+ - Corrected problem where library would re-write the superblock in a file
+ opened for R/W access, even when no changes were made to the file.
+ (QAK - 2009/08/20, Bz#1473)
+ - Fixed a bug where H5Pget_filter_by_id would succeed when called for a
+ filter that wasn't present. NAF - 2009/06/25 - 1250
+ - Fixed an issue with committed compound datatypes containing a vlen. Also
+ fixed memory leaks involving committed datatypes. NAF - 2009/06/10 - 1593
+
+ Parallel Library
+ ----------------
+ - None
+
+ Tools
+ -----
+ - h5dump/h5ls display buffer resize fixed in tools library.
+ ADB - 2009/7/21 - 1520
+ - perf_serial test added to Windows projects and check batch file.
+ ADB - 2009/06/11 -1504
+
+
+ F90 API
+ ------
+ - Fixed bug in h5lget_info_by_idx_f by adding missing arguments,
+ consequently changing the API. New API is:
+
+ SUBROUTINE h5lget_info_by_idx_f(loc_id, group_name, index_field, order, n, &
+ link_type, f_corder_valid, corder, cset, address, val_size, hdferr, lapl_id)
+
+ MSB - 2009/9/17 - 1652
+
+ - Corrected the values for the H5L_flags FORTRAN constants:
+ H5L_LINK_ERROR_F, H5L_LINK_HARD_F, H5L_LINK_SOFT_F, H5L_LINK_EXTERNAL_F
+ MSB - 2009-09-17 - 1653
+
+ - Added FORTRAN equivalent of C constant H5T_ORDER_NONE: H5T_ORDER_NONE_F
+ MSB - 2009-9-24 - 1471
+
+ C++ API
+ ------
+ - None
+
+ High-Level APIs:
+ ------
+ - Fixed a bug where the H5TB API would forget the order of fields when added
+ out of offset order. NAF - 2009/10/27 - 1582
+ - H5DSis_attached failed to account for different platform types. Added a
+ get native type call. ADB - 2009/9/29 - 1562
+
+ Fortran High-Level APIs:
+ ------
+ - Lite: the h5ltread_dataset_string_f and h5ltget_attribute_string_f functions
+ had memory problems with the g95 fortran compiler. (PVN � 5/13/2009) 1522
+
+
+
+Platforms Tested
+================
+The following platforms and compilers have been tested for this release.
+
+ AIX 5.3 xlc 7.0.0.8
+ (LLNL Up) xlf 09.01.0000.0008
+ xlC 7.0.0.8
+ mpcc_r 7.0.0.8
+ mpxlf_r 09.01.0000.0008
+
+ Cray XT3 (2.0.41) cc (pgcc) 7.1-4
+ (SNL red storm) ftn (pgf90) 7.1-4
+ CC (pgCC) 7.1-4
+
+ FreeBSD 6.3-STABLE i386 gcc 3.4.6 [FreeBSD] 20060305
+ (duty) g++ 3.4.6 [FreeBSD] 20060305
+ gcc 4.3.5 20091004
+ g++ 4.3.5 20091004
+ gfortran 4.3.5 20091004
+
+ FreeBSD 6.3-STABLE amd64 gcc 3.4.6 [FreeBSD] 20060305
+ (liberty) g++ 3.4.6 [FreeBSD] 20060305
+ gcc 4.4.2 20091006
+ g++ 4.4.2 20091006
+ gfortran 4.4.2 20091006
+
+ Linux 2.6.18-164.el5 gcc (GCC) 4.1.2 20080704
+ #1 SMP i686 i686 i386 G95 (GCC 4.0.3 (g95 0.92!) Jun 24 2009)
+ (jam) GNU Fortran (GCC) 4.1.2 20080704
+ (Red Hat 4.1.2-46)
+ PGI C, Fortran, C++ 8.0-5 32-bit
+ PGI C, Fortran, C++ 8.0-1 32-bit
+ Intel(R) C Compiler for 32-bit
+ applications, Versions 11.0, 11.1
+ Intel(R) C++ Compiler for 32-bit
+ applications, Version 11.0, 11.1
+ Intel(R) Fortran Compiler for 32-bit
+ applications, Version 11.0, 11.1
+ Absoft 32-bit Fortran 95 10.0.7
+ MPICH mpich2-1.0.8 compiled with
+ gcc (GCC) 4.1.2 and G95
+ (GCC 4.0.3 (g95 0.92!)
+
+ Linux 2.6.18-164.el5 #1 SMP gcc 4.1.2 20080704
+ x86_64 GNU/Linux G95 (GCC 4.0.3 (g95 0.92!) Jun 24 2009)
+ (amani) tested for both 32- and 64-bit binaries
+ Intel(R) C, C++, Fortran Compilers for
+ applications running on Intel(R) 64,
+ Versions 11.1.
+ PGI C, Fortran, C++ Version 9.0-4
+ for 64-bit target on x86-64
+ gcc 4.1.2 and G95 (GCC 4.0.3 (g95 0.92!)
+ MPICH mpich2-1.0.8 compiled with
+ gcc 4.1.2 and G95 (GCC 4.0.3 (g95 0.92!)
+ GNU Fortran (GCC) 4.1.2 20080704
+ (Red Hat 4.1.2-46)
+
+
+ Linux 2.6.16.60-0.42.5 #1 Intel(R) C++ Version 10.1.017
+ SGI Altix SMP ia64 Intel(R) Fortran Itanium(R) Version 10.1.017
+ (cobalt) SGI MPI 1.38
+
+ SunOS 5.10 32- and 64-bit Sun C 5.9 SunOS_sparc Patch 124867-11 2009/04/30
+ (linew) Sun Fortran 95 8.3 SunOS_sparc
+ Patch 127000-11 2009/10/06
+ Sun C++ 5.9 SunOS_sparc
+ Patch 124863-16 2009/09/15
+
+ Intel Xeon Linux 2.6.18- Intel(R) C++ Version 10.0.026
+ 92.1.10.el5_lustre.1.6.6smp- Intel(R) Fortran Compiler Version 10.0.026
+ perfctr #6 SMP Open MPI 1.2.2
+ (abe) MVAPICH2-0.9.8p28p2patched-intel-ofed-1.2
+ compiled with icc v10.0.026 and ifort 10.0.026
+
+ IA-64 Linux 2.4.21-309.tg1 gcc (GCC) 3.2.2
+ #1 SMP ia64 Intel(R) C++ Version 8.1.037
+ (NCSA tg-login) Intel(R) Fortran Compiler Version 8.1.033
+ mpich-gm-1.2.7p1..16-intel-8.1.037-r1
+
+ Linux 2.6.9-55.0.9.EL_lustre Intel(R) C, C++, Fortran Compilers for
+ .1.4.11.1smp #1 SMP applications running on Intel(R) 64,
+ SMP x86_64 GNU/Linux Versions 10.1.
+ (SNL Thunderbird)
+
+ Linux 2.6.18-76chaos #1 SMP Intel(R) C, C++, Fortran Compilers for
+ SMP x86_64 GNU/Linux applications running on Intel(R) 64,
+ (SNL Glory) Versions 10.1.
+
+ Windows XP Visual Studio 2005 w/ Intel Fortran 9.1
+ Cygwin(native gcc compiler and g95)
+
+ Windows XP x64 Visual Studio 2005 w/ Intel Fortran 9.1
+
+ Windows Vista Visual Studio 2005 w/ Intel Fortran 9.1
+
+ Windows Vista x64 Visual Studio 2005 w/ Intel Fortran 9.1
+
+ MAC OS 10.5.6 (Intel) i686-apple-darwin9-gcc-4.0.1 (GCC) 4.0.1
+ GNU Fortran (GCC) 4.3.0 20070810
+ G95 (GCC 4.0.3 (g95 0.91!) Apr 24 2008)
+ Intel C, C++ and Fortran compilers 10.1
+
+
+Supported Configuration Features Summary
+========================================
+
+ In the tables below
+ y = tested and supported
+ n = not supported or not tested in this release
+ C = Cluster
+ W = Workstation
+ x = not working in this release
+ dna = does not apply
+ ( ) = footnote appears below second table
+ <blank> = testing incomplete on this feature or platform
+
+Platform C F90 F90 C++ zlib SZIP
+ parallel parallel
+Solaris2.10 32-bit n y n y y y
+Solaris2.10 64-bit n y n y y y
+Windows XP n y(4) n(4) y y y
+Windows XP x64 n y(4) n(4) y y y
+Windows Vista n n n y y y
+Mac OS X 10.5 Intel n y n y y y
+AIX 5.3 32- and 64-bit n y n y y n
+FreeBSD 6.3-STABLE 32&64 bit n y n y y y
+RedHat EL5 2.6.18-164 i686 GNU (1)W y y(2) y y y y
+RedHat EL5 2.6.18-164 i686 Intel W n y n y y n
+RedHat EL5 2.6.18-164 i686 PGI W n y n y y n
+RedHat EL5 2.6.18-164 x86_64 GNU(1)W y y(3) y y y y
+RedHat EL5 2.6.18-164 x86_64 IntelW n y n y y n
+RedHat EL5 2.6.18-164 x86_64 PGI W n y n y y y
+SuSe Linux 2.6.16 SGI Altix ia64 C y y y y y y
+RedHat EL4 2.6.18 Xeon Lustre C y y y y y n
+SuSe Linux 2.4.21 ia64 Intel C y y y y y n
+Cray XT3 2.0.62 y y y y y n
+
+
+Platform Shared Shared Shared Thread-
+ C libs F90 libs C++ libs safe
+Solaris2.10 32-bit y y y y
+Solaris2.10 64-bit y y y y
+Windows XP y y(4) y y
+Windows XP x64 y y(4) y y
+Windows Vista y n n y
+Mac OS X 10.5 y n y n
+AIX 5.3 32- and 64-bit n n n n
+FreeBSD 6.3-STABLE 32&64 bit y y y y
+RedHat EL5 2.6.18-164 i686 GNU (1)W y y(2) y y
+RedHat EL5 2.6.18-164 i686 Intel W y y y n
+RedHat EL5 2.6.18-164 i686 PGI W y y y n
+RedHat EL5 2.6.18-164 x86_64 GNU(1)W y y y y
+RedHat EL5 2.6.18-164 x86_64 IntelW y y y n
+RedHat EL5 2.6.18-164 x86_64 PGI W y y y n
+SuSe Linux 2.6.16 SGI Altix ia64 C y n
+RedHat EL4 2.6.18 Xeon Lustre C y y y n
+SuSe Linux 2.4.21 ia64 Intel C y y y n
+Cray XT3 2.0.62 n n n n
+
+ (1) Fortran compiled with g95.
+ (2) With PGI and Absoft compilers.
+ (3) With PGI compiler for Fortran.
+ (4) Using Visual Studio 2005 or Cygwin
+ Compiler versions for each platform are listed in the preceding
+ "Platforms Tested" table.
+
+
+Known Problems
+==============
+* Parallel mode in AIX will fail some of the testcheck_version.sh tests where
+ it treats "exit(134) the same as if process 0 had received an abort signal.
+ This is fixed and will be available in the next release. AKC - 2009/11/3
+
+* Some tests in tools/h5repack may fail in AIX systems when -q32 mode is used.
+ The error is due to insufficient memory requested. Request a large amount
+ of runtime memory by setting the following environment variable for more
+ memory.
+ LDR_CNTRL=MAXDATA=0x20000000@DSA
+ AKC - 2009/10/31
+
+* The PathScale MPI implementation, accessing a Panasas file system, would
+ cause H5Fcreate() with H5F_ACC_EXCL to fail even when the file is not
+ existing. This is due to the MPI_File_open() call failing if the amode has
+ the MPI_MODE_EXCL bit set. (See bug 1468 for details.) AKC - 2009/8/11
+
+* Parallel tests failed with 16 processes with data inconsistency at testphdf5
+ / dataset_readAll. Parallel tests also failed with 32 and 64 processes with
+ collective abort of all ranks at t_posix_compliant / allwrite_allread_blocks
+ with MPI IO. CMC - 2009/04/28
+
+* There is a known issue in which HDF5 will change the timestamp on a file
+ simply by opening it with read/write permissions, even if the file is not
+ modified in any way. This is due to the way in which HDF5 manages the file
+ superblock. A fix is currently underway and should be included in the 1.8.4
+ release of HDF5. MAM - 2009/04/28
+
+* For gcc v4.3 and v4.4, with production mode, if -O3 is used, H5Tinit.c
+ would fail to compile. Actually bad H5Tinit.c is produced. If -O (same
+ as -O1) is used, H5Tinit.c compiled okay but test/dt_arith would fail.
+ When -O0 (no optimizatio) is used, H5Tinit.c compilete okay and all
+ tests passed. Therefore, -O0 is imposed for v4.3 and v4.4 of gcc.
+ AKC - 2009/04/20
+
+* For Red Storm, a Cray XT3 system, the tools/h5ls/testh5ls.sh and
+ tools/h5copy/testh5copy.sh will fail some of its sub-tests. These sub-tests
+ are expected to fail and should exit with a non-zero code but the yod
+ command does not propagate the exit code of the executables. Yod always
+ returns 0 if it can launch the executable. The test suite shell expects
+ a non-zero for this particular test, therefore it concludes the test has
+ failed when it receives 0 from yod. Skip all the "failing" test for now
+ by changing them as following.
+
+ ======== Original tools/h5ls/testh5ls.sh =========
+ TOOLTEST tgroup-1.ls 1 -w80 -r -g tgroup.h5
+ ======== Change to ===============================
+ echo SKIP TOOLTEST tgroup-1.ls 1 -w80 -r -g tgroup.h5
+ ==================================================
+
+ ======== Original tools/h5copy/testh5copy.sh =========
+ TOOLTEST_FAIL -i $TESTFILE -o $FILEOUT -v -s grp_dsets -d grp_rename
+ TOOLTEST_FAIL -i $TESTFILE -o $FILEOUT -v -s grp_dsets -d /grp_rename/grp_dsets
+ TOOLTEST_FAIL -i $TESTFILE -o $FILEOUT -vp -s /grp_dsets -d /E/F/grp_dsets
+ TOOLTEST_FAIL -i $TESTFILE -o $FILEOUT -vp -s /grp_nested -d /G/H/grp_nested
+ H5LSTEST $FILEOUT
+ ======== Change to ===============================
+ echo SKIP TOOLTEST_FAIL -i $TESTFILE -o $FILEOUT -v -s grp_dsets -d grp_rename
+ echo SKIP TOOLTEST_FAIL -i $TESTFILE -o $FILEOUT -v -s grp_dsets -d /grp_rename/grp_dsets
+ echo SKIP TOOLTEST_FAIL -i $TESTFILE -o $FILEOUT -vp -s /grp_dsets -d /E/F/grp_dsets
+ echo SKIP TOOLTEST_FAIL -i $TESTFILE -o $FILEOUT -vp -s /grp_nested -d /G/H/grp_nested
+ echo SKIP H5LSTEST $FILEOUT
+ ==================================================
+ AKC - 2008/11/10
+
+* For Red Storm, a Cray XT3 system, the yod command sometimes gives the
+ message, "yod allocation delayed for node recovery". This interferes with
+ test suites that do not expect seeing this message. See the section of "Red
+ Storm" in file INSTALL_parallel for a way to deal with this problem.
+ AKC - 2008/05/28
+
+* On Intel 64 Linux cluster (RH 4, Linux 2.6.9) with Intel 10.0 compilers,
+ use -mp -O1 compilation flags to build the libraries. A higher level of
+ optimization causes failures in several HDF5 library tests.
+
+* On mpich 1.2.5 and 1.2.6, if more than two processes contribute no IO and
+ the application asks to do collective IO, we have found that when using 4
+ processors, a simple collective write will sometimes be hung. This can be
+ verified with t_mpi test under testpar.
+
+* A dataset created or rewritten with a v1.6.3 library or after cannot be read
+ with the v1.6.2 library or before when the Fletcher32 EDC filter is enabled.
+ There was a bug in the calculation of the Fletcher32 checksum in the
+ library before v1.6.3; the checksum value was not consistent between big-
+ endian and little-endian systems. This bug was fixed in Release 1.6.3.
+ However, after fixing the bug, the checksum value was no longer the same as
+ before on little-endian system. Library releases after 1.6.4 can still read
+ datasets created or rewritten with an HDF5 library of v1.6.2 or before.
+ SLU - 2005/6/30
+
+* On IBM AIX systems, parallel HDF5 mode will fail some tests with error
+ messages like "INFO: 0031-XXX ...". This is from the command `poe'.
+ Set the environment variable MP_INFOLEVEL to 0 to minimize the messages
+ and run the tests again.
+
+ The tests may fail with messages like "The socket name is already in use",
+ but HDF5 does not use sockets. This failure is due to problems with the
+ poe command trying to set up the debug socket. To resolve this problem,
+ check to see whether there are many old /tmp/s.pedb.* files staying around.
+ These are sockets used by the poe command and left behind due to failed
+ commands. First, ask your system administrator to clean them out.
+ Lastly, request IBM to provide a means to run poe without the debug socket.
+
+* The --enable-static-exec configure flag will only statically link libraries
+ if the static version of that library is present. If only the shared version
+ of a library exists (i.e., most system libraries on Solaris, AIX, and Mac,
+ for example, only have shared versions), the flag should still result in a
+ successful compilation, but note that the installed executables will not be
+ fully static. Thus, the only guarantee on these systems is that the
+ executable is statically linked with just the HDF5 library.
+
+* There is also a configure error on Altix machines that incorrectly reports
+ when a version of Szip without an encoder is being used.
+
+%%%%1.8.3%%%%
+
+
+HDF5 version 1.8.3 released on Mon May 4 09:21:00 CDT 2009
+================================================================================
+
+INTRODUCTION
+============
+
+This document describes the differences between HDF5-1.8.2 and
+HDF5 1.8.3, and contains information on the platforms tested and
+known problems in HDF5-1.8.3.
+For more details, see the files HISTORY-1_0-1_8_0_rc3.txt
+and HISTORY-1_8.txt in the release_docs/ directory of the HDF5 source.
+
+Links to the HDF5 1.8.3 source code, documentation, and additional materials
+can be found on the HDF5 web page at:
+
+ http://www.hdfgroup.org/products/hdf5/
+
+The HDF5 1.8.3 release can be obtained from:
+
+ http://www.hdfgroup.org/HDF5/release/obtain5.html
+
+User documentation for 1.8.3 can be accessed directly at this location:
+
+ http://www.hdfgroup.org/HDF5/doc/
+
+New features in the HDF5-1.8.x release series, including brief general
+descriptions of some new and modified APIs, are described in the "What's New
+in 1.8.0?" document:
+
+ http://www.hdfgroup.org/HDF5/doc/ADGuide/WhatsNew180.html
+
+All new and modified APIs are listed in detail in the "HDF5 Software Changes
+from Release to Release" document, in the section "Release 1.8.3 (current
+release) versus Release 1.8.2":
+
+ http://www.hdfgroup.org/HDF5/doc/ADGuide/Changes.html
+
+If you have any questions or comments, please send them to the HDF Help Desk:
+
+ help@hdfgroup.org
+
+
+CONTENTS
+========
+
+- New Features
+- Support for New Platforms, Languages, and Compilers
+- Bug Fixes since HDF5-1.8.2
+- Platforms Tested
+- Supported Configuration Features Summary
+- Known Problems
+
+
+New Features
+============
+
+ Configuration
+ -------------
+ - Added libtool version numbers to generated c++, fortran, and
+ hl libraries. MAM 2009/04/19.
+ - Regenerated Makefile.ins using Automake 1.10.2. MAM 2009/04/19.
+ - Added a Make target of check-all-install to test the correctness of
+ installing via the prefix= or $DESTDIR options. AKC - 2009/04/14
+
+ Library
+ -------
+ - Embed the content of libhdf5.settings into the hdf5 executables
+ so that an "orphaned" executables can display (via the Unix
+ strings command, for example) the library settings used to build
+ the executables. This is a prototype implementation. Improvement will
+ be added in next release. AKC - 2009/04/20
+ - Separated "factory" free list class from block free lists. These free
+ lists are dynamically created and manage blocks of a fixed size.
+ H5set_free_list_limits() will use the same settings specified for block
+ free lists for factory free lists. NAF - 2009/04/08
+ - Added support for dense attributes to H5Ocopy. XCao/NAF - 2009/01/29
+ - Added H5Pset_elink_cb and H5Pget_elink_cb functions to support a
+ user-defined callback function for external link traversal.
+ NAF - 2009/01/08
+ - Added H5Pset_elink_acc_flags and H5Pget_elink_acc_flags functions to
+ allow the user to specify the file access flags used to open the target
+ file of an external link. NAF - 2009/01/08
+ - Added H5Pset_chunk_cache() and H5Pget_chunk_cache() functions to allow
+ individual rdcc configuration for each dataset. Added
+ H5Dget_access_plist() function to retrieve a dataset access property
+ list from a dataset. NAF - 2008/11/12
+ - Added H5Iis_valid() function to check if an id is valid without
+ producing an error message. NAF - 2008/11/5
+ - Added code to maintain a min_clean_fraction in the metadata cache when
+ in serial mode. MAM - 2009/01/9
+
+ Parallel Library
+ ----------------
+ - Modified parallel tests to run with arbitrary number of processes. The
+ modified tests are testphdf5 (parallel dataset access), t_chunk_alloc
+ (chunk allocation), and t_posix_compliant (posix compliance). The rest of
+ the parallel tests already use in the code the number of processes
+ available in the communicator. (CMC - 2009/04/28)
+
+ Tools
+ -----
+ - h5diff new flag, -c, --compare, list objects that are not comparable.
+ PVN - 2009/4/2 - 1368
+ - h5diff new flag, -N, --nan, avoids NaNs detection. PVN - 2009/4/2
+ - h5dump correctly specifies XML dtd / schema urls ADB - 2009/4/3 - 1519
+ - h5repack now handles group creation order. PVN - 2009/4/2 - 1402
+ - h5repack: When user doesn't specify a chunk size, h5repack now
+ defines a default chunk size as the same size of the size of the
+ hyperslab used to read the chunks. The size of the hyperslabs are
+ defined as the size of each dimension or a predefined constant,
+ whatever is smaller. This assures that the chunk read fits in the
+ chunk cache. PVN - 2008/11/21
+
+ High-Level APIs
+ ---------------
+ - Table: In version 3.0 of Table, the writing of the "NROWS" attribute
+ (used to store number of records) was deprecated. PVN - 2008/11/24
+
+ F90 API
+ -------
+ - Added for the C APIs the Fortran wrappers:
+ h5dget_access_plist_f
+ h5iis_valid_f
+ h5pset_chunk_cache_f
+ h5pget_chunk_cache_f
+ MSB - 2009/04/17
+
+ C++ API
+ -------
+ - None
+
+
+Support for New Platforms, Languages, and Compilers
+===================================================
+
+
+Bug Fixes since HDF5-1.8.2
+==========================
+
+ Configuration
+ -------------
+ - The --includedir=DIR configuration option now works as intended, and
+ can be used to specify the location to install C header files. The
+ default location remains unchanged, residing at ${prefix}/include.
+ MAM - 2009/03/10 - BZ #1381
+ - Configure no longer removes the '-g' flag from CFLAGS when in production
+ mode if it has been explicitly set in the CFLAGS environment variable
+ prior to configuration. MAM - 2009/03/09 - BZ #1401
+
+ Library
+ -------
+ - Added versioning to H5Z_class_t struct to allow compatibility with 1.6
+ API. NAF - 2009/04/20 - 1533
+ - Fixed a problem with using data transforms with non-native types in the
+ file. NAF - 2009/04/20 - 1548
+ - Added direct.h include file to windows section of H5private.h
+ to fix _getcwd() warning. ADB - 2009/04/14 - 1536
+ - Fixed a bug that prevented external links from working after calling
+ H5close(). NAF - 2009/04/10 - 1539
+ - Modified library to write cached symbol table information to the
+ superblock, to allow library versions 1.3.0 to 1.6.3 to read files created
+ by this version. NAF - 2009/04/08 - 1423
+ - Changed skip lists to use a deterministic algorithm. The library should
+ now never call rand() or srand(). NAF - 2009/04/08 - 503
+ - Fixed a bug where H5Lcopy and H5Lmove wouldn't create intermediate groups
+ when that property was set. NAF - 2009/04/07 - 1526
+ - Fixed a bug that caused files with a user block to grow by the size of the
+ user block every time they were opened. NAF - 2009/03/26 - 1499
+ - Fixed a rare problem that could occur with files using the old (pre 1.4)
+ array datatype. NAF - 2009/03/23
+ - Modified library to be able to open files with corrupt root group symbol
+ table messages, and correct these errors if they are found. Such files
+ can only be successfully opened with write access. NAF - 2009/03/23 - 1189
+ - Removed the long_long #define and replaced all instances with
+ "long long". This caused problems with third party products. All
+ currently supported compliers support the type. ADB - 2009/03/05
+ - Fixed various bugs that could prevent the fill value from being written
+ in certain rare cases. NAF - 2009/02/26 - 1469
+ - Fixed a bug that prevented more than one dataset chunk from being cached
+ at a time. NAF - 2009/02/12 - 1015
+ - Fixed an assertion failure caused by opening an attribute multiple times
+ through multiple file handles. NAF - 2009/02/12 - 1420
+ - Fixed a problem that could prevent the user from adding attributes (or any
+ object header message) in some circumstances. NAF - 2009/02/12 - 1427
+ - Fixed a bug that could cause problems when an attribute was added to a
+ committed datatype using the committed datatype's datatype.
+ NAF - 2009/02/12
+ - Fixed a bug that could cause problems when copying an object with a shared
+ message in its own object header. NAF - 2009/01/29
+ - Changed H5Tset_order to properly reject H5T_ORDER_NONE for most datatypes.
+ NAF - 2009/01/27 - 1443
+ - Fixed a bug where H5Tpack wouldn't remove trailing space from an otherwise
+ packed compound type. NAF - 2009/01/14
+ - Fixed up some old v2 btree assertions that get run in debug mode that
+ were previously failing on compilation, and removed some of the
+ more heavily outdated and non-rewritable ones. MAM - 2008/12/15
+ - Fixed a bug that could cause problems when "automatically" unmounting
+ multiple files. NAF - 2008/11/17
+ - H5Dset_extent: when shrinking dimensions, some chunks were not deleted.
+ PVN - 2009/01/8
+
+ Parallel Library
+ ----------------
+ - None
+
+ Tools
+ -----
+ - Fixed many problems that could occur when using h5repack with named
+ datatypes. NAF - 2009/4/20 - 1516/1466
+ - h5dump, h5diff, h5repack were not reading (by hyperslabs) datasets
+ that have a datatype datum size greater than H5TOOLS_BUFSIZE, a constant
+ defined as 1024Kb, such as array types with large dimensions.
+ PVN - 2009/4/1 - 1501
+ - h5import: By selecting a compression type, a big endian byte order
+ was being selected. PVN - 2009/3/11 - 1462
+ - zip_perf.c had missing argument on one of the open() calls. Fixed.
+ AKC - 2008/12/9
+
+ F90 API
+ ------
+ - None
+
+ C++ API
+ ------
+ - None
+
+ High-Level APIs:
+ ------
+ - Dimension scales: The scale index return value in H5DSiterate_scales
+ was not always incremented. PVN - 2009/4/8 - 1538
+
+ Fortran High-Level APIs:
+ ------
+ - Lite: The h5ltget_dataset_info_f function (gets information about
+ a dataset) was not correctly returning the dimension array
+ PVN - 2009/3/23
+
+
+Platforms Tested
+================
+The following platforms and compilers have been tested for this release.
+
+ AIX 5.3 xlc 7.0.0.8
+ (LLNL Up) xlf 09.01.0000.0008
+ xlC 7.0.0.8
+ mpcc_r 7.0.0.8
+ mpxlf_r 09.01.0000.0008
+
+ Cray XT3 (2.0.41) cc (pgcc) 7.1-4
+ (SNL red storm) ftn (pgf90) 7.1-4
+ CC (pgCC) 7.1-4
+
+ FreeBSD 6.3-STABLE i386 gcc 3.4.6 [FreeBSD] 20060305
+ (duty) g++ 3.4.6 [FreeBSD] 20060305
+ gcc 4.3.4 20090419
+ g++ 4.3.4 20090419
+ gfortran 4.3.4 20090419
+
+ FreeBSD 6.3-STABLE amd64 gcc 3.4.6 [FreeBSD] 20060305
+ (liberty) g++ 3.4.6 [FreeBSD] 20060305
+ gcc 4.4.1 20090421
+ g++ 4.4.1 20090421
+ gfortran 4.4.1 20090421
+
+ IRIX64 6.5 (64 & n32) MIPSpro cc 7.4.4m
+ F90 MIPSpro 7.4.4m
+ C++ MIPSpro cc 7.4.4m
+
+ Linux 2.6.18-128.1.6.el5xen gcc (GCC) 4.1.2
+ #1 SMP i686 i686 i386 G95 (GCC 4.0.3 (g95 0.92!) Feb 4 2009)
+ (jam) PGI C, Fortran, C++ 7.2-1 32-bit
+ PGI C, Fortran, C++ 8.0-1 32-bit
+ Intel(R) C Compiler for 32-bit
+ applications, Versions 10.1, 11.0
+ Intel(R) C++ Compiler for 32-bit
+ applications, Version 10.1, 11.0
+ Intel(R) Fortran Compiler for 32-bit
+ applications, Version 10.1, 11.0
+ Absoft 32-bit Fortran 95 10.0.7
+ MPICH mpich2-1.0.8 compiled with
+ gcc 4.1.2 and G95 (GCC 4.0.3 (g95 0.92!)
+
+ Linux 2.6.9-42.0.10.ELsmp #1 gcc (GCC) 3.4.6
+ SMP i686 i686 i386 G95 (GCC 4.0.3 (g95 0.92!) Feb 4 2009)
+ (kagiso) MPICH mpich2-1.0.8 compiled with
+ gcc 3.4.6 and G95 (GCC 4.0.3 (g95 0.92!)
+
+ Linux 2.6.16.60-0.37-smp #1 gcc 4.1.2
+ SMP x86_64 GNU/Linux G95 (GCC 4.0.3 (g95 0.92!) Feb 4 2009)
+ (smirom) Intel(R) C, C++, Fortran Compilers for
+ applications running on Intel(R) 64,
+ Versions 10.1, 11.0.
+ PGI C, Fortran, C++ Version 7.2-1, 8.0-1
+ for 64-bit target on x86-64
+ gcc 4.1.2 and G95 (GCC 4.0.3 (g95 0.92!)
+ MPICH mpich2-1.0.8 compiled with
+ gcc 4.1.2 and G95 (GCC 4.0.3 (g95 0.92!)
+ tested for both 32- and 64-bit binaries
+
+ Linux 2.6.16.54-0.2.5 #1 Intel(R) C++ Version 10.1.017
+ SGI Altix SMP ia64 Intel(R) Fortran Itanium(R) Version 10.1.017
+ (cobalt) SGI MPI 1.38
+
+ SunOS 5.10 32- and 64-bit Sun WorkShop 6 update 2 C 5.9 Patch 124867-09
+ (linew) Sun WorkShop 6 update 2 Fortran 95 8.3
+ Patch 127000-07
+ Sun WorkShop 6 update 2 C++ 5.8
+ Patch 124863-11
+
+ Intel Xeon Linux 2.6.18- gcc 3.4.6 20060404
+ 92.1.10.el5_lustre.1.6.6smp- Intel(R) C++ Version 10.0.026
+ perfctr #2 SMP Intel(R) Fortran Compiler Version 10.0.026
+ (abe) Open MPI 1.2.2
+ MVAPICH2-0.9.8p28p2patched-intel-ofed-1.2
+ compiled with icc v10.0.026 and ifort 10.0.026
+
+ IA-64 Linux 2.4.21-309.tg1 gcc (GCC) 3.2.2
+ #1 SMP ia64 Intel(R) C++ Version 8.1.037
+ (NCSA tg-login) Intel(R) Fortran Compiler Version 8.1.033
+ mpich-gm-1.2.7p1..16-intel-8.1.037-r1
+
+ Linux 2.6.9-55.0.9.EL_lustre Intel(R) C, C++, Fortran Compilers for
+ .1.4.11.1smp #1 SMP applications running on Intel(R) 64,
+ SMP x86_64 GNU/Linux Versions 9.1.
+ (SNL Spirit)
+
+ Linux 2.6.9-55.0.9.EL_lustre Intel(R) C, C++, Fortran Compilers for
+ .1.4.11.1smp #1 SMP applications running on Intel(R) 64,
+ SMP x86_64 GNU/Linux Versions 10.1.
+ (SNL Thunderbird)
+
+ Linux 2.6.18-63chaos #1 SMP Intel(R) C, C++, Fortran Compilers for
+ SMP x86_64 GNU/Linux applications running on Intel(R) 64,
+ (SNL Glory) Versions 10.1.
+
+ Linux 2.6.18-63chaos #1 SMP Intel(R) C, C++, Fortran Compilers for
+ SMP x86_64 GNU/Linux applications running on Intel(R) 64,
+ (LLNL Zeus) Versions 9.1.
+ gcc/gfortran/g++ (GCC) 4.1.2.
+
+ Windows XP Visual Studio .NET
+ Visual Studio 2005 w/ Intel Fortran 9.1
+ Cygwin(native gcc compiler and g95)
+
+ Windows XP x64 Visual Studio 2005 w/ Intel Fortran 9.1
+
+ Windows Vista Visual Studio 2005
+
+ MAC OS 10.5.6 (Intel) i686-apple-darwin9-gcc-4.0.1 (GCC) 4.0.1
+ GNU Fortran (GCC) 4.3.0 20070810
+ G95 (GCC 4.0.3 (g95 0.91!) Apr 24 2008)
+ Intel C, C++ and Fortran compilers 10.1
+
+
+Supported Configuration Features Summary
+========================================
+
+ In the tables below
+ y = tested and supported
+ n = not supported or not tested in this release
+ C = Cluster
+ W = Workstation
+ x = not working in this release
+ dna = does not apply
+ ( ) = footnote appears below second table
+ <blank> = testing incomplete on this feature or platform
+
+Platform C F90 F90 C++ zlib SZIP
+ parallel parallel
+Solaris2.10 32-bit n y n y y y
+Solaris2.10 64-bit n y n y y y
+IRIX64_6.5 32-bit n n n n y y
+IRIX64_6.5 64-bit n y y y y y
+Windows XP n y(4) n(4) y y y
+Windows XP x64 n y(4) n(4) y y y
+Windows Vista n n n y y y
+Mac OS X 10.5 Intel n y n y y y
+AIX 5.3 32- and 64-bit n y n y y n
+FreeBSD 6.3-STABLE 32&64 bit n y n y y y
+RedHat EL4 2.6.9-42 i686 GNU (1) W y y y y y y
+RedHat EL5 2.6.18-128 i686 GNU (1)W y y(2) y y y y
+RedHat EL5 2.6.18-128 i686 Intel W n y n y y n
+RedHat EL5 2.6.18-128 i686 PGI W n y n y y n
+SuSe Linux 2.6.16 x86_64 GNU (1) W y y(3) y y y y
+SuSe Linux 2.6.16 x86_64 Intel W n y n y y n
+SuSe Linux 2.6.16 x86_64 PGI W n y n y y y
+SuSe Linux 2.6.16 SGI Altix ia64 C y y y y y y
+RedHat EL4 2.6.18 Xeon Lustre C y y y y y n
+SuSe Linux 2.4.21 ia64 Intel C y y y y y n
+Cray XT3 2.0.41 y y y y y n
+
+
+Platform Shared Shared Shared Thread-
+ C libs F90 libs C++ libs safe
+Solaris2.10 32-bit y y y y
+Solaris2.10 64-bit y y y y
+IRIX64_6.5 32-bit y dna y y
+IRIX64_6.5 64-bit y y n y
+Windows XP y y(4) y y
+Windows XP x64 y y(4) y y
+Windows Vista y n n y
+Mac OS X 10.5 y n y n
+AIX 5.3 32- and 64-bit n n n n
+FreeBSD 6.3-STABLE 32&64 bit y n y y
+RedHat EL4 2.6.9-42 i686 GNU (1) W y y y y
+RedHat EL5 2.6.18-128 i686 GNU (1)W y y(2) y y
+RedHat EL5 2.6.18-128 i686 Intel W y y y n
+RedHat EL5 2.6.18-128 i686 PGI W y y y n
+SuSe Linux 2.6.16 x86_64 GNU (1) W y y y y
+SuSe Linux 2.6.16 x86_64 Intel W y y y n
+SuSe Linux 2.6.16 x86_64 PGI W y y y n
+SuSe Linux 2.6.16 SGI Altix ia64 C y n
+RedHat EL4 2.6.18 Xeon Lustre C y y y n
+SuSe Linux 2.4.21 ia64 Intel C y y y n
+Cray XT3 2.0.41 n n n n
+
+ (1) Fortran compiled with g95.
+ (2) With PGI and Absoft compilers.
+ (3) With PGI compiler for Fortran.
+ (4) Using Visual Studio 2005 or Cygwin
+ Compiler versions for each platform are listed in the preceding
+ "Platforms Tested" table.
+
+
+Known Problems
+==============
+* Parallel tests failed with 16 processes with data inconsistency at testphdf5
+ / dataset_readAll. Parallel tests also failed with 32 and 64 processes with
+ collective abort of all ranks at t_posix_compliant / allwrite_allread_blocks
+ with MPI IO. CMC - 2009/04/28
+
+* There is a known issue in which HDF5 will change the timestamp on a file
+ simply by opening it with read/write permissions, even if the file is not
+ modified in any way. This is due to the way in which HDF5 manages the file
+ superblock. A fix is currently underway and should be included in the 1.8.4
+ release of HDF5. MAM - 2009/04/28
+
+* For gcc v4.3 and v4.4, with production mode, if -O3 is used, H5Tinit.c
+ would fail to compile. Actually bad H5Tinit.c is produced. If -O (same
+ as -O1) is used, H5Tinit.c compiled okay but test/dt_arith would fail.
+ When -O0 (no optimizatio) is used, H5Tinit.c compilete okay and all
+ tests passed. Therefore, -O0 is imposed for v4.3 and v4.4 of gcc.
+ AKC - 2009/04/20
+
+* For Red Storm, a Cray XT3 system, the tools/h5ls/testh5ls.sh and
+ tools/h5copy/testh5copy.sh will fail some of its sub-tests. These sub-tests
+ are expected to fail and should exit with a non-zero code but the yod
+ command does not propagate the exit code of the executables. Yod always
+ returns 0 if it can launch the executable. The test suite shell expects
+ a non-zero for this particular test, therefore it concludes the test has
+ failed when it receives 0 from yod. Skip all the "failing" test for now
+ by changing them as following.
+
+ ======== Original tools/h5ls/testh5ls.sh =========
+ TOOLTEST tgroup-1.ls 1 -w80 -r -g tgroup.h5
+ ======== Change to ===============================
+ echo SKIP TOOLTEST tgroup-1.ls 1 -w80 -r -g tgroup.h5
+ ==================================================
+
+ ======== Original tools/h5copy/testh5copy.sh =========
+ TOOLTEST_FAIL -i $TESTFILE -o $FILEOUT -v -s grp_dsets -d grp_rename
+ TOOLTEST_FAIL -i $TESTFILE -o $FILEOUT -v -s grp_dsets -d /grp_rename/grp_dsets
+ TOOLTEST_FAIL -i $TESTFILE -o $FILEOUT -vp -s /grp_dsets -d /E/F/grp_dsets
+ TOOLTEST_FAIL -i $TESTFILE -o $FILEOUT -vp -s /grp_nested -d /G/H/grp_nested
+ H5LSTEST $FILEOUT
+ ======== Change to ===============================
+ echo SKIP TOOLTEST_FAIL -i $TESTFILE -o $FILEOUT -v -s grp_dsets -d grp_rename
+ echo SKIP TOOLTEST_FAIL -i $TESTFILE -o $FILEOUT -v -s grp_dsets -d /grp_rename/grp_dsets
+ echo SKIP TOOLTEST_FAIL -i $TESTFILE -o $FILEOUT -vp -s /grp_dsets -d /E/F/grp_dsets
+ echo SKIP TOOLTEST_FAIL -i $TESTFILE -o $FILEOUT -vp -s /grp_nested -d /G/H/grp_nested
+ echo SKIP H5LSTEST $FILEOUT
+ ==================================================
+ AKC - 2008/11/10
+
+* For Red Storm, a Cray XT3 system, the yod command sometimes gives the
+ message, "yod allocation delayed for node recovery". This interferes with
+ test suites that do not expect seeing this message. See the section of "Red
+ Storm" in file INSTALL_parallel for a way to deal with this problem.
+ AKC - 2008/05/28
+
+* We have discovered two problems when running collective IO parallel HDF5
+ tests with chunking storage on the ChaMPIon MPI compiler on tungsten, a
+ Linux cluster at NCSA.
+
+ Under some complex selection cases:
+ 1) MPI_Get_element returns the wrong value.
+ 2) MPI_Type_struct also generates the wrong derived datatype and corrupt
+ data may be generated.
+ These issues arise only when turning on collective IO with chunking storage
+ with some complex selections. We have not found these problems on other
+ MPI-IO compilers. If you encounter these problems, you may use independent
+ IO instead.
+
+ To avoid this behavior, change the following line in your code
+ H5Pset_dxpl_mpio(xfer_plist, H5FD_MPIO_COLLECTIVE);
+ to
+ H5Pset_dxpl_mpio(xfer_plist, H5FD_MPIO_INDEPENDENT);
+ KY - 2007/08/24
+
+* On Intel 64 Linux cluster (RH 4, Linux 2.6.9) with Intel 10.0 compilers,
+ use -mp -O1 compilation flags to build the libraries. A higher level of
+ optimization causes failures in several HDF5 library tests.
+
+* For LLNL, uP: both serial and parallel tests pass.
+ Zeus: Serial tests pass but parallel tests fail with a known problem in MPI.
+ ubgl: Serial tests pass but parallel tests fail.
+
+* On mpich 1.2.5 and 1.2.6, if more than two processes contribute no IO and
+ the application asks to do collective IO, we have found that when using 4
+ processors, a simple collective write will sometimes be hung. This can be
+ verified with t_mpi test under testpar.
+
+* On IRIX6.5, when the C compiler version is greater than 7.4, complicated
+ MPI derived datatype code will work. However, the user should increase
+ the value of the MPI_TYPE_MAX environment variable to some appropriate value
+ to use collective irregular selection code. For example, the current
+ parallel HDF5 test needs to raise MPI_TYPE_MAX to 200,000 to pass the test.
+
+* A dataset created or rewritten with a v1.6.3 library or after cannot be read
+ with the v1.6.2 library or before when the Fletcher32 EDC filter is enabled.
+ There was a bug in the calculation of the Fletcher32 checksum in the
+ library before v1.6.3; the checksum value was not consistent between big-
+ endian and little-endian systems. This bug was fixed in Release 1.6.3.
+ However, after fixing the bug, the checksum value was no longer the same as
+ before on little-endian system. Library releases after 1.6.4 can still read
+ datasets created or rewritten with an HDF5 library of v1.6.2 or before.
+ SLU - 2005/6/30
+
+* On IBM AIX systems, parallel HDF5 mode will fail some tests with error
+ messages like "INFO: 0031-XXX ...". This is from the command `poe'.
+ Set the environment variable MP_INFOLEVEL to 0 to minimize the messages
+ and run the tests again.
+
+ The tests may fail with messages like "The socket name is already in use",
+ but HDF5 does not use sockets. This failure is due to problems with the
+ poe command trying to set up the debug socket. To resolve this problem,
+ check to see whether there are many old /tmp/s.pedb.* files staying around.
+ These are sockets used by the poe command and left behind due to failed
+ commands. First, ask your system administrator to clean them out.
+ Lastly, request IBM to provide a means to run poe without the debug socket.
+
+* The --enable-static-exec configure flag fails to compile for Solaris
+ platforms. This is due to the fact that not all of the system libraries on
+ Solaris are available in a static format.
+
+ The --enable-static-exec configure flag also fails to correctly compile
+ on IBM SP2 platforms for serial mode. The parallel mode works fine with
+ this option.
+
+ It is suggested that you do not use this option on these platforms
+ during configuration.
+
+* There is also a configure error on Altix machines that incorrectly reports
+ when a version of Szip without an encoder is being used.
+
+* Information about building with PGI and Intel compilers is available in
+ the INSTALL file sections 4.7 and 4.8.
+
+
+%%%%1.8.2%%%%
+
+
+HDF5 version 1.8.2 released on Mon Nov 10 15:43:09 CST 2008
+================================================================================
+
+INTRODUCTION
+============
+
+This document describes the differences between HDF5-1.8.1 and HDF5 1.8.2,
+and contains information on the platforms tested and known problems in
+HDF5-1.8.2. For more details, see the files HISTORY-1_0-1_8_0_rc3.txt
+and HISTORY-1_8.txt in the release_docs/ directory of the HDF5 source.
+
+Links to the HDF5 1.8.2 source code, documentation, and additional materials
+can be found on the HDF5 web page at:
+
+ http://www.hdfgroup.org/products/hdf5/
+
+The HDF5 1.8.2 release can be obtained from:
+
+ http://www.hdfgroup.org/HDF5/release/obtain5.html
+
+User documentation for 1.8.2 can be accessed directly at this location:
+
+ http://www.hdfgroup.org/HDF5/doc/
+
+New features in the HDF5-1.8.x release series, including brief general
+descriptions of some new and modified APIs, are described in the "What's New
+in 1.8.0?" document:
+
+ http://www.hdfgroup.org/HDF5/doc/ADGuide/WhatsNew180.html
+
+All new and modified APIs are listed in detail in the "HDF5 Software Changes
+from Release to Release" document, in the section "Release 1.8.2 (current
+release) versus Release 1.8.1":
+
+ http://www.hdfgroup.org/HDF5/doc/ADGuide/Changes.html
+
+If you have any questions or comments, please send them to the HDF Help Desk:
+
+ help@hdfgroup.org
+
+
+CONTENTS
+========
+
+- New Features
+- Support for new platforms and languages
+- Bug Fixes since HDF5-1.8.1
+- Platforms Tested
+- Supported Configuration Features Summary
+- Known Problems
+
+
+New Features
+============
+
+ Configuration
+ -------------
+ - Upgraded libtool to version 2.2.6a. (MAM - 2008/10/15).
+
+ Library
+ -------
+ - Added two new public routines: H5Pget_elink_fapl() and
+ H5Pset_elink_fapl(). (see bug #1247) (VC - 2008/10/13)
+ - Improved free space tracking in file to be faster. (QAK - 2008/10/06)
+ - Added 'mounted' field to H5G_info_t struct. (QAK - 2008/07/15)
+
+ Parallel Library
+ ----------------
+ - None
+
+ Tools
+ -----
+ - h5repack: added new options -u and -b to add a userblock to an HDF5
+ file during the repack. (PVN - 2008/08/26)
+ - h5repack: added options -t and -a to call H5Pset_alignment while
+ creating a repacked file. (PVN - 2008/08/29)
+ - h5ls: added capability to traverse through external links when the -r
+ (recursive) flag is given. (NAF - 2008/09/16)
+ - h5ls: added -E option to enable traversal of external links.
+ h5ls will not traverse external links without this flag being set.
+ (NAF - 2008/10/06)
+ - h5dump: when -b flag is used without a keyword after it, binary
+ output defaults to NATIVE. MEMORY keyword was deprecated
+ and replaced by NATIVE keyword. (PVN - 2008/10/30)
+ - h5diff: returns 1 when file graphs differ by any object.
+ Error return code was changed to 2 from -1. (PVN - 2008/10/30)
+ - h5import: TEXTFPE (scientific format) was deprecated. Use TEXTFP
+ instead (PVN - 2008/10/30)
+
+
+
+ F90 API
+ ------
+ - Added optional parameter 'mounted' to H5Gget_info_f,
+ H5Gget_info_by_idx_f, H5Gget_info_by_name_f (MSB - 2008/09/24)
+ - Added H5Tget_native_type_f (MSB - 2008/09/30)
+
+
+ C++ API
+ ------
+ - These member functions were added as wrapper for H5Rdereference to
+ replace the incorrect IdComponent::dereference().
+ void H5Object::dereference(H5Object& obj, void* ref,
+ H5R_type_t ref_type=H5R_OBJECT)
+ void H5Object::dereference(H5File& h5file, void* ref,
+ H5R_type_t ref_type=H5R_OBJECT)
+ void H5Object::dereference(Attribute& obj, void* ref,
+ H5R_type_t ref_type=H5R_OBJECT)
+
+ In addition, these constructors were added to create the associated
+ objects by way of dereference:
+ DataSet(H5Object& obj, void* ref, H5R_type_t ref_type=H5R_OBJECT)
+ DataSet(H5File& file, void* ref, H5R_type_t ref_type=H5R_OBJECT)
+ DataSet(Attribute& attr, void* ref, H5R_type_t ref_type=H5R_OBJECT)
+ Group(H5Object& obj, void* ref, H5R_type_t ref_type=H5R_OBJECT)
+ Group(H5File& obj, void* ref, H5R_type_t ref_type=H5R_OBJECT)
+ Group(Attribute& attr, void* ref, H5R_type_t ref_type=H5R_OBJECT)
+ DataType(H5Object& obj, void* ref, H5R_type_t ref_type=H5R_OBJECT)
+ DataType(H5File& file, void* ref, H5R_type_t ref_type=H5R_OBJECT)
+ DataType(Attribute& attr, void* ref, H5R_type_t ref_type=H5R_OBJECT)
+ (BMR - 2008/10/29)
+
+
+Support for New Platforms, Languages, and Compilers
+===================================================
+ - Intel 10.1 is supported on Mac OS X 10.5.4.
+ Note:
+ When Fortran is enabled, configure automatically
+ disables the build of shared libraries (i.e., only
+ static C and C++ HDF5 libraries will be built
+ along with the static HDF5 Fortran library).
+ Intel 10.1 C and C++ compilers require
+ "-no-multibyte-chars" compilation flag due to the known
+ bug in the compilers.
+ (EIP - 2008/10/30)
+
+
+Bug Fixes since HDF5-1.8.1
+==========================
+
+ Configuration
+ -------------
+ - Fixed error with 'make check install' failing due to h5dump
+ needing other tools built first. (MAM - 2008/10/15).
+ - When using shared szip, it is no longer necessary to specify
+ the path to the shared szip libraries in LD_LIBRARY_PATH.
+ (MAM - 2008/10/15).
+ - The file libhdf5_fortran.settings is not installed since its content
+ is included in libhdf5.settings now. (AKC - 2008/10/21)
+ - "make DESTDIR=xxx install" failed to install some tools and files
+ (e.g., h5cc and fortran modules). Fixed. (AKC - 2008/10/8).
+
+ Library
+ -------
+ - H5Ovisit and H5Ovisit_by_name will now properly terminate when the
+ callback function returns a positive value on the starting object.
+ (NAF - 2008/11/03)
+ - Fixed an error where a null message could be created that was larger
+ than could be written to the file. (NAF - 2008/10/23)
+ - Corrected error with family/split/multi VFD not updating driver info
+ when "latest" version of the file format used. (QAK - 2008/10/14)
+ - Corrected alignment+threshold errors to work correctly when metadata
+ aggregation is enabled. (QAK - 2008/10/06)
+ - Changed H5Fget_obj_count and H5Fget_obj_ids to ignore objects
+ registered by the library for internal library use.
+ (NAF - 2008/10/06)
+ - Fixed potential memory leak during compound conversion.
+ (NAF - 2008/10/06)
+ - Changed the return value of H5Fget_obj_count from INT to SSIZE_T.
+ Also changed the return value of H5Fget_obj_ids from HERR_T to
+ SSIZE_T and the type of the parameter MAX_OBJS from INT to SIZE_T.
+ (SLU - 2008/09/26)
+ - Fixed an issue that could cause data to be improperly overwritten
+ during compound type conversion. (NAF - 2008/09/19)
+ - Fixed pointer alignment violations that could occur during vlen
+ conversion. (NAF - 2008/09/16)
+ - Fixed problem where library could cause a segmentation fault when
+ an invalid location ID was given to H5Giterate(). (QAK - 2008/08/19)
+ - Fixed improper shutdown when objects have reference count > 1. The
+ library now tracks reference count due to the application separately
+ from that due to internal library routines. (NAF - 2008/08/19)
+ - Fixed assertion failure caused by incorrect array datatype version.
+ (NAF - 2008/08/08)
+ - Fixed an issue where mount point traversal would fail when using
+ multiple handles for the child. (NAF - 2008/08/07)
+ - Fixed an issue where mount points were inaccessible when using
+ multiple file handles for the parent. The mount table is now in
+ the shared file structure (the parent pointer is still in the
+ top structure). (NAF - 2008/08/07)
+ - Fixed assertion failure caused by incorrect array datatype version.
+ (NAF - 2008/08/04)
+ - Fixed issue where a group could have a file mounted on it twice.
+ (QAK - 2008/07/15)
+ - When an attribute was opened twice and data was written with
+ one of the handles, the file didn't have the data. It happened
+ because each handle had its own object structure, and the empty
+ one overwrote the data with fill value. This is fixed by making
+ some attribute information like the data be shared in the
+ attribute structure. (SLU - 2008/07/07)
+ - Fixed a Windows-specific issue in the ohdr test which was causing
+ users in some timezones to get false errors. This a deficiency in
+ the Windows mktime() function, and has been handled properly.
+ (SJW - 2008/06/19)
+
+ Parallel Library
+ ----------------
+ - None
+
+ Tools
+ -----
+ - h5dump now checks for uniqueness of committed datatypes.
+ (NAF - 2008/10/15)
+ - Fixed unnecessary indentation of committed datatypes in h5dump.
+ (NAF - 2008/10/15)
+ - Fixed bugs in h5stat: segmemtation fault when printing groups and
+ print warning message when traversal of objects is unsuccessful.
+ (see bug #1253) (VC- 2008/10/13)
+ - Fixed bug in h5ls that prevented relative group listings (like
+ "h5ls foo.h5/bar") from working correctly (QAK - 2008/06/03)
+ - h5dump: when doing binary output (-b), the stdout printing of
+ attributes was done incorrectly. Removed printing of attributes
+ when doing binary output. (PVN - 2008/06/05)
+
+
+ F90 API
+ ------
+ - h5sselect_elements_f: Added additional operators H5S_SELECT_APPEND
+ and H5S_SELECT_PREPEND (MSB - 2008/09/30)
+ - h5sget_select_elem_pointlist: Fixed list of returned points by
+ rearranging the point list correctly by accounting for C
+ conventions. (MSB - 2008/09/30)
+ - h5sget_select_hyper_blocklist_f: Fixed error in transposed dimension
+ of arrays.(MSB - 2008/9/30)
+ - h5sget_select_bounds_f: Swapped array bounds to account for C and
+ Fortran reversed array notation (MSB - 2008/9/30)
+ - Changed to initializing string to a blank character instead of a
+ null type in tH5P.f90 to fix compiling error using AIX 5.3.0
+ (MSB - 2008/7/29)
+ - Fixed missing commas in H5test_kind.f90 detected by NAG compiler
+ (MSB - 2008/7/29)
+ - Fixed passing and array to a scalar in tH5A_1_8.f90 detected by
+ NAG compiler (MSB - 2008/7/29)
+ - Added the ability of the test programs to use the status of
+ HDF5_NOCLEANUP to determine if the *.h5 files should be removed
+ or not after the tests are completed (MSB - 2008/10/1)
+ - In nh5tget_offset_c: (MSB 9/12/2008)
+ If offset was equal to 0 it returned the error code of -1,
+ this was changed to return an error code of -1 when the offset
+ value is < 0.
+ - Uses intrinsic Fortran function SIZEOF if available when detecting
+ type of INTEGERs and REALs in H5test_kind.f90 (MSB - 2008/9/3)
+ - Put the DOUBLE PRECISION interfaces in a separate module and
+ added a USE statement for the module. The interfaces are
+ included/excluded depending on the state of FORTRAN_DEFAULT_REAL
+ is DBLE_F which detects if the default REAL is DOUBLE PRECISION.
+ This allows the library to be compiled with -r8 Fortran flag
+ without the user needing to edit the source code.
+ (MSB - 200/8/27)
+ - Enable building shared library for fortran by adding the flag -fPIC
+ to the compile flags for versions of Intel Fortran compiler >=9
+ (MSB - 2008/8/26)
+
+ C++ API
+ ------
+ - Fixed a design bug which allowed an Attribute object to create/modify
+ attributes (bugzilla #1068). The API class hierarchy was revised
+ to address the problem. Classes AbstractDS and Attribute are moved
+ out of H5Object. Class Attribute now multiply inherits from
+ IdComponent and AbstractDs and class DataSet from H5Object and
+ AbstractDs. In addition, the data member IdComponent::id was
+ moved into subclasses: Attribute, DataSet, DataSpace, DataType,
+ H5File, Group, and PropList. (BMR - 2008/05/20)
+ - IdComponent::dereference was incorrect and replaced as described
+ in "New Features" section.
+ (BMR - 2008/10/29)
+
+
+Platforms Tested
+================
+The following platforms and compilers have been tested for this release.
+
+ AIX 5.3 xlc 7.0.0.8
+ xlf 09.01.0000.0008
+ xlC 7.0.0.8
+ mpcc_r 7.0.0.8
+ mpxlf_r 09.01.0000.0008
+
+ Cray XT3 (2.0.41) cc (pgcc) 7.1-4
+ (red storm) ftn (pgf90) 7.1-4
+ CC (pgCC) 7.1-4
+
+ FreeBSD 6.3-STABLE i386 gcc 3.4.6 [FreeBSD] 20060305
+ (duty) g++ 3.4.6 [FreeBSD] 20060305
+ gcc 4.2.5 20080702
+ g++ 4.2.5 20080702
+ gfortran 4.2.5 20080702
+
+ FreeBSD 6.3-STABLE amd64 gcc 3.4.6 [FreeBSD] 20060305
+ (liberty) g++ 3.4.6 [FreeBSD] 20060305
+ gcc 4.2.5 20080702
+ g++ 4.2.5 20080702
+ gfortran 4.2.5 20080702
+
+ IRIX64 6.5 (64 & n32) MIPSpro cc 7.4.4m
+ F90 MIPSpro 7.4.4m
+ C++ MIPSpro cc 7.4.4m
+
+ Linux 2.6.9-42.0.10.ELsmp #1 gcc (GCC) 3.4.6
+ SMP i686 i386 G95 (GCC 4.0.3 (g95 0.92!) April 18 2007)
+ (kagiso) PGI C, Fortran, C++ 7.2-1 32-bit
+ Intel(R) C Compiler for 32-bit
+ applications, Version 10.1
+ Intel(R) C++ Compiler for 32-bit
+ applications, Version 10.1
+ Intel(R) Fortran Compiler for 32-bit
+ applications, Version 10.1
+ Absoft 32-bit Fortran 95 10.0.4
+ MPICH mpich-1.2.7 compiled with
+ gcc 3.4.6 and G95 (GCC 4.0.3 (g95 0.92!)
+ MPICH mpich2-1.0.6p1 compiled with
+ gcc 3.4.6 and G95 (GCC 4.0.3 (g95 0.92!)
+
+ Linux 2.6.16.46-0.14-smp #1 Intel(R) C++ for Intel(R) EM64T
+ SMP x86_64 GNU/Linux Ver. 10.1.013
+ (smirom) Intel(R) Fortran Intel(R) EM64T
+ Ver. 10.1.013
+ PGI C, Fortran, C++ Version 7.2-1
+ for 64-bit target on x86-64
+ MPICH mpich-1.2.7 compiled with
+ gcc 4.1.2 and G95 (GCC 4.0.3 (g95 0.92!)
+ MPICH mpich2-1.0.7 compiled with
+ gcc 4.1.2 and G95 (GCC 4.0.3 (g95 0.92!)
+ tested for both 32- and 64-bit binaries
+
+ Linux 2.6.16.54-0.2.5 #1 Intel(R) C++ Version 10.1.017
+ Altix SMP ia64 Intel(R) Fortran Itanium(R) Version 10.1.017
+ (cobalt) SGI MPI 1.16
+
+ SunOS 5.10 32- and 64-bit Sun WorkShop 6 update 2 C 5.8
+ (linew) Sun WorkShop 6 update 2 Fortran 95 8.2
+ Sun WorkShop 6 update 2 C++ 5.8
+ Patch 121019-06
+
+ Xeon Linux 2.6.9-42.0.10.EL_lustre-1.4.10.1smp
+ (abe) Intel(R) C++ Version 10.0.026
+ Intel(R) Fortran Compiler Version 10.0.026
+ Open MPI 1.2.2
+ MVAPICH2-0.9.8p28p2patched-intel-ofed-1.2
+ compiled with icc v10.0.026 and
+ ifort 10.0.026
+
+ IA-64 Linux 2.4.21-309.tg1 #1 SMP
+ ia64 gcc (GCC) 3.2.2
+ (NCSA tg-login) Intel(R) C++ Version 8.1.037
+ Intel(R) Fortran Compiler Version 8.1.033
+ mpich-gm-1.2.7p1..16-intel-8.1.037-r1
+
+ Intel 64 Linux 2.6.9-42.0.10.EL_lustre-1.4.10.1smp
+ (abe) gcc 3.4.6 20060404
+ Intel(R) C++ Version 10.0
+ Intel (R) Fortran Compiler Version 10.0
+ mvapich2-0.9.8p2patched-intel-ofed-1.2
+
+ Windows XP Visual Studio .NET
+ Visual Studio 2005 w/ Intel Fortran 9.1
+ Cygwin(native gcc compiler and g95)
+
+ Windows XP x64 Visual Studio 2005 w/ Intel Fortran 9.1
+
+ Windows Vista Visual Studio 2005
+
+ MAC OS 10.5.4 (Intel) i686-apple-darwin9-gcc-4.0.1 (GCC) 4.0.1
+ GNU Fortran (GCC) 4.3.0 20070810
+ G95 (GCC 4.0.3 (g95 0.91!) Apr 24 2008)
+ Intel C, C++ and Fortran compilers 10.1
+
+
+Supported Configuration Features Summary
+========================================
+
+ In the tables below
+ y = tested and supported
+ n = not supported or not tested in this release
+ x = not working in this release
+ dna = does not apply
+ ( ) = footnote appears below second table
+ <blank> = testing incomplete on this feature or platform
+
+Platform C F90 F90 C++ zlib SZIP
+ parallel parallel
+Solaris2.10 32-bit n y n y y y
+Solaris2.10 64-bit n y n y y y
+IRIX64_6.5 32-bit n n n n y y
+IRIX64_6.5 64-bit n y y y y y
+Windows XP n y(15) n(15) y y y
+Windows XP x64 n y(15) n(15) y y y
+Windows Vista n n n y y y
+Mac OS X 10.5 Intel n y n y y y
+AIX 5.3 32- and 64-bit n y n y y n
+FreeBSD 6.3-STABLE
+32&64 bit n y n y y y
+RedHat EL4 (3) W y(1) y(10) y(1) y y y
+RedHat EL4 Intel (3) W n y n y y n
+RedHat EL4 PGI (3) W n y n y y n
+SuSe x86_64 gcc(3,12) W y(2) y(11) y(2) y y y
+SuSe x86_64 Int(3,12) W n y(13) n y y n
+SuSe x86_64 PGI(3,12) W n y(8) n y y y
+Linux 2.6 SuSE ia64 C
+ Intel (3,7) y y y y y n
+Linux 2.6 SGI Altix
+ ia64 Intel (3) y y y y y y
+Linux 2.6 RHEL C
+ Lustre Intel (5) y(4) y y(4) y y n
+Cray XT3 2.0.41 y y y y y n
+
+
+Platform Shared Shared Shared Thread-
+ C libs F90 libs C++ libs safe
+Solaris2.10 32-bit y y y y
+Solaris2.10 64-bit y y y y
+IRIX64_6.5 32-bit y dna y y
+IRIX64_6.5 64-bit y y n y
+Windows XP y y(15) y y
+Windows XP x64 y y(15) y y
+Windows Vista y n n y
+Mac OS X 10.5 y n y n
+AIX 5.3 32- and 64-bit n n n n
+FreeBSD 6.2 32&64 bit y n y y
+RedHat EL4 (3) W y y(10) y y
+RedHat EL4 Intel (3) W y y y n
+RedHat EL4 PGI (3) W y y y n
+SuSe x86_64 GNU(3,12) W y y y y
+SuSe x86_64 Int(3,12) W y y y n
+SuSe x86_64 PGI(3,12) W y y y n
+Linux 2.4 SuSE C
+ ia64 C Intel (7) y y y n
+Linux 2.4 SGI Altix C
+ ia64 Intel y n
+Linux 2.6 RHEL C
+ Lustre Intel (5) y y y n
+Cray XT3 2.0.41 n n n n
+
+ Notes: (1) Using mpich2 1.0.6.
+ (2) Using mpich2 1.0.7.
+ (3) Linux 2.6 with GNU, Intel, and PGI compilers, as indicated.
+ W or C indicates workstation or cluster, respectively.
+ (4) Using mvapich2 0.9.8.
+ (5) Linux 2.6.9-42.0.10. Xeon cluster with ELsmp_perfctr_lustre
+ and Intel compilers
+ (6) Linux 2.4.21-32.0.1. Xeon cluster with ELsmp_perfctr_lustre
+ and Intel compilers
+ (7) Linux 2.4.21, SuSE_292.till. Ia64 cluster with Intel compilers
+ (8) pgf90
+ (9) With Compaq Visual Fortran 6.6c compiler.
+ (10) With PGI and Absoft compilers.
+ (11) PGI and Intel compilers for both C and Fortran
+ (12) AMD Opteron x86_64
+ (13) ifort
+ (14) Yes with C and Fortran, but not with C++
+ (15) Using Visual Studio 2005 or Cygwin
+ (16) Not tested for this release.
+ Compiler versions for each platform are listed in the preceding
+ "Platforms Tested" table.
+
+
+Known Problems
+==============
+* For Red Storm, a Cray XT3 system, the tools/h5ls/testh5ls.sh and
+ tools/h5copy/testh5copy.sh will fail some of its sub-tests. These sub-tests
+ are expected to fail and should exit with a non-zero code but the yod
+ command does not propagate the exit code of the executables. Yod always
+ returns 0 if it can launch the executable. The test suite shell expects
+ a non-zero for this particular test, therefore it concludes the test has
+ failed when it receives 0 from yod. Skip all the "failing" test for now
+ by changing them as following.
+
+ ======== Original tools/h5ls/testh5ls.sh =========
+ TOOLTEST tgroup-1.ls 1 -w80 -r -g tgroup.h5
+ ======== Change to ===============================
+ echo SKIP TOOLTEST tgroup-1.ls 1 -w80 -r -g tgroup.h5
+ ==================================================
+
+ ======== Original tools/h5copy/testh5copy.sh =========
+ TOOLTEST_FAIL -i $TESTFILE -o $FILEOUT -v -s grp_dsets -d grp_rename
+ TOOLTEST_FAIL -i $TESTFILE -o $FILEOUT -v -s grp_dsets -d /grp_rename/grp_dsets
+ TOOLTEST_FAIL -i $TESTFILE -o $FILEOUT -vp -s /grp_dsets -d /E/F/grp_dsets
+ TOOLTEST_FAIL -i $TESTFILE -o $FILEOUT -vp -s /grp_nested -d /G/H/grp_nested
+ H5LSTEST $FILEOUT
+ ======== Change to ===============================
+ echo SKIP TOOLTEST_FAIL -i $TESTFILE -o $FILEOUT -v -s grp_dsets -d grp_rename
+ echo SKIP TOOLTEST_FAIL -i $TESTFILE -o $FILEOUT -v -s grp_dsets -d /grp_rename/grp_dsets
+ echo SKIP TOOLTEST_FAIL -i $TESTFILE -o $FILEOUT -vp -s /grp_dsets -d /E/F/grp_dsets
+ echo SKIP TOOLTEST_FAIL -i $TESTFILE -o $FILEOUT -vp -s /grp_nested -d /G/H/grp_nested
+ echo SKIP H5LSTEST $FILEOUT
+ ==================================================
+ AKC - 2008/11/10
+
+* For Red Storm, a Cray XT3 system, the yod command sometimes gives the
+ message, "yod allocation delayed for node recovery". This interferes with
+ test suites that do not expect seeing this message. See the section of "Red
+ Storm" in file INSTALL_parallel for a way to deal with this problem.
+ AKC - 2008/05/28
+
+* We have discovered two problems when running collective IO parallel HDF5
+ tests with chunking storage on the ChaMPIon MPI compiler on tungsten, a
+ Linux cluster at NCSA.
+
+ Under some complex selection cases:
+ 1) MPI_Get_element returns the wrong value.
+ 2) MPI_Type_struct also generates the wrong derived datatype and corrupt
+ data may be generated.
+ These issues arise only when turning on collective IO with chunking storage
+ with some complex selections. We have not found these problems on other
+ MPI-IO compilers. If you encounter these problems, you may use independent
+ IO instead.
+
+ To avoid this behavior, change the following line in your code
+ H5Pset_dxpl_mpio(xfer_plist, H5FD_MPIO_COLLECTIVE);
+ to
+ H5Pset_dxpl_mpio(xfer_plist, H5FD_MPIO_INDEPENDENT);
+
+ KY - 2007/08/24
+
+* On Intel 64 Linux cluster (RH 4, Linux 2.6.9) with Intel 10.0 compilers,
+ use -mp -O1 compilation flags to build the libraries. A higher level of
+ optimization causes failures in several HDF5 library tests.
+
+* For LLNL, uP: both serial and parallel tests pass.
+ Zeus: Serial tests pass but parallel tests fail with a known problem in MPI.
+ ubgl: Serial tests pass but parallel tests fail.
+
+* On mpich 1.2.5 and 1.2.6, if more than two processes contribute no IO and
+ the application asks to do collective IO, we have found that when using 4
+ processors, a simple collective write will sometimes be hung. This can be
+ verified with t_mpi test under testpar.
+
+* On IRIX6.5, when the C compiler version is greater than 7.4, complicated
+ MPI derived datatype code will work. However, the user should increase
+ the value of the MPI_TYPE_MAX environment variable to some appropriate value
+ to use collective irregular selection code. For example, the current
+ parallel HDF5 test needs to raise MPI_TYPE_MAX to 200,000 to pass the test.
+
+* A dataset created or rewritten with a v1.6.3 library or after cannot be read
+ with the v1.6.2 library or before when the Fletcher32 EDC filter is enabled.
+ There was a bug in the calculation of the Fletcher32 checksum in the
+ library before v1.6.3; the checksum value was not consistent between big-
+ endian and little-endian systems. This bug was fixed in Release 1.6.3.
+ However, after fixing the bug, the checksum value was no longer the same as
+ before on little-endian system. Library releases after 1.6.4 can still read
+ datasets created or rewritten with an HDF5 library of v1.6.2 or before.
+ SLU - 2005/6/30
+
+* On IBM AIX systems, parallel HDF5 mode will fail some tests with error
+ messages like "INFO: 0031-XXX ...". This is from the command `poe'.
+ Set the environment variable MP_INFOLEVEL to 0 to minimize the messages
+ and run the tests again.
+
+ The tests may fail with messages like "The socket name is already in use",
+ but HDF5 does not use sockets. This failure is due to problems with the
+ poe command trying to set up the debug socket. To resolve this problem,
+ check to see whether there are many old /tmp/s.pedb.* files staying around.
+ These are sockets used by the poe command and left behind due to failed
+ commands. First, ask your system administrator to clean them out.
+ Lastly, request IBM to provide a means to run poe without the debug socket.
+
+* The --enable-static-exec configure flag fails to compile for Solaris
+ platforms. This is due to the fact that not all of the system libraries on
+ Solaris are available in a static format.
+
+ The --enable-static-exec configure flag also fails to correctly compile
+ on IBM SP2 platforms for serial mode. The parallel mode works fine with
+ this option.
+
+ It is suggested that you do not use this option on these platforms
+ during configuration.
+
+* There is also a configure error on Altix machines that incorrectly reports
+ when a version of Szip without an encoder is being used.
+
+* Information about building with PGI and Intel compilers is available in
+ the INSTALL file sections 4.7 and 4.8.
+
+
+
+
+%%%%1.8.1%%%%
+
+
+HDF5 version 1.8.1 released on Thu May 29 15:28:55 CDT 2008
+================================================================================
+
+INTRODUCTION
+============
+
+This document describes the differences between the HDF5-1.8.1 release
+and HDF5 1.8.0, and contains information on the platforms tested and known
+problems in HDF5-1.8.1. For more details, see the files
+HISTORY-1_0-1_8_0_rc3.txt and HISTORY-1_8.txt in the release_docs/ directory
+of the HDF5 source.
+
+Links to the HDF5 1.8.1 source code, documentation, and additional materials
+can be found on the HDF5 web page at:
+
+ http://www.hdfgroup.org/products/hdf5/
+
+The HDF5 1.8.1 release can be obtained from:
+
+ http://www.hdfgroup.org/HDF5/release/obtain5.html
+
+User documentation for 1.8.1 can be accessed directly at this location:
+
+ http://www.hdfgroup.org/HDF5/doc/
+
+New features in the HDF5-1.8.x release series, including brief general
+descriptions of some new and modified APIs, are described in the "What's New
+in 1.8.0?" document:
+
+ http://www.hdfgroup.org/HDF5/doc/ADGuide/WhatsNew180.html
+
+All new and modified APIs are listed in detail in the "HDF5 Software Changes
+from Release to Release" document, in the section "Release 1.8.1 (current
+release) versus Release 1.8.0":
+
+ http://www.hdfgroup.org/HDF5/doc/ADGuide/Changes.html
+
+If you have any questions or comments, please send them to the HDF Help Desk:
+
+ help@hdfgroup.org
+
+
+CONTENTS
+========
+
+- New Features
+- Support for new platforms and languages
+- Bug Fixes since HDF5-1.8.0
+- Platforms Tested
+- Supported Configuration Features Summary
+- Known Problems
+
+
+New Features
+============
+
+ Configuration
+ -------------
+ - The lib/libhdf5.settings file contains much more configure
+ information. (AKC - 2008/05/18)
+
+ - The new configure option "--disable-sharedlib-rpath" disables
+ embedding the '-Wl,-rpath' information into executables when
+ shared libraries are produced, and instead solely relies on the
+ information in LD_LIBRARY_PATH. (MAM - 2008/05/15)
+
+ - Configuration suite now uses Autoconf 2.61, Automake 1.10.1, and
+ Libtool 2.2.2 (MAM - 2008/05/01)
+
+ Source code distribution
+ ========================
+
+ Library
+ -------
+ - None
+
+ Parallel Library
+ ----------------
+ - None
+
+ Tools
+ -----
+ - h5repack: Reinstated the -i and -o command line flags to specify
+ input and output files. h5repack now understands both the old
+ syntax (with -i and -o) and the new syntax introduced in Release
+ 1.8.0. (PVN - 2008/05/23)
+ - h5dump: Added support for external links, displaying the object that
+ an external link points to. (PVN - 2008/05/12)
+ - h5dump: Added an option, -m, to allow user-defined formatting in the
+ output of floating point numbers. (PVN - 2008/05/06)
+ - h5dump, in output of the -p option: Added effective data compression
+ ratio to the dataset storage layout output when a compression filter
+ has been applied to a dataset. (PVN - 2008/05/01)
+
+ F90 API
+ ------
+ New H5A, H5G, H5L, H5O, and H5P APIs to enable 1.8 features were
+ added. See "Release 1.8.1 (current release) versus Release 1.8.0" in
+ the document "HDF5 Software Changes from Release to Release"
+ (http://hdfgroup.org/HDF5/doc/ADGuide/Changes.html) for the
+ complete list of the new APIs.
+
+ C++ API
+ ------
+ - None
+
+
+Support for New Platforms, Languages, and Compilers
+===================================================
+ - Both serial and parallel HDF5 are supported for the Red Storm machine
+ which is a Cray XT3 system.
+
+ - The Fortran library will work correctly if compiled with the -i8
+ flag. This has been tested with the g95, PGI and Intel Fortran
+ compilers.
+
+
+Bug Fixes since HDF5-1.8.0
+==========================
+
+ Configuration
+ -------------
+ - None
+
+ Source code distribution
+ ========================
+
+ Library
+ -------
+ - Chunking: Chunks greater than 4GB are disallowed.
+ (QAK - 2008/05/16)
+ - Fixed the problem with searching for a target file when following
+ an external link. The search pattern will depend on whether the
+ target file's pathname is an absolute or a relative path.
+ Please see the H5Lcreate_external description in the "HDF5
+ Reference Manual" (http://hdfgroup.org/HDF5/doc/RM/RM_H5L.html).
+ (VC - 2008/04/08)
+ - Fixed possible file corruption bug when encoding datatype
+ descriptions for compound datatypes whose size was between
+ 256 and 511 bytes and the file was opened with the "use the
+ latest format" property enabled (with H5Pset_libver_bounds).
+ (QAK - 2008/03/13)
+ - Fixed bug in H5Aget_num_attrs() routine to correctly handle an
+ invalid location identifier. (QAK - 2008/03/11)
+
+ Parallel Library
+ ----------------
+ - None
+
+ Tools
+ -----
+ - Fixed bug in h5diff that prevented datasets and attributes with
+ variable-length string elements from comparing correctly.
+ (QAK - 2008/02/28)
+ - Fixed bug in h5dump that caused binary output to be made only for
+ the first dataset, when several datasets were requested.
+ (PVN - 2008/04/07)
+
+ F90 API
+ ------
+ - The h5tset(get)_fields subroutines were missing the parameter to
+ specify a sign position; fixed. (EIP - 2008/05/23)
+ - Many APIs were fixed to work with the 8-byte integers in Fortran vs.
+ 4-byte integers in C. This change is trasparent to user applications.
+
+ C++ API
+ ------
+ - The class hierarchy was revised to address the problem reported
+ in bugzilla #1068, Attribute should not be derived from base
+ class H5Object. Classes AbstractDS was moved out of H5Object.
+ Class Attribute now multiply inherits from IdComponent and
+ AbstractDs and class DataSet from H5Object and AbstractDs.
+ In addition, data member IdComponent::id was moved into subclasses:
+ Attribute, DataSet, DataSpace, DataType, H5File, Group, and PropList.
+ (BMR - 2008/05/20)
+ - IdComponent::dereference was incorrect; it was changed from:
+ void IdComponent::dereference(IdComponent& obj, void* ref)
+ to:
+ void H5Object::dereference(H5File& h5file, void* ref)
+ void H5Object::dereference(H5Object& obj, void* ref)
+ (BMR - 2008/05/20)
+ - Revised Attribute::write and Attribute::read wrappers to handle
+ memory allocation/deallocation properly. (bugzilla 1045)
+ (BMR - 2008/05/20)
+
+
+Platforms Tested
+================
+The following platforms and compilers have been tested for this release.
+
+ Cray XT3 (2.0.41) cc (pgcc) 7.1-4
+ (red storm) ftn (pgf90) 7.1-4
+ CC (pgCC) 7.1-4
+ mpicc 1.0.2
+ mpif90 1.0.2
+
+ FreeBSD 6.2-STABLE i386 gcc 3.4.6 [FreeBSD] 20060305
+ (duty) g++ 3.4.6 [FreeBSD] 20060305
+ gcc 4.2.1 20080123
+ g++ 4.2.1 20080123
+ gfortran 4.2.1 20070620
+
+ FreeBSD 6.2-STABLE amd64 gcc 3.4.6 [FreeBSD] 20060305
+ (liberty) g++ 3.4.6 [FreeBSD] 20060305
+ gcc 4.2.1 20080123
+ g++ 4.2.1 20080123
+ gfortran 4.2.1 20080123
+
+ IRIX64 6.5 (64 & n32) MIPSpro cc 7.4.4m
+ F90 MIPSpro 7.4.4m
+ C++ MIPSpro cc 7.4.4m
+
+ Linux 2.6.9 (RHEL4) Intel 10.0 compilers
+ (abe.ncsa.uiuc.edu)
+
+ Linux 2.4.21-47 gcc 3.2.3 20030502
+ (osage)
+
+ Linux 2.6.9-42.0.10 gcc,g++ 3.4.6 20060404, G95 (GCC 4.0.3)
+ (kagiso) PGI 7.1-6 (pgcc, pgf90, pgCC)
+ Intel 9.1 (icc, ifort, icpc)
+
+ Linux 2.6.16.27 x86_64 AMD gcc 4.1.0 (SuSE Linux), g++ 4.1.0,
+ (smirom) g95 (GCC 4.0.3)
+ PGI 7.1-6 (pgcc, pgf90, pgCC)
+ Intel 9.1 (icc, ifort, icpc)
+
+ Linux 2.6.5-7.252.1-rtgfx #1 Intel(R) C++ Version 9.0
+ SMP ia64 Intel(R) Fortran Itanium(R) Version 9.0
+ (cobalt) SGI MPI
+
+ SunOS 5.8 32,46 Sun WorkShop 6 update 2 C 5.3
+ (Solaris 2.8) Sun WorkShop 6 update 2 Fortran 95 6.2
+ Sun WorkShop 6 update 2 C++ 5.3
+
+ SunOS 5.10 cc: Sun C 5.8
+ (linew) f90: Sun Fortran 95 8.2
+ CC: Sun C++ 5.8
+
+ Xeon Linux 2.4.21-32.0.1.ELsmp-perfctr-lustre
+ (tungsten) gcc 3.2.2 20030222
+ Intel(R) C++ Version 9.0
+ Intel(R) Fortran Compiler Version 9.0
+
+ IA-64 Linux 2.4.21.SuSE_309.tg1 ia64
+ (NCSA tg-login) gcc 3.2.2
+ Intel(R) C++ Version 8.1
+ Intel(R) Fortran Compiler Version 8.1
+ mpich-gm-1.2.6..14b-intel-r2
+
+ Intel 64 Linux 2.6.9-42.0.10.EL_lustre-1.4.10.1smp
+ (abe) gcc 3.4.6 20060404
+ Intel(R) C++ Version 10.0
+ Intel (R) Fortran Compiler Version 10.0
+ mvapich2-0.9.8p2patched-intel-ofed-1.2
+
+ Windows XP Visual Studio .NET
+ Visual Studio 2005 w/ Intel Fortran 9.1
+ Cygwin(native gcc compiler and g95)
+ MinGW(native gcc compiler and g95)
+
+ Windows XP x64 Visual Studio 2005 w/ Intel Fortran 9.1
+
+ Windows Vista Visual Studio 2005
+
+ MAC OS 10.5.2 (Intel) i686-apple-darwin9-gcc-4.0.1 (GCC) 4.0.1
+ GNU Fortran (GCC) 4.3.0 20070810
+ G95 (GCC 4.0.3 (g95 0.91!) Apr 24 2008)
+
+
+Supported Configuration Features Summary
+========================================
+
+ In the tables below
+ y = tested and supported
+ n = not supported or not tested in this release
+ x = not working in this release
+ dna = does not apply
+ ( ) = footnote appears below second table
+ <blank> = testing incomplete on this feature or platform
+
+Platform C F90 F90 C++ zlib SZIP
+ parallel parallel
+SunOS5.10 64-bit n y n y y y
+SunOS5.10 32-bit n y n y y y
+IRIX64_6.5 64-bit n y y y y y
+IRIX64_6.5 32-bit n n n n y y
+Windows XP n y(15) n(15) y y y
+Windows XP x64 n y(15) n(15) y y y
+Windows Vista n n n y y y
+Mac OS X 10.5 Intel n y n y y y
+FreeBSD 4.11 n n n y y y
+RedHat EL3 W (3) y(1) y(10) y(1) y y y
+RedHat EL3 W Intel (3) n y n y y n
+RedHat EL3 W PGI (3) n y n y y n
+SuSe x86_64 gcc (3,12) y(2) y(11) y(2) y y y
+SuSe x86_64 Int (3,12) n y(13) n y y n
+SuSe x86_64 PGI (3,12) n y(8) n y y y
+Linux 2.4 Xeon C
+ Lustre Intel (3,6) n y n y y n
+Linux 2.6 SuSE ia64 C
+ Intel (3,7) y y y y y n
+Linux 2.6 SGI Altix
+ ia64 Intel (3) y y y y y y
+Linux 2.6 RHEL C
+ Lustre Intel (5) y(4) y y(4) y y n
+Cray XT3 2.0.41 y y y y y n
+
+
+Platform Shared Shared Shared Thread-
+ C libs F90 libs C++ libs safe
+Solaris2.10 64-bit y y y y
+Solaris2.10 32-bit y y y y
+IRIX64_6.5 64-bit y y n y
+IRIX64_6.5 32-bit y dna y y
+Windows XP y y(15) y y
+Windows XP x64 y y(15) y y
+Windows Vista y n n y
+Mac OS X 10.3 y n
+FreeBSD 4.11 y n y y
+RedHat EL3 W (3) y y(10) y y
+RedHat EL3 W Intel (3) y y y n
+RedHat EL3 W PGI (3) y y y n
+SuSe x86_64 W GNU (3,12) y y y y
+SuSe x86_64 W Int (3,12) y y y n
+SuSe x86_64 W PGI (3,12) y y y n
+Linux 2.4 Xeon C
+ Lustre Intel (6) y y y n
+Linux 2.4 SuSE
+ ia64 C Intel (7) y y y n
+Linux 2.4 SGI Altix
+ ia64 Intel y n
+Linux 2.6 RHEL C
+ Lustre Intel (5) y y y n
+Cray XT3 2.0.41 n n n n n
+
+ Notes: (1) Using mpich2 1.0.6.
+ (2) Using mpich2 1.0.7.
+ (3) Linux 2.6 with GNU, Intel, and PGI compilers, as indicated.
+ W or C indicates workstation or cluster, respectively.
+ (4) Using mvapich2 0.9.8.
+ (5) Linux 2.6.9-42.0.10. Xeon cluster with ELsmp_perfctr_lustre
+ and Intel compilers
+ (6) Linux 2.4.21-32.0.1. Xeon cluster with ELsmp_perfctr_lustre
+ and Intel compilers
+ (7) Linux 2.4.21, SuSE_292.till. Ia64 cluster with Intel compilers
+ (8) pgf90
+ (9) With Compaq Visual Fortran 6.6c compiler.
+ (10) With PGI and Absoft compilers.
+ (11) PGI and Intel compilers for both C and Fortran
+ (12) AMD Opteron x86_64
+ (13) ifort
+ (14) Yes with C and Fortran, but not with C++
+ (15) Using Visual Studio 2005 or Cygwin
+ (16) Not tested for this release.
+ Compiler versions for each platform are listed in the preceding
+ "Platforms Tested" table.
+
+
+Known Problems
+==============
+* For Red Storm, a Cray XT3 system, the yod command sometimes gives the
+ message, "yod allocation delayed for node recovery". This interferes with
+ test suites that do not expect seeing this message. See the section of "Red
+ Storm" in file INSTALL_parallel for a way to deal with this problem.
+ AKC - 2008/05/28
+
+* For Red Storm, a Cray XT3 system, the tools/h5ls/testh5ls.sh will fail on
+ the test "Testing h5ls -w80 -r -g tgroup.h5" fails. This test is
+ expected to fail and exit with a non-zero code but the yod command does
+ not propagate the exit code of the executables. Yod always returns 0 if it
+ can launch the executable. The test suite shell expects a non-zero for
+ this particular test, therefore it concludes the test has failed when it
+ receives 0 from yod. To bypass this problem for now, change the following
+ lines in the tools/h5ls/testh5ls.sh.
+ ======== Original =========
+ # The following combination of arguments is expected to return an error message
+ # and return value 1
+ TOOLTEST tgroup-1.ls 1 -w80 -r -g tgroup.h5
+ ======== Skip the test =========
+ echo SKIP TOOLTEST tgroup-1.ls 1 -w80 -r -g tgroup.h5
+ ======== end of bypass ========
+ AKC - 2008/05/28
+
+* We have discovered two problems when running collective IO parallel HDF5
+ tests with chunking storage on the ChaMPIon MPI compiler on tungsten, a
+ Linux cluster at NCSA.
+
+ Under some complex selection cases:
+ 1) MPI_Get_element returns the wrong value.
+ 2) MPI_Type_struct also generates the wrong derived datatype and corrupt
+ data may be generated.
+ These issues arise only when turning on collective IO with chunking storage
+ with some complex selections. We have not found these problems on other
+ MPI-IO compilers. If you encounter these problems, you may use independent
+ IO instead.
+
+ To avoid this behavior, change the following line in your code
+ H5Pset_dxpl_mpio(xfer_plist, H5FD_MPIO_COLLECTIVE);
+ to
+ H5Pset_dxpl_mpio(xfer_plist, H5FD_MPIO_INDEPENDENT);
+
+ KY - 2007/08/24
+
+* For SNL, spirit/liberty/thunderbird: The serial tests pass but parallel
+ tests failed with MPI-IO file locking message. AKC - 2007/6/25
+
+* On Intel 64 Linux cluster (RH 4, Linux 2.6.9) with Intel 10.0 compilers,
+ use -mp -O1 compilation flags to build the libraries. A higher level of
+ optimization causes failures in several HDF5 library tests.
+
+* For LLNL, uP: both serial and parallel tests pass.
+ Zeus: Serial tests pass but parallel tests fail with a known problem in MPI.
+ ubgl: Serial tests pass but parallel tests fail.
+
+* Configuring with --enable-debug=all produces compiler errors on most
+ platforms: Users who want to run HDF5 in debug mode should use
+ --enable-debug rather than --enable-debug=all to enable debugging
+ information on most modules.
+
+* On Mac OS 10.4, test/dt_arith.c has some errors in conversion from long
+ double to (unsigned) long long and from (unsigned) long long to long double.
+
+* On Altix SGI with Intel 9.0, testmeta.c would not compile with -O3
+ optimization flag.
+
+* On VAX, the Scaleoffset filter is not supported. The Scaleoffset filter
+ supports only the IEEE standard for floating-point data; it cannot be applied
+ to HDF5 data generated on VAX.
+
+* On Cray X1, a lone colon on the command line of h5dump --xml (as in
+ the testh5dumpxml.sh script) is misinterpereted by the operating system
+ and causes an error.
+
+* On mpich 1.2.5 and 1.2.6, if more than two processes contribute no IO and
+ the application asks to do collective IO, we have found that when using 4
+ processors, a simple collective write will sometimes be hung. This can be
+ verified with t_mpi test under testpar.
+
+* On IRIX6.5, when the C compiler version is greater than 7.4, complicated
+ MPI derived datatype code will work. However, the user should increase
+ the value of the MPI_TYPE_MAX environment variable to some appropriate value
+ to use collective irregular selection code. For example, the current
+ parallel HDF5 test needs to raise MPI_TYPE_MAX to 200,000 to pass the test.
+
+* A dataset created or rewritten with a v1.6.3 library or after cannot be read
+ with the v1.6.2 library or before when the Fletcher32 EDC filter is enabled.
+ There was a bug in the calculation of the Fletcher32 checksum in the
+ library before v1.6.3; the checksum value was not consistent between big-
+ endian and little-endian systems. This bug was fixed in Release 1.6.3.
+ However, after fixing the bug, the checksum value was no longer the same as
+ before on little-endian system. Library releases after 1.6.4 can still read
+ datasets created or rewritten with an HDF5 library of v1.6.2 or before.
+ SLU - 2005/6/30
+
+* For version 6 (6.02 and 6.04) of the Portland Group compiler on the AMD
+ Opteron processor, there is a bug in the compiler for optimization(-O2).
+ The library failed in several tests, all related to the MULTI driver.
+ The problem has been reported to the vendor.
+
+* On IBM AIX systems, parallel HDF5 mode will fail some tests with error
+ messages like "INFO: 0031-XXX ...". This is from the command `poe'.
+ Set the environment variable MP_INFOLEVEL to 0 to minimize the messages
+ and run the tests again.
+
+ The tests may fail with messages like "The socket name is already in use",
+ but HDF5 does not use sockets. This failure is due to problems with the
+ poe command trying to set up the debug socket. To resolve this problem,
+ check to see whether there are many old /tmp/s.pedb.* files staying around.
+ These are sockets used by the poe command and left behind due to failed
+ commands. First, ask your system administrator to clean them out.
+ Lastly, request IBM to provide a means to run poe without the debug socket.
+
+* The --enable-static-exec configure flag fails to compile for Solaris
+ platforms. This is due to the fact that not all of the system libraries on
+ Solaris are available in a static format.
+
+ The --enable-static-exec configure flag also fails to correctly compile
+ on IBM SP2 platforms for serial mode. The parallel mode works fine with
+ this option.
+
+ It is suggested that you do not use this option on these platforms
+ during configuration.
+
+* With the gcc 2.95.2 compiler, HDF5 uses the `-ansi' flag during
+ compilation. The ANSI version of the compiler complains about not being
+ able to handle the `long long' datatype with the warning:
+
+ warning: ANSI C does not support `long long'
+
+ This warning is innocuous and can be safely ignored.
+
+* The ./dsets tests fail on the TFLOPS machine if the test program,
+ dsets.c, is compiled with the -O option. The HDF5 library still works
+ correctly with the -O option. The test program works fine if it is
+ compiled with -O1 or -O0. Only -O (same as -O2) causes the test
+ program to fail.
+
+* Not all platforms behave correctly with Szip's shared libraries. Szip is
+ disabled in these cases, and a message is relayed at configure time. Static
+ libraries should be working on all systems that support Szip and should be
+ used when shared libraries are unavailable.
+
+ There is also a configure error on Altix machines that incorrectly reports
+ when a version of Szip without an encoder is being used.
+
+* On some platforms that use Intel and Absoft compilers to build the HDF5
+ Fortran library, compilation may fail for fortranlib_test.f90, fflush1.f90
+ and fflush2.f90 complaining about the exit subroutine. Comment out the line
+ IF (total_error .ne. 0) CALL exit (total_error).
+
+* Information about building with PGI and Intel compilers is available in
+ the INSTALL file sections 4.7 and 4.8.
+
+* On at least one system, SDSC DataStar, the scheduler (in this case
+ LoadLeveler) sends job status updates to standard error when you run
+ any executable that was compiled with the parallel compilers.
+
+ This causes problems when running "make check" on parallel builds, as
+ many of the tool tests function by saving the output from test runs,
+ and comparing it to an exemplar.
+
+ The best solution is to reconfigure the target system so it no longer
+ inserts the extra text. However, this may not be practical.
+
+ In such cases, one solution is to "setenv HDF5_Make_Ignore yes" prior to
+ the configure and build. This will cause "make check" to continue after
+ detecting errors in the tool tests. However, in the case of SDSC DataStar,
+ it also leaves you with some 150 "failed" tests to examine by hand.
+
+ A second solution is to write a script to run serial tests and filter
+ out the text added by the scheduler. A sample script used on SDSC
+ DataStar is given below, but you will probably have to customize it
+ for your installation.
+
+ Observe that the basic idea is to insert the script as the first item
+ on the command line which executes the the test. The script then
+ executes the test and filters out the offending text before passing
+ it on.
+
+ #!/bin/csh
+
+ set STDOUT_FILE=~/bin/serial_filter.stdout
+ set STDERR_FILE=~/bin/serial_filter.stderr
+
+ rm -f $STDOUT_FILE $STDERR_FILE
+
+ ($* > $STDOUT_FILE) >& $STDERR_FILE
+
+ set RETURN_VALUE=$status
+
+ cat $STDOUT_FILE
+
+ tail +3 $STDERR_FILE
+
+ exit $RETURN_VALUE
+
+ You get the HDF5 make files and test scipts to execute your filter script
+ by setting the environment variable "RUNSERIAL" to the full path of the
+ script prior to running configure for parallel builds. Remember to
+ "unsetenv RUNSERIAL" before running configure for a serial build.
+
+ Note that the RUNSERIAL environment variable exists so that we can
+ prefix serial runs as necessary on the target system. On DataStar,
+ no prefix is necessary. However on an MPICH system, the prefix might
+ have to be set to something like "/usr/local/mpi/bin/mpirun -np 1" to
+ get the serial tests to run at all.
+
+ In such cases, you will have to include the regular prefix in your
+ filter script.
+
+* H5Ocopy() does not copy reg_ref attributes correctly when shared-message
+ is turn on. The value of the reference in the destination attriubte is
+ wrong. This H5Ocopy problem will affect the h5copy tool.
+
+* In the C++ API, it appears that there are bugs in Attribute::write/read
+ and DataSet::write/read for fixed- and variable-len strings. The problems
+ are being worked on and a patch will be provided when the fixes are
+ available.
+
+
+%%%%1.8.0%%%%
+
+
+HDF5 version 1.8.0 released on Tue Feb 12 20:41:19 CST 2008
+================================================================================
+
+INTRODUCTION
+============
+
+This document describes the differences between the HDF5-1.6.x release series
+and HDF5 1.8.0, and contains information on the platforms tested and known
+problems in HDF5-1.8.0. For more details, see the HISTORY-1_0-1_8_0_rc3.txt
+file in the
+release_docs/ directory of the HDF5 source.
+
+Links to the HDF5 1.8.0 source code, documentation, and additional materials
+can be found on the HDF5 web page at:
+
+ http://www.hdfgroup.org/products/hdf5/
+
+The HDF5 1.8.0 release can be obtained from:
+
+ http://www.hdfgroup.org/HDF5/release/obtain5.html
+
+User documentation for 1.8.0 can be accessed directly at this location:
+
+ http://www.hdfgroup.org/HDF5/doc/
+
+New features in 1.8.0, including brief general descriptions of some new
+and modified APIs, are described in the "What's New in 1.8.0?" document:
+
+ http://www.hdfgroup.org/HDF5/doc/ADGuide/WhatsNew180.html
+
+All new and modified APIs are listed in detail in the "HDF5 Software Changes
+from Release to Release" document, in the section "Release 1.8.0 (current
+release) versus Release 1.6.x":
+
+ http://www.hdfgroup.org/HDF5/doc/ADGuide/Changes.html
+
+If you have any questions or comments, please send them to the HDF Help Desk:
+
+ help@hdfgroup.org
+
+
+CONTENTS
+========
+
+- New Features
+- Removed Feature
+- Support for new platforms and languages
+- Bug Fixes since HDF5-1.6.0
+- Platforms Tested
+- Supported Configuration Features Summary
+- Known Problems
+
+
+New Features
+============
+
+ HDF5 Release 1.8.0 is a major release with many changes and new features.
+
+ New format and interface features discussed in the "What's New in
+ HDF5 1.8.0" document include the following:
+
+ Enhanced group object management
+ Enhanced attribute management and more efficient meta data handling
+ Expanded datatype features
+ Creation order tracking and indexing
+ Improved meta data caching and cache control
+ UTF-8 encoding
+ New I/O filters: n-bit and scale+offset compression
+ New link (H5L) and object (H5O) interfaces and features
+ External and user-defined links
+ New high-level APIs:
+ HDF5 Packet Table (H5PT) and HDF5 Dimension Scale (H5DS)
+ C++ and Fortran interfaces for older high-level APIs:
+ H5Lite (H5LT), H5Image (H5IM), and H5Table (H5TB)
+ New and improved tools
+ And more...
+
+ http://hdfgroup.org/HDF5/doc/ADGuide/WhatsNew180.html
+
+
+ New APIs associated with these features, other interface changes
+ (e.g., ENUM and struct definitions), and new library configuration flags
+ are listed in the "Release 1.8.0 (current release) versus Release 1.6.x"
+ section of "HDF5 Software Changes from Release to Release."
+
+ http://hdfgroup.org/HDF5/doc/ADGuide/Changes.html
+
+Compatibility
+-------------
+ Many HDF5 users and user communities have existing applications that
+ they may wish to port to Release 1.8.0. Alternatively, some users may
+ wish to take advantage of Release 1.8.0's improved performance without
+ having to port such applications. To facilitate managing application
+ compatibility and porting applications from release to release, the HDF
+ Team has implemented the following features:
+ Individually-configurable macros that selectively map common
+ interface names to the old and new interfaces
+ Library configuration options to configure the macro mappings
+
+ Two related documents accompany this release:
+ "API Compatibility Macros in HDF5" discusses the specifics of the
+ new individually-configurable macros and library configuration
+ options.
+ http://hdfgroup.org/HDF5/doc/RM/APICompatMacros.html
+
+ "New Features in HDF5 Release 1.8.0 and Backward/Forward Format
+ Compatibility Issues" discusses each new feature with regard to
+ its impact on format compatibility.
+ http://hdfgroup.org/HDF5/doc/ADGuide/CompatFormat180.html
+
+Referenced documents
+--------------------
+ http://hdfgroup.org/HDF5/doc/ADGuide/WhatsNew180.html
+ "What's New in HDF5 1.8.0"
+
+ http://hdfgroup.org/HDF5/doc/ADGuide/Changes.html
+ The "Release 1.8.0 (current release) versus Release 1.6.x "
+ section in "HDF5 Software Changes from Release to Release"
+
+ http://hdfgroup.org/HDF5/doc/RM/APICompatMacros.html
+ "API Compatibility Macros in HDF5"
+
+ http://hdfgroup.org/HDF5/doc/ADGuide/CompatFormat180.html
+ "New Features in HDF5 Release 1.8.0 and Backward/Forward Format
+ Compatibility Issues"
+
+
+Removed Feature
+===============
+The stream virtual file driver (H5FD_STREAM) have been removed in this
+release. This affects the functions H5Pset_fapl_stream and H5Pget_fapl_stream
+and the constant H5FD_STREAM.
+
+This virtual file driver will be available at
+http://hdf5-addons.origo.ethz.ch/. Note that at the time of this release,
+the transition is still in progress; the necessary integration tools may
+not be available when HDF5 Release 1.8.0 first comes out.
+
+
+Support for New Platforms, Languages, and Compilers
+===================================================
+ - Support for Open VMS 7.3 was added.
+
+
+Bug Fixes since HDF5-1.6.0
+==========================
+ This release contains numerous bug fixes. For details, see the
+ "Changes from 1.6.0 to 1.8.0-rc3" section of the HISTORY.txt file for
+ this release.
+
+
+Platforms Tested
+================
+The following platforms and compilers have been tested for for this release.
+
+ AIX 5.2 (32/64 bit) xlc 8.0.0.11
+ xlC 8.0
+ xlf 10.01.0000.0
+ mpcc_r 6.0.0.8
+ mpxlf_r 8.1.1.7
+
+ FreeBSD 6.2-STABLE i386 gcc 3.4.6 [FreeBSD] 20060305
+ (duty) g++ 3.4.6 [FreeBSD] 20060305
+ gcc 4.2.1 20080123
+ g++ 4.2.1 20080123
+ gfortran 4.2.1 20070620
+
+ FreeBSD 6.2-STABLE amd64 gcc 3.4.6 [FreeBSD] 20060305
+ (liberty) g++ 3.4.6 [FreeBSD] 20060305
+ gcc 4.2.1 20080123
+ g++ 4.2.1 20080123
+ gfortran 4.2.1 20080123
+
+ IRIX64 6.5 (64 & n32) MIPSpro cc 7.4.4m
+ F90 MIPSpro 7.4.4m
+ C++ MIPSpro cc 7.4.4m
+
+ Linux 2.6.9 (RHEL4) Intel 10.0 compilers
+ (abe.ncsa.uiuc.edu)
+
+ Linux 2.4.21-47 gcc 3.2.3 20030502
+ (osage)
+
+ Linux 2.6.9-42.0.10 gcc 3.4.6 20060404
+ (kagiso) PGI 7.0-7 (pgcc, pgf90, pgCC)
+ Intel 9.1 (icc, ifort, icpc)
+
+ Linux 2.6.16.27 x86_64 AMD gcc 4.1.0 (SuSE Linux), g++ 4.1.0,
+ (smirom) g95 (GCC 4.0.3)
+ PGI 6.2-5 (pgcc, pgf90, pgCC)
+ Intel 9.1 (icc, iort, icpc)
+
+ Linux 2.6.5-7.252.1-rtgfx #1 Intel(R) C++ Version 9.0
+ SMP ia64 Intel(R) Fortran Itanium(R) Version 9.0
+ (cobalt) SGI MPI
+
+ SunOS 5.8 32,46 Sun WorkShop 6 update 2 C 5.3
+ (Solaris 2.8) Sun WorkShop 6 update 2 Fortran 95 6.2
+ Sun WorkShop 6 update 2 C++ 5.3
+
+ SunOS 5.10 cc: Sun C 5.8
+ (linew) f90: Sun Fortran 95 8.2
+ CC: Sun C++ 5.8
+
+ Xeon Linux 2.4.21-32.0.1.ELsmp-perfctr-lustre
+ (tungsten) gcc 3.2.2 20030222
+ Intel(R) C++ Version 9.0
+ Intel(R) Fortran Compiler Version 9.0
+
+ IA-64 Linux 2.4.21.SuSE_292.til1 ia64
+ (NCSA tg-login) gcc 3.2.2
+ Intel(R) C++ Version 8.1
+ Intel(R) Fortran Compiler Version 8.1
+ mpich-gm-1.2.5..10-intel-r2
+
+ Windows XP Visual Studio .NET
+ Visual Studio 2005 w/ Intel Fortran 9.1
+ Cygwin(native gcc compiler and g95)
+ MinGW(native gcc compiler and g95)
+
+ Windows XP x64 Visual Studio 2005 w/ Intel Fortran 9.1
+
+ Windows Vista Visual Studio 2005
+
+ MAC OS 10.4 (Intel) gcc i686-apple-darwin8-gcc-4.0.1 (GCC) 4.0.1
+ G95 (GCC 4.0.3 (g95 0.91!) Nov 21 2006)
+
+ Alpha Open VMS 7.3 Compaq C V6.5-001-48BCD
+ HP Fortran V7.6-3276
+ Compaq C++ V6.5-004
+
+
+Supported Configuration Features Summary
+========================================
+
+ In the tables below
+ y = tested and supported
+ n = not supported or not tested in this release
+ x = not working in this release
+ dna = does not apply
+ ( ) = footnote appears below second table
+ <blank> = testing incomplete on this feature or platform
+
+Platform C F90 F90 C++ zlib SZIP
+ parallel parallel
+SunOS5.8 64-bit n y n y y y
+SunOS5.8 32-bit n y n y y y
+SunOS5.10 64-bit y(1) y n y y y
+SunOS5.10 32-bit y(1) y n y y y
+IRIX64_6.5 64-bit n y y y y y
+IRIX64_6.5 32-bit n n n n y y
+AIX-5.2 32-bit y y y y y y
+AIX-5.2 64-bit y y y y y y
+Windows XP n y(15) n(15) y y y
+Windows XP x64 n y(15) n(15) y y y
+Windows Vista n n n y y y
+Mac OS X 10.4 PowerPC n n
+Mac OS X 10.4 Intel n y n y y y
+FreeBSD 4.11 n n n y y y
+RedHat EL3 W (3) y(1a) y(10) y(1a) y y y
+RedHat EL3 W Intel (3) n y n y y n
+RedHat EL3 W PGI (3) n y n y y n
+SuSe x86_64 gcc (3,12) y(1a) y(11) n y y y
+SuSe x86_64 Int (3,12) n y(13) n y y n
+SuSe x86_64 PGI (3,12) n y(8) n y y y
+Linux 2.4 Xeon C
+ Lustre Intel (3,6) n y n y y n
+Linux 2.6 SuSE ia64 C
+ Intel (3,7) y y y y y n
+Linux 2.6 SGI Altix
+ ia64 Intel (3) y y y y y y
+Alpha OpenVMS 7.3.2 n y n y n n
+
+
+
+Platform Shared Shared Shared static- Thread-
+ C libs F90 libs C++ libs exec safe
+Solaris2.8 64-bit y y y x y
+Solaris2.8 32-bit y y y x y
+Solaris2.10 64-bit y x y
+Solaris2.10 32-bit y x y
+IRIX64_6.5 64-bit y y n y y
+IRIX64_6.5 32-bit y dna y y y
+AIX-5.2 & 5.3 32-bit n n n y n
+AIX-5.2 & 5.3 64-bit n n n y n
+Windows XP y y(15) y y y
+Windows XP x64 y y(15) y y y
+Windows Vista y n n y y
+Mac OS X 10.3 y y n
+FreeBSD 4.11 y n y y y
+RedHat EL3 W (3) y y(10) y y y
+RedHat EL3 W Intel (3) y y y y n
+RedHat EL3 W PGI (3) y y y y n
+SuSe x86_64 W GNU (3,12) y y y y y
+SuSe x86_64 W Int (3,12) y y y y(14) n
+SuSe x86_64 W PGI (3,12) y y y y(14) n
+Linux 2.4 Xeon C
+ Lustre Intel (6) y y y y n
+Linux 2.4 SuSE
+ ia64 C Intel (7) y y y y n
+Linux 2.4 SGI Altix
+ ia64 Intel y y n
+Alpha OpenVMS 7.3.2 n n n y n
+
+ Notes: (1) Using mpich 1.2.6.
+ (1a) Using mpich2 1.0.6.
+ (2) Using mpt and mpich 1.2.6.
+ (3) Linux 2.6 with GNU, Intel, and PGI compilers, as indicated.
+ W or C indicates workstation or cluster, respectively.
+
+ (6) Linux 2.4.21-32.0.1. Xeon cluster with ELsmp_perfctr_lustre
+ and Intel compilers
+ (7) Linux 2.4.21, SuSE_292.till. Ia64 cluster with Intel
+compilers
+ (8) pgf90
+ (9) With Compaq Visual Fortran 6.6c compiler.
+ (10) With PGI and Absoft compilers.
+ (11) PGI and Intel compilers for both C and Fortran
+ (12) AMD Opteron x86_64
+ (13) ifort
+ (14) Yes with C and Fortran, but not with C++
+ (15) Using Visual Studio 2005 or Cygwin
+ (16) Not tested for this release.
+ Compiler versions for each platform are listed in the preceding
+ "Platforms Tested" table.
+
+
+Known Problems
+==============
+* We have discovered two problems when running collective IO parallel HDF5
+ tests with chunking storage on the ChaMPIon MPI compiler on tungsten, a
+ Linux cluster at NCSA.
+
+ Under some complex selection cases:
+ 1) MPI_Get_element returns the wrong value.
+ 2) MPI_Type_struct also generates the wrong derived datatype and corrupt
+ data may be generated.
+ These issues arise only when turning on collective IO with chunking storage
+ with some complex selections. We have not found these problems on other
+ MPI-IO compilers. If you encounter these problems, you may use independent
+ IO instead.
+
+ To avoid this behavior, change the following line in your code
+ H5Pset_dxpl_mpio(xfer_plist, H5FD_MPIO_COLLECTIVE);
+
+ to
+ H5Pset_dxpl_mpio(xfer_plist, H5FD_MPIO_INDEPENDENT);
+
+ KY - 2007/08/24
+
+* For SNL, spirit/liberty/thunderbird: The serial tests pass but parallel
+ tests failed with MPI-IO file locking message. AKC - 2007/6/25
+
+* On Intel 64 Linux cluster (RH 4, Linux 2.6.9) with Intel 10.0 compilers,
+ use -mp -O1 compilation flags to build the libraries. A higher level of
+ optimization causes failures in several HDF5 library tests.
+
+* For SNL, Red Storm: Only parallel HDF5 is supported. The serial tests pass
+ when run against the parallel library; the parallel tests also pass, but
+ with lots of non-fatal error messages.
+
+* For LLNL, uP: both serial and parallel tests pass.
+ Zeus: Serial tests pass but parallel tests fail with a known problem in MPI.
+ ubgl: Serial tests pass but parallel tests fail.
+
+* On SUN 5.10 C++, testing fails in the "Testing Shared Datatypes with
+ Attributes" test.
+
+* Configuring with --enable-debug=all produces compiler errors on most
+ platforms: Users who want to run HDF5 in debug mode should use
+ --enable-debug rather than --enable-debug=all to enable debugging
+ information on most modules.
+
+* On Mac OS 10.4, test/dt_arith.c has some errors in conversion from long
+ double to (unsigned) long long and from (unsigned) long long to long double.
+
+* On Altix SGI with Intel 9.0, testmeta.c would not compile with -O3
+ optimization flag.
+
+* On VAX, the Scaleoffset filter is not supported. The filter cannot be
+ applied to HDF5 data generated on VAX. The Scaleoffset filter only supports
+ the IEEE standard for floating-point data.
+
+* On Cray X1, a lone colon on the command line of h5dump --xml (as in
+ the testh5dumpxml.sh script) is misinterpereted by the operating system
+ and causes an error.
+
+* On mpich 1.2.5 and 1.2.6, if more than two processes contribute no IO and
+ the application asks to do collective IO, we have found that when using 4
+ processors, a simple collective write will sometimes be hung. This can be
+ verified with t_mpi test under testpar.
+
+* On IRIX6.5, when the C compiler version is greater than 7.4, complicated
+ MPI derived datatype code will work. However, the user should increase
+ the value of the MPI_TYPE_MAX environment variable to some appropriate value
+ to use collective irregular selection code. For example, the current
+ parallel HDF5 test needs to raise MPI_TYPE_MAX to 200,000 to pass the test.
+
+* A dataset created or rewritten with a v1.6.3 library or after cannot be read
+ with the v1.6.2 library or before when the Fletcher32 EDC filter is enabled.
+ There was a bug in the calculating code of the Fletcher32 checksum in the
+ library before v1.6.3; the checksum value was not consistent between big-
+ endian and little-endian systems. This bug was fixed in Release 1.6.3.
+ However, after fixing the bug, the checksum value was no longer the same as
+ before on little-endian system. Library releases after 1.6.4 can still read
+ datasets created or rewritten with an HDF5 library of v1.6.2 or before.
+ SLU - 2005/6/30
+
+* For version 6 (6.02 and 6.04) of the Portland Group compiler on the AMD
+ Opteron processor, there is a bug in the compiler for optimization(-O2).
+ The library failed in several tests, all related to the MULTI driver.
+ The problem has been reported to the vendor.
+
+* On IBM AIX systems, parallel HDF5 mode will fail some tests with error
+ messages like "INFO: 0031-XXX ...". This is from the command `poe'.
+ Set the environment variable MP_INFOLEVEL to 0 to minimize the messages
+ and run the tests again.
+
+ The tests may fail with messages like "The socket name is already in use",
+ but HDF5 does not use sockets. This failure is due to problems with the
+ poe command trying to set up the debug socket. To resolve this problem,
+ check to see whether there are many old /tmp/s.pedb.* files staying around.
+ These are sockets used by the poe command and left behind due to failed
+ commands. First, ask your system administrator to clean them out.
+ Lastly, request IBM to provide a means to run poe without the debug socket.
+
+* The --enable-static-exec configure flag fails to compile for Solaris
+ platforms. This is due to the fact that not all of the system libraries on
+ Solaris are available in a static format.
+
+ The --enable-static-exec configure flag also fails to correctly compile
+ on IBM SP2 platform for the serial mode. The parallel mode works fine with
+ this option.
+
+ It is suggested that you do not use this option on these platforms
+ during configuration.
+
+* With the gcc 2.95.2 compiler, HDF5 uses the `-ansi' flag during
+ compilation. The ANSI version of the compiler complains about not being
+ able to handle the `long long' datatype with the warning:
+
+ warning: ANSI C does not support `long long'
+
+ This warning is innocuous and can be safely ignored.
+
+* The ./dsets tests fail on the TFLOPS machine if the test program,
+ dsets.c, is compiled with the -O option. The HDF5 library still works
+ correctly with the -O option. The test program works fine if it is
+ compiled with -O1 or -O0. Only -O (same as -O2) causes the test
+ program to fail.
+
+* Not all platforms behave correctly with Szip's shared libraries. Szip is
+ disabled in these cases, and a message is relayed at configure time. Static
+ libraries should be working on all systems that support Szip and should be
+ used when shared libraries are unavailable.
+
+ There is also a configure error on Altix machines that incorrectly reports
+ when a version of Szip without an encoder is being used.
+
+* On some platforms that use Intel and Absoft compilers to build the HDF5
+ Fortran library, compilation may fail for fortranlib_test.f90, fflush1.f90
+ and fflush2.f90 complaining about the exit subroutine. Comment out the line
+ IF (total_error .ne. 0) CALL exit (total_error).
+
+* Information about building with PGI and Intel compilers is available in
+ the INSTALL file sections 4.7 and 4.8.
+
+* On at least one system, SDSC DataStar, the scheduler (in this case
+ LoadLeveler) sends job status updates to standard error when you run
+ any executable that was compiled with the parallel compilers.
+
+ This causes problems when running "make check" on parallel builds, as
+ many of the tool tests function by saving the output from test runs,
+ and comparing it to an exemplar.
+
+ The best solution is to reconfigure the target system so it no longer
+ inserts the extra text. However, this may not be practical.
+
+ In such cases, one solution is to "setenv HDF5_Make_Ignore yes" prior to
+ the configure and build. This will cause "make check" to continue after
+ detecting errors in the tool tests. However, in the case of SDSC DataStar,
+ it also leaves you with some 150 "failed" tests to examine by hand.
+
+ A second solution is to write a script to run serial tests and filter
+ out the text added by the scheduler. A sample script used on SDSC
+ DataStar is given below, but you will probably have to customize it
+ for your installation.
+
+ Observe that the basic idea is to insert the script as the first item
+ on the command line which executes the the test. The script then
+ executes the test and filters out the offending text before passing
+ it on.
+
+ #!/bin/csh
+
+ set STDOUT_FILE=~/bin/serial_filter.stdout
+ set STDERR_FILE=~/bin/serial_filter.stderr
+
+ rm -f $STDOUT_FILE $STDERR_FILE
+
+ ($* > $STDOUT_FILE) >& $STDERR_FILE
+
+ set RETURN_VALUE=$status
+
+ cat $STDOUT_FILE
+
+ tail +3 $STDERR_FILE
+
+ exit $RETURN_VALUE
+
+ You get the HDF5 make files and test scipts to execute your filter script
+ by setting the environment variable "RUNSERIAL" to the full path of the
+ script prior to running configure for parallel builds. Remember to
+ "unsetenv RUNSERIAL" before running configure for a serial build.
+
+ Note that the RUNSERIAL environment variable exists so that we can
+ can prefix serial runs as necessary on the target system. On DataStar,
+ no prefix is necessary. However on an MPICH system, the prefix might
+ have to be set to something like "/usr/local/mpi/bin/mpirun -np 1" to
+ get the serial tests to run at all.
+
+ In such cases, you will have to include the regular prefix in your
+ filter script.
+
+* H5Ocopy() does not copy reg_ref attributes correctly when shared-message
+ is turn on. The value of the reference in the destination attriubte is
+ wrong. This H5Ocopy problem will affect the h5copy tool.
+
diff --git a/release_docs/HISTORY-1_8_0-1_10_0.txt b/release_docs/HISTORY-1_8_0-1_10_0.txt
new file mode 100644
index 0000000..a364274
--- /dev/null
+++ b/release_docs/HISTORY-1_8_0-1_10_0.txt
@@ -0,0 +1,1742 @@
+HDF5 HISTORY
+=============
+
+
+INTRODUCTION
+
+This document describes the development history between the HDF5-1.8.0 and
+HDF5 1.10.0 releases. For more iformation see the SVN log.
+
+Information about supported and tested platforms is provided for historical
+reasons only and may not be accurate.
+
+
+For more information, see the HDF5 home page:
+
+ http://www.hdfgroup.org/HDF5/
+
+If you have any questions or comments, please send them to the HDF Help Desk:
+
+ help@hdfgroup.org
+
+
+CONTENTS
+
+- New Features
+- Support for new platforms and languages
+- Bug Fixes since HDF5-1.8.0
+- Supported Platforms
+- Tested Configuration Features Summary
+- More Tested Platforms
+- Known Problems
+
+
+New Features
+============
+
+ Configuration:
+ -------------
+ - Java JNI library API wrappers and supporting files added as HDF_JAVA language
+ option. Both configure and CMake disable this option by default.
+ HDFFV-9552 (ADB 2016/02.28)
+ - CMake minimum is now 3.1.0. (ADB 2015/11/14)
+ - cmakehdf5: configure options added to enable or disable the building of
+ different API's and testings. See "cmakehdf5 --help" for details.
+ (AKC - 2014/12/09 HDFFV-8932)
+ - Autotools: Automake updated to 1.14.1 (ADB - 2014/04/08)
+ - CMake: Moved minimum CMake version to 2.8.11 which enables better library
+ include processing. (ADB - 2014/03/26)
+ - New configuration option added to change the default plugin path.
+ configure option is --with-default-plugin=location
+ cmake option is -DH5_DEFAULT_PLUGINDIR:PATH=location
+ HDFFV-8513. (ADB 2013/09/04)
+ - Rename FFLAGS to FCFLAGS in configure (ADB 2013/08/13)
+ - CMake minimum is now 2.8.10. (ADB 2013/01/14)
+ - A new tool, cmakehdf5, which is a build command script similar to
+ buildhdf5 is added and is available in the bin directory.
+ (AKC - 2012/12/12)
+ - Fixed AIX Fortran compiler flags to use appropriate settings for
+ debugging, profiling, optimization situations. HDFFV-8069. (AKC
+ 2012/09/27)
+ - Updated to latest autotools and changed all hard *.sh scripts to
+ configure managed *.sh.in files. Removed overloading of autotools
+ TESTS variable by examples and tests. Renamed configure.in to
+ configure.ac. (ADB - 2012/08/23 - HDFFV-8129)
+ - Added code to display the version information of XL fortran and C++
+ in the summary of configure. (AKC - 2012/02/28 - HDFFV-7793)
+ - Configure now generates Makefiles that build in "silent make mode"
+ by default in which compile and link lines are significantly
+ simplified for clarity. To override this and view actual compile and
+ link lines during building, the --disable-silent-rules flag can be used
+ at configure time, or the 'make' command can be followed by V=1, to
+ indicate a "verbose" make. (MAM - 2011/4/14).
+ - Added mpicc and mpif90 as the default C and Fortran compilers for Linux
+ systems when --enable-parallel is specified but no $CC or $FC is defined.
+ (AKC - 2011/2/7)
+ - Added a new configure option, "--enable-unsupported", which can
+ be used to stop configure from preventing the use of unsupported
+ configure option combinations, such as c++ in parallel or parallel
+ HDF5 with threadsafe. Use at your own risk, as it may result in a
+ library that won't compile or run as expected!
+ (MAM - 2010/11/17 - Bug 2061)
+ - PHDF5 changed to use "mpiexec", instead of mpirun, as the default MPI
+ applications startup command as defined in the MPI-2 definition, section
+ 4.1. (AKC - 2010/6/11 - Bug 1921)
+ - Configure now adds appropriate defines for supporting large (64-bit)
+ files on all systems, where supported, by default, instead of only linux.
+ This largefile support is controllable with the --enable-largefile
+ configure option. This is replacing the linux-specific --enable-linux-lfs
+ option, which has been removed from configure.
+ (MAM - 2010/05/05 - 1772/1434)
+ - Upgraded versions of autotools used to generate configuration suite.
+ We now use Automake 1.11.1, Autoconf 2.65, and Libtool 2.2.6b.
+ MAM 2010/04/15.
+ - Added the xlc-* and mpcc_r-* BASENAME patterns to be recognized as IBM
+ compilers so that the ibm compiler options can be added properly. This
+ allows non-system-default compiler command names (e.g. xlc-m.n.k.l) be
+ recognized. AKC 2009/11/26.
+ - Configuration suite now uses Automake 1.11 and Autoconf 2.64.
+ MAM 2009/08/11.
+ - Changed default Gnu fortran compiler from g95 to gfortran since
+ gfortran is more likely installed with gcc now. -AKC 2009/07/19-
+ - Added libtool version numbers to generated c++, fortran, and
+ hl libraries. MAM 2009/04/19.
+ - Regenerated Makefile.ins using Automake 1.10.2. MAM 2009/04/19.
+ - Added a Make target of check-all-install to test the correctness of
+ installing via the prefix= or $DESTDIR options. AKC - 2009/04/14
+ - Configuration suite now uses Libtool 2.2.6a. MAM 2008/10/24
+
+ - Configuration suite now uses Autoconf 2.61, Automake 1.10.1.
+ MAM 2008/05/05.
+
+ - The new configure option "--disable-sharedlib-rpath" disables
+ embedding the '-Wl,-rpath' information into executables when
+ shared libraries are produced, and instead solely relies on the
+ information in LD_LIBRARY_PATH. (MAM - 2008/05/15)
+
+ Library:
+ --------
+
+ - Virtual Dataset feature was added
+ (NAF - 2015-10-05, VDS-193)
+
+ - H5F_ACC_DEBUG labeled "deprecated"
+
+ The symbol was originally used to emit some extra debugging
+ informationi in the multi VFD. The underlying functionality
+ was removed due to disuse in HDF5 1.8.16 though the symbol
+ remained defined since it was visible in H5Fpublic.h.
+
+ In this release, the symbol has been labeled deprecated and will
+ not be defined when H5_NO_DEPRECATED_SYMBOLS is defined.
+
+ (DER - 2015-04-30, HDFFV-1074)
+
+ - The library can load filter libraries dynamically during runtime. Users
+ can set the search path through environment variable HDF5_PLUGIN_PATH
+ and call H5Pset_filter to enable a dynamic filter. (SLU - 2013/04/08)
+ - Added new API functions H5Dscatter and H5Dgather to scatter data to and
+ and gather data from a selection within a memory buffer.
+ (NAF - 2013/02/05)
+ - The library now supports the data conversion from enumeration to numeric
+ (integer and floating-point number) datatypes. See Issue 8221.
+ (SLU - 2012/10/23)
+ - The data sieve buffer size was for all the datasets in the file. It
+ could waste memory if any dataset size is smaller than the sieve buffer
+ size. Now the library picks the smaller one between the dataset size
+ and the sieve buffer size from the file access property. See Issue 7934.
+ (SLU - 2012/4/2)
+ - I added a new parameter of object access property list to the function
+ H5Rdereference (Issue 2763). It's called H5Rdereference2 now. The former
+ H5Rdereference function has been deprecated to H5Rdereference1. (SLU -
+ 2011/7/18)
+ - H5Tcreate now supports string type (fixed-length and variable-length).
+ (SLU - 2011/05/20)
+ - Added ability to cache files opened through external links. Added new
+ public functions H5Pset_elink_file_cache_size(),
+ H5Pget_elink_file_cache_size(), and H5Fclear_elink_file_cache().
+ (NAF - 2011/02/17)
+ - Removed all old code for Metraowerks compilers, bracketed by
+ __MWERKS__). Metraowerks compiler is long gone. (AKC - 2010/11/17)
+ - Added support for threadsafety on windows using the windows threads
+ library. Use the HDF5_ENABLE_THREADSAFE option in CMake while on a
+ windows platform to enable this functionality. This is supported on
+ Windows Vista and newer Windows operating systems. (MAM - 2010/09/10)
+ - When a mandatory filter failed to write data chunks, the dataset
+ couldn't close (bug 1260). The fix releases all resources and closes
+ the dataset but returns a failure. (SLU - 2010/9/8)
+ - H5Tset_order and H5Tget_order now support all data types. A new byte
+ order H5T_ORDER_MIXED has been added specifically for compound datatype
+ and its derived type. Please see bug #1934. (SLU - 2010/8/23)
+ - Improved performance of the chunk cache by avoiding unnecessary b-tree
+ lookups of chunks already in cache. (NAF - 2010/06/15)
+ - Greatly improved performance of extending a dataset with early
+ allocation. (NAF - 2010/03/24 - 1637)
+ - Added support for filtering densely stored groups. Many of the API
+ functions related to filters have been extended to support dense groups
+ as well as datasets. Pipeline messages can now be stored in a group's
+ object header. (NAF/QAK - 2009/10/8)
+ - The embedded library information is displayed by H5check_version() if a
+ version mismatch is detected. Also changed H5check_version() to
+ suppress the warning message totally if $HDF5_DISABLE_VERSION_CHECK is 2
+ or higher. (Old behavior treated 3 or higher the same as 1, that is
+ print a warning and allows the program to continue. (AKC - 2009/9/28)
+ - If a user does not care for the extra library information insert
+ in the executables, he may turn it off by --disable-embedded-libinfo
+ during configure. (AKC - 2009/9/15)
+ - Corrected problem where library would re-write the superblock in a file
+ opened for R/W access, even when no changes were made to the file.
+ (QAK - 2009/08/20, Bz#1473)
+ - Separated "factory" free list class from block free lists. These free
+ lists are dynamically created and manage blocks of a fixed size.
+ H5set_free_list_limits() will use the same settings specified for block
+ free lists for factory free lists. (NAF - 2009/04/08)
+ - Added support for dense attributes to H5Ocopy. (XCao/NAF - 2009/01/29)
+ - Added H5Pset_elink_cb and H5Pget_elink_cb functions to support a
+ user-defined callback function for external link traversal.
+ (NAF - 2009/01/08)
+ - Added H5Pset_elink_acc_flags and H5Pget_elink_acc_flags functions to
+ allow the user to specify the file access flags used to open the target
+ file of an external link. (NAF - 2009/01/08)
+ - Added H5Pset_chunk_cache() and H5Pget_chunk_cache() functions to allow
+ individual rdcc configuration for each dataset. Added
+ H5Dget_access_plist() function to retrieve a dataset access property
+ list from a dataset. (NAF - 2008/11/12)
+ - Added H5Iis_valid() function to check if an id is valid without producing
+ an error message. (NAF - 2008/11/5)
+ - Added two new public routines: H5Pget_elink_fapl() and
+ H5Pset_elink_fapl(). (see bug #1247) (VC - 2008/10/13)
+ - Improved free space tracking in file to be faster. (QAK - 2008/10/06)
+ - Added 'mounted' field to H5G_info_t struct. (QAK - 2008/07/15)
+
+ Parallel Library:
+ -----------------
+ - Add H5Pget_mpio_no_collective_cause() function that retrive reasons
+ why the collective I/O was broken during read/write IO access.
+ (JKM - 2012/08/30 HDFFV-8143)
+ - Special Collective IO (IO when some processes do not contribute to the
+ IO) and Complex Derived Datatype MPI functionalities are no longer
+ conditionally enabled in the library by configure. They are always
+ enabled in order to take advantage of performance boosts from these
+ behaviors. Older MPI implementations that do not allow for these
+ functionalities can no longer by used by HDF5. (MAM - 2011/07/08).
+ - Modified parallel tests to run with arbitrary number of processes. The
+ modified tests are testphdf5 (parallel dataset access), t_chunk_alloc
+ (chunk allocation), and t_posix_compliant (posix compliance). The rest of
+ the parallel tests already use in the code the number of processes
+ available in the communicator. (CMC - 2009/04/28)
+
+ Fortran Library:
+ ----------------
+
+ - Added parallel routine H5Pget_mpio_actual_io_mode_f (MSB - 2012/09/27)
+
+ - Added for the C API the Fortran wrapper:
+ h5ocopy_f (MSB - 2012/03/22)
+
+
+ HDF5 Fortran library was enhanced to support Fortran 2003 standard.
+ The following features are available when the HDF5 library is configured
+ using --enable-fortran --enable-fortran2003 configure flags AND
+ if fortran compiler is Fortran2003 compliant:
+
+ - Subroutines overloaded with the C_PTR derived type:
+ h5pget_f
+ h5pget_fill_value_f
+ h5pinsert_f
+ h5pregister_f
+ h5pset_f
+ h5pset_fill_value_f
+ h5rcreate_f
+ h5rderefrence_f
+ h5rget_name_f
+ h5rget_obj_type_f
+ - Subroutines overloaded with the C_PTR derived type
+ and simplified signatures:
+ h5aread_f
+ h5awrite_f
+ h5dread_f
+ h5dwrite_f
+ - New subroutines
+ h5dvlen_reclaim_f
+ h5literate_by_name_f
+ h5literate_f
+ h5ovisit_f
+ h5tconvert_f
+
+ - Subroutines with additional optional parameters:
+ h5pcreate_class_f
+ (EIP - 2011/10/14)
+
+ - Added for the C APIs the Fortran wrappers:
+ h5dget_access_plist_f
+ h5iis_valid_f
+ h5pset_chunk_cache_f
+ h5pget_chunk_cache_f
+ (MSB - 2009/04/17)
+
+
+
+ C++ Library:
+ ------------
+ - New member function added
+
+ The assignment operator ArrayType::operator= is added because ArrayType
+ has pointer data members.
+
+ (BMR, 2016/03/07, HDFFV-9562)
+
+ - New member functions
+ + Overloaded CommonFG::getObjnameByIdx to take char* for name
+ + Overloaded CommonFG::getObjTypeByIdx to return type name as a char*.
+ (BMR - 2010/05/02)
+ + DataSet::getInMemDataSize() to simplify getting the dataset's
+ data size in memory. (BMR - 2009/07/26)
+ - These member functions were added as wrapper for H5Rdereference to
+ replace the incorrect IdComponent::dereference().
+ void H5Object::dereference(H5File& h5file, void* ref)
+ void H5Object::dereference(H5Object& obj, void* ref)
+ In addition, these constructors were added to create the associated
+ objects by way of dereference:
+ Attribute(H5Object& obj, void* ref);
+ Attribute(H5File& file, void* ref);
+ DataSet(H5Object& obj, void* ref);
+ DataSet(H5File& file, void* ref);
+ DataType(H5Object& obj, void* ref);
+ DataType(H5File& file, void* ref);
+ Group(H5Object& obj, void* ref);
+ Group(H5File& obj, void* ref);
+ (BMR - 2008/08/10)
+
+
+
+ Tools:
+ ------
+ - h5repack: Added ability to use plugin filters. HDFFV-8345 (ADB - 2013/09/04).
+ - h5dump: Added option -N --any_path, which searches the file for paths that
+ match the search path. HDFFV-7989 (ADB - 2013/08/12).
+ - h5dump: Added optional arg 0 to -A, which excludes attributes from display.
+ HDFFV-8134 (ADB - 2013/08/01).
+ - h5dump: Fixed displaying compression ratio for unknown or user-defined
+ filters. HDFFV-8344 (XCAO 2013/03/19)
+ - h5dump: Changed UNKNOWN_FILTER to USER_DEFINED_FILTER for user defined filter.
+ HDFFV-8346 (XCAO 2013/03/19)
+ - h5dump: Added capability for "-a" option to show attributes containing "/"
+ by using an escape character. For example, for a dataset "/dset"
+ containing attribute "speed(m/h)", use "h5dump -a "/dset/speed(\/h)"
+ to show the content of the attribute. See details at HDFFV-7523
+ (PC -- 2012/03/12)
+ - h5dump: Added ability to apply command options across multiple files using a
+ wildcard in the filename. Example; "h5dump -H -d Dataset1 tarr*.h5".
+ HDFFV-7876 (ADB - 2012/03/12).
+ - h5repack: Improved performance for big chunked datasets (size > 128MB)
+ when used with layout (-l) or compression (-f) option.
+ It would perform much better prior to the improvement,
+ especially for cases that chunk dimentions looks like
+ "1024x5x1" (compare to "1x5x1024"). When bigger numbers
+ are toward front and smaller number is toward back in chunk
+ dimentions. HDFFV-7862 (JKM - 2012/03/01)
+ - h5dump: Added new option --no-compact-subset. This option will not
+ interpret the '[' character as starting the compact form of
+ subsetting. This is useful when the "h5dump error: unable to
+ open dataset "datset_name"" message is output because a dataset
+ name contains a '[' character. HDFFV-7689 (ADB - 2012/01/31)
+ - h5dump: Corrected schema location:
+ <hdf5:HDF5-File
+ xmlns:hdf5="http://hdfgroup.org/HDF5/XML/schema/HDF5-File"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://hdfgroup.org/HDF5/XML/schema/HDF5-File
+ http://www.hdfgroup.org/HDF5/XML/schema/HDF5-File.xsd">
+ (ADB - 2011/08/10)
+ - h5diff: Added new level for -v (verbose) option. The new levels are
+ 1 and 2. So -v1 and -v2 can be specified to view more
+ information about attributes differences.
+ Bug#2121 (JKM 2011/3/23)
+ - h5dump: Added new option --enable-error-stack. This option will display
+ error stack information in the output stream. This is useful
+ when the "h5dump: Unable to print data" message is output.
+ (ADB - 2011/02/24)
+ - h5diff: Add a new flag --exclude-path. Specified path to an object will
+ be excluded from comparing the two files or two groups. If group
+ is specified all the member objects will be excluded.
+ (JKM - 2010/09/16).
+ - h5ls: Add new flag --no-dangling-links. (refer to --help for details)
+ (JKM - 2010/06/15)
+ - h5ls: Add new flag --follow-symlinks. (refer to --help for details)
+ (JKM - 2010/05/25)
+ - h5diff: Add new flag --no-dangling-links. (refer to --help for details)
+ (JKM - 2010/02/10)
+ - h5diff: Add new flag --follow-symlinks. (refer to --help for details)
+ (JKM - 2010/01/25)
+ - h5diff: fix for displaying garbage value on LE machine for BE data.
+ (JKM - 2009/11/20)
+ - h5dump: subsetting now allows default for count. Also trailing ; in short form
+ can be omitted after last specified value.
+ (ADB - 2009/09/04)
+ - h5dump/h5ls: now can display data in region references
+ using new -R, --region flag.
+ (ADB - 2009/09/04)
+ - h5diff: new flag, -c, --compare, list objects that are not comparable.
+ (PVN - 2009/4/10 - 1368)
+ - h5diff new flag, -N, --nan, avoids NaNs detection. (PVN - 2009/4/10)
+ - h5dump correctly specifies XML dtd / schema urls (ADB - 2009/4/3 - 1519)
+ - h5repack now handles group creation order. (PVN - 2009/4/2 - 1402)
+ - h5dump: added a printing of the compression ratio of uncompressed and compressed
+ sizes for cases where compression filters are present. (PVN - 2008/05/01)
+ - h5dump: added an option to allow a user defined formatting string for printf
+ regarding floating point numbers. (PVN - 2008/05/06)
+ - h5dump: support for external links, display the object that the external link
+ points to. (PVN - 2008/05/12)
+ - h5repack: add a userblock to an HDF5 file during the repack. (PVN - 2008/08/26)
+ - h5repack: add 2 options that call H5Pset_alignment in the repacked file. (PVN - 2008/08/29)
+ - h5ls: added capability to traverse through external links when the -r
+ (recursive) flag is given. (NAF - 2008/09/16)
+ - h5ls: added -E option to enable traversal of external links. h5ls will
+ not traverse external links without this flag being set.
+ (NAF - 2008/10/06)
+ - h5diff: added support for long double (PVN - 2008/10/28)
+ - h5dump: binary output defaults to NATIVE with -b optionally accepting
+ the form of binary output (NATIVE, FILE, BE, LE). (PVN - 2008/10/30)
+ - h5diff: return 1 for file differences when both file graphs differ by any object.
+ Error return code was changed to 2 from -1. (PVN - 2008/10/30)
+ - h5import: TEXTFPE (scientific format) was deprecated. Use TEXTFP
+ instead (PVN - 2008/10/30)
+ - h5repack: When user doesn't specify a chunk size, h5repack now defines a default
+ chunk size as the same size of the size of the hyperslab used to read the chunks.
+ The size of the hyperslabs are defined as the size of each dimension or a
+ predefined constant, whatever is smaller. This assures that the chunk
+ read fits in the chunk cache. (PVN - 2008/11/21)
+ - h5diff: h5diff treats two INFINITY values different. Fixed by checking (value==expect)
+ before call ABS(...) at h5diff_array.c This will make that (INF==INF) is true
+ (INF is treated as an number instead of NaN) (PC -- 2009/07/28)
+ - h5diff: add option "--use-system-epsilon" to print difference if (|a-b| > EPSILON)
+ Change default to use strict equality (PC -- 2009/09/12)
+
+
+ High-Level APIs:
+ ---------------
+
+ C Packet Table API
+ ------------------
+ - Replacement of a public function
+
+ The existing function H5PTcreate_fl limits applications to deflate
+ compression only. The public function H5PTcreate is added to replace
+ H5PTcreate_fl. H5PTcreate takes a property list ID to provide
+ flexibility on creation properties.
+
+ hid_t H5PTcreate(hid_t loc_id, const char *dset_name,
+ hid_t dtype_id, hsize_t chunk_size, hid_t plist_id);
+ (BMR, 2016/03/04, HDFFV-8623)
+
+ - New public functions
+
+ Two accessor functions were added per HDFFV-8623/patch 003.
+ /* Returns the ID of the dataset associated with the packet table */
+ hid_t H5PTget_dataset(hid_t table_id);
+
+ /* Returns the ID of the datatype the packet table uses */
+ hid_t H5PTget_type(hid_t table_id);
+ (BMR, 2016/03/04, HDFFV-8623)
+
+ - Regarding #ifdef VLPT_REMOVED
+
+ The #ifdef VLPT_REMOVED blocks are removed from the PT library source
+ except the following cases:
+ + H5PTis_varlen() is made available again.
+ + H5PTfree_vlen_readbuff() now became H5PTfree_vlen_buff()
+ (BMR, 2016/03/04, HDFFV-442)
+
+ C++ Packet Table API
+ --------------------
+ - New constructor
+
+ An overloaded constructor is added to FL_PacketTable and takes a property
+ list ID to provide flexibility on creation properties.
+
+ FL_PacketTable(hid_t fileID, hid_t plist_id, const char* name, hid_t dtypeID, hsize_t chunkSize);
+ (BMR, 2016/03/08, HDFFV-8623)
+
+ - New public functions
+
+ Two accessor wrappers to class PacketTable, per HDFFV-8623/patch 004.
+ /* Returns the ID of the dataset associated with the packet table */
+ hid_t PacketTable::GetDataset()
+
+ /* Returns the ID of the datatype the packet table uses */
+ hid_t PacketTable::GetDataset()
+ (BMR, 2016/03/04, HDFFV-8623)
+
+ - Member functions having "char*" as an argument
+
+ Overloaded functions were added to provide "const char*" argument, the
+ existing version will be deprecated.
+ (BMR, 2016/03/04)
+
+ - Regarding #ifdef VLPT_REMOVED
+
+ The #ifdef VLPT_REMOVED blocks are removed from the PT library source
+ except the following cases:
+ + VL_PacketTable::IsVariableLength() is moved to PacketTable
+ + VL_PacketTable::FreeReadBuff() now became PacketTable::FreeBuff()
+
+ (BMR, 2016/03/04, HDFFV-442)
+
+
+ Internal header file
+ --------------------
+ - A new API function H5DOwrite_chunk. It writes a data chunk directly
+ into a file bypassing hyperslab selection, data conversion, and
+ filter pipeline. The user must be careful with the function and
+ clearly understand the I/O process of the library.
+ (SLU - 2013/2/11)
+ - New API: h5ltpath_valid (Fortran: h5ltpath_valid_f) which checks
+ if a path is correct and determines if a link resolves to a valid
+ object and checks that the link does not dangle. (MSB- 2012/3/15)
+
+ - Added Fortran wrappers for Dimension Scale APIs. HDFFV-3797
+ h5dsset_scale_f
+ h5dsattach_scale_f
+ h5dsdetach_scale_f
+ h5dsis_attached_f
+ h5dsis_scale_f
+ h5dsset_label_f
+ h5dsget_label_f
+ h5dsget_scale_name_f
+ h5dsget_num_scales_f
+ (EIP for SB - 2011/10/13)
+
+ - Table: In version 3.0 of Table, "NROWS" (used to store number of records) was
+ deprecated (PVN - 2008/11/24)
+
+ Documentation
+ -------------
+
+Support for new platforms, languages and compilers.
+=======================================
+ - Intel V11.1 uses now -O3 optimization in production mode (EIP - 2010/10/08)
+ - PathScale compilers are recognized and can build the HDF5 library
+ properly. AKC - 2009/7/28 -
+ - SunOS 5.11 (emu) 32-bit and 64-bit with Sun C/C++ 5.12 compiler and
+ Sun Fortran 95 8.6 compiler. (SLU - 2013/04/15)
+
+Bug Fixes since HDF5-1.8.0 release
+==================================
+
+ Library
+ -------
+ - Incorrect usage of list in CMake COMPILE_DEFINITIONS set_property
+
+ The CMake command, set_property with COMPILE_DEFINITIONS property
+ needs a quoted semi-colon separated list of values. CMake will
+ transform the list to a series of -D{value} for the compile.
+
+ (ADB - 2014/12/09, HDFV-9041)
+
+ - H5Z.c: H5Zfilter_avail(H5Z_filter_t id)
+ Added else block if the call to the internal H5Z_filter_avail(id) does not
+ fail and returns FALSE. This block calls the H5PL_load(H5PL_TYPE_FILTER, (int)id)
+ function to attempt to dynamically load the filter plugin.
+ (ADB - 2014/03/03 HDFFV-8629)
+ - Added const qualifier to source buffer parameters in H5Dgather and
+ H5D_scatter_func_t (H5Dscatter callback). (NAF - 2013/7/02)
+ - Fixed an error involving failure to write fill values to the user's
+ buffer when reading unallocated chunks from datasets that have a
+ fill value set to H5D_FILL_VALUE_DEFAULT. A consequence of this
+ was the reporting of spurious data values in h5dump and h5diff
+ output.
+ (HDFFV-8247; JP - 2013/05/03)
+ - Fixed an error that could occur when calling H5Ocopy within an
+ H5Literate callback (and possibly other situations).
+ (NAF - 2012/7/25 - HDFFV-5853)
+ - Fixed an error that would occur when copying an object with attribute
+ creation order tracked and indexed. (NAF - 2012/3/28 - HDFFV-7762)
+ - Fixed a bug in H5Ocopy(): When copying an opened object, call the
+ object's flush class action to ensure that cached data is flushed
+ so that H5Ocopy will get the correct data.
+ (VC - 2012/3/27 - HDFFV-7853)
+ - When an application tries to write or read many small data chunks and
+ runs out of memory, the library had a seg fault. The fix is to
+ return the error stack with proper information. (SLU - 2012/3/23.
+ Issue 7785)
+ - H5Pset_data_transform had seg fault in some cases like x*-100. It
+ works correctly now and handles other cases like 100-x or 2/x.
+ (SLU - 2012/3/15. Issue 7922)
+ - Fixed rare corruption bugs that could occur when using the new object
+ header format. (NAF - 2012/3/15 - HDFFV-7879)
+ - Creating a dataset in a read-only file caused seg fault when the file
+ is closed. It's fixed. The attemp to create a dataset will fail
+ with the error stack indicating the file is read-only. (SLU -
+ 2012/1/25. Issue 7756)
+ - Fixed a seg fault that could occur when shrinking a dataset with chunks
+ larger than 1 MB. (NAF - 2011/11/30 - HDFFV-7833)
+ - Fixed a bug that could cause file corruption when copying named
+ datatypes to a file using shared messages. (NAF - 2011/11/14)
+ - Fixed a bug that could cause H5Oget_info to return the wrong address
+ after copying a named datatype. (NAF - 2011/11/14)
+ - The library allowed the conversion of strings between ASCII and UTF8
+ (Issue 7582). We have corrected it to report an error under this
+ situation. (SLU - 2011/11/8)
+ - The library had seg fault when it tried to shrink the size of compound type
+ through H5Tset_size immediately after the type was created (Issue
+ 7618). It's fixed now. (SLU - 2011/10/26)
+ - Fixed a bug that occurred when using H5Ocopy on a committed datatype
+ containing an attribute using that committed datatype.
+ (NAF - 2011/10/13 - Issue 5854)
+ - #ifdef _WIN32 instances changed to #ifdef H5_HAVE_WIN32_API and added
+ H5_HAVE_VISUAL_STUDIO checks where necessary. CMake only as configure
+ never set _WIN32.
+ - CLANG compiler with the options -fcatch-undefined-behavior and -ftrapv
+ discovered 3 problems in tests and tools' library (Issue 7674):
+ 1. In dsets.c, left shifting an unsigned int for 32 bits or more
+ caused undefined behavior.
+ 2. In dt_arith.c, the INIT_INTEGER macro definition has an overflow
+ when the value is negative minimal and is being subtracted one.
+ 3. In tools/lib/h5tools_str.c, right shifting an int value for 32 bits
+ or more caused undefined behavior.
+ All the problems have been corrected. (SLU - 2011/9/2)
+ - In v1.6 library, there was EOA for the whole MULTI file saved in the
+ super block. We took it out in v1.8 library because it's meaningless
+ for the MULTI file. v1.8 library saves the EOA for the metadata file,
+ instead. But this caused some backward compatibility problem.
+ v1.8 library couldn't open the file created with v1.6 library. We
+ fixed the problem by checking the EOA value to detect the file
+ created with v1.6 library. (SLU - 2011/6/22)
+ - When a dataset had filters and reading data failed, the error message
+ didn't say which filter isn't registered. It's fixed now.
+ (SLU - 2011/6/3)
+ - The datatype handler created with H5Tencode/decode used to have the
+ reference count 0 (zero). I have fixed it. It is 1 (one) now.
+ (SLU - 2011/2/18)
+ - Fixed a bug that caused big endian machines to generate corrupt files
+ when using the scale-offset filter with floating point data or
+ fill values. Note that such datasets will no longer be readable
+ by any machine after this patch. (NAF - 2010/02/02 - Bug 2131)
+ - Retrieving a link's name by index in the case where the link is
+ external and the file that the link refers to doesn't exist will
+ now fail gracefully rather than cause a segmentation fault.
+ (MAM - 2010/11/17)
+ - Modified library to always cache symbol table information. Libraries
+ version 1.6.3 have a bug which causes them to require this
+ information for some operations. (NAF - 2010/09/21 - 1864)
+ - Fixed a bug that could occur when getting information for a new-style
+ group that was previously opened through a file handle that was
+ later closed. (NAF - 2010/09/15)
+ - Added define check in H5public.h if stdint.h is supported by the C++
+ compiler. This define is only available on Windows with VS2010 and
+ using CMake to build the library. (ADB - 2010/09/13 - Bug 1938)
+ - H5Eset_current_stack now also closes the error stack to be set as the
+ default. This is to avoid a potential problem (Bug 1799).
+ (SLU - 2010/9/7)
+ - Fixed the bug in the filter's public CAN_APPLY function. The return
+ value should be htri_t not herr_t (Bug #1239). (SLU - 2010/8/5)
+ - Fixed a bug in the direct I/O driver that could render files with
+ certain kinds of unaligned data unreadable or corrupt them.
+ (NAF - 2010/07/28)
+ - valgrind reported an error of copying data to itself when a new attribute
+ is written (Bug #1956). I fixed it by taking out the memcpy step in
+ the attribute code. (SLU - 2010/07/28)
+ - Fixed a bug that could cause file corruption when using non-default
+ sizes of addresses and/or lengths. This bug could also cause
+ uncorrupted files with this property to be unreadable. This bug
+ was introduced in 1.8.5. (NAF - 2010/07/16 - 1951)
+ - Fixed a file corruption bug that could happen when shrinking a
+ compressed dataset. (NAF - 2010/05/20)
+ - Fixed some memory leaks in VL datatype conversion when strings are
+ used as fill values. (MAM - 2010/05/12 - BZ# 1826)
+ - Fixed a bug when copying objects with NULL references with the
+ H5O_COPY_EXPAND_REFERENCE_FLAG flag set. (NAF - 2010/04/08 - 1815)
+ - Files can now be concurrently opened more than once using the core file
+ driver, as long as the backing store is used. (NAF - 2010/03/09)
+ - Added support for H5O_COPY_EXPAND_EXT_LINK_FLAG to H5Ocopy. External
+ links will now be expanded if this flag is set.
+ (NAF - 2010/03/05 - 1733)
+ - Fixed a bug where the library, when traversing an external link, would
+ reopen the source file if nothing else worked. (NAF - 2010/03/05)
+ - Fixed an intermittent bug in the b-tree code which could be triggered
+ by expanding and shrinking chunked datasets in certain ways.
+ (NAF - 2010/02/16)
+ - H5Tdetect_class said a VL string is a string type. But when it's
+ in a compound type, it said it's a VL type (Bug #1584). I fixed it
+ to be consistent. It always return string type. (SLU - 2009/12/10)
+ - Fixed a bug where writing and deleting many global heap objects (i.e.
+ variable length data) would render the file unreadable. Previously
+ created files exhibiting this problem should now be readable.
+ (NAF - 2009/10/27 - 1483)
+ - Fixed incorrect return value for H5Pget_preserve. (AKC - 2009/10/08 - 1628)
+ - Fixed an assertion failure that occurred when H5Ocopy was called on a
+ dataset using a vlen inside a compound. (NAF - 2009/10/02 - 1597)
+ - Fixed incorrect return value for H5Pget_filter_by_id1/2 in H5Ppublic.h.
+ (NAF - 2009/09/25 - 1620)
+ - Fixed a bug where properties weren't being compared with the registered
+ compare callback. (NAF - 2009/09/25 - 1555)
+ - Fixed a bug where H5Pget_fitler_by_id would succeed when called for a
+ filter that wasn't present. (NAF - 2009/06/25 - 1250)
+ - Fixed an issue with committed compound datatypes containing a vlen.
+ Also fixed memory leaks involving committed datatypes.
+ (NAF - 2009/06/10 - 1593)
+ - Added versioning to H5Z_class_t struct to allow compatibility with 1.6
+ API. (NAF - 2009/04/20 - 1533)
+ - Fixed a problem with using data transforms with non-native types in the
+ file. (NAF - 2009/04/20 - 1548)
+ - Added direct.h include file to windows section of H5private.h
+ to fix _getcwd() warning. (ADB - 2009/04/14 - 1536)
+ - Fixed a bug that prevented external links from working after calling
+ H5close(). (NAF - 2009/04/10 - 1539)
+ - Modified library to write cached symbol table information to the
+ superblock, to allow library versions 1.3.0 to 1.6.3 to read files
+ created by this version. (NAF - 2009/04/08 - 1423)
+ - Changed skip lists to use a deterministic algorithm. The library should
+ now never call rand() or srand(). (NAF - 2009/04/08 - 503)
+ - Fixed a bug where H5Lcopy and H5Lmove wouldn't create intermediate
+ groups when that property was set. (NAF - 2009/04/07 - 1526)
+ - Fixed a bug that caused files with a user block to grow by the size of
+ the user block every time they were opened.
+ (NAF - 2009/03/26 - 1499)
+ - Fixed a rare problem that could occur with files using the old (pre 1.4)
+ array datatype. (NAF - 2009/03/23)
+ - Modified library to be able to open files with corrupt root group symbol
+ table messages, and correct these errors if they are found. Such
+ files can only be successfully opened with write access.
+ (NAF - 2009/03/23 - 1189)
+ - Removed the long_long #define and replaced all instances with
+ "long long". This caused problems with third party products. All
+ currently supported compliers support the type. (ADB - 2009/03/05)
+ - Fixed various bugs that could prevent the fill value from being written
+ in certain rare cases. (NAF - 2009/02/26 - 1469)
+ - Fixed a bug that prevented more than one dataset chunk from being cached
+ at a time. (NAF - 2009/02/12 - 1015)
+ - Fixed an assertion failure caused by opening an attribute multiple times
+ through multiple file handles. (NAF - 2009/02/12 - 1420)
+ - Fixed a problem that could prevent the user from adding attributes (or
+ any object header message) in some circumstances.
+ (NAF - 2009/02/12 - 1427)
+ - Fixed a bug that could cause problems when an attribute was added to a
+ committed datatype using the committed datatype's datatype.
+ (NAF - 2009/02/12)
+ - Fixed a bug that could cause problems when copying an object with a
+ shared message in its own object header. (NAF - 2009/01/29)
+ - Changed H5Tset_order to properly reject H5T_ORDER_NONE for most
+ datatypes. (NAF - 2009/01/27 - 1443)
+ - Fixed a bug where H5Tpack wouldn't remove trailing space from an
+ otherwise packed compound type. (NAF - 2009/01/14)
+ - Fixed up some old v2 btree assertions that get run in debug mode that
+ were previously failing on compilation, and removed some of the
+ more heavily outdated and non-rewritable ones. (MAM - 2008/12/15)
+ - Fixed a bug that could cause problems when "automatically" unmounting
+ multiple files. (NAF - 2008/11/17)
+ - H5Ovisit and H5Ovisit_by_name will now properly terminate when the
+ callback function returns a positive value on the starting object.
+ (NAF - 2008/11/03)
+ - Fixed an error where a null message could be created that was larger
+ than could be written to the file. (NAF - 2008/10/23)
+ - Corrected error with family/split/multi VFD not updating driver info
+ when "latest" version of the file format used. (QAK - 2008/10/14)
+ - Corrected alignment+threshold errors to work correctly when metadata
+ aggregation is enabled. (QAK - 2008/10/06)
+ - Changed H5Fget_obj_count and H5Fget_obj_ids to ignore objects registered
+ by the library for internal library use. (NAF - 2008/10/06)
+ - Fixed potential memory leak during compound conversion.
+ (NAF - 2008/10/06)
+ - Changed the return value of H5Fget_obj_count from INT to SSIZE_T. Also
+ changed the return value of H5Fget_obj_ids from HERR_T to SSIZE_T and
+ the type of the parameter MAX_OBJS from INT to SIZE_T. (SLU - 2008/09/26)
+ - Fixed an issue that could cause data to be improperly overwritten
+ during compound type conversion. (NAF - 2008/09/19)
+ - Fixed pointer alignment violations that could occur during vlen
+ conversion. (NAF - 2008/09/16)
+ - Fixed problem where library could cause a segmentation fault when
+ an invalid location ID was given to H5Giterate(). (QAK - 2008/08/19)
+ - Fixed improper shutdown when objects have reference count > 1. The
+ library now tracks reference count due to the application separately
+ from that due to internal library routines. (NAF - 2008/08/19)
+ - Fixed assertion failure caused by incorrect array datatype version.
+ (NAF - 2008/08/08)
+ - Fixed an issue where mount point traversal would fail when using
+ multiple handles for the child. (NAF - 2008/08/07)
+ - Fixed an issue where mount points were inaccessible when using multiple
+ file handles for the parent. The mount table is now in the shared
+ file structure (the parent pointer is still in the top structure).
+ (NAF - 2008/08/07)
+ - when an attribute was opened twice and data was written with one of the handles,
+ the file didn't have the data. It happened because each handle had its own
+ object structure, and the empty one overwrote the data with fill value. This is
+ fixed by making some attribute information like the data be shared in the
+ attribute structure. SLU - 2008/07/22
+ - Fixed issue where a group could have a file mounted on it twice.
+ (QAK - 2008/07/15)
+ - Fixed a Windows-specific issue in the ohdr test which was causing users
+ in some timezones to get false errors. This a deficiency in the Windows
+ mktime() function, and has been handled properly. SJW - 2008/06/19
+ - Fixed the problem with the searching of target file for H5Lcreate_external().
+ The searching pattern will depend on whether the target file's
+ pathname is an absolute or a relative path. Please see the description
+ in the RM for H5Lcreate_external(). (VC - 2008/04/08)
+ - Fixed possible file corruption bug when encoding datatype
+ descriptions for compound datatypes whose size was between
+ 256 & 511 bytes and the file was opened with the "use the
+ latest format" property enabled (with H5Pset_libver_bounds).
+ (QAK - 2008/03/13)
+ - Fixed bug in H5Aget_num_attrs() routine to handle invalid location
+ ID correctly. (QAK - 2008/03/11)
+ - H5Dset_extent: when shrinking dimensions, some chunks were not deleted.
+ (PVN - 2009/01/8)
+ - Added code to maintain a min_clean_fraction in the metadata cache when
+ in serial mode. (MAM - 2009/01/9)
+
+
+
+ Configuration
+ -------------
+ - CMake: When CMake commands are executed individually on the command line
+ and the external filters are being built, the CMAKE_BUILD_TYPE define
+ must be set to the same value as the configuration
+ (-DCMAKE_BUILD_TYPE:STRING=Release if using -C Release). This is needed
+ by the the szip and zlib filter build commands. (ADB - HDFFV-8695)
+ - CMake: Remove use of XLATE_UTILITY program. (ADB - 2014/03/28 HDFFV-8640)
+ - CMake: Added missing quotes in setting the CMAKE_EXE_LINKER_FLAGS for the
+ MPI option. (ADB - 2014/02/27 HDFFV-8674)
+ - Modified H5detect.c to scan floating point types for padding bits before
+ analyzing the type further. This should fix problems with gcc 4.8
+ (NAF - 2013/09/19 - HDFFV-8523/HDFFV-8500)
+ - Fixed Makefile issue in which "-Wl," was not properly specified
+ prior to -rpath when building parallel fortran libraries with
+ an Intel compiler. (MAM - 2012/03/26)
+ - Makefiles generated by other packages using h5cc as the compiler
+ no longer error when 'make' is invoked more than once in order
+ to 'rebuild' after changes to source. (MAM - 2012/03/26)
+ - Added --enable-fortran2003 flag to enable Fortran2003 support
+ in the HDF5 Fortran library. The flag should be used along with the
+ --enable-fortran flag and takes affect only when Fortran compiler
+ is Fortran2003 compliant. (EIP - 2011/11/14)
+
+ - In Windows platform, the default VFD, was Windows VFD, is restored back
+ to the SEC2, aka POSIX, VFD. The Windows VFD is deprecated. HDFFV-7740
+ (AKC 2011/09/26)
+ - Removed config/ibm-aix6.x. All IBM-AIX settings are in one file,
+ ibm-aix. (AKC - 2011/4/14)
+ - Shared C libraries are no longer disabled on Mac when Fortran
+ is enabled. Shared Fortran libraries are still not supported on Mac,
+ so configure will disable them by default, but this is overridable
+ with the new --enable-unsupported configure option. The configure
+ summary has been updated to reflect the fact that the shared-ness of
+ the C++/Fortran wrapper libraries may not align with the C library.
+ (MAM - 04/11/2011 - HDFFV-4353).
+ - Removed recognition of the parallel compilers of LAM(hcc) and
+ ChMPIon(cmpicc) since we have no access to these two MPI implementations
+ and cannot verify their correctness. (AKC - 2010/7/14 - Bug 1921)
+ - Removed the following config files, as we no longer support them:
+ config/dec-osf*, config/hpux11.00, config/irix5.x,
+ config/powerpc-ibm-aix4.x config/rs6000-ibm-aix5.x config/unicos*
+ MAM - 2009/10/08
+ - Modified configure and make process to properly preserve user's CFLAGS
+ (and company) environment variables. Build will now properly use
+ automake's AM_CFLAGS for any compiler flags set by the configure
+ process. Configure will no longer modify CFLAGS directly, nor will
+ setting CFLAGS during make completely replace what configure has set up.
+ MAM - 2009/10/08
+ - Support for TFLOPS, config/intel-osf1, is removed since the TFLOPS
+ machine has long retired. AKC - 2009/10/06.
+ - Added $(EXEEXT) extension to H5detect when it's executed in the
+ src/Makfile to generate H5Tinit.c so it works correctly on platforms
+ that require the full extension when running executables.
+ MAM - 2009/10/01 - BZ #1613
+ - Configure will now set FC and CXX to "no" when fortran and c++
+ are not being compiled, respectively, so configure will not run
+ some of the compiler tests for these languages when they are not
+ being used. MAM - 2009/10/01
+ - The PathScale compiler (v3.2) was mistaken as gcc v4.2.0 but it fails to
+ recognize some gcc options. Fixed. (see bug 1301). AKC - 2009/7/28 -
+ - The --enable-static-exec flag will now properly place the -static flag
+ on the link line of all installed executables. This will force the
+ executable to link with static libraries over shared libraries, provided
+ the static libraries are available. MAM - 2009/08/31 - BZ #1583
+ - The --includedir=DIR configuration option now works as intended, and can
+ be used to specify the location to install C header files. The default
+ location remains unchanged, residing at ${prefix}/include.
+ MAM - 2009/03/10 - BZ #1381
+ - Configure no longer removes the '-g' flag from CFLAGS when in production
+ mode if it has been explicitly set in the CFLAGS environment variable
+ prior to configuration. MAM - 2009/03/09 - BZ #1401.
+ - Fixed error with 'make check install' failing due to h5dump
+ needing other tools built first. MAM - 2008/10/24.
+ - Wpen using shared szip, it is no longer necessary to specify
+ the path to the shared szip libraries in LD_LIBRARY_PATH. MAM -
+ 2008/10/24.
+ - The file libhdf5_fortran.settings is not installed since its content
+ is included in libhdf5.settings now. AKC - 2008/10/21
+ - "make DESTDIR=xxx install" failed to install some tools and files
+ (e.g., h5cc and fortran modules). Fixed. AKC - 2008/10/8.
+ - Autotools: An export of LD_LIBRARY_PATH=<szip library location> was
+ removed from configure and make installcheck was revised to run
+ scripts installed in share/hdf5_examples to use the installed h5cc, etc.
+ to compile and run example source files also installed there. Make
+ installcheck will now fail when a shared szip or other external lib file
+ cannot be found in the same manner that executables compiled and linked
+ with h5cc will fail to run when those lib files cannot be found after
+ install. Make installcheck should pass after setting LD_LIBRARY_PATH to the
+ szip location.
+ (LRK - 2014/04/16)
+
+ Performance
+ -------------
+ - Removed program perform/benchpar from the enable-build-all list. The
+ program will be retired or moved to another location. HDFFV-8156
+ (AKC 2012/10/01)
+ - Retired program perform/mpi-perf. Its purpose has been incorporated
+ into h5perf before. (AKC 2012/09/20)
+ - ifdefs added to tests around include unistd.h and function to simulate
+ getlogin() on Windows.
+ (ADB - 2011/08/15)
+ - perf_serial test added to Windows projects and check batch file.
+ (ADB - 2009/06/11)
+ Fortran
+ --------
+ - Fixed a typo in return value of the nh5dread_f_c function ( was 1
+ instead of 0 on success); fixed the return value to make it consistent
+ with other Fortran functions; cleaned the code from debug statements.
+ (EIP - 2012/06/23)
+
+ - Fixed problem writing/reading control characters to a dataset; writing
+ a string containing: alerts, backspace, carriage_return, form_feed,
+ horizontal_tab, vertical_tab, new_line is now tested and working.
+ (MSB - 2012/09/01)
+
+ - Corrected the integer type of H5S_UNLIMITED_F to HSIZE_T (MSB - 2012/09/01)
+
+ - Corrected the number of continuation lines in the src files
+ to be less then 32 lines for F95 compliance. (MSB - 2012/10/01)
+
+ Tools
+ -----
+ - h5dump subsetting fixed for dims greater then two
+ When a dataset has more then two dimensions, subsetting would incorrectly
+ calculate the data that needed to be displayed.
+ Added in block and stride calculation that account for dimensions greater
+ then two. NOTE: lines that have line breaks inserted because of display
+ length calculations, may have index info that is incorrect until the next
+ dimension break. (ADB, 2016/03/04, HDFFV-9698)
+ - h5repack: h5repack would not attempt to remove UD filters. Added a
+ check to h5repack for UD filters that checks if the filter can
+ be dynamically loaded. This will require a change in the library to
+ add the H5PL_load() to the H5Zfilter_avail(). (ADB - 2014/03/03 HDFFV-8629)
+ - h5repack: Fixed failure for converting a layout of small chunked dataset
+ (size < 1K) to contiguous layout. HDFFV-8214 (JKM 2013/03/18)
+ - h5diff: Fixed to return correct exit code 1 when detect unique extra
+ attribute. Prior to this fix, h5diff returned exit code 0 indicating
+ two files are identical. HDFFV-7643 (JKM 2013/02/15)
+ - h5diff: Improved speed when comparing HDF5 files with lots of
+ attributes. Much slower performance was identified with release
+ version from 1.8.7 to 1.8.10 compared to 1.8.6. (JKM 2012/10/19)
+ - h5repack: "h5repack -f NONE file1.h5 out.h5" command failed if
+ source file contains chunked dataset and a chunk dim is bigger than
+ the dataset dim. Another issue is that the command changed max dims
+ if chunk dim is smaller than the dataset dim.
+ These issue occurred when dataset size is smaller than 64k (compact
+ size limit) Fixed both.
+ HDFFV-8012 (JKM 2012/09/24)
+ - h5diff: Fixed not to accumulate attribute difference to dataset
+ difference in verbose mode (-v, -r), which caused incorrect
+ difference between dataset and group/datatype object if attribute
+ exist with any differences. This also lead to fix inconsistent
+ format indicating difference between dataset and group/datatype
+ object. HDFFV-5919 (JKM 2012/09/05)
+ - h5diff: Fixed the incorrect result when comparing attribute data
+ values and the data type has same class but different size.
+ HDFFV-7942 (JKM 2012/08/15)
+ - ph5diff: Fixed intermittent hang issue on a certain operation in
+ parallel mode. It was detected by daily test for comparing
+ non-comparable objects, but it could have occurred in other
+ operations depend on machine condition. HDFFV-8003 (JKM 2012/08/01)
+ - h5diff: Fixed test failure for "make check" due to failure of
+ copying test files when performed in HDF5 source tree. Also applied
+ to other tools.
+ HDFFV-8107 (JKM 2012/08/01)
+ - h5diff: Fixed the Function COPY_TESTFILES_TO_TESTDIR() of
+ testh5diff.sh to better report when there is an error in the file
+ copying. HDFFV-8105 (AKC -2012/07/22)
+ - h5diff: Fixed not to check and display dangling link status without
+ --follow-symlinks option. This also improved performance when
+ comparing lots of external links without the --follow-symlinks
+ option. HDFFV-7998 (JKM 2012/04/26)
+ - h5unjam: Fixed sefgault when used -V (show version) option.
+ HDFFV-8001 (JKM 2012/04/19)
+ - h5repack: Fixed a failure when change the chunk size of a specified
+ chunked dataset with unlimited max dims. HDFFV-7993 (JKM 2012/04/11)
+ - h5diff: Fixed failure for comparing same named object with different
+ object types in comparing groups. Prior to the fix, h5diff resulted
+ in error. After the fix, h5diff detects such case as non-comparable
+ and display messages accordingly. HDFFV-7664 (JKM 2012/03/28)
+ - h5diff: If unique objects exists only in one file and try to exclude
+ the unique objects with --exclude-path option, h5diff missed
+ excluding some objects.
+ Fixed to exclude objects correctly in such case.
+ HDFFV-7837 (JKM 2012/03/20)
+ - h5dump: Added tools library error stack to properly catch error
+ information generated within the library.
+ HDFFV-7958 (ADB 2012/03/12)
+ - h5dump: Dangling links no longer throw error message, change process
+ when open link fails.
+ HDFFV-7839 (ADB 2012/03/12)
+ - h5diff: When two symbolic dangling links are compared with
+ --follow-symlinks option, the result should be same. It worked for
+ comparing two files, but didn't work for comparing two objects.
+ HDFFV-7835 (JKM 2012/03/09)
+ - h5dump: Refactored code to remove duplicated functions. Split XML
+ functions from DDL functions. Corrected indentation and formatting
+ errors. Also fixed subsetting counting overflow (HDFFV-5874). Verified
+ all tools call tools_init() in main.
+ HDFFV-7560 (ADB 2012/02/17)
+ - h5diff: fixed to prevent from displaying error stack message when
+ comparing the two dangling symlinks with follow-symlinks option.
+ HDFFV-7836 (JKM 2012/01/13)
+ - h5repack: fixed memory leak for handling variable length string in
+ attribute. HDFFV-7840 (JKM 2012/01/06)
+ - h5ls: fixed segfault when access region reference data in an
+ attribute. HDFFV-7838 (JKM 2011/12/29)
+ - h5diff: fixed segfault over non-comparable attribute with different
+ dimention or rank, along with '-c' option to display details.
+ HDFFV-7770 (JKM 2011/10/24)
+ - Fixed h5diff to display all the comparable object and attribute
+ regardless of non-comparables. HDFFV-7693 (JKM 2011/09/16)
+ - Fixed h5repack to update values of references(object and region) of
+ attributes in h5repack for 1) references, 2) ARRAY of references,
+ 3) VLEN of references, and 4) COMPOUND of references.
+ (JIRA HDF5 5932) PC -2011/09/14
+ - h5diff: fixed segfault over dataset with container types
+ (array,lven) with multiple nested compound types.
+ (ex: compound->array->compound, compound->vlen->compound)
+ HDFFV-7712 JKM (2011/09/01)
+ - h5repack: added macro to handle failure in H5Dread/write when memory
+ allocation failed inside the library. (PC -- 2011/08/19)
+ - Fixed h5jam not to allow specifying an HDF5 formatted file as input
+ file for -u (user block file) option, because the original HDF5 file
+ will not be accessible if allows. HDFFV-5941 (JKM 2011/08/15)
+ - Revised command help pages of h5jam and h5unjam. The descriptions
+ were not up to date and some were missing.
+ HDFFV-7515 (JKM 2011/08/15)
+ - h5repack: h5repack failed to copy dataset if the layout is changed
+ from chunked with unlimited dims to contiguous. HDFFV-7649
+ (PC -- 2011/07/15)
+ - h5diff: "--delta" option considers two NaN of the same type are
+ different, which is wrong based on h5diff description in Reference
+ Manual. HDFFV-7656 (PC -- 2011/07/15)
+ - Fixed h5diff to display instructive error message and exit with 1
+ when mutually exclusive options (-d, -p and --use-system-epsilon)
+ are used together. HDFFV-7600 (JKM 2011/07/07)
+ - Fixed h5dump to display the first line of each element into correct
+ position for multiple dimention array type.
+ Before this fix, the first line of each element in array were
+ displayed after the last line of previous element without
+ moving to the next line (+indentation).
+ Bug #HDFFV-5878 (JKM 2011/06/15)
+ - Fixed h5dump to display correct value for H5T_STD_I8LE dataset
+ on a system (ppc64, linux, Big-Endian, clustering).
+ Bug #HDFFV-7594 (ABERT & JKM 2011/05/12)
+ - Fixed h5diff to compare file itself correctly. Previously h5diff
+ reported either different or not compatible in certain cases even
+ comparing file itself. This fix also improve performance when
+ comparing same target objects through verifying the obj&file
+ addresses before comparing the details in the objects (ex: datasets
+ or attributes) Bug #HDFFV-5928 (XCAO & JKM 2011/05/06)
+ - Updated h5dump test case script to prevent entire test failure upon
+ source directory is read-only. Bug# HDFFV-4342 (JKM 2011/4/12)
+ - Fixed h5dump displaying incorrect values for H5T_STD_I8BE type data in
+ attribute on Big-Endian machine. H5T_STD_I8BE is unsigned 8bit type,
+ so h5dump is supposed to display -2 instead of 254. It worked
+ correctly on Little-Endian system , but not on Big-Endian system.
+ Bug #HDFFV-4358 (JKM 2011/04/08)
+ - Updated to unify option name to '--enable-error-stack' for printing
+ HDF5 error stack messages for HDF5 tools. h5ls and h5dump for now.
+ For h5ls, this replaces "-e/--errors" option, which is deprecated.
+ Bug#2182 (JKM 2011/3/30)
+ - Fix h5diff for --use-system-epsilon option: the calculation changed
+ from ( |a - b| / b ) to ( |a - b| ). This was decided for better
+ performance. Bug#2184 (JKM 2011/3/24)
+ - Fixed output for H5T_REFERENCE in h5dump. According to the BNF document
+ the output of a H5T_REFERENCE should be followed by the type;
+ <reference> ::= H5T_REFERENCE { <ref_type> }
+ <ref_type> ::= H5T_STD_REF_OBJECT | H5T_STD_REF_DSETREG
+ Previously this was only displayed if the -R option was used.
+ Bug#1725 (ADB 2011/3/28)
+ - Fix h5diff issues for #1: h5diff compared attributes correctly only
+ when two objects have the same number of attributes and attribute
+ names are identical, #2: didn't display useful information about
+ attribute difference. Bug#2121 (JKM 2011/3/17)
+ - Fixed memory leak for h5diff when accessing symbolic links with
+ --follow-symlink option. Bug#2214 (JKM 2011/3/18)
+ - Fixed memory leak for h5diff when access variable length string
+ data. Bug#2216 (JKM 2011/3/18)
+ - Fixed and improved help page for -a option of h5ls.
+ Bug#1904 (JKM 2011/3/11)
+ - Fixed h5dump not to include attribute values in the output file when
+ h5dump "-y -o output_file" options were used. The problem was introduced
+ in HDF5 1.8.6 by showing data pointed by region references. (XCAO 2011/3/9)
+ - Fixed h5copy to be able to copy any object into the same HDF5 file.
+ Previously h5copy displayed error message when target file is same
+ as source file. (XCAO 2011/3/8)
+ - Fixed h5dump for skipping some values for long array type dataset on
+ Windows. This issue only occurred on Windows due to the different
+ return behavior from _vsnprintf() funtion. Bug#2161 (JKM 2011/3/3)
+ - Fixed h5dump for skipping array indices every certain number
+ when the array type dataset is relatively big. The certain number
+ varies according to the size of array. Bug#2092 (JKM 2011/2/15).
+ - Fixed h5diff for the segfault when compares compound datasets
+ with combination of fixed length string types and vlen string types
+ in certain orders. bug#2089 (JKM 2010/12/28)
+ - Improve h5diff performance. 1) use HDmemcmp() before comparing each
+ elements. 2) replace expensive H5Tequals() calls 3) retrieve datatype
+ information at dataset level not each element level for compound
+ datasets
+ - Fixed h5ls to display nested compound type with curly bracket
+ when -S (--simple) option is used with -l (--label), so it shows
+ which member (in curly bracket) belong to which nested compound type
+ and make the output make sense. bug#1979 (JKM 2010/11/09)
+ - Fixed h5diff to handle variable-length strings in a compound dataset
+ correctly. (also variable-length string array in a compound dataset)
+ Garbage values were displayed when h5diff compared multiple
+ variable-length strings in a compound type dataset.
+ Bug#1989 (JKM 2010/10/28)
+ - Fixed h5copy to fail gracefully when copying object to non-exist
+ group without -p option. Bug#2040 (JKM 2010/10/18)
+ - Fixed to compare member objects and groups recursively when two
+ files or groups are specified to be compared. Bug#1975
+ (JKM 2010/9/16)
+ - Make h5repack be able to convert a layout to COMPACT for small size
+ dataset as default. bug#1896 (JKM 2010/09/15)
+ - Change h5ls not to manipulate special characters in object name or
+ attribute name for smart display. bug#1784 (JKM 2010/06/28)
+ - Fixed h5ls to return exit code 1 (error) when non-existent file is
+ specified. bug#1793. (JKM 2010/04/27)
+ - h5copy failed to copy dangling link when the link is specified
+ directly. bug#1817. (JKM 2010/04/22)
+ - h5repack lost attributes from a dataset of reference type. bug#1726.
+ (JKM 2010/3/25)
+ - h5repack sets NULL for object reference value for group or
+ named datatype. bug#1814. (JKM 2010/03/19)
+ - h5diff: fixed incorrect behavior (hang) in parallel mode when
+ specify invalid options (ex: -v and -q) (JKM 2010/02/17)
+ - h5dump/h5ls display buffer resize fixed in tools library.
+ (ADB - 2009/07/21 - 1520)
+ - Fixed many problems that could occur when using h5repack with named
+ datatypes. (NAF - 2009/4/20 - 1516/1466)
+ - h5dump, h5diff, h5repack were not reading (by hyperslabs) datasets
+ that have a datatype datum size greater than H5TOOLS_BUFSIZE, a
+ constant defined as 1024Kb, such as array types with large
+ dimensions (PVN - 2009/4/1 - 1501)
+ - h5import: By selecting a compression type, a big endian byte order was being
+ selected (PVN - 2009/3/11 - 1462)
+ - zip_perf.c had missing argument on one of the open() calls. Fixed.
+ (AKC - 2008/12/9)
+ - h5dump now checks for uniqueness of committed datatypes.
+ (NAF - 2008/10/15)
+ - Fixed unnecessary indentation of committed datatypes in h5dump.
+ (NAF - 2008/10/15)
+ - Fixed bugs in h5stat:segmemtation fault when printing groups and
+ print warning message when traversal of objects is unsuccessful.
+ (see bug #1253) (VC- 2008/10/13)
+ - Fixed bug in h5ls that prevented relative group listings (like
+ "h5ls foo.h5/bar") from working correctly (QAK - 2008/06/03)
+ - Fixed bug in h5diff that prevented datasets & attributes with
+ variable-length string elements from comparing correctly.
+ (QAK - 2008/02/28)
+ - h5import bug on Windows w/binary datasets. fread in windows needs a
+ binary file to be open with 'rb' instead of 'r' otherwise it
+ terminates execution if an end of file character is found on the
+ input file. Besides that the binary file generated needs to be open
+ with 'wb' , otherwise an end of line character is read twice.
+ (PVN - 2008/02/19)
+ - Fixed bug in h5dump that caused binary output to be made only for the first
+ dataset, when several datasets were requested. (PVN - 2008/04/07)
+ - h5dump: when doing binary output (-b), the stdout printing of attributes
+ was done incorrectly. Removed printing of attributes when doing binary
+ output. PVN - 2008/06/05
+
+
+ High-Level APIs:
+ ------
+ - Packet Table is updated.
+
+ In the Packet Table C API, there are changes with the following functions,
+ which had been ifdef'ed out with VLPT_REMOVED since 2006
+ * H5PTcreate_vl, is removed from this release
+ * H5PTfree_vlen_readbuff, is renamed to H5PTfree_vlen_buff
+ * H5PTis_varlen, is made available again
+
+ Various cleanup: replacing 0/-1 with SUCCEED/FAIL and H5I_BADID with
+ H5I_INVALID_HID. (BMR, 2016/03/04, HDFFV-442)
+
+ - Fixed problem with H5DSget_scale_name including the NULL terminator in
+ the size calculation returned by the function. The API does not
+ include the NULL terminator in the size returned (MSB- 2013/2/10)
+
+ - Fixed problem with H5TBdelete_record destroying all data following the deletion
+ of a row. (MSB- 2012/7/26)
+
+ - Fixed H5LTget_attribute_string not closing an object identifier when an
+ error occurs. (MSB- 2012/7/21)
+
+ - Fixed the H5LTdtype_to_text function. It had some memory problems when
+ dealing with some complicated data types. HDFFVI-7701 (SLU - 2011/10/19)
+
+ - Fixed a bug in H5DSattach_scale, H5DSis_attached and H5DSdetach_scale
+ caused by using H5Tget_native_type function to determine the native
+ type for reading REFERENCE_LIST attribute. The bug was exposed
+ on Mac PPC.
+ (EIP - 2010/05/22 -1851)
+ - Fixed a bug in the H5DSdetach_scale function when 0 bytes
+ were allocated after the last reference to a dim. scale
+ was removed from the list of references in a VL element of the
+ DIMENSION_LIST attribute; modified the function to comply
+ with the Spec: DIMENSION_LIST attribute is deleted now when no
+ dimension scales left attached.
+ (EIP - 2010/05/14 -1822)
+ - Fixed a bug where the H5TB API would forget the order of fields when
+ added out of offset order. (NAF - 2009/10/27 - 1582)
+ - H5DSis_attached failed to account for different platform types. Added a
+ get native type call. (ADB - 2009/9/29 - 1562)
+ - Dimension scales: The scale index return value in H5DSiterate_scales was not always
+ incremented. (PVN - 2009/4/8 - 1538)
+
+ Fortran High-Level APIs:
+ ------
+
+ - Lite: The h5ltget_attribute_string_f used to return the C NULL character in the
+ returned character buffer. The returned Fortran charactor buffer now does
+ not return the C NULL character. (MSB - 2012/3/23)
+ - Lite: The h5ltget_dataset_info_f function (gets information about a dataset)
+ was not correctly returning the dimension array. (PVN - 2009/3/23)
+ - Lite: the h5ltread_dataset_string_f and h5ltget_attribute_string_f functions
+ had memory problems with the g95 fortran compiler. (PVN � 5/13/2009) 1522
+
+
+
+
+
+ Documentation
+ -------------
+
+
+ F90 APIs
+ --------
+ - Modified the h5open_f and h5close_f subroutines to not to call H5open
+ and H5close correspodningly. While the H5open call just adds overhead,
+ the H5close call called by an Fortran application shuts down the HDF5
+ library making it unaccessible to the application.
+ HDFFV-915 (EIP & SB - 2011/10/13)
+
+
+ C++ APIs
+ --------
+ - The constructor PropList::PropList(id) was fixed to act properly
+ according to the nature of 'id'. When 'id' is a property class id,
+ a new property list will be created. When 'id' id a property list id,
+ a copy of the property list will be made. (BMR - 2010/5/9)
+ - The parameters 'size' and 'bufsize' in CommonFG::getLinkval and
+ CommonFG::getComment, respectively, now have default values for
+ user's convenience. (BMR - 2009/10/23)
+ - NULL pointer accessing was fixed, bugzilla 1061. (BMR - 2009/10/05)
+ - read/write methods of DataSet and Attribute classes were fixed
+ to handle string correctly. (BMR - 2009/07/26)
+ - Fixed bug that caused segfaults in Attribute::read. (BMR - 2008/04/20)
+ - Fixed bug in PropList::getClassName to use portable HDfree instead
+ of free. (BMR - 2008/04/20)
+ - Fixed a design bug which allowed an Attribute object to create/modify
+ attributes (bugzilla #1068). The API class hierarchy was revised
+ to address the problem. Classes AbstractDS and Attribute are moved
+ out of H5Object. Class Attribute now multiply inherits from
+ IdComponent and AbstractDs and class DataSet from H5Object and
+ AbstractDs. In addition, the data member IdComponent::id was
+ moved into subclasses: Attribute, DataSet, DataSpace, DataType,
+ H5File, Group, and PropList. (BMR - 2008/08/10)
+ - IdComponent::dereference was incorrect and replaced as described
+ in "New Features" section.
+ (BMR - 2008/08/10)
+
+ Testing
+ -------
+ - tools/h5diff/testh5diff.sh is run in every "make check", even after it
+ has passed in the previous run. It should not run again if there is no
+ code changes. Fixed. (AKC - 2013/07/19 HDFFV-8392)
+ - In some Mac system, testlibinfo.sh failed with this error:
+ Check file ../src/.libs/libhdf5.7.dylib
+ strings: object: ../src/.libs/libhdf5.7.dylib malformed object \
+ (unknown load command 15)
+ The strings command of Mac inspects library files and older
+ versions of strings may not know newer library format, resulting
+ in errors. Fixed by sending the library file as stdin to the strings
+ coommand to avoid this problem. (AKC - 2013/03/08 HDFFV-8305)
+
+ - Fixed a typo in the ERROR macro in test/testhdf5.h. It segmentation
+ faulted when used before. (AKC - 2013/02/12 HDFFV-8267)
+
+
+Supported Platforms
+===================
+ AIX 6.1 xlc 10.1.0.5
+ (NASA G-ADA) xlC 10.1.0.5
+ xlf90 12.1.0.6
+
+ Linux 2.6.18-308.13.1.el5PAE GNU C (gcc), Fortran (gfortran), C++ (g++)
+ #1 SMP i686 i686 i386 compilers for 32-bit applications;
+ (jam) Version 4.1.2 20080704 (Red Hat 4.1.2-54)
+ Version 4.8.2
+ PGI C, Fortran, C++ Compilers for 32-bit
+ applications;
+ Version 13.7-0
+ Intel(R) C, C++, Fortran Compiler for 32-bit
+ applications;
+ Version 14.0.2 (Build 20140120)
+
+ Linux 2.6.18-371.6.1.el5 GNU C (gcc), Fortran (gfortran), C++ (g++)
+ #1 SMP x86_64 GNU/Linux compilers for 64-bit applications;
+ (koala) Version 4.1.2 20080704 (Red Hat 4.1.2-54)
+ Version 4.8.2
+ Intel(R) C, C++, Fortran Compilers for
+ applications running on Intel(R) 64;
+ Version 14.0.2 (Build 20140120)
+
+ Linux 2.6.32-431.11.2.el6 GNU C (gcc), Fortran (gfortran), C++ (g++)
+ #1 SMP x86_64 GNU/Linux compilers:
+ (platypus) Version 4.4.7 20120313
+ Version 4.8.2
+ PGI C, Fortran, C++ for 64-bit target on
+ x86-64;
+ Version 13.7-0
+ Intel(R) C (icc), C++ (icpc), Fortran (icc)
+ compilers:
+ Version 14.0.2 (Build 20140120)
+
+ Linux 2.6.32-431.29.2.el6.ppc64 gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-4)
+ #1 SMP ppc64 GNU/Linux g++ (GCC) 4.4.7 20120313 (Red Hat 4.4.7-4)
+ (ostrich) GNU Fortran (GCC) 4.4.7 20120313 (Red Hat 4.4.7-4)
+ IBM XL C/C++ V13.1
+ IBM XL Fortran V15.1
+
+ Linux 2.6.32-220.23.1.1chaos Intel C, C++, Fortran Compilers
+ ch5.x86_64 GNU/Linux Version 12.1.5.339
+ (LLNL Aztec)
+
+ IBM Blue Gene/P XL C for Blue Gene/P, bgxlc V9.0
+ (LLNL uDawn) XL C++ for Blue Gene/P, bgxlC V9.0
+ XL Fortran for Blue Gene/P, bgxlf90 V11.1
+
+ SunOS 5.11 32- and 64-bit Sun C 5.12 SunOS_sparc
+ (emu) Sun Fortran 95 8.6 SunOS_sparc
+ Sun C++ 5.12 SunOS_sparc
+
+ Windows 7 Visual Studio 2008 (cmake)
+ Visual Studio 2010 w/ Intel Fortran 14 (cmake)
+ Visual Studio 2012 w/ Intel Fortran 15 (cmake)
+ Visual Studio 2013 w/ Intel Fortran 15 (cmake)
+ Visual Studio 2015 (cmake)
+ Cygwin(CYGWIN_NT-6.1 1.7.34(0.285/5/3) gcc(4.9.2) compiler and gfortran)
+ (cmake and autotools)
+
+ Windows 7 x64 Visual Studio 2008 (cmake)
+ Visual Studio 2010 w/ Intel Fortran 14 (cmake)
+ Visual Studio 2012 w/ Intel Fortran 15 (cmake)
+ Visual Studio 2013 w/ Intel Fortran 15 (cmake)
+ Visual Studio 2015 (cmake)
+
+ Windows 8.1 Visual Studio 2012 w/ Intel Fortran 15 (cmake)
+ Visual Studio 2013 w/ Intel Fortran 15 (cmake)
+
+ Windows 8.1 x64 Visual Studio 2012 w/ Intel Fortran 15 (cmake)
+ Visual Studio 2013 w/ Intel Fortran 15 (cmake)
+
+ Mac OS X Lion 10.7.3 gcc i686-apple-darwin11-llvm-gcc-4.2 (GCC) 4.2.1 from Xcode 4.2.1
+ 32- and 64-bit g++ i686-apple-darwin11-llvm-g++-4.2 (GCC) 4.2.1 from Xcode 4.2.1
+ (duck) gfortran GNU Fortran (GCC) 4.6.2
+
+ Mac OS X Mountain Lion 10.8.1 cc Apple clang version 4.0 from Xcode 4.5.1
+ (owl) c++ Apple clang version 4.0 from Xcode 4.5.1
+ gcc i686-apple-darwin11-llvm-gcc-4.2 (GCC) 4.2.1 from Xcode 4.5.1
+ g++ i686-apple-darwin11-llvm-g++-4.2 (GCC) 4.2.1 from Xcode 4.5.1
+ gfortran GNU Fortran (GCC) 4.6.2
+
+
+Tested Configuration Features Summary
+=====================================
+
+ In the tables below
+ y = tested
+ n = not tested in this release
+ C = Cluster
+ W = Workstation
+ x = not working in this release
+ dna = does not apply
+ ( ) = footnote appears below second table
+ <blank> = testing incomplete on this feature or platform
+
+Platform C F90/ F90 C++ zlib SZIP
+ parallel F2003 parallel
+Solaris2.11 32-bit n y/y n y y y
+Solaris2.11 64-bit n y/n n y y y
+Windows 7 y y/y n y y y
+Windows 7 x64 y y/y n y y y
+Windows 7 Cygwin n y/n n y y y
+Windows 7 x64 Cygwin n y/n n y y y
+Windows 8 y y/y n y y y
+Windows 8 x64 y y/y n y y y
+Mac OS X Lion 10.7.3 32-bit n y/y n y y n
+Mac OS X Lion 10.7.3 64-bit n y/y n y y y
+Mac OS X Mountain Lion 10.8.1 64-bit n y/y n y y y
+Mac OS X Mavericks 10.9.1 64-bit n y/y n y y ?
+AIX 6.1 32- and 64-bit n y/n n y y y
+CentOS 5.9 Linux 2.6.18-308 i686 GNU y y/y y y y y
+CentOS 5.9 Linux 2.6.18-308 i686 Intel n y/y n y y y
+CentOS 5.9 Linux 2.6.18-308 i686 PGI n y/y n y y y
+CentOS 5.9 Linux 2.6.18 x86_64 GNU n y/y n y y y
+CentOS 5.9 Linux 2.6.18 x86_64 Intel n y/y n y y y
+CentOS 6.4 Linux 2.6.32 x86_64 GNU y y/y y y y y
+CentOS 6.4 Linux 2.6.32 x86_64 Intel n y/y n y y y
+CentOS 6.4 Linux 2.6.32 x86_64 PGI n y/y n y y y
+Linux 2.6.32-431.11.2.el6.ppc64 n y/n n y y y
+
+
+Platform Shared Shared Shared Thread-
+ C libs F90 libs C++ libs safe
+Solaris2.11 32-bit y y y y
+Solaris2.11 64-bit y y y y
+Windows 7 y y y y
+Windows 7 x64 y y y y
+Windows 7 Cygwin n n n y
+Windows 7 x64 Cygwin n n n y
+Windows 8 y y y y
+Windows 8 x64 y y y y
+Mac OS X Lion 10.7.3 32-bit y n y y
+Mac OS X Lion 10.7.3 64-bit y n y y
+Mac OS X Mountain Lion 10.8.1 64-bit y n y y
+Mac OS X Mavericks 10.9.1 64-bit y n y y
+AIX 6.1 32- and 64-bit y n n y
+CentOS 5.9 Linux 2.6.18-308 i686 GNU y y y y
+CentOS 5.9 Linux 2.6.18-308 i686 Intel y y y n
+CentOS 5.9 Linux 2.6.18-308 i686 PGI y y y n
+CentOS 5.9 Linux 2.6.18 x86_64 GNU y y y y
+CentOS 5.9 Linux 2.6.18 x86_64 Intel y y y n
+CentOS 6.4 Linux 2.6.32 x86_64 GNU y y y n
+CentOS 6.4 Linux 2.6.32 x86_64 Intel y y y n
+CentOS 6.4 Linux 2.6.32 x86_64 PGI y y y n
+Linux 2.6.32-431.11.2.el6.ppc64 y y y n
+
+Compiler versions for each platform are listed in the preceding
+"Supported Platforms" table.
+
+
+More Tested Platforms
+=====================
+The following platforms are not supported but have been tested for this release.
+
+ Linux 2.6.18-308.13.1.el5PAE MPICH mpich 3.1.2 compiled with
+ #1 SMP i686 i686 i386 gcc 4.9.1 and gfortran 4.9.1
+ (jam) g95 (GCC 4.0.3 (g95 0.94!)
+
+ Linux 2.6.18-431.11.2.el6 MPICH mpich 3.1.2 compiled with
+ #1 SMP x86_64 GNU/Linux gcc 4.9.1 and gfortran 4.9.1
+ (platypus) g95 (GCC 4.0.3 (g95 0.94!)
+
+ FreeBSD 8.2-STABLE i386 gcc 4.2.1 [FreeBSD] 20070719
+ (loyalty) gcc 4.6.1 20110422
+ g++ 4.6.1 20110422
+ gfortran 4.6.1 20110422
+
+ FreeBSD 8.2-STABLE amd64 gcc 4.2.1 [FreeBSD] 20070719
+ (freedom) gcc 4.6.1 20110422
+ g++ 4.6.1 20110422
+ gfortran 4.6.1 20110422
+
+ Debian7.5.0 3.2.0-4-686 #1 SMP Debian 3.2.51-1 i686 GNU/Linux
+ gcc (Debian 4.7.2-5) 4.7.2
+ GNU Fortran (Debian 4.7.2-5) 4.7.2
+ (cmake and autotools)
+
+ Debian7.5.0 3.2.0-4-amd64 #1 SMP Debian 3.2.51-1 x86_64 GNU/Linux
+ gcc (Debian 4.7.2-5) 4.7.2
+ GNU Fortran (Debian 4.7.2-5) 4.7.2
+ (cmake and autotools)
+
+ Fedora20 3.15.3-200.fc20.i6866 #1 SMP i686 i686 i386 GNU/Linux
+ gcc (GCC) 4.8.3 20140624 (Red Hat 4.8.3-1)
+ GNU Fortran (GCC) 4.8.3 20140624 (Red Hat 4.8.3-1)
+ (cmake and autotools)
+
+ Fedora20 3.15.3-200.fc20.x86_64 #1 SMP x86_64 x86_64 x86_64 GNU/Linux
+ gcc (GCC) 4.8.3 20140624 (Red Hat 4.8.3-1)
+ GNU Fortran (GCC) 4.8.3 20140624 (Red Hat 4.8.3-1)
+ (cmake and autotools)
+
+ SUSE 13.1 3.11.10-17-desktop #1 SMP PREEMPT i686 athlon i386 GNU/Linux
+ gcc (SUSE Linux) 4.8.1
+ GNU Fortran (SUSE Linux) 4.8.1
+ (cmake and autotools)
+
+ SUSE 13.1 3.11.10-17-desktop #1 SMP PREEMPT x86_64 x86_64 x86_64 GNU/Linux
+ gcc (SUSE Linux) 4.8.1
+ GNU Fortran (SUSE Linux) 4.8.1
+ (cmake and autotools)
+
+ Ubuntu 14.04 3.13.0-35-generic #62-Ubuntu SMP i686 GNU/Linux
+ gcc (Ubuntu/Linaro 4.9.1-0ubuntu1) 4.9.1
+ GNU Fortran (Ubuntu/Linaro 4.9.1-0ubuntu1) 4.9.1
+ (cmake and autotools)
+
+ Ubuntu 14.04 3.13.0-35-generic #62-Ubuntu SMP x86_64 GNU/Linux
+ gcc (Ubuntu/Linaro 4.9.1-0ubuntu1) 4.9.1
+ GNU Fortran (Ubuntu/Linaro 4.9.1-0ubuntu1) 4.9.1
+ (cmake and autotools)
+
+ Cray Linux Environment (CLE) PrgEnv-pgi/4.0.46
+ hopper.nersc.gov pgcc 12.5-0 64-bit target on x86-64 Linux -tp shanghai
+ pgf90 12.5-0 64-bit target on x86-64 Linux -tp shanghai
+ pgCC 12.5-0 64-bit target on x86-64 Linux -tp shanghai
+
+
+Known Problems
+==============
+* "make check" fails on CYGWIN when building shared lib files is enabled. The
+ default on Cygwin has been changed to disable shared. It can be enabled with
+ the --enable-shared configure option but is likely to fail "make check"
+ with GCC compilers. (LK -2015/04/16)
+
+* CLANG compiler with the options -fcatch-undefined-behavior and -ftrapv
+ catches some undefined behavior in the alignment algorithm of the macro DETECT_I
+ in H5detect.c (Issue 8147). Since the algorithm is trying to detect the alignment
+ of integers, ideally the flag -fcatch-undefined-behavior shouldn't to be used for
+ H5detect.c. In the future, we can separate flags for H5detect.c from the rest of
+ the library. (SLU - 2013/10/16)
+
+* The 5.9 C++ compiler on Sun failed to compile a C++ test ttypes.cpp. It
+ complains with this message:
+ "/home/hdf5/src/H5Vprivate.h", line 130: Error: __func__ is not defined.
+
+ The reason is that __func__ is a predefined identifier in C99 standard. The
+ HDF5 C library uses it in H5private.h. The test ttypes.cpp includes
+ H5private.h (H5Tpkg.h<-H5Fprivate.h<-H5Vprivate.h<-H5private.h). Sun's 5.9
+ C++ compiler doesn't support __func__, thus fails to compile the C++ test.
+ But 5.11 C++ compiler does. To check whether your Sun C++ compiler knows this
+ identifier, try to compile the following simple C++ program:
+ #include<stdio.h>
+
+ int main(void)
+ {
+ printf("%s\n", __func__);
+ return 0;
+ }
+ (SLU - 2012/11/5)
+
+* The C++ and FORTRAN bindings are not currently working on FreeBSD with the
+ native release 8.2 compilers (4.2.1), but are working with gcc 4.6 from the
+ ports (and probably gcc releases after that).
+ (QAK - 2012/10/19)
+
+* The data conversion test dt_arith.c has failures (segmentation fault) from
+ "long double" to other datatypes during hard conversion when the library
+ is built with the default GCC 4.2.1 on Mac Lion system. It only happens
+ with optimization (-O3, -O2, and -O1). Some newer versions of GCC do not
+ have this problem. Users should disable optimization or try newer version
+ of GCC. (Issue 8017. SLU - 2012/6/12)
+
+* The data conversion test dt_arith.c fails in "long double" to integer
+ conversion on Ubuntu 11.10 (3.0.0.13 kernal) with GCC 4.6.1 if the library
+ is built with optimization -O3 or -O2. The older GCC (4.5) or newer kernal
+ (3.2.2 on Fedora) doesn't have the problem. Users should lower down the
+ optimization level (-O1 or -O0) by defining CFLAGS in the command line of
+ "configure" like:
+
+ CFLAGS=-O1 ./configure
+
+ It will overwrite the library's default optimization level. (Issue 7829.
+ SLU - 2012/2/7)
+
+* --with-mpe configure option does not work with Mpich2. AKC - 2011/03/10)
+
+* While working on the 1.8.6 release of HDF5, a bug was discovered that can
+ occur when reading from a dataset in parallel shortly after it has been
+ written to collectively. The issue was exposed by a new test in the parallel
+ HDF5 test suite, but had existed before that. We believe the problem lies with
+ certain MPI implementations and/or filesystems.
+
+ We have provided a pure MPI test program, as well as a standalone HDF5
+ program, that can be used to determine if this is an issue on your system.
+ They should be run across multiple nodes with a varying number of processes.
+ These programs can be found at:
+ http://www.hdfgroup.org/ftp/HDF5/examples/known_problems/
+
+* Parallel mode in AIX will fail some of the testcheck_version.sh tests where
+ it treats "exit(134) the same as if process 0 had received an abort signal.
+ This is fixed and will be available in the next release. AKC - 2009/11/3
+
+* The PathScale MPI implementation, accessing a Panasas file system, would
+ cause H5Fcreate() with H5F_ACC_EXCL to fail even when the file is not
+ existing. This is due to the MPI_File_open() call failing if the amode has
+ the MPI_MODE_EXCL bit set. (See bug 1468 for details.) AKC - 2009/8/11
+
+* Parallel tests failed with 16 processes with data inconsistency at testphdf5
+ / dataset_readAll. Parallel tests also failed with 32 and 64 processes with
+ collective abort of all ranks at t_posix_compliant / allwrite_allread_blocks
+ with MPI IO. (CMC - 2009/04/28)
+
+* For SNL, spirit/liberty/thunderbird: The serial tests pass but parallel
+ tests failed with MPI-IO file locking message. AKC - 2007/6/25.
+* On Intel 64 Linux cluster (RH 4, Linux 2.6.9) with Intel 10.0 compilers use
+ -mp -O1 compilation flags to build the libraries. Higher level of optimization
+ causes failures in several HDF5 library tests.
+* For HPUX 11.23 many tools tests failed for 64-bit version when linked to the
+ shared libraries (tested for 1.8.0-beta2)
+* For SNL, Red Storm: only paralle HDF5 is supported. The serial tests pass
+ and the parallel tests also pass with lots of non-fatal error messages.
+* on SUN 5.10 C++ test fails in the "Testing Shared Datatypes with Attributes" test
+* configuring with --enable-debug=all produces compiler errors on most
+ platforms. Users who want to run HDF5 in debug mode should use
+ --enable-debug rather than --enable-debug=all to enable debugging
+ information on most modules.
+* On Mac OS 10.4, test/dt_arith.c has some errors in conversion from long
+ double to (unsigned) long long and from (unsigned)long long to long double.
+* On Altix SGI with Intel 9.0 testmeta.c would not compile with -O3
+ optimization flag.
+* On VAX, Scaleoffset filter isn't supported. The filter cannot be applied to
+ HDF5 data generated on VAX. Scaleoffset filter only supports IEEE standard
+ for floating-point data.
+* On Cray X1, a lone colon on the command line of h5dump --xml (as in
+ the testh5dumpxml.sh script) is misinterpereted by the operating system
+ and causes an error.
+* On mpich 1.2.5 and 1.2.6, we found that if more than two processes
+ contribute no IO and the application asks to do IO with collective, we found
+ that when using 4 processors, a simple collective write will be hung
+ sometimes. This can be verified with t_mpi test under testpar.
+* The dataset created or rewritten with the v1.6.3 library or after can't
+ be read with the v1.6.2 library or before when Fletcher32 EDC(filter) is
+ enabled. There was a bug in the calculating code of the Fletcher32
+ checksum in the library before v1.6.3. The checksum value wasn't consistent
+ between big-endian and little-endian systems. This bug was fixed in
+ Release 1.6.3. However, after fixing the bug, the checksum value is no
+ longer the same as before on little-endian system. The library release
+ after 1.6.4 can still read the dataset created or rewritten with the library
+ of v1.6.2 or before. SLU - 2005/6/30
+* For the version 6(6.02 and 6.04) of Portland Group compiler on AMD Opteron
+ processor, there's a bug in the compiler for optimization(-O2). The library
+ failed in several tests but all related to multi driver. The problem has
+ been reported to the vendor.
+* On IBM AIX systems, parallel HDF5 mode will fail some tests with error
+ messages like "INFO: 0031-XXX ...". This is from the command poe.
+ Set the environment variable MP_INFOLEVEL to 0 to minimize the messages
+ and run the tests again.
+ The tests may fail with messages like "The socket name is already
+ in use". HDF5 does not use sockets (except for stream-VFD). This is
+ due to problems of the poe command trying to set up the debug socket.
+ Check if there are many old /tmp/s.pedb.* staying around. These are
+ sockets used by the poe command and left behind due to failed commands.
+ Ask your system administrator to clean them out. Lastly, request IBM
+ to provide a mean to run poe without the debug socket.
+
+* The C++ library's tests fails when compiling with PGI C++ compiler. The
+ workaround until the problem is correctly handled is to use the
+ flag "--instantiate=local" prior to the configure and build steps, as:
+ setenv CXX "pgCC --instantiate=local" for pgCC 5.02 and higher
+
+
+* The stream-vfd test uses ip port 10007 for testing. If another
+ application is already using that port address, the test will hang
+ indefinitely and has to be terminated by the kill command. To try the
+ test again, change the port address in test/stream_test.c to one not
+ being used in the host.
+
+* The --enable-static-exec configure flag will only statically link libraries
+ if the static version of that library is present. If only the shared version
+ of a library exists (i.e., most system libraries on Solaris, AIX, and Mac,
+ for example, only have shared versions), the flag should still result in a
+ successful compilation, but note that the installed executables will not be
+ fully static. Thus, the only guarantee on these systems is that the
+ executable is statically linked with just the HDF5 library.
+
+* With the gcc 2.95.2 compiler, HDF 5 uses the `-ansi' flag during
+ compilation. The ANSI version of the compiler complains about not being
+ able to handle the `long long' datatype with the warning:
+
+ warning: ANSI C does not support `long long'
+
+ This warning is innocuous and can be safely ignored.
+
+* Certain platforms give false negatives when testing h5ls:
+ - Cray J90 and Cray T90IEEE give errors during testing when displaying
+ some floating-point values. These are benign differences due to
+ the different precision in the values displayed and h5ls appears to
+ be dumping floating-point numbers correctly.
+
+* Not all platforms behave correctly with szip's shared libraries. Szip is
+ disabled in these cases, and a message is relayed at configure time. Static
+ libraries should be working on all systems that support szip, and should be
+ used when shared libraries are unavailable. There is also a configure error
+ on Altix machines that incorrectly reports when a version of szip without
+ an encoder is being used.
+
+* On some platforms that use Intel and Absoft compilers to build HDF5 fortran library,
+ compilation may fail for fortranlib_test.f90, fflush1.f90 and fflush2.f90
+ complaining about exit subroutine. Comment out the line
+ IF (total_error .ne. 0) CALL exit (total_error)
+
+* Information about building with PGI and Intel compilers is available in
+ INSTALL file sections 5.7 and 5.8
+
+* On at least one system, (SDSC DataStar), the scheduler (in this case
+ LoadLeveler) sends job status updates to standard error when you run
+ any executable that was compiled with the parallel compilers.
+
+ This causes problems when running "make check" on parallel builds, as
+ many of the tool tests function by saving the output from test runs,
+ and comparing it to an exemplar.
+
+ The best solution is to reconfigure the target system so it no longer
+ inserts the extra text. However, this may not be practical.
+
+ In such cases, one solution is to "setenv HDF5_Make_Ignore yes" prior to
+ the configure and build. This will cause "make check" to continue after
+ detecting errors in the tool tests. However, in the case of SDSC DataStar,
+ it also leaves you with some 150 "failed" tests to examine by hand.
+
+ A second solution is to write a script to run serial tests and filter
+ out the text added by the scheduler. A sample script used on SDSC
+ DataStar is given below, but you will probably have to customize it
+ for your installation.
+
+ Observe that the basic idea is to insert the script as the first item
+ on the command line which executes the the test. The script then
+ executes the test and filters out the offending text before passing
+ it on.
+
+ #!/bin/csh
+
+ set STDOUT_FILE=~/bin/serial_filter.stdout
+ set STDERR_FILE=~/bin/serial_filter.stderr
+
+ rm -f $STDOUT_FILE $STDERR_FILE
+
+ ($* > $STDOUT_FILE) >& $STDERR_FILE
+
+ set RETURN_VALUE=$status
+
+ cat $STDOUT_FILE
+
+ tail +3 $STDERR_FILE
+
+ exit $RETURN_VALUE
+
+ You get the HDF make files and test scipts to execute your filter script
+ by setting the environment variable "RUNSERIAL" to the full path of the
+ script prior to running configure for parallel builds. Remember to
+ "unsetenv RUNSERIAL" before running configure for a serial build.
+
+ Note that the RUNSERIAL environment variable exists so that we can
+ can prefix serial runs as necessary on the target system. On DataStar,
+ no prefix is necessary. However on an MPICH system, the prefix might
+ have to be set to something like "/usr/local/mpi/bin/mpirun -np 1" to
+ get the serial tests to run at all.
+
+ In such cases, you will have to include the regular prefix in your
+ filter script.
+
+* H5Ocopy() does not copy reg_ref attributes correctly when shared-message
+ is turn on. The value of the reference in the destination attriubte is
+ wrong. This H5Ocopy problem will affect h5copy tool
+
diff --git a/release_docs/HISTORY-1_9.txt b/release_docs/HISTORY-1_9.txt
deleted file mode 100644
index 8e7648a..0000000
--- a/release_docs/HISTORY-1_9.txt
+++ /dev/null
@@ -1,6 +0,0 @@
- HDF5 HISTORY
- ============
- This file contains history of the HDF5 1.9 branch
-
- CONTENTS
-
diff --git a/release_docs/RELEASE.txt b/release_docs/RELEASE.txt
index 7c4db76..3ab04d3 100644
--- a/release_docs/RELEASE.txt
+++ b/release_docs/RELEASE.txt
@@ -167,8 +167,8 @@ Other New Features and Enhancements
- A bin/restore.sh script was added that reverts autogen.sh processing.
(DER, 2016/11/08)
-
+
Fortran Library:
----------------
@@ -356,7 +356,7 @@ Bug Fixes since HDF5-1.10.0-patch1 release
(VC, 2016/05/29, HDFFV-9434)
- (a) Throw an error instead of assertion when v1 btree level hits the 1 byte limit.
- (b) Modifications to better handle error recovery when conversion by
+ (b) Modifications to better handle error recovery when conversion by
h5format_convert fails.
(VC 2016/05/29, HDFFV-9434)
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 9321bbd..e2acd30 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -520,6 +520,7 @@ set (H5PL_SOURCES
set (H5PL_HDRS
${HDF5_SRC_DIR}/H5PLextern.h
+ ${HDF5_SRC_DIR}/H5PLpkg.h
${HDF5_SRC_DIR}/H5PLpublic.h
)
IDE_GENERATED_PROPERTIES ("H5PL" "${H5PL_HDRS}" "${H5PL_SOURCES}" )
diff --git a/src/H5Cdbg.c b/src/H5Cdbg.c
index 0bb00d7..4a08d9b 100644
--- a/src/H5Cdbg.c
+++ b/src/H5Cdbg.c
@@ -28,12 +28,16 @@
#include "H5Cmodule.h" /* This source code file is part of the H5C module */
+#define H5AC_FRIEND
+
+
+
/***********/
/* Headers */
/***********/
#include "H5private.h" /* Generic Functions */
-#include "H5ACprivate.h" /* Metadata Cache */
+#include "H5ACpkg.h" /* Metadata Cache */
#include "H5Cpkg.h" /* Cache */
#include "H5Eprivate.h" /* Error Handling */
@@ -338,6 +342,107 @@ H5C_dump_cache_skip_list(H5C_t * cache_ptr, char * calling_fcn)
/*-------------------------------------------------------------------------
+ * Function: H5C_dump_coll_write_list
+ *
+ * Purpose: Debugging routine that prints a summary of the contents of
+ * the collective write skip list used by the metadata cache
+ * in the parallel case to maintain a list of entries to write
+ * collectively at a sync point.
+ *
+ * Return: Non-negative on success/Negative on failure
+ *
+ * Programmer: John Mainzer
+ * 4/1/17
+ *
+ *-------------------------------------------------------------------------
+ */
+#ifdef H5_HAVE_PARALLEL
+#ifndef NDEBUG
+herr_t
+H5C_dump_coll_write_list(H5C_t * cache_ptr, char * calling_fcn)
+{
+ herr_t ret_value = SUCCEED; /* Return value */
+ int i;
+ int list_len;
+ H5AC_aux_t * aux_ptr = NULL;
+ H5C_cache_entry_t * entry_ptr = NULL;
+ H5SL_node_t * node_ptr = NULL;
+
+ FUNC_ENTER_NOAPI_NOERR
+
+ HDassert(cache_ptr != NULL);
+ HDassert(cache_ptr->magic == H5C__H5C_T_MAGIC);
+ HDassert(cache_ptr->aux_ptr);
+
+ aux_ptr = (H5AC_aux_t *)cache_ptr->aux_ptr;
+
+ HDassert(aux_ptr->magic == H5AC__H5AC_AUX_T_MAGIC);
+
+ HDassert(calling_fcn != NULL);
+
+ list_len = (int)H5SL_count(cache_ptr->coll_write_list);
+
+ HDfprintf(stdout, "\n\nDumping MDC coll write list from %d:%s.\n",
+ aux_ptr->mpi_rank, calling_fcn);
+ HDfprintf(stdout, " slist len = %u.\n", cache_ptr->slist_len);
+
+ if ( list_len > 0 ) {
+
+ /* scan the collective write list generating the desired output */
+ HDfprintf(stdout,
+ "Num: Addr: Len: Prot/Pind: Dirty: Type:\n");
+
+ i = 0;
+
+ node_ptr = H5SL_first(cache_ptr->coll_write_list);
+
+ if ( node_ptr != NULL )
+
+ entry_ptr = (H5C_cache_entry_t *)H5SL_item(node_ptr);
+
+ else
+
+ entry_ptr = NULL;
+
+ while ( entry_ptr != NULL ) {
+
+ HDassert(entry_ptr->magic == H5C__H5C_CACHE_ENTRY_T_MAGIC);
+
+ HDfprintf(stdout,
+ "%s%d 0x%016llx %4lld %d/%d %d %s\n",
+ cache_ptr->prefix, i,
+ (long long)(entry_ptr->addr),
+ (long long)(entry_ptr->size),
+ (int)(entry_ptr->is_protected),
+ (int)(entry_ptr->is_pinned),
+ (int)(entry_ptr->is_dirty),
+ entry_ptr->type->name);
+
+ node_ptr = H5SL_next(node_ptr);
+
+ if ( node_ptr != NULL )
+
+ entry_ptr = (H5C_cache_entry_t *)H5SL_item(node_ptr);
+
+ else
+
+ entry_ptr = NULL;
+
+ i++;
+
+ } /* end while */
+ } /* end if */
+
+ HDfprintf(stdout, "\n\n");
+
+ FUNC_LEAVE_NOAPI(ret_value)
+
+} /* H5C_dump_coll_write_list() */
+#endif /* NDEBUG */
+#endif /* H5_HAVE_PARALLEL */
+
+
+/*-------------------------------------------------------------------------
* Function: H5C_set_prefix
*
* Purpose: Set the values of the prefix field of H5C_t. This
diff --git a/src/H5Cmpio.c b/src/H5Cmpio.c
index a4afcd4..a75cd88 100644
--- a/src/H5Cmpio.c
+++ b/src/H5Cmpio.c
@@ -948,12 +948,15 @@ H5C__collective_write(H5F_t *f, hid_t dxpl_id)
/* Get original transfer mode */
if(NULL == (plist = (H5P_genplist_t *)H5I_object(dxpl_id)))
- HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, "not a data transfer property list")
+ HGOTO_ERROR(H5E_ARGS, H5E_BADTYPE, FAIL, \
+ "not a data transfer property list")
+
if(H5P_get(plist, H5D_XFER_IO_XFER_MODE_NAME, &orig_xfer_mode) < 0)
HGOTO_ERROR(H5E_PLIST, H5E_CANTSET, FAIL, "can't set MPI-I/O property")
/* Get number of entries in collective write list */
count = (int)H5SL_count(cache_ptr->coll_write_list);
+
if(count > 0) {
H5FD_mpio_xfer_t xfer_mode = H5FD_MPIO_COLLECTIVE;
H5SL_node_t *node;
@@ -962,21 +965,34 @@ H5C__collective_write(H5F_t *f, hid_t dxpl_id)
int i;
if(H5P_set(plist, H5D_XFER_IO_XFER_MODE_NAME, &xfer_mode) < 0)
- HGOTO_ERROR(H5E_PLIST, H5E_CANTSET, FAIL, "can't set MPI-I/O property")
+ HGOTO_ERROR(H5E_PLIST, H5E_CANTSET, FAIL, \
+ "can't set MPI-I/O property")
/* Allocate arrays */
- if(NULL == (length_array = (int *)H5MM_malloc((size_t)count * sizeof(int))))
- HGOTO_ERROR(H5E_RESOURCE, H5E_CANTALLOC, FAIL, "memory allocation failed for collective write table length array")
- if(NULL == (buf_array = (MPI_Aint *)H5MM_malloc((size_t)count * sizeof(MPI_Aint))))
- HGOTO_ERROR(H5E_RESOURCE, H5E_CANTALLOC, FAIL, "memory allocation failed for collective buf table length array")
- if(NULL == (offset_array = (MPI_Aint *)H5MM_malloc((size_t)count * sizeof(MPI_Aint))))
- HGOTO_ERROR(H5E_RESOURCE, H5E_CANTALLOC, FAIL, "memory allocation failed for collective offset table length array")
+ if ( NULL == (length_array =
+ (int *)H5MM_malloc((size_t)count * sizeof(int))) )
+
+ HGOTO_ERROR(H5E_RESOURCE, H5E_CANTALLOC, FAIL, \
+ "memory allocation failed for collective write table length array")
+
+ if ( NULL == (buf_array =
+ (MPI_Aint *)H5MM_malloc((size_t)count * sizeof(MPI_Aint))) )
+
+ HGOTO_ERROR(H5E_RESOURCE, H5E_CANTALLOC, FAIL, \
+ "memory allocation failed for collective buf table length array")
+
+ if(NULL == (offset_array =
+ (MPI_Aint *)H5MM_malloc((size_t)count * sizeof(MPI_Aint))) )
+
+ HGOTO_ERROR(H5E_RESOURCE, H5E_CANTALLOC, FAIL, \
+ "memory allocation failed for collective offset table length array")
/* Fill arrays */
node = H5SL_first(cache_ptr->coll_write_list);
HDassert(node);
if(NULL == (entry_ptr = (H5C_cache_entry_t *)H5SL_item(node)))
- HGOTO_ERROR(H5E_CACHE, H5E_NOTFOUND, FAIL, "can't retrieve skip list item")
+ HGOTO_ERROR(H5E_CACHE, H5E_NOTFOUND, FAIL, \
+ "can't retrieve skip list item")
/* Set up initial array position & buffer base address */
length_array[0] = (int)entry_ptr->size;
@@ -987,8 +1003,10 @@ H5C__collective_write(H5F_t *f, hid_t dxpl_id)
node = H5SL_next(node);
i = 1;
while(node) {
+
if(NULL == (entry_ptr = (H5C_cache_entry_t *)H5SL_item(node)))
- HGOTO_ERROR(H5E_CACHE, H5E_NOTFOUND, FAIL, "can't retrieve skip list item")
+ HGOTO_ERROR(H5E_CACHE, H5E_NOTFOUND, FAIL, \
+ "can't retrieve skip list item")
/* Set up array position */
length_array[i] = (int)entry_ptr->size;
@@ -1001,48 +1019,85 @@ H5C__collective_write(H5F_t *f, hid_t dxpl_id)
} /* end while */
/* Create memory MPI type */
- if(MPI_SUCCESS != (mpi_code = MPI_Type_create_hindexed(count, length_array, buf_array, MPI_BYTE, &btype)))
+ if(MPI_SUCCESS != (mpi_code =
+ MPI_Type_create_hindexed(count, length_array,
+ buf_array, MPI_BYTE,
+ &btype)))
HMPI_GOTO_ERROR(FAIL, "MPI_Type_create_hindexed failed", mpi_code)
+
btype_created = TRUE;
+
if(MPI_SUCCESS != (mpi_code = MPI_Type_commit(&btype)))
HMPI_GOTO_ERROR(FAIL, "MPI_Type_commit failed", mpi_code)
/* Create file MPI type */
- if(MPI_SUCCESS != (mpi_code = MPI_Type_create_hindexed(count, length_array, offset_array, MPI_BYTE, &ftype)))
+ if(MPI_SUCCESS != (mpi_code =
+ MPI_Type_create_hindexed(count, length_array,
+ offset_array, MPI_BYTE,
+ &ftype)))
HMPI_GOTO_ERROR(FAIL, "MPI_Type_create_hindexed failed", mpi_code)
+
ftype_created = TRUE;
+
if(MPI_SUCCESS != (mpi_code = MPI_Type_commit(&ftype)))
HMPI_GOTO_ERROR(FAIL, "MPI_Type_commit failed", mpi_code)
/* Pass buf type, file type to the file driver */
if(H5FD_mpi_setup_collective(dxpl_id, &btype, &ftype) < 0)
- HGOTO_ERROR(H5E_PLIST, H5E_CANTSET, FAIL, "can't set MPI-I/O properties")
+ HGOTO_ERROR(H5E_PLIST, H5E_CANTSET, FAIL, \
+ "can't set MPI-I/O properties")
/* Write data */
- if(H5F_block_write(f, H5FD_MEM_DEFAULT, (haddr_t)0, (size_t)1, dxpl_id, base_buf) < 0)
- HGOTO_ERROR(H5E_CACHE, H5E_CANTFLUSH, FAIL, "unable to write entries collectively")
+ if(H5F_block_write(f, H5FD_MEM_DEFAULT, (haddr_t)0,
+ (size_t)1, dxpl_id, base_buf) < 0)
+ HGOTO_ERROR(H5E_CACHE, H5E_CANTFLUSH, FAIL, \
+ "unable to write entries collectively")
+
} /* end if */
else {
MPI_Status mpi_stat;
- MPI_File mpi_fh_p;
+ MPI_File *mpi_fh_p;
MPI_File mpi_fh;
+ MPI_Info *info_p;
+ MPI_Info info;
if(H5F_get_mpi_handle(f, (MPI_File **)&mpi_fh_p) < 0)
- HGOTO_ERROR(H5E_FILE, H5E_CANTGET, FAIL, "can't get mpi file handle")
+ HGOTO_ERROR(H5E_FILE, H5E_CANTGET, FAIL, \
+ "can't get mpi file handle")
+
mpi_fh = *(MPI_File*)mpi_fh_p;
- /* just to match up with the 1st MPI_File_set_view from H5FD_mpio_write() */
- if(MPI_SUCCESS != (mpi_code = MPI_File_set_view(mpi_fh, (MPI_Offset)0, MPI_BYTE, MPI_BYTE, "native", MPI_INFO_NULL)))
+ if (H5F_get_mpi_info(f, &info_p) < 0)
+ HGOTO_ERROR(H5E_FILE, H5E_CANTGET, FAIL, \
+ "can't get mpi file info")
+
+ info = *info_p;
+
+ /* just to match up with the 1st MPI_File_set_view from
+ * H5FD_mpio_write()
+ */
+ if(MPI_SUCCESS != (mpi_code =
+ MPI_File_set_view(mpi_fh, (MPI_Offset)0, MPI_BYTE,
+ MPI_BYTE, "native",
+ info)))
HMPI_GOTO_ERROR(FAIL, "MPI_File_set_view failed", mpi_code)
/* just to match up with MPI_File_write_at_all from H5FD_mpio_write() */
HDmemset(&mpi_stat, 0, sizeof(MPI_Status));
- if(MPI_SUCCESS != (mpi_code = MPI_File_write_at_all(mpi_fh, (MPI_Offset)0, NULL, 0, MPI_BYTE, &mpi_stat)))
+ if(MPI_SUCCESS != (mpi_code =
+ MPI_File_write_at_all(mpi_fh, (MPI_Offset)0,
+ NULL, 0, MPI_BYTE, &mpi_stat)))
HMPI_GOTO_ERROR(FAIL, "MPI_File_write_at_all failed", mpi_code)
- /* just to match up with the 2nd MPI_File_set_view (reset) in H5FD_mpio_write() */
- if(MPI_SUCCESS != (mpi_code = MPI_File_set_view(mpi_fh, (MPI_Offset)0, MPI_BYTE, MPI_BYTE, "native", MPI_INFO_NULL)))
+ /* just to match up with the 2nd MPI_File_set_view (reset) in
+ * H5FD_mpio_write()
+ */
+ if(MPI_SUCCESS != (mpi_code =
+ MPI_File_set_view(mpi_fh, (MPI_Offset)0, MPI_BYTE,
+ MPI_BYTE, "native",
+ info)))
HMPI_GOTO_ERROR(FAIL, "MPI_File_set_view failed", mpi_code)
+
} /* end else */
done:
@@ -1061,7 +1116,8 @@ done:
if(orig_xfer_mode != H5FD_MPIO_COLLECTIVE) {
HDassert(plist);
if(H5P_set(plist, H5D_XFER_IO_XFER_MODE_NAME, &orig_xfer_mode) < 0)
- HDONE_ERROR(H5E_PLIST, H5E_CANTSET, FAIL, "can't set MPI-I/O property")
+ HDONE_ERROR(H5E_PLIST, H5E_CANTSET, FAIL, \
+ "can't set MPI-I/O property")
} /* end if */
FUNC_LEAVE_NOAPI(ret_value);
diff --git a/src/H5Cprivate.h b/src/H5Cprivate.h
index eb4c681..5335f80 100644
--- a/src/H5Cprivate.h
+++ b/src/H5Cprivate.h
@@ -2338,9 +2338,12 @@ H5_DLL herr_t H5C_dump_cache_LRU(H5C_t *cache_ptr, const char *cache_name);
H5_DLL hbool_t H5C_get_serialization_in_progress(const H5C_t *cache_ptr);
H5_DLL hbool_t H5C_cache_is_clean(const H5C_t *cache_ptr, H5C_ring_t inner_ring);
H5_DLL herr_t H5C_dump_cache_skip_list(H5C_t *cache_ptr, char *calling_fcn);
+#ifdef H5_HAVE_PARALLEL
+H5_DLL herr_t H5C_dump_coll_write_list(H5C_t * cache_ptr, char * calling_fcn);
+#endif /* H5_HAVE_PARALLEL */
H5_DLL herr_t H5C_get_entry_ptr_from_addr(H5C_t *cache_ptr, haddr_t addr,
void **entry_ptr_ptr);
-H5_DLL herr_t H5C_flush_dependency_exists(H5C_t *cache_ptr, haddr_t parent_addr,
+H5_DLL herr_t H5C_flush_dependency_exists(H5C_t *cache_ptr, haddr_t parent_addr,
haddr_t child_addr, hbool_t *fd_exists_ptr);
H5_DLL herr_t H5C_verify_entry_type(H5C_t *cache_ptr, haddr_t addr,
const H5C_class_t *expected_type, hbool_t *in_cache_ptr,
diff --git a/src/H5Dearray.c b/src/H5Dearray.c
index eb8d702..1df0a58 100644
--- a/src/H5Dearray.c
+++ b/src/H5Dearray.c
@@ -1135,7 +1135,7 @@ H5D__earray_idx_get_addr(const H5D_chk_idx_info_t *idx_info, H5D_chunk_ud_t *uda
H5VM_swizzle_coords(hsize_t, swizzled_coords, idx_info->layout->u.earray.unlim_dim);
/* Calculate the index of this chunk */
- idx = H5VM_chunk_index(ndims, swizzled_coords, idx_info->layout->u.earray.swizzled_dim, idx_info->layout->u.earray.swizzled_down_chunks);
+ idx = H5VM_chunk_index(ndims, swizzled_coords, idx_info->layout->u.earray.swizzled_dim, idx_info->layout->u.earray.swizzled_max_down_chunks);
} /* end if */
else {
/* Calculate the index of this chunk */
@@ -1200,7 +1200,8 @@ H5D__earray_idx_resize(H5O_layout_chunk_t *layout)
/* "Swizzle" constant dimensions for this dataset */
if(layout->u.earray.unlim_dim > 0) {
- hsize_t swizzled_chunks[H5O_LAYOUT_NDIMS]; /* Swizzled form of # of chunks in each dimension */
+ hsize_t swizzled_chunks[H5O_LAYOUT_NDIMS]; /* Swizzled form of # of chunks in each dimension */
+ hsize_t swizzled_max_chunks[H5O_LAYOUT_NDIMS]; /* Swizzled form of max # of chunks in each dimension */
/* Get the swizzled chunk dimensions */
HDmemcpy(layout->u.earray.swizzled_dim, layout->dim, (layout->ndims - 1) * sizeof(layout->dim[0]));
@@ -1213,6 +1214,14 @@ H5D__earray_idx_resize(H5O_layout_chunk_t *layout)
/* Get the swizzled "down" sizes for each dimension */
if(H5VM_array_down((layout->ndims - 1), swizzled_chunks, layout->u.earray.swizzled_down_chunks) < 0)
HGOTO_ERROR(H5E_DATASET, H5E_CANTSET, FAIL, "can't compute swizzled 'down' chunk size value")
+
+ /* Get the swizzled max number of chunks in each dimension */
+ HDmemcpy(swizzled_max_chunks, layout->max_chunks, (layout->ndims - 1) * sizeof(swizzled_max_chunks[0]));
+ H5VM_swizzle_coords(hsize_t, swizzled_max_chunks, layout->u.earray.unlim_dim);
+
+ /* Get the swizzled max "down" sizes for each dimension */
+ if(H5VM_array_down((layout->ndims - 1), swizzled_max_chunks, layout->u.earray.swizzled_max_down_chunks) < 0)
+ HGOTO_ERROR(H5E_DATASET, H5E_CANTSET, FAIL, "can't compute swizzled 'down' chunk size value")
} /* end if */
done:
@@ -1412,7 +1421,7 @@ H5D__earray_idx_remove(const H5D_chk_idx_info_t *idx_info, H5D_chunk_common_ud_t
H5VM_swizzle_coords(hsize_t, swizzled_coords, idx_info->layout->u.earray.unlim_dim);
/* Calculate the index of this chunk */
- idx = H5VM_chunk_index(ndims, swizzled_coords, idx_info->layout->u.earray.swizzled_dim, idx_info->layout->u.earray.swizzled_down_chunks);
+ idx = H5VM_chunk_index(ndims, swizzled_coords, idx_info->layout->u.earray.swizzled_dim, idx_info->layout->u.earray.swizzled_max_down_chunks);
} /* end if */
else {
/* Calculate the index of this chunk */
diff --git a/src/H5FDmpi.c b/src/H5FDmpi.c
index 3b2cdef..16be455 100644
--- a/src/H5FDmpi.c
+++ b/src/H5FDmpi.c
@@ -146,6 +146,45 @@ done:
/*-------------------------------------------------------------------------
+ * Function: H5FD_get_mpi_info
+ *
+ * Purpose: Retrieves the file's mpi info
+ *
+ * Return: Success: SUCCEED
+ *
+ * Failure: Negative
+ *
+ * Programmer: John Mainzer
+ * 4/4/17
+ *
+ * Modifications:
+ *
+ *-------------------------------------------------------------------------
+ */
+herr_t
+H5FD_get_mpi_info(H5FD_t *file, void** mpi_info)
+{
+ const H5FD_class_mpi_t *cls;
+ herr_t ret_value = SUCCEED;
+
+ FUNC_ENTER_NOAPI_NOINIT
+
+ HDassert(file);
+ cls = (const H5FD_class_mpi_t *)(file->cls);
+ HDassert(cls);
+ HDassert(cls->get_mpi_info); /* All MPI drivers must implement this */
+
+ /* Dispatch to driver */
+ if ((ret_value=(cls->get_mpi_info)(file, mpi_info)) < 0)
+ HGOTO_ERROR(H5E_VFL, H5E_CANTGET, MPI_COMM_NULL, \
+ "driver get_mpi_info request failed")
+
+done:
+ FUNC_LEAVE_NOAPI(ret_value)
+} /* end H5FD_get_mpi_info() */
+
+
+/*-------------------------------------------------------------------------
* Function: H5FD_mpi_MPIOff_to_haddr
*
* Purpose: Convert an MPI_Offset value to haddr_t.
diff --git a/src/H5FDmpio.c b/src/H5FDmpio.c
index 3d55f3d..ace91f8 100644
--- a/src/H5FDmpio.c
+++ b/src/H5FDmpio.c
@@ -93,6 +93,7 @@ static herr_t H5FD_mpio_truncate(H5FD_t *_file, hid_t dxpl_id, hbool_t closing);
static int H5FD_mpio_mpi_rank(const H5FD_t *_file);
static int H5FD_mpio_mpi_size(const H5FD_t *_file);
static MPI_Comm H5FD_mpio_communicator(const H5FD_t *_file);
+static herr_t H5FD_mpio_get_info(H5FD_t *_file, void** mpi_info);
/* The MPIO file driver information */
static const H5FD_class_mpi_t H5FD_mpio_g = {
@@ -132,7 +133,8 @@ static const H5FD_class_mpi_t H5FD_mpio_g = {
}, /* End of superclass information */
H5FD_mpio_mpi_rank, /*get_rank */
H5FD_mpio_mpi_size, /*get_size */
- H5FD_mpio_communicator /*get_comm */
+ H5FD_mpio_communicator, /*get_comm */
+ H5FD_mpio_get_info /*get_info */
};
#ifdef H5FDmpio_DEBUG
@@ -1306,6 +1308,39 @@ done:
/*-------------------------------------------------------------------------
+ * Function: H5FD_mpio_get_info
+ *
+ * Purpose: Returns the file info of MPIO file driver.
+ *
+ * Returns: Non-negative if succeed or negative if fails.
+ *
+ * Programmer: John Mainzer
+ * April 4, 2017
+ *
+ * Modifications:
+ *
+ *-------------------------------------------------------------------------
+*/
+static herr_t
+H5FD_mpio_get_info(H5FD_t *_file, void** mpi_info)
+{
+ H5FD_mpio_t *file = (H5FD_mpio_t *)_file;
+ herr_t ret_value = SUCCEED;
+
+ FUNC_ENTER_NOAPI_NOINIT
+
+ if(!mpi_info)
+ HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "mpi info not valid")
+
+ *mpi_info = &(file->info);
+
+done:
+ FUNC_LEAVE_NOAPI(ret_value)
+
+} /* H5FD_mpio_get_info() */
+
+
+/*-------------------------------------------------------------------------
* Function: H5FD_mpio_read
*
* Purpose: Reads SIZE bytes of data from FILE beginning at address ADDR
diff --git a/src/H5FDprivate.h b/src/H5FDprivate.h
index e3e1b22..0fc2135 100644
--- a/src/H5FDprivate.h
+++ b/src/H5FDprivate.h
@@ -51,6 +51,7 @@ typedef struct H5FD_class_mpi_t {
int (*get_rank)(const H5FD_t *file); /* Get the MPI rank of a process */
int (*get_size)(const H5FD_t *file); /* Get the MPI size of a communicator */
MPI_Comm (*get_comm)(const H5FD_t *file); /* Get the communicator for a file */
+ herr_t (*get_mpi_info)(H5FD_t *file, void** mpi_info); /* get MPI_Info for a file */
} H5FD_class_mpi_t;
#endif
@@ -200,6 +201,7 @@ H5_DLL herr_t H5FD_get_mpio_atomicity(H5FD_t *file, hbool_t *flag);
H5_DLL int H5FD_mpi_get_rank(const H5FD_t *file);
H5_DLL int H5FD_mpi_get_size(const H5FD_t *file);
H5_DLL MPI_Comm H5FD_mpi_get_comm(const H5FD_t *_file);
+H5_DLL herr_t H5FD_get_mpi_info(H5FD_t *file, void** file_info);
#endif /* H5_HAVE_PARALLEL */
#endif /* !_H5FDprivate_H */
diff --git a/src/H5Fmpi.c b/src/H5Fmpi.c
index e4b4fc8..2ce454a 100644
--- a/src/H5Fmpi.c
+++ b/src/H5Fmpi.c
@@ -354,5 +354,31 @@ done:
FUNC_LEAVE_NOAPI(ret_value)
} /* end H5F_mpi_retrieve_comm */
+/*-------------------------------------------------------------------------
+ * Function: H5F_get_mpi_info
+ *
+ * Purpose: Retrieves MPI File info.
+ *
+ * Return: Success: The size (positive)
+ * Failure: Negative
+ *
+ *-------------------------------------------------------------------------
+ */
+herr_t
+H5F_get_mpi_info(const H5F_t *f, MPI_Info **f_info)
+{
+ herr_t ret_value = SUCCEED;
+
+ FUNC_ENTER_NOAPI(FAIL)
+
+ HDassert(f && f->shared);
+
+ /* Dispatch to driver */
+ if ((ret_value = H5FD_get_mpi_info(f->shared->lf, (void **)f_info)) < 0)
+ HGOTO_ERROR(H5E_FILE, H5E_CANTGET, FAIL, "can't get mpi file info")
+
+done:
+ FUNC_LEAVE_NOAPI(ret_value)
+} /* end H5F_get_mpi_info() */
#endif /* H5_HAVE_PARALLEL */
diff --git a/src/H5Fprivate.h b/src/H5Fprivate.h
index f3aa46d..6f68a62 100644
--- a/src/H5Fprivate.h
+++ b/src/H5Fprivate.h
@@ -850,6 +850,7 @@ H5_DLL int H5F_mpi_get_rank(const H5F_t *f);
H5_DLL MPI_Comm H5F_mpi_get_comm(const H5F_t *f);
H5_DLL int H5F_mpi_get_size(const H5F_t *f);
H5_DLL herr_t H5F_mpi_retrieve_comm(hid_t loc_id, hid_t acspl_id, MPI_Comm *mpi_comm);
+H5_DLL herr_t H5F_get_mpi_info(const H5F_t *f, MPI_Info **f_info);
#endif /* H5_HAVE_PARALLEL */
/* External file cache routines */
diff --git a/src/H5L.c b/src/H5L.c
index fcaa28b..469a86c 100644
--- a/src/H5L.c
+++ b/src/H5L.c
@@ -2349,9 +2349,11 @@ H5L_delete_cb(H5G_loc_t *grp_loc/*in*/, const char *name, const H5O_link_t *lnk,
if(name == NULL)
HGOTO_ERROR(H5E_SYM, H5E_NOTFOUND, FAIL, "name doesn't exist")
- /* Check for removing '.' */
+ /* Check for non-existent (NULL) link.
+ * Note that this can also occur when attempting to remove '.'
+ */
if(lnk == NULL)
- HGOTO_ERROR(H5E_SYM, H5E_CANTDELETE, FAIL, "can't delete self")
+ HGOTO_ERROR(H5E_SYM, H5E_CANTDELETE, FAIL, "callback link pointer is NULL (specified link may be '.' or not exist)")
/* Remove the link from the group */
if(H5G_obj_remove(grp_loc->oloc, grp_loc->path->full_path_r, name, udata->dxpl_id) < 0)
diff --git a/src/H5Oprivate.h b/src/H5Oprivate.h
index e82bf1b..0f798b2 100644
--- a/src/H5Oprivate.h
+++ b/src/H5Oprivate.h
@@ -582,6 +582,7 @@ typedef struct H5O_layout_chunk_earray_t {
unsigned unlim_dim; /* Rank of unlimited dimension for dataset */
uint32_t swizzled_dim[H5O_LAYOUT_NDIMS]; /* swizzled chunk dimensions */
hsize_t swizzled_down_chunks[H5O_LAYOUT_NDIMS]; /* swizzled "down" size of number of chunks in each dimension */
+ hsize_t swizzled_max_down_chunks[H5O_LAYOUT_NDIMS]; /* swizzled max "down" size of number of chunks in each dimension */
} H5O_layout_chunk_earray_t;
typedef struct H5O_layout_chunk_bt2_t {
diff --git a/src/H5PL.c b/src/H5PL.c
index 7bd2e3b..512b00b 100644
--- a/src/H5PL.c
+++ b/src/H5PL.c
@@ -23,15 +23,33 @@
#include "H5private.h" /* Generic Functions */
#include "H5Eprivate.h" /* Error handling */
#include "H5MMprivate.h" /* Memory management */
-#include "H5PLprivate.h" /* Plugin */
+#include "H5PLpkg.h" /* Plugin */
#include "H5Zprivate.h" /* Filter pipeline */
/****************/
/* Local Macros */
/****************/
-
-#define H5PL_MAX_PATH_NUM 16
+#ifdef H5_HAVE_WIN32_API
+#define H5PL_EXPAND_ENV_VAR { \
+ long bufCharCount; \
+ char *tempbuf; \
+ if(NULL == (tempbuf = (char *)H5MM_malloc(H5PL_EXPAND_BUFFER_SIZE))) \
+ HGOTO_ERROR(H5E_PLUGIN, H5E_CANTALLOC, FAIL, "can't allocate memory for expanded path") \
+ if((bufCharCount = ExpandEnvironmentStringsA(dl_path, tempbuf, H5PL_EXPAND_BUFFER_SIZE)) > H5PL_EXPAND_BUFFER_SIZE) { \
+ tempbuf = (char *)H5MM_xfree(tempbuf); \
+ HGOTO_ERROR(H5E_PLUGIN, H5E_NOSPACE, FAIL, "expanded path is too long") \
+ } \
+ if(bufCharCount == 0) { \
+ tempbuf = (char *)H5MM_xfree(tempbuf); \
+ HGOTO_ERROR(H5E_PLUGIN, H5E_CANTGET, FAIL, "failed to expand path") \
+ } \
+ dl_path = (char *)H5MM_xfree(dl_path); \
+ dl_path = tempbuf; \
+ }
+#else
+#define H5PL_EXPAND_ENV_VAR
+#endif /* H5_HAVE_WIN32_API */
/****************************/
/* Macros for supporting
@@ -388,6 +406,244 @@ done:
/*-------------------------------------------------------------------------
+ * Function: H5PLappend
+ *
+ * Purpose: Insert a plugin path at the end of the list.
+ *
+ * Return: Non-negative or success.
+ *
+ *-------------------------------------------------------------------------
+ */
+herr_t
+H5PLappend(const char* plugin_path)
+{
+ herr_t ret_value = SUCCEED; /* Return value */
+ char *dl_path = NULL;
+
+ FUNC_ENTER_API(FAIL)
+ if(H5PL_num_paths_g == H5PL_MAX_PATH_NUM)
+ HGOTO_ERROR(H5E_PLUGIN, H5E_NOSPACE, FAIL, "too many directories in path for table")
+ if(NULL == plugin_path)
+ HGOTO_ERROR(H5E_PLUGIN, H5E_CANTALLOC, FAIL, "no path provided")
+ if(NULL == (dl_path = H5MM_strdup(plugin_path)))
+ HGOTO_ERROR(H5E_PLUGIN, H5E_CANTALLOC, FAIL, "can't allocate memory for path")
+
+ H5PL_EXPAND_ENV_VAR
+
+ H5PL_path_table_g[H5PL_num_paths_g] = dl_path;
+ H5PL_num_paths_g++;
+
+done:
+ FUNC_LEAVE_API(ret_value)
+} /* end H5PLappend() */
+
+
+/*-------------------------------------------------------------------------
+ * Function: H5PLprepend
+ *
+ * Purpose: Insert a plugin path at the beginning of the list.
+ *
+ * Return: Non-negative or success.
+ *
+ *-------------------------------------------------------------------------
+ */
+herr_t
+H5PLprepend(const char* plugin_path)
+{
+ herr_t ret_value = SUCCEED; /* Return value */
+ char *dl_path = NULL;
+ unsigned int plindex;
+
+ FUNC_ENTER_API(FAIL)
+ if(H5PL_num_paths_g == H5PL_MAX_PATH_NUM)
+ HGOTO_ERROR(H5E_PLUGIN, H5E_NOSPACE, FAIL, "too many directories in path for table")
+ if(NULL == plugin_path)
+ HGOTO_ERROR(H5E_PLUGIN, H5E_CANTALLOC, FAIL, "no path provided")
+ if(NULL == (dl_path = H5MM_strdup(plugin_path)))
+ HGOTO_ERROR(H5E_PLUGIN, H5E_CANTALLOC, FAIL, "can't allocate memory for path")
+
+ H5PL_EXPAND_ENV_VAR
+
+ for (plindex = (unsigned int)H5PL_num_paths_g; plindex > 0; plindex--)
+ H5PL_path_table_g[plindex] = H5PL_path_table_g[plindex - 1];
+ H5PL_path_table_g[0] = dl_path;
+ H5PL_num_paths_g++;
+
+done:
+ FUNC_LEAVE_API(ret_value)
+} /* end H5PLprepend() */
+
+
+/*-------------------------------------------------------------------------
+ * Function: H5PLreplace
+ *
+ * Purpose: Replace the path at the specified index.
+ *
+ * Return: Non-negative or success.
+ *
+ *-------------------------------------------------------------------------
+ */
+herr_t
+H5PLreplace(const char* plugin_path, unsigned int index)
+{
+ herr_t ret_value = SUCCEED; /* Return value */
+ char *dl_path = NULL;
+
+ FUNC_ENTER_API(FAIL)
+ if(NULL == plugin_path)
+ HGOTO_ERROR(H5E_PLUGIN, H5E_CANTALLOC, FAIL, "no path provided")
+ if(index >= H5PL_MAX_PATH_NUM)
+ HGOTO_ERROR(H5E_PLUGIN, H5E_NOSPACE, FAIL, "index path out of bounds for table")
+ if(NULL == (dl_path = H5MM_strdup(plugin_path)))
+ HGOTO_ERROR(H5E_PLUGIN, H5E_CANTALLOC, FAIL, "can't allocate memory for path")
+
+ H5PL_EXPAND_ENV_VAR
+
+ if(H5PL_path_table_g[index])
+ H5PL_path_table_g[index] = (char *)H5MM_xfree(H5PL_path_table_g[index]);
+ H5PL_path_table_g[index] = dl_path;
+
+done:
+ FUNC_LEAVE_API(ret_value)
+} /* end H5PLreplace() */
+
+
+/*-------------------------------------------------------------------------
+ * Function: H5PLinsert
+ *
+ * Purpose: Insert a plugin path at the specified index, moving other paths after the index.
+ *
+ * Return: Non-negative or success.
+ *
+ *-------------------------------------------------------------------------
+ */
+herr_t
+H5PLinsert(const char* plugin_path, unsigned int index)
+{
+ herr_t ret_value = SUCCEED; /* Return value */
+ char *dl_path = NULL;
+ unsigned int plindex;
+
+ FUNC_ENTER_API(FAIL)
+ if(H5PL_num_paths_g == H5PL_MAX_PATH_NUM)
+ HGOTO_ERROR(H5E_PLUGIN, H5E_NOSPACE, FAIL, "too many directories in path for table")
+ if(NULL == plugin_path)
+ HGOTO_ERROR(H5E_PLUGIN, H5E_CANTALLOC, FAIL, "no path provided")
+ if(index >= H5PL_MAX_PATH_NUM)
+ HGOTO_ERROR(H5E_PLUGIN, H5E_NOSPACE, FAIL, "index path out of bounds for table")
+ if(NULL == (dl_path = H5MM_strdup(plugin_path)))
+ HGOTO_ERROR(H5E_PLUGIN, H5E_CANTALLOC, FAIL, "can't allocate memory for path")
+
+ H5PL_EXPAND_ENV_VAR
+
+ for(plindex = (unsigned int)H5PL_num_paths_g; plindex > index; plindex--)
+ H5PL_path_table_g[plindex] = H5PL_path_table_g[plindex - 1];
+ H5PL_path_table_g[index] = dl_path;
+ H5PL_num_paths_g++;
+
+done:
+ FUNC_LEAVE_API(ret_value)
+} /* end H5PLinsert() */
+
+
+/*-------------------------------------------------------------------------
+ * Function: H5PLremove
+ *
+ * Purpose: Remove the plugin path at the specifed index and compacting the list.
+ *
+ * Return: Non-negative or success.
+ *
+ *-------------------------------------------------------------------------
+ */
+herr_t
+H5PLremove(unsigned int index)
+{
+ herr_t ret_value = SUCCEED; /* Return value */
+ unsigned int plindex;
+
+ FUNC_ENTER_API(FAIL)
+ if(H5PL_num_paths_g == 0)
+ HGOTO_ERROR(H5E_PLUGIN, H5E_NOSPACE, FAIL, "no directories in table")
+ if(index >= H5PL_MAX_PATH_NUM)
+ HGOTO_ERROR(H5E_PLUGIN, H5E_NOSPACE, FAIL, "index path out of bounds for table")
+ if(NULL == H5PL_path_table_g[index])
+ HGOTO_ERROR(H5E_PLUGIN, H5E_CANTALLOC, FAIL, "no directory path at index")
+ H5PL_path_table_g[index] = (char *)H5MM_xfree(H5PL_path_table_g[index]);
+
+ H5PL_num_paths_g--;
+ for(plindex = index; plindex < (unsigned int)H5PL_num_paths_g; plindex++)
+ H5PL_path_table_g[plindex] = H5PL_path_table_g[plindex + 1];
+ H5PL_path_table_g[H5PL_num_paths_g] = NULL;
+
+done:
+ FUNC_LEAVE_API(ret_value)
+} /* end H5PLremove() */
+
+
+/*-------------------------------------------------------------------------
+ * Function: H5PLget
+ *
+ * Purpose: Query the plugin path at the specified index.
+ *
+ * Return: Success: The length of path.
+ *
+ * If `pathname' is non-NULL then write up to `size' bytes into that
+ * buffer and always return the length of the pathname.
+ * Otherwise `size' is ignored and the function does not store the pathname,
+ * just returning the number of characters required to store the pathname.
+ * If an error occurs then the buffer pointed to by `pathname' (NULL or non-NULL)
+ * is unchanged and the function returns a negative value.
+ * If a zero is returned for the name's length, then there is no pathname
+ * associated with the index.
+ *
+ *-------------------------------------------------------------------------
+ */
+ssize_t
+H5PLget(unsigned int index, char *pathname/*out*/, size_t size)
+{
+ ssize_t ret_value = 0; /* Return value */
+ ssize_t len = 0; /* Length of pathname */
+ char *dl_path = NULL;
+
+ FUNC_ENTER_API(FAIL)
+ if(H5PL_num_paths_g == 0)
+ HGOTO_ERROR(H5E_PLUGIN, H5E_NOSPACE, FAIL, "no directories in table")
+ if(index >= H5PL_MAX_PATH_NUM)
+ HGOTO_ERROR(H5E_PLUGIN, H5E_NOSPACE, FAIL, "index path out of bounds for table")
+ if(NULL == (dl_path = H5PL_path_table_g[index]))
+ HGOTO_ERROR(H5E_PLUGIN, H5E_CANTALLOC, FAIL, "no directory path at index")
+ len = HDstrlen(dl_path);
+ if(pathname) {
+ HDstrncpy(pathname, dl_path, MIN((size_t)(len + 1), size));
+ if((size_t)len >= size)
+ pathname[size - 1] = '\0';
+ } /* end if */
+
+ /* Set return value */
+ ret_value = len;
+
+done:
+ FUNC_LEAVE_API(ret_value)
+} /* end H5PLget() */
+
+
+/*-------------------------------------------------------------------------
+ * Function: H5PLsize
+ *
+ * Purpose: Query the size of the current list of plugin paths.
+ *
+ * Return: Non-negative or success.
+ *
+ *-------------------------------------------------------------------------
+ */
+unsigned int
+H5PLsize(void)
+{
+ return (unsigned int)H5PL_num_paths_g;
+} /* end H5PLsize() */
+
+
+/*-------------------------------------------------------------------------
* Function: H5PL__init_path_table
*
* Purpose: Initialize the path table.
@@ -420,25 +676,7 @@ H5PL__init_path_table(void)
if(NULL == dl_path)
HGOTO_ERROR(H5E_PLUGIN, H5E_CANTALLOC, FAIL, "can't allocate memory for path")
-#ifdef H5_HAVE_WIN32_API
- else { /* Expand windows env var*/
- long bufCharCount;
- char *tempbuf;
- if(NULL == (tempbuf = (char *)H5MM_malloc(H5PL_EXPAND_BUFFER_SIZE)))
- HGOTO_ERROR(H5E_PLUGIN, H5E_CANTALLOC, FAIL, "can't allocate memory for expanded path")
- if((bufCharCount = ExpandEnvironmentStrings(dl_path, tempbuf, H5PL_EXPAND_BUFFER_SIZE)) > H5PL_EXPAND_BUFFER_SIZE) {
- tempbuf = (char *)H5MM_xfree(tempbuf);
- HGOTO_ERROR(H5E_PLUGIN, H5E_NOSPACE, FAIL, "expanded path is too long")
- }
- if(bufCharCount == 0) {
- tempbuf = (char *)H5MM_xfree(tempbuf);
- HGOTO_ERROR(H5E_PLUGIN, H5E_CANTGET, FAIL, "failed to expand path")
- }
- dl_path = (char *)H5MM_xfree(dl_path);
- dl_path = H5MM_strdup(tempbuf);
- tempbuf = (char *)H5MM_xfree(tempbuf);
- }
-#endif /* H5_HAVE_WIN32_API */
+ H5PL_EXPAND_ENV_VAR
/* Put paths in the path table. They are separated by ":" */
dir = HDstrtok(dl_path, H5PL_PATH_SEPARATOR);
diff --git a/src/H5PLpkg.h b/src/H5PLpkg.h
new file mode 100644
index 0000000..5cf3096
--- /dev/null
+++ b/src/H5PLpkg.h
@@ -0,0 +1,50 @@
+/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
+ * Copyright by The HDF Group. *
+ * Copyright by the Board of Trustees of the University of Illinois. *
+ * All rights reserved. *
+ * *
+ * This file is part of HDF5. The full HDF5 copyright notice, including *
+ * terms governing use, modification, and redistribution, is contained in *
+ * the files COPYING and Copyright.html. COPYING can be found at the root *
+ * of the source code distribution tree; Copyright.html can be found at the *
+ * root level of an installed copy of the electronic HDF5 document set and *
+ * is linked from the top-level documents page. It can also be found at *
+ * http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have *
+ * access to either file, you may request a copy from help@hdfgroup.org. *
+ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+
+#if !(defined H5PL_FRIEND || defined H5PL_MODULE)
+#error "Do not include this file outside the H5PL package!"
+#endif
+
+#ifndef _H5PLpkg_H
+#define _H5PLpkg_H
+
+/* Include private header file */
+#include "H5PLprivate.h" /* Filter functions */
+
+/* Other private headers needed by this file */
+
+/**************************/
+/* Package Private Macros */
+/**************************/
+
+#define H5PL_MAX_PATH_NUM 16
+
+
+/****************************/
+/* Package Private Typedefs */
+/****************************/
+
+
+/*****************************/
+/* Package Private Variables */
+/*****************************/
+
+
+/******************************/
+/* Package Private Prototypes */
+/******************************/
+
+#endif /* _H5PLpkg_H */
+
diff --git a/src/H5PLpublic.h b/src/H5PLpublic.h
index 5b80a5c..fc638a0 100644
--- a/src/H5PLpublic.h
+++ b/src/H5PLpublic.h
@@ -42,6 +42,13 @@ extern "C" {
/* plugin state */
H5_DLL herr_t H5PLset_loading_state(unsigned int plugin_type);
H5_DLL herr_t H5PLget_loading_state(unsigned int* plugin_type/*out*/);
+H5_DLL herr_t H5PLappend(const char* plugin_path);
+H5_DLL herr_t H5PLprepend(const char* plugin_path);
+H5_DLL herr_t H5PLreplace(const char* plugin_path, unsigned int index);
+H5_DLL herr_t H5PLinsert(const char* plugin_path, unsigned int index);
+H5_DLL herr_t H5PLremove(unsigned int index);
+H5_DLL ssize_t H5PLget(unsigned int index, char *pathname/*out*/, size_t size);
+H5_DLL unsigned int H5PLsize(void);
#ifdef __cplusplus
}
diff --git a/test/CMakeTests.cmake b/test/CMakeTests.cmake
index 017efba..94b099c 100644
--- a/test/CMakeTests.cmake
+++ b/test/CMakeTests.cmake
@@ -761,7 +761,7 @@ if (NOT CYGWIN)
endif ()
set_tests_properties (H5TEST-cache PROPERTIES
DEPENDS H5TEST-clear-cache-objects
- ENVIRONMENT "srcdir=${HDF5_TEST_BINARY_DIR}/H5TEST;HDF5TestExpress=${HDF_TEST_EXPRESS}"
+ ENVIRONMENT "srcdir=${HDF5_TEST_BINARY_DIR}/H5TEST;HDF5TestExpress=3"
WORKING_DIRECTORY ${HDF5_TEST_BINARY_DIR}/H5TEST
)
set_tests_properties (H5TEST-cache PROPERTIES TIMEOUT 1800)
@@ -779,7 +779,7 @@ add_test (
add_test (NAME H5TEST-cache_image COMMAND $<TARGET_FILE:cache_image>)
set_tests_properties (H5TEST-cache_image PROPERTIES
DEPENDS H5TEST-clear-cache_image-objects
- ENVIRONMENT "srcdir=${HDF5_TEST_BINARY_DIR}/H5TEST"
+ ENVIRONMENT "srcdir=${HDF5_TEST_BINARY_DIR}/H5TEST;HDF5TestExpress=3"
WORKING_DIRECTORY ${HDF5_TEST_BINARY_DIR}/H5TEST
)
diff --git a/test/fheap.c b/test/fheap.c
index 0d41db9..11ee760 100644
--- a/test/fheap.c
+++ b/test/fheap.c
@@ -79,6 +79,10 @@
#define DBLOCK_SIZE(fh, r) H5HF_get_dblock_size_test(fh, r) /* Size of a direct block in a given row */
#define DBLOCK_FREE(fh, r) H5HF_get_dblock_free_test(fh, r) /* Free space in a direct block of a given row */
+/* The number of settings for testing: page buffering, file space strategy and persisting free-space */
+#define NUM_PB_FS 6
+#define PAGE_BUFFER_PAGE_SIZE 4096
+
const char *FILENAME[] = {
"fheap",
NULL
@@ -547,7 +551,7 @@ begin_test(fheap_test_param_t *tparam, const char *base_desc,
del_str = get_del_string(tparam);
HDassert(del_str);
test_desc = (char *)H5MM_malloc(HDstrlen(del_str) + HDstrlen(base_desc));
- sprintf(test_desc, base_desc, del_str);
+ HDsprintf(test_desc, base_desc, del_str);
TESTING(test_desc);
H5MM_xfree(del_str);
H5MM_xfree(test_desc);
@@ -7677,10 +7681,10 @@ test_man_incr_insert_remove(hid_t fapl, H5HF_create_t *cparam, fheap_test_param_
TESTING("incremental object insertion and removal")
for(i = 0; i < 100; i++) {
- sprintf(obj1.b, "%s%d", "ABCDEFGHIJKLMNOPQRSTUVWXYZ", i);
+ HDsprintf(obj1.b, "%s%d", "ABCDEFGHIJKLMNOPQRSTUVWXYZ", i);
for(j = 0; j < i; j++) {
- sprintf(obj2.b, "%s%d", "ABCDEFGHIJKLMNOPQRSTUVWXYZ", j);
+ HDsprintf(obj2.b, "%s%d", "ABCDEFGHIJKLMNOPQRSTUVWXYZ", j);
if(H5HF_remove(fh, dxpl, heap_id[j]) < 0)
FAIL_STACK_ERROR
@@ -16365,21 +16369,31 @@ main(void)
fheap_test_param_t tparam; /* Testing parameters */
H5HF_create_t small_cparam; /* Creation parameters for "small" heap */
H5HF_create_t large_cparam; /* Creation parameters for "large" heap */
- hid_t fapl = -1; /* File access property list for data files */
- hid_t fcpl = -1; /* File creation property list for data files */
- hid_t fcpl2 = -1; /* File creation property list for data files */
+ hid_t fapl = -1, def_fapl = -1; /* File access property list for data files */
+ hid_t pb_fapl = -1; /* File access property list for data files */
+ hid_t fcpl = -1, def_fcpl = -1; /* File creation property list for data files */
fheap_test_type_t curr_test; /* Current test being worked on */
- unsigned u; /* Local index variable */
+ unsigned u, v; /* Local index variable */
unsigned nerrors = 0; /* Cumulative error count */
- int ExpressMode; /* Express testing level */
+ unsigned num_pb_fs = 1; /* The number of settings to test for page buffering and file space handling */
+ int ExpressMode; /* Express testing level */
/* Reset library */
h5_reset();
- fapl = h5_fileaccess();
+ def_fapl = h5_fileaccess();
ExpressMode = GetTestExpress();
+
+ /*
+ * Caution when turning on ExpressMode 0:
+ * It will activate testing with different combinations of
+ * page buffering and file space strategy and the
+ * running time will be long.
+ */
if(ExpressMode > 1)
- printf("***Express test mode on. Some tests may be skipped\n");
+ HDprintf("***Express test mode on. Some tests may be skipped\n");
+ else if(ExpressMode == 0)
+ num_pb_fs = NUM_PB_FS;
/* Initialize heap creation parameters */
init_small_cparam(&small_cparam);
@@ -16390,359 +16404,409 @@ main(void)
shared_wobj_g = (unsigned char *)H5MM_malloc(shared_obj_size_g);
shared_robj_g = (unsigned char *)H5MM_malloc(shared_obj_size_g);
- /* create a file creation property list */
- if((fcpl = H5Pcreate(H5P_FILE_CREATE)) < 0)
+ /* Create a copy def_fapl and enable page buffering */
+ if((pb_fapl = H5Pcopy(def_fapl)) < 0)
+ TEST_ERROR
+ if(H5Pset_page_buffer_size(pb_fapl, PAGE_BUFFER_PAGE_SIZE, 0, 0) < 0)
TEST_ERROR
- if((fcpl2 = H5Pcopy(fcpl)) < 0) TEST_ERROR
- /* Set file space strategy and persisting free-space */
- /* This will be modified later on to run the test with different file space strategy setting */
- if(H5Pset_file_space_strategy(fcpl2, H5F_FSPACE_STRATEGY_FSM_AGGR, FALSE, (hsize_t)1) < 0)
+ /* Create a file creation property list */
+ if((def_fcpl = H5Pcreate(H5P_FILE_CREATE)) < 0)
TEST_ERROR
/* Initialize the shared write buffer for objects */
for(u = 0; u < shared_obj_size_g; u++)
shared_wobj_g[u] = (unsigned char)u;
- /* Iterate over the testing parameters */
- for(curr_test = FHEAP_TEST_NORMAL; curr_test < FHEAP_TEST_NTESTS; H5_INC_ENUM(fheap_test_type_t, curr_test)) {
- /* Clear the testing parameters */
- HDmemset(&tparam, 0, sizeof(fheap_test_param_t));
- tparam.actual_id_len = HEAP_ID_LEN;
+ for(v = 0; v < num_pb_fs; v++) {
- /* This will be modified later on to run the test with different file space strategy setting */
- tparam.my_fcpl = fcpl2;
+ if((fcpl = H5Pcopy(def_fcpl)) < 0)
+ TEST_ERROR
- /* Set appropriate testing parameters for each test */
- switch(curr_test) {
- /* "Normal" testing parameters */
- case FHEAP_TEST_NORMAL:
- puts("Testing with normal parameters");
+ switch(v) {
+ case 0:
+ if(H5Pset_file_space_strategy(fcpl, H5F_FSPACE_STRATEGY_FSM_AGGR, FALSE, (hsize_t)1) < 0)
+ TEST_ERROR
+ fapl = def_fapl;
break;
-
- /* "Re-open heap" testing parameters */
- case FHEAP_TEST_REOPEN:
- puts("Testing with reopen heap flag set");
- tparam.reopen_heap = FHEAP_TEST_REOPEN;
+ case 1:
+ if(H5Pset_file_space_strategy(fcpl, H5F_FSPACE_STRATEGY_FSM_AGGR, TRUE, (hsize_t)1) < 0)
+ TEST_ERROR
+ fapl = def_fapl;
+ break;
+ case 2:
+ if(H5Pset_file_space_strategy(fcpl, H5F_FSPACE_STRATEGY_PAGE, FALSE, (hsize_t)1) < 0)
+ TEST_ERROR
+ fapl = def_fapl;
+ break;
+ case 3:
+ if(H5Pset_file_space_strategy(fcpl, H5F_FSPACE_STRATEGY_PAGE, TRUE, (hsize_t)1) < 0)
+ TEST_ERROR
+ fapl = def_fapl;
+ break;
+ case 4:
+ if(H5Pset_file_space_strategy(fcpl, H5F_FSPACE_STRATEGY_PAGE, FALSE, (hsize_t)1) < 0)
+ TEST_ERROR
+ fapl = pb_fapl;
+ break;
+ case 5:
+ if(H5Pset_file_space_strategy(fcpl, H5F_FSPACE_STRATEGY_PAGE, TRUE, (hsize_t)1) < 0)
+ TEST_ERROR
+ fapl = pb_fapl;
break;
- /* An unknown test? */
- case FHEAP_TEST_NTESTS:
+ case NUM_PB_FS:
default:
goto error;
- } /* end switch */
-
- /* Test fractal heap creation */
- nerrors += test_create(fapl, &small_cparam, &tparam);
- nerrors += test_reopen(fapl, &small_cparam, &tparam);
- nerrors += test_open_twice(fapl, &small_cparam, &tparam);
- nerrors += test_delete_open(fapl, &small_cparam, &tparam);
+ }
- nerrors += test_id_limits(fapl, &small_cparam, tparam.my_fcpl);
- nerrors += test_filtered_create(fapl, &small_cparam, tparam.my_fcpl);
- nerrors += test_size(fapl, &small_cparam, tparam.my_fcpl);
- nerrors += test_reopen_hdr(fapl, &small_cparam, tparam.my_fcpl);
+ /* Iterate over the testing parameters */
+ for(curr_test = FHEAP_TEST_NORMAL; curr_test < FHEAP_TEST_NTESTS; H5_INC_ENUM(fheap_test_type_t, curr_test)) {
+ /* Clear the testing parameters */
+ HDmemset(&tparam, 0, sizeof(fheap_test_param_t));
+ tparam.actual_id_len = HEAP_ID_LEN;
- {
- fheap_test_fill_t fill; /* Size of objects to fill heap blocks with */
-
- /* Filling with different sized objects */
- for(fill = FHEAP_TEST_FILL_LARGE; fill < FHEAP_TEST_FILL_N; H5_INC_ENUM(fheap_test_fill_t, fill)) {
- tparam.fill = fill;
+ /* Set to run with different file space setting */
+ tparam.my_fcpl = fcpl;
/* Set appropriate testing parameters for each test */
- switch(fill) {
- /* "Bulk fill" heap blocks with 'large' objects */
- case FHEAP_TEST_FILL_LARGE:
- puts("Bulk-filling blocks w/large objects");
+ switch(curr_test) {
+ /* "Normal" testing parameters */
+ case FHEAP_TEST_NORMAL:
+ HDputs("Testing with normal parameters");
break;
- /* "Bulk fill" heap blocks with 'single' objects */
- case FHEAP_TEST_FILL_SINGLE:
- puts("Bulk-filling blocks w/single object");
+ /* "Re-open heap" testing parameters */
+ case FHEAP_TEST_REOPEN:
+ HDputs("Testing with reopen heap flag set");
+ tparam.reopen_heap = FHEAP_TEST_REOPEN;
break;
/* An unknown test? */
- case FHEAP_TEST_FILL_N:
+ case FHEAP_TEST_NTESTS:
default:
goto error;
} /* end switch */
- /*
- * Test fractal heap managed object insertion
- */
+ /* Test fractal heap creation */
+ nerrors += test_create(fapl, &small_cparam, &tparam);
+ nerrors += test_reopen(fapl, &small_cparam, &tparam);
+ nerrors += test_open_twice(fapl, &small_cparam, &tparam);
+ nerrors += test_delete_open(fapl, &small_cparam, &tparam);
- /* "Weird" sized objects */
- nerrors += test_man_insert_weird(fapl, &small_cparam, &tparam);
+ nerrors += test_id_limits(fapl, &small_cparam, tparam.my_fcpl);
+ nerrors += test_filtered_create(fapl, &small_cparam, tparam.my_fcpl);
+ nerrors += test_size(fapl, &small_cparam, tparam.my_fcpl);
+ nerrors += test_reopen_hdr(fapl, &small_cparam, tparam.my_fcpl);
-#ifdef ALL_INSERT_TESTS
- /* "Standard" sized objects, building from simple to complex heaps */
- nerrors += test_man_insert_first(fapl, &small_cparam, &tparam);
- nerrors += test_man_insert_second(fapl, &small_cparam, &tparam);
- nerrors += test_man_insert_root_mult(fapl, &small_cparam, &tparam);
- nerrors += test_man_insert_force_indirect(fapl, &small_cparam, &tparam);
- nerrors += test_man_insert_fill_second(fapl, &small_cparam, &tparam);
- nerrors += test_man_insert_third_direct(fapl, &small_cparam, &tparam);
- nerrors += test_man_fill_first_row(fapl, &small_cparam, &tparam);
- nerrors += test_man_start_second_row(fapl, &small_cparam, &tparam);
- nerrors += test_man_fill_second_row(fapl, &small_cparam, &tparam);
- nerrors += test_man_start_third_row(fapl, &small_cparam, &tparam);
- nerrors += test_man_fill_fourth_row(fapl, &small_cparam, &tparam);
- nerrors += test_man_fill_all_root_direct(fapl, &small_cparam, &tparam);
- nerrors += test_man_first_recursive_indirect(fapl, &small_cparam, &tparam);
- nerrors += test_man_second_direct_recursive_indirect(fapl, &small_cparam, &tparam);
- nerrors += test_man_fill_first_recursive_indirect(fapl, &small_cparam, &tparam);
- nerrors += test_man_second_recursive_indirect(fapl, &small_cparam, &tparam);
- nerrors += test_man_fill_second_recursive_indirect(fapl, &small_cparam, &tparam);
- nerrors += test_man_fill_recursive_indirect_row(fapl, &small_cparam, &tparam);
- nerrors += test_man_start_2nd_recursive_indirect(fapl, &small_cparam, &tparam);
- nerrors += test_man_recursive_indirect_two_deep(fapl, &small_cparam, &tparam);
- nerrors += test_man_start_3rd_recursive_indirect(fapl, &small_cparam, &tparam);
- nerrors += test_man_fill_first_3rd_recursive_indirect(fapl, &small_cparam, &tparam);
- nerrors += test_man_fill_3rd_recursive_indirect_row(fapl, &small_cparam, &tparam);
- nerrors += test_man_fill_all_3rd_recursive_indirect(fapl, &small_cparam, &tparam);
- nerrors += test_man_start_4th_recursive_indirect(fapl, &small_cparam, &tparam);
- nerrors += test_man_fill_first_4th_recursive_indirect(fapl, &small_cparam, &tparam);
- nerrors += test_man_fill_4th_recursive_indirect_row(fapl, &small_cparam, &tparam);
- nerrors += test_man_fill_all_4th_recursive_indirect(fapl, &small_cparam, &tparam);
-#endif /* ALL_INSERT_TESTS */
- /* If this test fails, uncomment the tests above, which build up to this
- * level of complexity gradually. -QAK
- */
- if(ExpressMode > 1)
- printf("***Express test mode on. test_man_start_5th_recursive_indirect is skipped\n");
- else
- nerrors += test_man_start_5th_recursive_indirect(fapl, &small_cparam, &tparam);
+ {
+ fheap_test_fill_t fill; /* Size of objects to fill heap blocks with */
- /*
- * Test fractal heap object deletion
- */
- /* Simple removal */
- nerrors += test_man_remove_bogus(fapl, &small_cparam, &tparam);
- nerrors += test_man_remove_one(fapl, &small_cparam, &tparam);
- nerrors += test_man_remove_two(fapl, &small_cparam, &tparam);
- nerrors += test_man_remove_one_larger(fapl, &small_cparam, &tparam);
- tparam.del_dir = FHEAP_DEL_FORWARD;
- nerrors += test_man_remove_two_larger(fapl, &small_cparam, &tparam);
- tparam.del_dir = FHEAP_DEL_REVERSE;
- nerrors += test_man_remove_two_larger(fapl, &small_cparam, &tparam);
- tparam.del_dir = FHEAP_DEL_FORWARD;
- nerrors += test_man_remove_three_larger(fapl, &small_cparam, &tparam);
- tparam.del_dir = FHEAP_DEL_REVERSE;
- nerrors += test_man_remove_three_larger(fapl, &small_cparam, &tparam);
-
- /* Incremental insert & removal */
- tparam.del_dir = FHEAP_DEL_FORWARD;
- nerrors += test_man_incr_insert_remove(fapl, &small_cparam, &tparam);
+ /* Filling with different sized objects */
+ for(fill = FHEAP_TEST_FILL_LARGE; fill < FHEAP_TEST_FILL_N; H5_INC_ENUM(fheap_test_fill_t, fill)) {
+ tparam.fill = fill;
- {
- fheap_test_del_dir_t del_dir; /* Deletion direction */
- fheap_test_del_drain_t drain_half; /* Deletion draining */
+ /* Set appropriate testing parameters for each test */
+ switch(fill) {
+ /* "Bulk fill" heap blocks with 'large' objects */
+ case FHEAP_TEST_FILL_LARGE:
+ HDputs("Bulk-filling blocks w/large objects");
+ break;
- /* More complex removal patterns */
- for(del_dir = FHEAP_DEL_FORWARD; del_dir < FHEAP_DEL_NDIRS; H5_INC_ENUM(fheap_test_del_dir_t, del_dir)) {
- tparam.del_dir = del_dir;
- for(drain_half = FHEAP_DEL_DRAIN_ALL; drain_half < FHEAP_DEL_DRAIN_N; H5_INC_ENUM(fheap_test_del_drain_t, drain_half)) {
- tparam.drain_half = drain_half;
- /* Don't need to test deletion directions when deleting entire heap */
- if(tparam.del_dir == FHEAP_DEL_HEAP && tparam.drain_half > FHEAP_DEL_DRAIN_ALL)
+ /* "Bulk fill" heap blocks with 'single' objects */
+ case FHEAP_TEST_FILL_SINGLE:
+ HDputs("Bulk-filling blocks w/single object");
break;
- /* Simple insertion patterns */
- nerrors += test_man_remove_root_direct(fapl, &small_cparam, &tparam);
- nerrors += test_man_remove_two_direct(fapl, &small_cparam, &tparam);
- nerrors += test_man_remove_first_row(fapl, &small_cparam, &tparam);
- nerrors += test_man_remove_first_two_rows(fapl, &small_cparam, &tparam);
- nerrors += test_man_remove_first_four_rows(fapl, &small_cparam, &tparam);
- if(ExpressMode > 1)
- printf("***Express test mode on. Some tests skipped\n");
- else {
- nerrors += test_man_remove_all_root_direct(fapl, &small_cparam, &tparam);
- nerrors += test_man_remove_2nd_indirect(fapl, &small_cparam, &tparam);
- nerrors += test_man_remove_3rd_indirect(fapl, &small_cparam, &tparam);
- } /* end else */
-
- /* Skip blocks insertion */
- /* (covers insertion & deletion of skipped blocks) */
- nerrors += test_man_skip_start_block(fapl, &small_cparam, &tparam);
- nerrors += test_man_skip_start_block_add_back(fapl, &small_cparam, &tparam);
- nerrors += test_man_skip_start_block_add_skipped(fapl, &small_cparam, &tparam);
- nerrors += test_man_skip_2nd_block(fapl, &small_cparam, &tparam);
- nerrors += test_man_skip_2nd_block_add_skipped(fapl, &small_cparam, &tparam);
- nerrors += test_man_fill_one_partial_skip_2nd_block_add_skipped(fapl, &small_cparam, &tparam);
- nerrors += test_man_fill_row_skip_add_skipped(fapl, &small_cparam, &tparam);
- nerrors += test_man_skip_direct_skip_indirect_two_rows_add_skipped(fapl, &small_cparam, &tparam);
- nerrors += test_man_fill_direct_skip_indirect_start_block_add_skipped(fapl, &small_cparam, &tparam);
- nerrors += test_man_fill_direct_skip_2nd_indirect_start_block_add_skipped(fapl, &small_cparam, &tparam);
- nerrors += test_man_fill_2nd_direct_less_one_wrap_start_block_add_skipped(fapl, &small_cparam, &tparam);
- nerrors += test_man_fill_direct_skip_2nd_indirect_skip_2nd_block_add_skipped(fapl, &small_cparam, &tparam);
- nerrors += test_man_fill_direct_skip_indirect_two_rows_add_skipped(fapl, &small_cparam, &tparam);
- nerrors += test_man_fill_direct_skip_indirect_two_rows_skip_indirect_row_add_skipped(fapl, &small_cparam, &tparam);
- nerrors += test_man_fill_2nd_direct_skip_start_block_add_skipped(fapl, &small_cparam, &tparam);
- nerrors += test_man_fill_2nd_direct_skip_2nd_indirect_start_block_add_skipped(fapl, &small_cparam, &tparam);
- nerrors += test_man_fill_2nd_direct_fill_direct_skip_3rd_indirect_start_block_add_skipped(fapl, &small_cparam, &tparam);
- nerrors += test_man_fill_2nd_direct_fill_direct_skip2_3rd_indirect_start_block_add_skipped(fapl, &small_cparam, &tparam);
- nerrors += test_man_fill_3rd_direct_less_one_fill_direct_wrap_start_block_add_skipped(fapl, &small_cparam, &tparam);
- nerrors += test_man_fill_1st_row_3rd_direct_fill_2nd_direct_less_one_wrap_start_block_add_skipped(fapl, &small_cparam, &tparam);
- if(ExpressMode > 1)
- printf("***Express test mode on. Some tests skipped\n");
- else {
- nerrors += test_man_fill_3rd_direct_fill_direct_skip_start_block_add_skipped(fapl, &small_cparam, &tparam);
- nerrors += test_man_fill_3rd_direct_fill_2nd_direct_fill_direct_skip_3rd_indirect_start_block_add_skipped(fapl, &small_cparam, &tparam);
- nerrors += test_man_fill_3rd_direct_fill_2nd_direct_fill_direct_skip_3rd_indirect_two_rows_start_block_add_skipped(fapl, &small_cparam, &tparam);
- nerrors += test_man_fill_3rd_direct_fill_2nd_direct_fill_direct_skip_3rd_indirect_wrap_start_block_add_skipped(fapl, &small_cparam, &tparam);
- nerrors += test_man_fill_4th_direct_less_one_fill_2nd_direct_fill_direct_skip_3rd_indirect_wrap_start_block_add_skipped(fapl, &small_cparam, &tparam);
- } /* end else */
-
- /* Fragmented insertion patterns */
- /* (covers insertion & deletion of fragmented blocks) */
- nerrors += test_man_frag_simple(fapl, &small_cparam, &tparam);
- nerrors += test_man_frag_direct(fapl, &small_cparam, &tparam);
- nerrors += test_man_frag_2nd_direct(fapl, &small_cparam, &tparam);
- nerrors += test_man_frag_3rd_direct(fapl, &small_cparam, &tparam);
+ /* An unknown test? */
+ case FHEAP_TEST_FILL_N:
+ default:
+ goto error;
+ } /* end switch */
+
+ /*
+ * Test fractal heap managed object insertion
+ */
+
+ /* "Weird" sized objects */
+ nerrors += test_man_insert_weird(fapl, &small_cparam, &tparam);
+
+#ifdef ALL_INSERT_TESTS
+ /* "Standard" sized objects, building from simple to complex heaps */
+ nerrors += test_man_insert_first(fapl, &small_cparam, &tparam);
+ nerrors += test_man_insert_second(fapl, &small_cparam, &tparam);
+ nerrors += test_man_insert_root_mult(fapl, &small_cparam, &tparam);
+ nerrors += test_man_insert_force_indirect(fapl, &small_cparam, &tparam);
+ nerrors += test_man_insert_fill_second(fapl, &small_cparam, &tparam);
+ nerrors += test_man_insert_third_direct(fapl, &small_cparam, &tparam);
+ nerrors += test_man_fill_first_row(fapl, &small_cparam, &tparam);
+ nerrors += test_man_start_second_row(fapl, &small_cparam, &tparam);
+ nerrors += test_man_fill_second_row(fapl, &small_cparam, &tparam);
+ nerrors += test_man_start_third_row(fapl, &small_cparam, &tparam);
+ nerrors += test_man_fill_fourth_row(fapl, &small_cparam, &tparam);
+ nerrors += test_man_fill_all_root_direct(fapl, &small_cparam, &tparam);
+ nerrors += test_man_first_recursive_indirect(fapl, &small_cparam, &tparam);
+ nerrors += test_man_second_direct_recursive_indirect(fapl, &small_cparam, &tparam);
+ nerrors += test_man_fill_first_recursive_indirect(fapl, &small_cparam, &tparam);
+ nerrors += test_man_second_recursive_indirect(fapl, &small_cparam, &tparam);
+ nerrors += test_man_fill_second_recursive_indirect(fapl, &small_cparam, &tparam);
+ nerrors += test_man_fill_recursive_indirect_row(fapl, &small_cparam, &tparam);
+ nerrors += test_man_start_2nd_recursive_indirect(fapl, &small_cparam, &tparam);
+ nerrors += test_man_recursive_indirect_two_deep(fapl, &small_cparam, &tparam);
+ nerrors += test_man_start_3rd_recursive_indirect(fapl, &small_cparam, &tparam);
+ nerrors += test_man_fill_first_3rd_recursive_indirect(fapl, &small_cparam, &tparam);
+ nerrors += test_man_fill_3rd_recursive_indirect_row(fapl, &small_cparam, &tparam);
+ nerrors += test_man_fill_all_3rd_recursive_indirect(fapl, &small_cparam, &tparam);
+ nerrors += test_man_start_4th_recursive_indirect(fapl, &small_cparam, &tparam);
+ nerrors += test_man_fill_first_4th_recursive_indirect(fapl, &small_cparam, &tparam);
+ nerrors += test_man_fill_4th_recursive_indirect_row(fapl, &small_cparam, &tparam);
+ nerrors += test_man_fill_all_4th_recursive_indirect(fapl, &small_cparam, &tparam);
+#endif /* ALL_INSERT_TESTS */
+ /* If this test fails, uncomment the tests above, which build up to this
+ * level of complexity gradually. -QAK
+ */
+ if(ExpressMode > 1)
+ HDprintf("***Express test mode on. test_man_start_5th_recursive_indirect is skipped\n");
+ else
+ nerrors += test_man_start_5th_recursive_indirect(fapl, &small_cparam, &tparam);
+
+ /*
+ * Test fractal heap object deletion
+ */
+ /* Simple removal */
+ nerrors += test_man_remove_bogus(fapl, &small_cparam, &tparam);
+ nerrors += test_man_remove_one(fapl, &small_cparam, &tparam);
+ nerrors += test_man_remove_two(fapl, &small_cparam, &tparam);
+ nerrors += test_man_remove_one_larger(fapl, &small_cparam, &tparam);
+ tparam.del_dir = FHEAP_DEL_FORWARD;
+ nerrors += test_man_remove_two_larger(fapl, &small_cparam, &tparam);
+ tparam.del_dir = FHEAP_DEL_REVERSE;
+ nerrors += test_man_remove_two_larger(fapl, &small_cparam, &tparam);
+ tparam.del_dir = FHEAP_DEL_FORWARD;
+ nerrors += test_man_remove_three_larger(fapl, &small_cparam, &tparam);
+ tparam.del_dir = FHEAP_DEL_REVERSE;
+ nerrors += test_man_remove_three_larger(fapl, &small_cparam, &tparam);
+
+ /* Incremental insert & removal */
+ tparam.del_dir = FHEAP_DEL_FORWARD;
+ nerrors += test_man_incr_insert_remove(fapl, &small_cparam, &tparam);
+
+ {
+ fheap_test_del_dir_t del_dir; /* Deletion direction */
+ fheap_test_del_drain_t drain_half; /* Deletion draining */
+
+ /* More complex removal patterns */
+ for(del_dir = FHEAP_DEL_FORWARD; del_dir < FHEAP_DEL_NDIRS; H5_INC_ENUM(fheap_test_del_dir_t, del_dir)) {
+ tparam.del_dir = del_dir;
+ for(drain_half = FHEAP_DEL_DRAIN_ALL; drain_half < FHEAP_DEL_DRAIN_N; H5_INC_ENUM(fheap_test_del_drain_t, drain_half)) {
+ tparam.drain_half = drain_half;
+ /* Don't need to test deletion directions when deleting entire heap */
+ if(tparam.del_dir == FHEAP_DEL_HEAP && tparam.drain_half > FHEAP_DEL_DRAIN_ALL)
+ break;
+
+ /* Simple insertion patterns */
+ nerrors += test_man_remove_root_direct(fapl, &small_cparam, &tparam);
+ nerrors += test_man_remove_two_direct(fapl, &small_cparam, &tparam);
+ nerrors += test_man_remove_first_row(fapl, &small_cparam, &tparam);
+ nerrors += test_man_remove_first_two_rows(fapl, &small_cparam, &tparam);
+ nerrors += test_man_remove_first_four_rows(fapl, &small_cparam, &tparam);
+ if(ExpressMode > 1)
+ HDprintf("***Express test mode on. Some tests skipped\n");
+ else {
+ nerrors += test_man_remove_all_root_direct(fapl, &small_cparam, &tparam);
+ nerrors += test_man_remove_2nd_indirect(fapl, &small_cparam, &tparam);
+ nerrors += test_man_remove_3rd_indirect(fapl, &small_cparam, &tparam);
+ } /* end else */
+
+ /* Skip blocks insertion */
+ /* (covers insertion & deletion of skipped blocks) */
+ nerrors += test_man_skip_start_block(fapl, &small_cparam, &tparam);
+ nerrors += test_man_skip_start_block_add_back(fapl, &small_cparam, &tparam);
+ nerrors += test_man_skip_start_block_add_skipped(fapl, &small_cparam, &tparam);
+ nerrors += test_man_skip_2nd_block(fapl, &small_cparam, &tparam);
+ nerrors += test_man_skip_2nd_block_add_skipped(fapl, &small_cparam, &tparam);
+ nerrors += test_man_fill_one_partial_skip_2nd_block_add_skipped(fapl, &small_cparam, &tparam);
+ nerrors += test_man_fill_row_skip_add_skipped(fapl, &small_cparam, &tparam);
+ nerrors += test_man_skip_direct_skip_indirect_two_rows_add_skipped(fapl, &small_cparam, &tparam);
+ nerrors += test_man_fill_direct_skip_indirect_start_block_add_skipped(fapl, &small_cparam, &tparam);
+ nerrors += test_man_fill_direct_skip_2nd_indirect_start_block_add_skipped(fapl, &small_cparam, &tparam);
+ nerrors += test_man_fill_2nd_direct_less_one_wrap_start_block_add_skipped(fapl, &small_cparam, &tparam);
+ nerrors += test_man_fill_direct_skip_2nd_indirect_skip_2nd_block_add_skipped(fapl, &small_cparam, &tparam);
+ nerrors += test_man_fill_direct_skip_indirect_two_rows_add_skipped(fapl, &small_cparam, &tparam);
+ nerrors += test_man_fill_direct_skip_indirect_two_rows_skip_indirect_row_add_skipped(fapl, &small_cparam, &tparam);
+ nerrors += test_man_fill_2nd_direct_skip_start_block_add_skipped(fapl, &small_cparam, &tparam);
+ nerrors += test_man_fill_2nd_direct_skip_2nd_indirect_start_block_add_skipped(fapl, &small_cparam, &tparam);
+ nerrors += test_man_fill_2nd_direct_fill_direct_skip_3rd_indirect_start_block_add_skipped(fapl, &small_cparam, &tparam);
+ nerrors += test_man_fill_2nd_direct_fill_direct_skip2_3rd_indirect_start_block_add_skipped(fapl, &small_cparam, &tparam);
+ nerrors += test_man_fill_3rd_direct_less_one_fill_direct_wrap_start_block_add_skipped(fapl, &small_cparam, &tparam);
+ nerrors += test_man_fill_1st_row_3rd_direct_fill_2nd_direct_less_one_wrap_start_block_add_skipped(fapl, &small_cparam, &tparam);
+ if(ExpressMode > 1)
+ HDprintf("***Express test mode on. Some tests skipped\n");
+ else {
+ nerrors += test_man_fill_3rd_direct_fill_direct_skip_start_block_add_skipped(fapl, &small_cparam, &tparam);
+ nerrors += test_man_fill_3rd_direct_fill_2nd_direct_fill_direct_skip_3rd_indirect_start_block_add_skipped(fapl, &small_cparam, &tparam);
+ nerrors += test_man_fill_3rd_direct_fill_2nd_direct_fill_direct_skip_3rd_indirect_two_rows_start_block_add_skipped(fapl, &small_cparam, &tparam);
+ nerrors += test_man_fill_3rd_direct_fill_2nd_direct_fill_direct_skip_3rd_indirect_wrap_start_block_add_skipped(fapl, &small_cparam, &tparam);
+ nerrors += test_man_fill_4th_direct_less_one_fill_2nd_direct_fill_direct_skip_3rd_indirect_wrap_start_block_add_skipped(fapl, &small_cparam, &tparam);
+ } /* end else */
+
+ /* Fragmented insertion patterns */
+ /* (covers insertion & deletion of fragmented blocks) */
+ nerrors += test_man_frag_simple(fapl, &small_cparam, &tparam);
+ nerrors += test_man_frag_direct(fapl, &small_cparam, &tparam);
+ nerrors += test_man_frag_2nd_direct(fapl, &small_cparam, &tparam);
+ nerrors += test_man_frag_3rd_direct(fapl, &small_cparam, &tparam);
+ } /* end for */
} /* end for */
- } /* end for */
- /* Reset deletion drain parameter */
- tparam.drain_half = FHEAP_DEL_DRAIN_ALL;
+ /* Reset deletion drain parameter */
+ tparam.drain_half = FHEAP_DEL_DRAIN_ALL;
- } /* end block */
+ } /* end block */
} /* end for */
- } /* end block */
+ } /* end block */
- /*
- * Test fractal heap 'huge' & 'tiny' object insertion & deletion
- */
- {
- fheap_test_del_dir_t del_dir; /* Deletion direction */
- unsigned id_len; /* Length of heap IDs */
-
- /* Test "normal" & "direct" storage of 'huge' & 'tiny' heap IDs */
- for(id_len = 0; id_len < 3; id_len++) {
- /* Set the ID length for this test */
- small_cparam.id_len = (uint16_t)id_len;
-
- /* Print information about each test */
- switch(id_len) {
- /* Use "normal" form for 'huge' object's heap IDs */
- case 0:
- puts("Using 'normal' heap ID format for 'huge' objects");
- break;
+ /*
+ * Test fractal heap 'huge' & 'tiny' object insertion & deletion
+ */
+ {
+ fheap_test_del_dir_t del_dir; /* Deletion direction */
+ unsigned id_len; /* Length of heap IDs */
+
+ /* Test "normal" & "direct" storage of 'huge' & 'tiny' heap IDs */
+ for(id_len = 0; id_len < 3; id_len++) {
+ /* Set the ID length for this test */
+ small_cparam.id_len = (uint16_t)id_len;
+
+ /* Print information about each test */
+ switch(id_len) {
+ /* Use "normal" form for 'huge' object's heap IDs */
+ case 0:
+ HDputs("Using 'normal' heap ID format for 'huge' objects");
+ break;
- /* Use "direct" form for 'huge' object's heap IDs */
- case 1:
- puts("Using 'direct' heap ID format for 'huge' objects");
+ /* Use "direct" form for 'huge' object's heap IDs */
+ case 1:
+ HDputs("Using 'direct' heap ID format for 'huge' objects");
- /* Adjust actual length of heap IDs for directly storing 'huge' object's file offset & length in heap ID */
- tparam.actual_id_len = 17; /* 1 + 8 (file address size) + 8 (file length size) */
- break;
+ /* Adjust actual length of heap IDs for directly storing 'huge' object's file offset & length in heap ID */
+ tparam.actual_id_len = 17; /* 1 + 8 (file address size) + 8 (file length size) */
+ break;
- /* Use "direct" storage for 'huge' objects and larger IDs for 'tiny' objects */
- case 2:
- small_cparam.id_len = 37;
- puts("Using 'direct' heap ID format for 'huge' objects and larger IDs for 'tiny' objects");
- tparam.actual_id_len = 37;
- break;
+ /* Use "direct" storage for 'huge' objects and larger IDs for 'tiny' objects */
+ case 2:
+ small_cparam.id_len = 37;
+ HDputs("Using 'direct' heap ID format for 'huge' objects and larger IDs for 'tiny' objects");
+ tparam.actual_id_len = 37;
+ break;
- /* An unknown test? */
- default:
- goto error;
- } /* end switch */
+ /* An unknown test? */
+ default:
+ goto error;
+ } /* end switch */
+
+ /* Try several different methods of deleting objects */
+ for(del_dir = FHEAP_DEL_FORWARD; del_dir < FHEAP_DEL_NDIRS; H5_INC_ENUM(fheap_test_del_dir_t, del_dir)) {
+ tparam.del_dir = del_dir;
+
+ /* Test 'huge' object insert & delete */
+ nerrors += test_huge_insert_one(fapl, &small_cparam, &tparam);
+ nerrors += test_huge_insert_two(fapl, &small_cparam, &tparam);
+ nerrors += test_huge_insert_three(fapl, &small_cparam, &tparam);
+ nerrors += test_huge_insert_mix(fapl, &small_cparam, &tparam);
+ nerrors += test_filtered_huge(fapl, &small_cparam, &tparam);
+
+ /* Test 'tiny' object insert & delete */
+ nerrors += test_tiny_insert_one(fapl, &small_cparam, &tparam);
+ nerrors += test_tiny_insert_two(fapl, &small_cparam, &tparam);
+ nerrors += test_tiny_insert_mix(fapl, &small_cparam, &tparam);
+ } /* end for */
+ } /* end for */
+
+ /* Reset the "normal" heap ID lengths */
+ small_cparam.id_len = 0;
+ tparam.actual_id_len = HEAP_ID_LEN;
+ } /* end block */
+
+ /* Test I/O filter support */
/* Try several different methods of deleting objects */
+ {
+ fheap_test_del_dir_t del_dir; /* Deletion direction */
+
for(del_dir = FHEAP_DEL_FORWARD; del_dir < FHEAP_DEL_NDIRS; H5_INC_ENUM(fheap_test_del_dir_t, del_dir)) {
tparam.del_dir = del_dir;
- /* Test 'huge' object insert & delete */
- nerrors += test_huge_insert_one(fapl, &small_cparam, &tparam);
- nerrors += test_huge_insert_two(fapl, &small_cparam, &tparam);
- nerrors += test_huge_insert_three(fapl, &small_cparam, &tparam);
- nerrors += test_huge_insert_mix(fapl, &small_cparam, &tparam);
- nerrors += test_filtered_huge(fapl, &small_cparam, &tparam);
-
- /* Test 'tiny' object insert & delete */
- nerrors += test_tiny_insert_one(fapl, &small_cparam, &tparam);
- nerrors += test_tiny_insert_two(fapl, &small_cparam, &tparam);
- nerrors += test_tiny_insert_mix(fapl, &small_cparam, &tparam);
+ /* Controlled tests */
+ /* XXX: Re-enable file size checks in these tests, after the file has persistent free space tracking working */
+ nerrors += test_filtered_man_root_direct(fapl, &small_cparam, &tparam);
+ nerrors += test_filtered_man_root_indirect(fapl, &small_cparam, &tparam);
+
+ /* Random tests, with compressed blocks */
+ tparam.comp = FHEAP_TEST_COMPRESS;
+ nerrors += test_random((curr_test == FHEAP_TEST_NORMAL ? (hsize_t)(50*1000*1000) : (hsize_t)(25*1000*1000)), fapl, &small_cparam, &tparam);
+ nerrors += test_random_pow2((curr_test == FHEAP_TEST_NORMAL ? (hsize_t)(50*1000*1000) : (hsize_t)(2*1000*1000)), fapl, &small_cparam, &tparam);
+
+ /* Reset block compression */
+ tparam.comp = FHEAP_TEST_NO_COMPRESS;
} /* end for */
- } /* end for */
+ } /* end block */
+
+ /* Random object insertion & deletion */
+ if(ExpressMode > 1)
+ HDprintf("***Express test mode on. Some tests skipped\n");
+ else {
+ /* Random tests using "small" heap creation parameters */
+ HDputs("Using 'small' heap creation parameters");
+
+ /* (reduce size of tests when re-opening each time) */
+ /* XXX: Try to speed things up enough that these tests don't have to be reduced when re-opening */
+ tparam.del_dir = FHEAP_DEL_FORWARD;
+ nerrors += test_random((curr_test == FHEAP_TEST_NORMAL ? (hsize_t)(100*1000*1000) : (hsize_t)(50*1000*1000)), fapl, &small_cparam, &tparam);
+ nerrors += test_random_pow2((curr_test == FHEAP_TEST_NORMAL ? (hsize_t)(100*1000*1000) : (hsize_t)(4*1000*1000)), fapl, &small_cparam, &tparam);
+
+ tparam.del_dir = FHEAP_DEL_HEAP;
+ nerrors += test_random((curr_test == FHEAP_TEST_NORMAL ? (hsize_t)(100*1000*1000) : (hsize_t)(50*1000*1000)), fapl, &small_cparam, &tparam);
+ nerrors += test_random_pow2((curr_test == FHEAP_TEST_NORMAL ? (hsize_t)(100*1000*1000) : (hsize_t)(4*1000*1000)), fapl, &small_cparam, &tparam);
- /* Reset the "normal" heap ID lengths */
- small_cparam.id_len = 0;
- tparam.actual_id_len = HEAP_ID_LEN;
- } /* end block */
+ /* Random tests using "large" heap creation parameters */
+ HDputs("Using 'large' heap creation parameters");
+ tparam.actual_id_len = LARGE_HEAP_ID_LEN;
- /* Test I/O filter support */
+ /* (reduce size of tests when re-opening each time) */
+ /* XXX: Try to speed things up enough that these tests don't have to be reduced when re-opening */
+ tparam.del_dir = FHEAP_DEL_FORWARD;
+ nerrors += test_random((curr_test == FHEAP_TEST_NORMAL ? (hsize_t)(100*1000*1000) : (hsize_t)(50*1000*1000)), fapl, &large_cparam, &tparam);
+ nerrors += test_random_pow2((curr_test == FHEAP_TEST_NORMAL ? (hsize_t)(100*1000*1000) : (hsize_t)(4*1000*1000)), fapl, &large_cparam, &tparam);
- /* Try several different methods of deleting objects */
- {
- fheap_test_del_dir_t del_dir; /* Deletion direction */
+ tparam.del_dir = FHEAP_DEL_HEAP;
+ nerrors += test_random((curr_test == FHEAP_TEST_NORMAL ? (hsize_t)(100*1000*1000) : (hsize_t)(50*1000*1000)), fapl, &large_cparam, &tparam);
+ nerrors += test_random_pow2((curr_test == FHEAP_TEST_NORMAL ? (hsize_t)(100*1000*1000) : (hsize_t)(4*1000*1000)), fapl, &large_cparam, &tparam);
- for(del_dir = FHEAP_DEL_FORWARD; del_dir < FHEAP_DEL_NDIRS; H5_INC_ENUM(fheap_test_del_dir_t, del_dir)) {
- tparam.del_dir = del_dir;
+ /* Reset the "normal" heap ID length */
+ tparam.actual_id_len = SMALL_HEAP_ID_LEN;
+ } /* end else */
- /* Controlled tests */
-/* XXX: Re-enable file size checks in these tests, after the file has persistent free space tracking working */
- nerrors += test_filtered_man_root_direct(fapl, &small_cparam, &tparam);
- nerrors += test_filtered_man_root_indirect(fapl, &small_cparam, &tparam);
+ /* Test object writing support */
- /* Random tests, with compressed blocks */
+ /* Basic object writing */
+ nerrors += test_write(fapl, &small_cparam, &tparam);
+
+ /* Writing objects in heap with filters */
tparam.comp = FHEAP_TEST_COMPRESS;
- nerrors += test_random((curr_test == FHEAP_TEST_NORMAL ? (hsize_t)(50*1000*1000) : (hsize_t)(25*1000*1000)), fapl, &small_cparam, &tparam);
- nerrors += test_random_pow2((curr_test == FHEAP_TEST_NORMAL ? (hsize_t)(50*1000*1000) : (hsize_t)(2*1000*1000)), fapl, &small_cparam, &tparam);
+ nerrors += test_write(fapl, &small_cparam, &tparam);
/* Reset block compression */
tparam.comp = FHEAP_TEST_NO_COMPRESS;
} /* end for */
- } /* end block */
-
- /* Random object insertion & deletion */
- if(ExpressMode > 1)
- printf("***Express test mode on. Some tests skipped\n");
- else {
- /* Random tests using "small" heap creation parameters */
- puts("Using 'small' heap creation parameters");
-
- /* (reduce size of tests when re-opening each time) */
-/* XXX: Try to speed things up enough that these tests don't have to be reduced when re-opening */
- tparam.del_dir = FHEAP_DEL_FORWARD;
- nerrors += test_random((curr_test == FHEAP_TEST_NORMAL ? (hsize_t)(100*1000*1000) : (hsize_t)(50*1000*1000)), fapl, &small_cparam, &tparam);
- nerrors += test_random_pow2((curr_test == FHEAP_TEST_NORMAL ? (hsize_t)(100*1000*1000) : (hsize_t)(4*1000*1000)), fapl, &small_cparam, &tparam);
-
- tparam.del_dir = FHEAP_DEL_HEAP;
- nerrors += test_random((curr_test == FHEAP_TEST_NORMAL ? (hsize_t)(100*1000*1000) : (hsize_t)(50*1000*1000)), fapl, &small_cparam, &tparam);
- nerrors += test_random_pow2((curr_test == FHEAP_TEST_NORMAL ? (hsize_t)(100*1000*1000) : (hsize_t)(4*1000*1000)), fapl, &small_cparam, &tparam);
-
- /* Random tests using "large" heap creation parameters */
- puts("Using 'large' heap creation parameters");
- tparam.actual_id_len = LARGE_HEAP_ID_LEN;
-
- /* (reduce size of tests when re-opening each time) */
-/* XXX: Try to speed things up enough that these tests don't have to be reduced when re-opening */
- tparam.del_dir = FHEAP_DEL_FORWARD;
- nerrors += test_random((curr_test == FHEAP_TEST_NORMAL ? (hsize_t)(100*1000*1000) : (hsize_t)(50*1000*1000)), fapl, &large_cparam, &tparam);
- nerrors += test_random_pow2((curr_test == FHEAP_TEST_NORMAL ? (hsize_t)(100*1000*1000) : (hsize_t)(4*1000*1000)), fapl, &large_cparam, &tparam);
-
- tparam.del_dir = FHEAP_DEL_HEAP;
- nerrors += test_random((curr_test == FHEAP_TEST_NORMAL ? (hsize_t)(100*1000*1000) : (hsize_t)(50*1000*1000)), fapl, &large_cparam, &tparam);
- nerrors += test_random_pow2((curr_test == FHEAP_TEST_NORMAL ? (hsize_t)(100*1000*1000) : (hsize_t)(4*1000*1000)), fapl, &large_cparam, &tparam);
-
- /* Reset the "normal" heap ID length */
- tparam.actual_id_len = SMALL_HEAP_ID_LEN;
- } /* end else */
-
- /* Test object writing support */
- /* Basic object writing */
- nerrors += test_write(fapl, &small_cparam, &tparam);
-
- /* Writing objects in heap with filters */
- tparam.comp = FHEAP_TEST_COMPRESS;
- nerrors += test_write(fapl, &small_cparam, &tparam);
+ if(H5Pclose(fcpl) < 0)
+ TEST_ERROR
+ } /* end num_pb_fs */
- /* Reset block compression */
- tparam.comp = FHEAP_TEST_NO_COMPRESS;
- } /* end for */
+ /* Tests that address specific bugs */
+ tparam.my_fcpl = def_fcpl;
+ fapl = def_fapl;
/* Tests that address specific bugs */
nerrors += test_bug1(fapl, &small_cparam, &tparam);
@@ -16752,7 +16816,7 @@ main(void)
if(nerrors)
goto error;
- puts("All fractal heap tests passed.");
+ HDputs("All fractal heap tests passed.");
/* Release space for the shared objects */
H5MM_xfree(shared_wobj_g);
@@ -16761,12 +16825,12 @@ main(void)
H5MM_xfree(shared_lens_g);
H5MM_xfree(shared_offs_g);
- if(H5Pclose(fcpl) < 0) TEST_ERROR
- if(H5Pclose(fcpl2) < 0) TEST_ERROR
+ if(H5Pclose(def_fcpl) < 0) TEST_ERROR
+ if(H5Pclose(pb_fapl) < 0) TEST_ERROR
/* Clean up file used */
#ifndef QAK
- h5_cleanup(FILENAME, fapl);
+ h5_cleanup(FILENAME, def_fapl);
#else /* QAK */
HDfprintf(stderr, "Uncomment cleanup!\n");
#endif /* QAK */
@@ -16774,14 +16838,17 @@ HDfprintf(stderr, "Uncomment cleanup!\n");
return 0;
error:
- puts("*** TESTS FAILED ***");
+ HDputs("*** TESTS FAILED ***");
H5E_BEGIN_TRY {
H5MM_xfree(shared_wobj_g);
H5MM_xfree(shared_robj_g);
H5MM_xfree(shared_ids_g);
H5MM_xfree(shared_lens_g);
H5MM_xfree(shared_offs_g);
- H5Pclose(fapl);
+ H5Pclose(def_fapl);
+ H5Pclose(pb_fapl);
+ H5Pclose(def_fcpl);
+ H5Pclose(fcpl);
} H5E_END_TRY;
return 1;
} /* end main() */
diff --git a/test/plugin.c b/test/plugin.c
index b28c225..ea22c68 100644
--- a/test/plugin.c
+++ b/test/plugin.c
@@ -10,24 +10,26 @@
* help@hdfgroup.org. *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
/*
- * Programmer: Raymond Lu
- * 13 February 2013
+ * Programmer: Raymond Lu
+ * 13 February 2013
*
- * Purpose: Tests the plugin module (H5PL)
+ * Purpose: Tests the plugin module (H5PL)
*/
#include "h5test.h"
#include "H5srcdir.h"
/*
- * This file needs to access private datatypes from the H5Z package.
+ * This file needs to access private datatypes from the H5Z and H5PL package.
*/
+#define H5PL_FRIEND
+#include "H5PLpkg.h"
#define H5Z_FRIEND
#include "H5Zpkg.h"
/* Filters for HDF5 internal test */
#define H5Z_FILTER_DYNLIB1 257
-#define H5Z_FILTER_DYNLIB2 258
+#define H5Z_FILTER_DYNLIB2 258
#define H5Z_FILTER_DYNLIB3 259
#define H5Z_FILTER_DYNLIB4 260
@@ -38,10 +40,10 @@ const char *FILENAME[] = {
#define FILENAME_BUF_SIZE 1024
/* Dataset names for testing filters */
-#define DSET_DEFLATE_NAME "deflate"
-#define DSET_DYNLIB1_NAME "dynlib1"
-#define DSET_DYNLIB2_NAME "dynlib2"
-#define DSET_DYNLIB4_NAME "dynlib4"
+#define DSET_DEFLATE_NAME "deflate"
+#define DSET_DYNLIB1_NAME "dynlib1"
+#define DSET_DYNLIB2_NAME "dynlib2"
+#define DSET_DYNLIB4_NAME "dynlib4"
/* Parameters for internal filter test */
#define FILTER_CHUNK_DIM1 2
@@ -60,65 +62,61 @@ const char *FILENAME[] = {
#define GROUP_ITERATION 1000
-int points_deflate[DSET_DIM1][DSET_DIM2],
- points_dynlib1[DSET_DIM1][DSET_DIM2],
- points_dynlib2[DSET_DIM1][DSET_DIM2],
- points_dynlib4[DSET_DIM1][DSET_DIM2],
- points_bzip2[DSET_DIM1][DSET_DIM2];
+int points_deflate[DSET_DIM1][DSET_DIM2],
+ points_dynlib1[DSET_DIM1][DSET_DIM2],
+ points_dynlib2[DSET_DIM1][DSET_DIM2],
+ points_dynlib4[DSET_DIM1][DSET_DIM2],
+ points_bzip2[DSET_DIM1][DSET_DIM2];
/*-------------------------------------------------------------------------
- * Function: test_filter_internal
+ * Function: test_filter_internal
*
- * Purpose: Tests writing entire data and partial data with filters
- *
- * Return: Success: 0
- * Failure: -1
- *
- * Programmer: Raymond Lu
- * 27 February 2013
+ * Purpose: Tests writing entire data and partial data with filters
*
+ * Return: Success: 0
+ * Failure: -1
*-------------------------------------------------------------------------
*/
static herr_t
test_filter_internal(hid_t fid, const char *name, hid_t dcpl)
{
- hid_t dataset; /* Dataset ID */
- hid_t dxpl; /* Dataset xfer property list ID */
- hid_t write_dxpl; /* Dataset xfer property list ID for writing */
- hid_t sid; /* Dataspace ID */
- const hsize_t size[2] = {DSET_DIM1, DSET_DIM2}; /* Dataspace dimensions */
- const hsize_t hs_offset[2] = {FILTER_HS_OFFSET1, FILTER_HS_OFFSET2}; /* Hyperslab offset */
- const hsize_t hs_size[2] = {FILTER_HS_SIZE1, FILTER_HS_SIZE2}; /* Hyperslab size */
- void *tconv_buf = NULL; /* Temporary conversion buffer */
- int points[DSET_DIM1][DSET_DIM2], check[DSET_DIM1][DSET_DIM2];
- size_t i, j; /* Local index variables */
- int n = 0;
+ herr_t ret_value = -1;
+ hid_t dataset = -1; /* Dataset ID */
+ hid_t dxpl = -1; /* Dataset xfer property list ID */
+ hid_t write_dxpl = -1; /* Dataset xfer property list ID for writing */
+ hid_t sid = -1; /* Dataspace ID */
+ const hsize_t size[2] = {DSET_DIM1, DSET_DIM2}; /* Dataspace dimensions */
+ const hsize_t hs_offset[2] = {FILTER_HS_OFFSET1, FILTER_HS_OFFSET2}; /* Hyperslab offset */
+ const hsize_t hs_size[2] = {FILTER_HS_SIZE1, FILTER_HS_SIZE2}; /* Hyperslab size */
+ void *tconv_buf = NULL; /* Temporary conversion buffer */
+ int points[DSET_DIM1][DSET_DIM2], check[DSET_DIM1][DSET_DIM2];
+ size_t i, j; /* Local index variables */
+ int n = 0;
/* Create the data space */
- if((sid = H5Screate_simple(2, size, NULL)) < 0) goto error;
+ if((sid = H5Screate_simple(2, size, NULL)) < 0) TEST_ERROR
/*
* Create a small conversion buffer to test strip mining. We
* might as well test all we can!
*/
- if((dxpl = H5Pcreate(H5P_DATASET_XFER)) < 0) goto error;
+ if((dxpl = H5Pcreate(H5P_DATASET_XFER)) < 0) TEST_ERROR
tconv_buf = HDmalloc((size_t)1000);
- if(H5Pset_buffer(dxpl, (size_t)1000, tconv_buf, NULL) < 0) goto error;
+ if(H5Pset_buffer(dxpl, (size_t)1000, tconv_buf, NULL) < 0) TEST_ERROR
if((write_dxpl = H5Pcopy(dxpl)) < 0) TEST_ERROR;
TESTING(" filters (setup)");
/* Check if all the filters are available */
- if(H5Pall_filters_avail(dcpl)!=TRUE) {
+ if(H5Pall_filters_avail(dcpl) != TRUE) {
H5_FAILED();
- printf(" Line %d: Incorrect filter availability\n",__LINE__);
- goto error;
+ HDprintf(" Line %d: Incorrect filter availability\n", __LINE__);
+ TEST_ERROR
} /* end if */
/* Create the dataset */
- if((dataset = H5Dcreate2(fid, name, H5T_NATIVE_INT, sid, H5P_DEFAULT,
- dcpl, H5P_DEFAULT)) < 0) goto error;
+ if((dataset = H5Dcreate2(fid, name, H5T_NATIVE_INT, sid, H5P_DEFAULT, dcpl, H5P_DEFAULT)) < 0) TEST_ERROR
PASSED();
@@ -128,20 +126,16 @@ test_filter_internal(hid_t fid, const char *name, hid_t dcpl)
*/
TESTING(" filters (uninitialized read)");
- if(H5Dread(dataset, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, dxpl, check) < 0)
- TEST_ERROR;
-
- for(i=0; i<(size_t)size[0]; i++) {
- for(j=0; j<(size_t)size[1]; j++) {
- if(0!=check[i][j]) {
- H5_FAILED();
- printf(" Read a non-zero value.\n");
- printf(" At index %lu,%lu\n",
- (unsigned long)i, (unsigned long)j);
- goto error;
- }
- }
- }
+ if(H5Dread(dataset, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, dxpl, check) < 0) TEST_ERROR;
+
+ for(i=0; i<(size_t)size[0]; i++)
+ for(j=0; j<(size_t)size[1]; j++)
+ if(0 != check[i][j]) {
+ H5_FAILED();
+ HDprintf(" Read a non-zero value.\n");
+ HDprintf(" At index %lu,%lu\n", (unsigned long)i, (unsigned long)j);
+ TEST_ERROR
+ } /* end if */
PASSED();
/*----------------------------------------------------------------------
@@ -152,14 +146,11 @@ test_filter_internal(hid_t fid, const char *name, hid_t dcpl)
TESTING(" filters (write)");
n = 0;
- for(i=0; i<size[0]; i++) {
- for(j=0; j<size[1]; j++) {
- points[i][j] = (int)(n++);
- }
- }
+ for(i=0; i<size[0]; i++)
+ for(j=0; j<size[1]; j++)
+ points[i][j] = (int)(n++);
- if(H5Dwrite(dataset, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, write_dxpl, points) < 0)
- TEST_ERROR;
+ if(H5Dwrite(dataset, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, write_dxpl, points) < 0) TEST_ERROR;
PASSED();
@@ -170,22 +161,19 @@ test_filter_internal(hid_t fid, const char *name, hid_t dcpl)
TESTING(" filters (read)");
/* Read the dataset back */
- if(H5Dread(dataset, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, dxpl, check) < 0)
- TEST_ERROR;
-
- /* Check that the values read are the same as the values written */
- for(i=0; i<size[0]; i++) {
- for(j=0; j<size[1]; j++) {
- if(points[i][j] != check[i][j]) {
- H5_FAILED();
- fprintf(stderr," Read different values than written.\n");
- fprintf(stderr," At index %lu,%lu\n", (unsigned long)i, (unsigned long)j);
- fprintf(stderr," At original: %d\n", (int)points[i][j]);
- fprintf(stderr," At returned: %d\n", (int)check[i][j]);
- goto error;
- }
- }
- }
+ if(H5Dread(dataset, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, dxpl, check) < 0) TEST_ERROR;
+
+ /* Check that the values read are the same as the values written */
+ for(i=0; i<size[0]; i++)
+ for(j=0; j<size[1]; j++)
+ if(points[i][j] != check[i][j]) {
+ H5_FAILED();
+ HDfprintf(stderr," Read different values than written.\n");
+ HDfprintf(stderr," At index %lu,%lu\n", (unsigned long)i, (unsigned long)j);
+ HDfprintf(stderr," At original: %d\n", (int)points[i][j]);
+ HDfprintf(stderr," At returned: %d\n", (int)check[i][j]);
+ TEST_ERROR
+ } /* end if */
PASSED();
@@ -198,30 +186,24 @@ test_filter_internal(hid_t fid, const char *name, hid_t dcpl)
*/
TESTING(" filters (modify)");
- for(i=0; i<size[0]; i++) {
- for(j=0; j<size[1]/2; j++) {
- points[i][j] = (int)HDrandom () % RANDOM_LIMIT;
- }
- }
- if(H5Dwrite (dataset, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, write_dxpl, points) < 0)
- TEST_ERROR;
-
- /* Read the dataset back and check it */
- if(H5Dread(dataset, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, dxpl, check) < 0)
- TEST_ERROR;
-
- /* Check that the values read are the same as the values written */
- for(i=0; i<size[0]; i++) {
- for(j=0; j<size[1]; j++) {
- if(points[i][j] != check[i][j]) {
- H5_FAILED();
- printf(" Read different values than written.\n");
- printf(" At index %lu,%lu\n",
- (unsigned long)i, (unsigned long)j);
- goto error;
- }
- }
- }
+ for(i=0; i<size[0]; i++)
+ for(j=0; j<size[1]/2; j++)
+ points[i][j] = (int)HDrandom () % RANDOM_LIMIT;
+
+ if(H5Dwrite(dataset, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, write_dxpl, points) < 0) TEST_ERROR;
+
+ /* Read the dataset back and check it */
+ if(H5Dread(dataset, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, dxpl, check) < 0) TEST_ERROR;
+
+ /* Check that the values read are the same as the values written */
+ for(i=0; i<size[0]; i++)
+ for(j=0; j<size[1]; j++)
+ if(points[i][j] != check[i][j]) {
+ H5_FAILED();
+ HDprintf(" Read different values than written.\n");
+ HDprintf(" At index %lu,%lu\n", (unsigned long)i, (unsigned long)j);
+ TEST_ERROR
+ } /* end if */
PASSED();
@@ -236,19 +218,17 @@ test_filter_internal(hid_t fid, const char *name, hid_t dcpl)
if(H5Dclose(dataset) < 0) TEST_ERROR;
if((dataset = H5Dopen2(fid, name, H5P_DEFAULT)) < 0) TEST_ERROR;
- if(H5Dread(dataset, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, dxpl, check) < 0)
- TEST_ERROR;
+ if(H5Dread(dataset, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, dxpl, check) < 0) TEST_ERROR;
- /* Check that the values read are the same as the values written */
- for(i = 0; i < size[0]; i++)
- for(j = 0; j < size[1]; j++)
- if(points[i][j] != check[i][j]) {
- H5_FAILED();
- printf(" Read different values than written.\n");
- printf(" At index %lu,%lu\n",
- (unsigned long)i, (unsigned long)j);
- goto error;
- } /* end if */
+ /* Check that the values read are the same as the values written */
+ for(i = 0; i < size[0]; i++)
+ for(j = 0; j < size[1]; j++)
+ if(points[i][j] != check[i][j]) {
+ H5_FAILED();
+ HDprintf(" Read different values than written.\n");
+ HDprintf(" At index %lu,%lu\n", (unsigned long)i, (unsigned long)j);
+ TEST_ERROR
+ } /* end if */
PASSED();
@@ -260,249 +240,228 @@ test_filter_internal(hid_t fid, const char *name, hid_t dcpl)
*/
TESTING(" filters (partial I/O)");
- for(i=0; i<(size_t)hs_size[0]; i++) {
- for(j=0; j<(size_t)hs_size[1]; j++) {
- points[(size_t)hs_offset[0]+i][(size_t)hs_offset[1]+j] = (int)HDrandom() % RANDOM_LIMIT;
- }
- }
- if(H5Sselect_hyperslab(sid, H5S_SELECT_SET, hs_offset, NULL, hs_size,
- NULL) < 0) TEST_ERROR;
+ for(i=0; i<(size_t)hs_size[0]; i++)
+ for(j=0; j<(size_t)hs_size[1]; j++)
+ points[(size_t)hs_offset[0]+i][(size_t)hs_offset[1]+j] = (int)HDrandom() % RANDOM_LIMIT;
+
+ if(H5Sselect_hyperslab(sid, H5S_SELECT_SET, hs_offset, NULL, hs_size, NULL) < 0) TEST_ERROR;
/* (Use the "read" DXPL because partial I/O on corrupted data test needs to ignore errors during writing) */
- if(H5Dwrite (dataset, H5T_NATIVE_INT, sid, sid, dxpl, points) < 0)
- TEST_ERROR;
-
- if(H5Dread (dataset, H5T_NATIVE_INT, sid, sid, dxpl, check) < 0)
- TEST_ERROR;
-
- /* Check that the values read are the same as the values written */
- for(i=0; i<(size_t)hs_size[0]; i++) {
- for(j=0; j<(size_t)hs_size[1]; j++) {
- if(points[(size_t)hs_offset[0]+i][(size_t)hs_offset[1]+j] !=
- check[(size_t)hs_offset[0]+i][(size_t)hs_offset[1]+j]) {
- H5_FAILED();
- fprintf(stderr," Read different values than written.\n");
- fprintf(stderr," At index %lu,%lu\n",
- (unsigned long)((size_t)hs_offset[0]+i),
- (unsigned long)((size_t)hs_offset[1]+j));
- fprintf(stderr," At original: %d\n",
- (int)points[(size_t)hs_offset[0]+i][(size_t)hs_offset[1]+j]);
- fprintf(stderr," At returned: %d\n",
- (int)check[(size_t)hs_offset[0]+i][(size_t)hs_offset[1]+j]);
- goto error;
- }
- }
- }
+ if(H5Dwrite(dataset, H5T_NATIVE_INT, sid, sid, dxpl, points) < 0) TEST_ERROR;
+
+ if(H5Dread(dataset, H5T_NATIVE_INT, sid, sid, dxpl, check) < 0) TEST_ERROR;
+
+ /* Check that the values read are the same as the values written */
+ for(i=0; i<(size_t)hs_size[0]; i++)
+ for(j=0; j<(size_t)hs_size[1]; j++)
+ if(points[(size_t)hs_offset[0]+i][(size_t)hs_offset[1]+j] != check[(size_t)hs_offset[0]+i][(size_t)hs_offset[1]+j]) {
+ H5_FAILED();
+ HDfprintf(stderr," Read different values than written.\n");
+ HDfprintf(stderr," At index %lu,%lu\n", (unsigned long)((size_t)hs_offset[0]+i), (unsigned long)((size_t)hs_offset[1]+j));
+ HDfprintf(stderr," At original: %d\n", (int)points[(size_t)hs_offset[0]+i][(size_t)hs_offset[1]+j]);
+ HDfprintf(stderr," At returned: %d\n", (int)check[(size_t)hs_offset[0]+i][(size_t)hs_offset[1]+j]);
+ TEST_ERROR
+ } /* end if */
PASSED();
- /* Save the data written to the file for later comparison when the file
+ /* Save the data written to the file for later comparison when the file
* is reopened for read test */
- for(i=0; i<size[0]; i++) {
- for(j=0; j<size[1]; j++) {
- if(!HDstrcmp(name, DSET_DEFLATE_NAME)) {
- points_deflate[i][j] = points[i][j];
- } else if(!HDstrcmp(name, DSET_DYNLIB1_NAME)) {
- points_dynlib1[i][j] = points[i][j];
- } else if(!HDstrcmp(name, DSET_DYNLIB2_NAME)) {
- points_dynlib2[i][j] = points[i][j];
- } else if(!HDstrcmp(name, DSET_DYNLIB4_NAME)) {
- points_dynlib4[i][j] = points[i][j];
- }
- }
- }
+ for(i=0; i<size[0]; i++)
+ for(j=0; j<size[1]; j++)
+ if(!HDstrcmp(name, DSET_DEFLATE_NAME))
+ points_deflate[i][j] = points[i][j];
+ else if(!HDstrcmp(name, DSET_DYNLIB1_NAME))
+ points_dynlib1[i][j] = points[i][j];
+ else if(!HDstrcmp(name, DSET_DYNLIB2_NAME))
+ points_dynlib2[i][j] = points[i][j];
+ else if(!HDstrcmp(name, DSET_DYNLIB4_NAME))
+ points_dynlib4[i][j] = points[i][j];
+
+ ret_value = 0;
+error:
/* Clean up objects used for this test */
- if(H5Dclose (dataset) < 0) goto error;
- if(H5Sclose (sid) < 0) goto error;
- if(H5Pclose (dxpl) < 0) goto error;
- free (tconv_buf);
-
- return(0);
+ H5E_BEGIN_TRY {
+ H5Dclose(dataset);
+ H5Sclose(sid);
+ H5Pclose(dxpl);
+ } H5E_END_TRY
-error:
if(tconv_buf)
- free (tconv_buf);
- return -1;
+ HDfree(tconv_buf);
+ return ret_value;
}
/*-------------------------------------------------------------------------
- * Function: test_filters_for_datasets
- *
- * Purpose: Tests creating datasets and writing data with dynamically
- * loaded filters
+ * Function: test_filters_for_datasets
*
- * Return: Success: 0
- * Failure: -1
- *
- * Programmer: Raymond Lu
- * 14 March 2013
+ * Purpose: Tests creating datasets and writing data with dynamically loaded filters
*
+ * Return: Success: 0
+ * Failure: -1
*-------------------------------------------------------------------------
*/
static herr_t
test_filters_for_datasets(hid_t file)
{
- hid_t dc; /* Dataset creation property list ID */
- const hsize_t chunk_size[2] = {FILTER_CHUNK_DIM1, FILTER_CHUNK_DIM2}; /* Chunk dimensions */
- unsigned int compress_level = 9;
- unsigned int dynlib4_values[4];
+ herr_t ret_value = -1;
+ hid_t dc = -1; /* Dataset creation property list ID */
+ const hsize_t chunk_size[2] = {FILTER_CHUNK_DIM1, FILTER_CHUNK_DIM2}; /* Chunk dimensions */
+ unsigned int compress_level = 9;
+ unsigned int dynlib4_values[4];
/*----------------------------------------------------------
* STEP 1: Test deflation by itself.
*----------------------------------------------------------
*/
+ HDputs("Testing deflate filter");
#ifdef H5_HAVE_FILTER_DEFLATE
- puts("Testing deflate filter");
- if((dc = H5Pcreate(H5P_DATASET_CREATE)) < 0) goto error;
- if(H5Pset_chunk (dc, 2, chunk_size) < 0) goto error;
- if(H5Pset_deflate (dc, 6) < 0) goto error;
+ if((dc = H5Pcreate(H5P_DATASET_CREATE)) < 0) TEST_ERROR
+ if(H5Pset_chunk(dc, 2, chunk_size) < 0) TEST_ERROR
+ if(H5Pset_deflate(dc, 6) < 0) TEST_ERROR
- if(test_filter_internal(file,DSET_DEFLATE_NAME,dc) < 0) goto error;
+ if(test_filter_internal(file, DSET_DEFLATE_NAME, dc) < 0) TEST_ERROR
/* Clean up objects used for this test */
- if(H5Pclose (dc) < 0) goto error;
+ if(H5Pclose(dc) < 0) TEST_ERROR
#else /* H5_HAVE_FILTER_DEFLATE */
- TESTING("deflate filter");
SKIPPED();
- puts(" Deflate filter not enabled");
+ HDputs(" Deflate filter not enabled");
#endif /* H5_HAVE_FILTER_DEFLATE */
/*----------------------------------------------------------
* STEP 2: Test DYNLIB1 by itself.
*----------------------------------------------------------
*/
- puts("Testing DYNLIB1 filter");
- if((dc = H5Pcreate(H5P_DATASET_CREATE)) < 0) goto error;
- if(H5Pset_chunk (dc, 2, chunk_size) < 0) goto error;
- if(H5Pset_filter (dc, H5Z_FILTER_DYNLIB1, H5Z_FLAG_MANDATORY, (size_t)1, &compress_level) < 0) goto error;
+ HDputs(" DYNLIB1 filter");
+ if((dc = H5Pcreate(H5P_DATASET_CREATE)) < 0) TEST_ERROR
+ if(H5Pset_chunk(dc, 2, chunk_size) < 0) TEST_ERROR
+ if(H5Pset_filter(dc, H5Z_FILTER_DYNLIB1, H5Z_FLAG_MANDATORY, (size_t)1, &compress_level) < 0) TEST_ERROR
- if(test_filter_internal(file,DSET_DYNLIB1_NAME,dc) < 0) goto error;
+ if(test_filter_internal(file, DSET_DYNLIB1_NAME, dc) < 0) TEST_ERROR
/* Clean up objects used for this test */
- if(H5Pclose (dc) < 0) goto error;
+ if(H5Pclose(dc) < 0) TEST_ERROR
- /* Unregister the dynamic filter DYNLIB1 for testing purpose. The next time when this test is run for
+ /* Unregister the dynamic filter DYNLIB1 for testing purpose. The next time when this test is run for
* the new file format, the library's H5PL code has to search in the table of loaded plugin libraries
* for this filter. */
- if(H5Zunregister(H5Z_FILTER_DYNLIB1) < 0) goto error;
+ if(H5Zunregister(H5Z_FILTER_DYNLIB1) < 0) TEST_ERROR
/*----------------------------------------------------------
* STEP 3: Test DYNLIB2 by itself.
*----------------------------------------------------------
*/
- puts("Testing DYNLIB2 filter");
- if((dc = H5Pcreate(H5P_DATASET_CREATE)) < 0) goto error;
- if(H5Pset_chunk (dc, 2, chunk_size) < 0) goto error;
- if(H5Pset_filter (dc, H5Z_FILTER_DYNLIB2, H5Z_FLAG_MANDATORY, 0, NULL) < 0) goto error;
+ HDputs(" DYNLIB2 filter");
+ if((dc = H5Pcreate(H5P_DATASET_CREATE)) < 0) TEST_ERROR
+ if(H5Pset_chunk(dc, 2, chunk_size) < 0) TEST_ERROR
+ if(H5Pset_filter(dc, H5Z_FILTER_DYNLIB2, H5Z_FLAG_MANDATORY, 0, NULL) < 0) TEST_ERROR
- if(test_filter_internal(file,DSET_DYNLIB2_NAME,dc) < 0) goto error;
+ if(test_filter_internal(file,DSET_DYNLIB2_NAME,dc) < 0) TEST_ERROR
/* Clean up objects used for this test */
- if(H5Pclose (dc) < 0) goto error;
+ if(H5Pclose(dc) < 0) TEST_ERROR
- /* Unregister the dynamic filter DYNLIB2 for testing purpose. The next time when this test is run for
+ /* Unregister the dynamic filter DYNLIB2 for testing purpose. The next time when this test is run for
* the new file format, the library's H5PL code has to search in the table of loaded plugin libraries
* for this filter. */
- if(H5Zunregister(H5Z_FILTER_DYNLIB2) < 0) goto error;
+ if(H5Zunregister(H5Z_FILTER_DYNLIB2) < 0) TEST_ERROR
/*----------------------------------------------------------
* STEP 4: Test DYNLIB4 by itself.
*----------------------------------------------------------
*/
- puts("Testing DYNLIB4 filter");
- if((dc = H5Pcreate(H5P_DATASET_CREATE)) < 0) goto error;
- if(H5Pset_chunk (dc, 2, chunk_size) < 0) goto error;
+ HDputs(" DYNLIB4 filter");
+ if((dc = H5Pcreate(H5P_DATASET_CREATE)) < 0) TEST_ERROR
+ if(H5Pset_chunk(dc, 2, chunk_size) < 0) TEST_ERROR
dynlib4_values[0] = 9;
- if(H5get_libversion(&dynlib4_values[1], &dynlib4_values[2], &dynlib4_values[3]) < 0) goto error;
- if(H5Pset_filter (dc, H5Z_FILTER_DYNLIB4, H5Z_FLAG_MANDATORY, (size_t)4, dynlib4_values) < 0) goto error;
+ if(H5get_libversion(&dynlib4_values[1], &dynlib4_values[2], &dynlib4_values[3]) < 0) TEST_ERROR
+ if(H5Pset_filter(dc, H5Z_FILTER_DYNLIB4, H5Z_FLAG_MANDATORY, (size_t)4, dynlib4_values) < 0) TEST_ERROR
- if(test_filter_internal(file,DSET_DYNLIB4_NAME,dc) < 0) goto error;
+ if(test_filter_internal(file, DSET_DYNLIB4_NAME, dc) < 0) TEST_ERROR
/* Clean up objects used for this test */
- if(H5Pclose (dc) < 0) goto error;
+ if(H5Pclose(dc) < 0) TEST_ERROR
/* Unregister the dynamic filter DYNLIB4 for testing purpose. The next time when this test is run for
* the new file format, the library's H5PL code has to search in the table of loaded plugin libraries
* for this filter. */
- if(H5Zunregister(H5Z_FILTER_DYNLIB4) < 0) goto error;
+ if(H5Zunregister(H5Z_FILTER_DYNLIB4) < 0) TEST_ERROR
- return 0;
+ ret_value = 0;
error:
- return -1;
+ /* Clean up objects used for this test */
+ H5E_BEGIN_TRY {
+ H5Pclose(dc);
+ } H5E_END_TRY
+
+ return ret_value;
}
/*-------------------------------------------------------------------------
- * Function: test_read_data
- *
- * Purpose: Tests reading data and compares values
- *
- * Return: Success: 0
- * Failure: -1
+ * Function: test_read_data
*
- * Programmer: Raymond Lu
- * 14 March 2013
+ * Purpose: Tests reading data and compares values
*
+ * Return: Success: 0
+ * Failure: -1
*-------------------------------------------------------------------------
*/
static herr_t
test_read_data(hid_t dataset, int *origin_data)
{
- int check[DSET_DIM1][DSET_DIM2];
- const hsize_t size[2] = {DSET_DIM1, DSET_DIM2}; /* Dataspace dimensions */
- int *data_p = origin_data;
- size_t i, j; /* Local index variables */
+ herr_t ret_value = -1;
+ int check[DSET_DIM1][DSET_DIM2];
+ const hsize_t size[2] = {DSET_DIM1, DSET_DIM2}; /* Dataspace dimensions */
+ int *data_p = origin_data;
+ size_t i, j; /* Local index variables */
/* Read the dataset back */
- if(H5Dread(dataset, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, check) < 0)
- TEST_ERROR;
+ if(H5Dread(dataset, H5T_NATIVE_INT, H5S_ALL, H5S_ALL, H5P_DEFAULT, check) < 0) TEST_ERROR;
/* Check that the values read are the same as the values written */
- for(i=0; i<size[0]; i++) {
+ for(i=0; i<size[0]; i++)
for(j=0; j<size[1]; j++) {
- if(*data_p != check[i][j]) {
- H5_FAILED();
- fprintf(stderr," Read different values than written.\n");
- fprintf(stderr," At index %lu,%lu\n", (unsigned long)i, (unsigned long)j);
- fprintf(stderr," At original: %d\n", *data_p);
- fprintf(stderr," At returned: %d\n", (int)check[i][j]);
- goto error;
- }
+ if(*data_p != check[i][j]) {
+ H5_FAILED();
+ HDfprintf(stderr," Read different values than written.\n");
+ HDfprintf(stderr," At index %lu,%lu\n", (unsigned long)i, (unsigned long)j);
+ HDfprintf(stderr," At original: %d\n", *data_p);
+ HDfprintf(stderr," At returned: %d\n", (int)check[i][j]);
+ TEST_ERROR
+ } /* end if */
data_p++;
- }
- }
+ }
PASSED();
- return 0;
+ ret_value = 0;
error:
- return -1;
+ return ret_value;
}
/*-------------------------------------------------------------------------
- * Function: test_read_with_filters
+ * Function: test_read_with_filters
*
- * Purpose: Tests reading dataset created with dynamically loaded filters
- *
- * Return: Success: 0
- * Failure: -1
- *
- * Programmer: Raymond Lu
- * 14 March 2013
+ * Purpose: Tests reading dataset created with dynamically loaded filters
*
+ * Return: Success: 0
+ * Failure: -1
*-------------------------------------------------------------------------
*/
static herr_t
test_read_with_filters(hid_t file)
{
- hid_t dset; /* Dataset ID */
+ herr_t ret_value = -1;
+ hid_t dset = -1; /* Dataset ID */
/*----------------------------------------------------------
* STEP 1: Test deflation by itself.
*----------------------------------------------------------
*/
-#ifdef H5_HAVE_FILTER_DEFLATE
- TESTING("Testing deflate filter");
+ TESTING("deflate filter");
+#ifdef H5_HAVE_FILTER_DEFLATE
if(H5Zfilter_avail(H5Z_FILTER_DEFLATE) != TRUE) TEST_ERROR
if((dset = H5Dopen2(file,DSET_DEFLATE_NAME,H5P_DEFAULT)) < 0) TEST_ERROR
@@ -513,18 +472,17 @@ test_read_with_filters(hid_t file)
/* Clean up objects used for this test */
#else /* H5_HAVE_FILTER_DEFLATE */
- TESTING("deflate filter");
SKIPPED();
- puts(" Deflate filter not enabled");
+ HDputs(" Deflate filter not enabled");
#endif /* H5_HAVE_FILTER_DEFLATE */
/*----------------------------------------------------------
* STEP 2: Test DYNLIB1 by itself.
*----------------------------------------------------------
*/
- TESTING("Testing DYNLIB1 filter");
+ TESTING(" DYNLIB1 filter");
- if((dset = H5Dopen2(file,DSET_DYNLIB1_NAME,H5P_DEFAULT)) < 0) TEST_ERROR
+ if((dset = H5Dopen2(file, DSET_DYNLIB1_NAME, H5P_DEFAULT)) < 0) TEST_ERROR
if(test_read_data(dset, (int *)points_dynlib1) < 0) TEST_ERROR
@@ -534,9 +492,9 @@ test_read_with_filters(hid_t file)
* STEP 3: Test Bogus2 by itself.
*----------------------------------------------------------
*/
- TESTING("Testing DYNLIB2 filter");
+ TESTING(" DYNLIB2 filter");
- if((dset = H5Dopen2(file,DSET_DYNLIB2_NAME,H5P_DEFAULT)) < 0) TEST_ERROR
+ if((dset = H5Dopen2(file, DSET_DYNLIB2_NAME, H5P_DEFAULT)) < 0) TEST_ERROR
if(test_read_data(dset, (int *)points_dynlib2) < 0) TEST_ERROR
@@ -546,7 +504,7 @@ test_read_with_filters(hid_t file)
* STEP 4: Test DYNLIB4 by itself.
*----------------------------------------------------------
*/
- TESTING("Testing DYNLIB4 filter");
+ TESTING(" DYNLIB4 filter");
if((dset = H5Dopen2(file,DSET_DYNLIB4_NAME,H5P_DEFAULT)) < 0) TEST_ERROR
@@ -554,27 +512,33 @@ test_read_with_filters(hid_t file)
if(H5Dclose(dset) < 0) TEST_ERROR
- return 0;
+ ret_value = 0;
error:
- return -1;
+ /* Clean up objects used for this test */
+ H5E_BEGIN_TRY {
+ H5Dclose(dset);
+ } H5E_END_TRY
+
+ return ret_value;
}
/*-------------------------------------------------------------------------
- * Function: test_noread_data
+ * Function: test_noread_data
*
- * Purpose: Tests not reading data
+ * Purpose: Tests not reading data
*
- * Return: Success: 0
- * Failure: -1
+ * Return: Success: 0
+ * Failure: -1
*
*-------------------------------------------------------------------------
*/
static herr_t
test_noread_data(hid_t dataset)
{
+ herr_t ret_value = -1;
int check[DSET_DIM1][DSET_DIM2];
- herr_t ret;
+ herr_t ret = -1;
/* Read the dataset back */
H5E_BEGIN_TRY {
@@ -584,113 +548,122 @@ test_noread_data(hid_t dataset)
TEST_ERROR
PASSED();
- return 0;
+ ret_value = 0;
error:
- return -1;
+ return ret_value;
}
/*-------------------------------------------------------------------------
- * Function: test_noread_with_filters
- *
- * Purpose: Tests reading dataset created with dynamically loaded filters disabled
+ * Function: test_noread_with_filters
*
- * Return: Success: 0
- * Failure: -1
+ * Purpose: Tests reading dataset created with dynamically loaded filters disabled
*
+ * Return: Success: 0
+ * Failure: -1
*-------------------------------------------------------------------------
*/
static herr_t
test_noread_with_filters(hid_t file)
{
- hid_t dset; /* Dataset ID */
- unsigned plugin_state; /* status of plugins */
- TESTING("Testing DYNLIB1 filter with plugins disabled");
+ herr_t ret_value = -1;
+ hid_t dset = -1; /* Dataset ID */
+ unsigned plugin_state; /* status of plugins */
+
+ TESTING("DYNLIB1 filter with plugins disabled");
/* disable filter plugin */
if(H5PLget_loading_state(&plugin_state) < 0) TEST_ERROR
plugin_state = plugin_state & ~H5PL_FILTER_PLUGIN;
if(H5PLset_loading_state(plugin_state) < 0) TEST_ERROR
- if((dset = H5Dopen2(file,DSET_DYNLIB1_NAME,H5P_DEFAULT)) < 0) TEST_ERROR
+ if((dset = H5Dopen2(file, DSET_DYNLIB1_NAME, H5P_DEFAULT)) < 0) TEST_ERROR
if(test_noread_data(dset) < 0) TEST_ERROR
if(H5Dclose(dset) < 0) TEST_ERROR
- /* re-enable filter plugin */
- plugin_state = plugin_state | H5PL_FILTER_PLUGIN;
- if(H5PLset_loading_state(plugin_state) < 0) TEST_ERROR
-
- return 0;
+ ret_value = 0;
error:
/* re-enable filter plugin */
plugin_state = plugin_state | H5PL_FILTER_PLUGIN;
- if(H5PLset_loading_state(plugin_state) < 0) TEST_ERROR
- return -1;
+ H5PLset_loading_state(plugin_state);
+
+ /* Clean up objects used for this test */
+ H5E_BEGIN_TRY {
+ H5Dclose(dset);
+ } H5E_END_TRY
+
+ return ret_value;
}
/*-------------------------------------------------------------------------
- * Function: test_filters_for_groups
- *
- * Purpose: Tests creating group with dynamically loaded filters
+ * Function: test_filters_for_groups
*
- * Return: Success: 0
- * Failure: -1
- *
- * Programmer: Raymond Lu
- * 1 April 2013
+ * Purpose: Tests creating group with dynamically loaded filters
*
+ * Return: Success: 0
+ * Failure: -1
*-------------------------------------------------------------------------
*/
static herr_t
test_filters_for_groups(hid_t file)
{
- hid_t gcpl, gid, group;
- int i;
- char gname[256];
+ herr_t ret_value = -1;
+ hid_t gcpl = -1;
+ hid_t gid = -1;
+ hid_t group = -1;
+ int i;
+ char gname[256];
+
+ TESTING("DYNLIB3 filter for group");
- TESTING("Testing DYNLIB3 filter for group");
+ if((gcpl = H5Pcreate(H5P_GROUP_CREATE)) < 0) TEST_ERROR
- if((gcpl = H5Pcreate(H5P_GROUP_CREATE)) < 0) goto error;
-
- /* Use DYNLIB3 for creating groups */
- if(H5Pset_filter (gcpl, H5Z_FILTER_DYNLIB3, H5Z_FLAG_MANDATORY, (size_t)0, NULL) < 0) goto error;
+ /* Use DYNLIB3 for creating groups */
+ if(H5Pset_filter (gcpl, H5Z_FILTER_DYNLIB3, H5Z_FLAG_MANDATORY, (size_t)0, NULL) < 0) TEST_ERROR
/* Create a group using this filter */
- if((gid = H5Gcreate2(file, "group1", H5P_DEFAULT, gcpl, H5P_DEFAULT)) < 0) goto error;
+ if((gid = H5Gcreate2(file, "group1", H5P_DEFAULT, gcpl, H5P_DEFAULT)) < 0) TEST_ERROR
/* Create multiple groups under "group1" */
- for (i=0; i < GROUP_ITERATION; i++) {
- sprintf(gname, "group_%d", i);
- if((group = H5Gcreate2(gid, gname, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) goto error;
- if(H5Gclose(group) < 0) goto error;
+ for(i=0; i < GROUP_ITERATION; i++) {
+ HDsprintf(gname, "group_%d", i);
+ if((group = H5Gcreate2(gid, gname, H5P_DEFAULT, H5P_DEFAULT, H5P_DEFAULT)) < 0) TEST_ERROR
+ if(H5Gclose(group) < 0) TEST_ERROR
}
/* Close the group */
- if(H5Gclose(gid) < 0) goto error;
+ if(H5Gclose(gid) < 0) TEST_ERROR
/* Clean up objects used for this test */
- if(H5Pclose (gcpl) < 0) goto error;
+ if(H5Pclose(gcpl) < 0) TEST_ERROR
PASSED();
- return 0;
+ ret_value = 0;
error:
- return -1;
+ /* Clean up objects used for this test */
+ H5E_BEGIN_TRY {
+ H5Gclose(group);
+ H5Gclose(gid);
+ H5Pclose(gcpl);
+ } H5E_END_TRY
+
+ return ret_value;
}
/*-------------------------------------------------------------------------
- * Function: test_groups_with_filters
+ * Function: test_groups_with_filters
*
- * Purpose: Tests opening group with dynamically loaded filters
+ * Purpose: Tests opening group with dynamically loaded filters
*
- * Return: Success: 0
- * Failure: -1
+ * Return: Success: 0
+ * Failure: -1
*
- * Programmer: Raymond Lu
+ * Programmer: Raymond Lu
* 1 April 2013
*
*-------------------------------------------------------------------------
@@ -698,70 +671,316 @@ error:
static herr_t
test_groups_with_filters(hid_t file)
{
- hid_t gid, group;
+ herr_t ret_value = -1;
+ hid_t gid;
+ hid_t group;
int i;
char gname[256];
- TESTING("Testing opening groups with DYNLIB3 filter");
+ TESTING("opening groups with DYNLIB3 filter");
/* Open the top group */
- if((gid = H5Gopen2(file, "group1", H5P_DEFAULT)) < 0) goto error;
+ if((gid = H5Gopen2(file, "group1", H5P_DEFAULT)) < 0) TEST_ERROR
/* Create multiple groups under "group1" */
- for (i=0; i < GROUP_ITERATION; i++) {
- sprintf(gname, "group_%d", i);
- if((group = H5Gopen2(gid, gname, H5P_DEFAULT)) < 0) goto error;
- if(H5Gclose(group) < 0) goto error;
+ for(i=0; i < GROUP_ITERATION; i++) {
+ HDsprintf(gname, "group_%d", i);
+ if((group = H5Gopen2(gid, gname, H5P_DEFAULT)) < 0) TEST_ERROR
+ if(H5Gclose(group) < 0) TEST_ERROR
}
/* Close the group */
- if(H5Gclose(gid) < 0) goto error;
+ if(H5Gclose(gid) < 0) TEST_ERROR
PASSED();
- return 0;
+ ret_value = 0;
+
+error:
+ /* Clean up objects used for this test */
+ H5E_BEGIN_TRY {
+ H5Gclose(group);
+ H5Gclose(gid);
+ } H5E_END_TRY
+
+ return ret_value;
+}
+
+
+/*-------------------------------------------------------------------------
+ * Function: test_filter_path_apis
+ *
+ * Purpose: Tests accessing the path table for dynamically loaded filters
+ *
+ * Return: Success: 0
+ * Failure: -1
+ *-------------------------------------------------------------------------
+ */
+static herr_t
+test_filter_path_apis(void)
+{
+ herr_t ret_value = -1;
+ unsigned int i;
+ unsigned int ndx;
+ herr_t ret;
+ ssize_t pathlen = -1;
+ char pathname[256];
+ char tempname[256];
+
+ HDputs("Testing access to the filter path table");
+
+ if(H5Zfilter_avail(H5Z_FILTER_DYNLIB1) != TRUE) TEST_ERROR
+
+ ndx = H5PLsize();
+
+ TESTING(" remove");
+ /* Remove all existing paths*/
+ for(i=ndx; i > 0; i--)
+ if(H5PLremove(i-1) < 0) {
+ HDfprintf(stderr," at %d: %s\n", i, pathname);
+ TEST_ERROR
+ } /* end if */
+ /* Verify the table is empty */
+ if(H5PLsize() > 0) TEST_ERROR
+ PASSED();
+
+ TESTING(" remove (exceed min)");
+ /* Exceed the min path removal */
+ H5E_BEGIN_TRY {
+ ret = H5PLremove(0);
+ } H5E_END_TRY
+ if(ret >= 0) TEST_ERROR
+ PASSED();
+
+ TESTING(" append");
+ /* Create multiple paths to fill table */
+ for(i=0; i < H5PL_MAX_PATH_NUM; i++) {
+ HDsprintf(pathname, "a_path_%d", i);
+ if(H5PLappend(pathname) < 0) {
+ HDfprintf(stderr," at %d: %s\n", i, pathname);
+ TEST_ERROR
+ }
+ }
+ /* Verify the table is full */
+ if(H5PLsize() != H5PL_MAX_PATH_NUM) TEST_ERROR
+ PASSED();
+
+ TESTING(" append (exceed)");
+ /* Exceed the max path append */
+ H5E_BEGIN_TRY {
+ HDsprintf(pathname, "a_path_%d", H5PL_MAX_PATH_NUM);
+ ret = H5PLappend(pathname);
+ } H5E_END_TRY
+ if(ret >= 0) TEST_ERROR
+ PASSED();
+
+ TESTING(" remove (exceed max)");
+ /* Exceed the max path removal */
+ H5E_BEGIN_TRY {
+ ret = H5PLremove(H5PL_MAX_PATH_NUM);
+ } H5E_END_TRY
+ if(ret >= 0) TEST_ERROR
+ PASSED();
+
+ TESTING(" get (path name)");
+ if((pathlen = H5PLget(0, NULL, 0)) <= 0) {
+ HDfprintf(stderr," get path 0 length failed\n");
+ TEST_ERROR
+ }
+ if(pathlen != 8) TEST_ERROR
+
+ if((pathlen = H5PLget(0, pathname, 256)) <= 0) {
+ HDfprintf(stderr," get 0 len: %d : %s\n", pathlen, pathname);
+ TEST_ERROR
+ }
+ if(HDstrcmp(pathname, "a_path_0") != 0) {
+ HDfprintf(stderr," get 0: %s\n", pathname);
+ TEST_ERROR
+ }
+ PASSED();
+
+ TESTING(" get (bounds)");
+ if((pathlen = H5PLget(1, pathname, 256)) <= 0) TEST_ERROR
+ if(HDstrcmp(pathname, "a_path_1") != 0) {
+ HDfprintf(stderr," get 1: %s\n", pathname);
+ TEST_ERROR
+ }
+ if((pathlen = H5PLget(H5PL_MAX_PATH_NUM - 1, pathname, 256)) <= 0) TEST_ERROR
+ HDsprintf(tempname, "a_path_%d", H5PL_MAX_PATH_NUM - 1);
+ if(HDstrcmp(pathname, tempname) != 0) {
+ HDfprintf(stderr," get %d: %s\n", H5PL_MAX_PATH_NUM - 1, pathname);
+ TEST_ERROR
+ }
+ PASSED();
+
+ TESTING(" get (bounds exceed)");
+ H5E_BEGIN_TRY {
+ pathlen = H5PLget(H5PL_MAX_PATH_NUM, NULL, 0);
+ } H5E_END_TRY
+ if(pathlen > 0) TEST_ERROR
+ PASSED();
+
+ TESTING(" remove (verify for prepend)");
+ /* Remove one path*/
+ if(H5PLremove(8) < 0) TEST_ERROR
+
+ /* Verify that the entries were moved */
+ if((pathlen = H5PLget(8, pathname, 256)) <= 0) TEST_ERROR
+ if(HDstrcmp(pathname, "a_path_9") != 0) {
+ HDfprintf(stderr," get 8: %s\n", pathname);
+ TEST_ERROR
+ }
+ PASSED();
+
+ /* Verify the table is not full */
+ if (H5PLsize() != H5PL_MAX_PATH_NUM - 1) TEST_ERROR
+
+ TESTING(" prepend");
+ /* Prepend one path*/
+ HDsprintf(pathname, "a_path_%d", H5PL_MAX_PATH_NUM + 1);
+ if(H5PLprepend(pathname) < 0) {
+ HDfprintf(stderr," prepend %d: %s\n", H5PL_MAX_PATH_NUM + 1, pathname);
+ TEST_ERROR
+ }
+
+ /* Verify the table is full */
+ if(H5PLsize() != H5PL_MAX_PATH_NUM) TEST_ERROR
+
+ /* Verify that the entries were moved */
+ if(H5PLget(8, pathname, 256) <= 0) TEST_ERROR
+ if(HDstrcmp(pathname, "a_path_7") != 0) {
+ HDfprintf(stderr," get 8: %s\n", pathname);
+ TEST_ERROR
+ }
+ if(H5PLget(0, pathname, 256) <= 0) TEST_ERROR
+ HDsprintf(tempname, "a_path_%d", H5PL_MAX_PATH_NUM + 1);
+ if(HDstrcmp(pathname, tempname) != 0) {
+ HDfprintf(stderr," get 0: %s\n", pathname);
+ TEST_ERROR
+ }
+ PASSED();
+
+ TESTING(" prepend (exceed)");
+ /* Exceed the max path prepend */
+ H5E_BEGIN_TRY {
+ HDsprintf(pathname, "a_path_%d", H5PL_MAX_PATH_NUM + 2);
+ ret = H5PLprepend(pathname);
+ } H5E_END_TRY
+ if(ret >= 0) TEST_ERROR
+ PASSED();
+
+ TESTING(" replace");
+ /* Replace one path*/
+ HDsprintf(pathname, "a_path_%d", H5PL_MAX_PATH_NUM + 4);
+ if(H5PLreplace(pathname, 1) < 0) {
+ HDfprintf(stderr," replace 1: %s\n", pathname);
+ TEST_ERROR
+ }
+
+ /* Verify the table is full */
+ if(H5PLsize() != H5PL_MAX_PATH_NUM) TEST_ERROR
+
+ /* Verify that the entries were not moved */
+ if(H5PLget(0, pathname, 256) <= 0) TEST_ERROR
+ HDsprintf(tempname, "a_path_%d", H5PL_MAX_PATH_NUM + 1);
+ if(HDstrcmp(pathname, tempname) != 0) {
+ HDfprintf(stderr," get 0: %s\n", pathname);
+ TEST_ERROR
+ }
+ if(H5PLget(2, pathname, 256) <= 0) TEST_ERROR
+ if(HDstrcmp(pathname, "a_path_1") != 0) {
+ HDfprintf(stderr," get 2: %s\n", pathname);
+ TEST_ERROR
+ }
+ PASSED();
+
+ TESTING(" remove (verify for insert)");
+ /* Remove one path*/
+ if(H5PLremove(4) < 0) TEST_ERROR
+
+ /* Verify that the entries were moved */
+ if(H5PLget(4, pathname, 256) <= 0) TEST_ERROR
+ if(HDstrcmp(pathname, "a_path_4") != 0) {
+ HDfprintf(stderr," get 4: %s\n", pathname);
+ TEST_ERROR
+ }
+ PASSED();
+
+ /* Verify the table is not full */
+ if(H5PLsize() != 15) TEST_ERROR
+
+ TESTING(" insert");
+ /* Insert one path*/
+ HDsprintf(pathname, "a_path_%d", H5PL_MAX_PATH_NUM + 5);
+ if(H5PLinsert(pathname, 3) < 0) {
+ HDfprintf(stderr," insert 3: %s\n", pathname);
+ TEST_ERROR
+ }
+
+ /* Verify that the entries were moved */
+ if(H5PLget(4, pathname, 256) <= 0) TEST_ERROR
+ if(HDstrcmp(pathname, "a_path_2") != 0) {
+ HDfprintf(stderr," get 4: %s\n", pathname);
+ TEST_ERROR
+ }
+ PASSED();
+
+ /* Verify the table is full */
+ if(H5PLsize() != H5PL_MAX_PATH_NUM) TEST_ERROR
+
+ TESTING(" insert (exceed)");
+ /* Exceed the max path insert */
+ H5E_BEGIN_TRY {
+ HDsprintf(pathname, "a_path_%d", H5PL_MAX_PATH_NUM + 6);
+ ret = H5PLinsert(pathname, 12);
+ } H5E_END_TRY
+ if(ret >= 0) TEST_ERROR
+
+ PASSED();
+
+ ret_value = 0;
error:
- return -1;
+ return ret_value;
}
/*-------------------------------------------------------------------------
- * Function: main
+ * Function: main
*
- * Purpose: Tests the plugin module (H5PL)
+ * Purpose: Tests the plugin module (H5PL)
*
- * Return: Success: exit(EXIT_SUCCESS)
+ * Return: Success: exit(EXIT_SUCCESS)
*
- * Failure: exit(EXIT_FAILURE)
+ * Failure: exit(EXIT_FAILURE)
*
- * Programmer: Raymond Lu
- * 14 March 2013
+ * Programmer: Raymond Lu
+ * 14 March 2013
*
*-------------------------------------------------------------------------
*/
int
main(void)
{
- char filename[FILENAME_BUF_SIZE];
- hid_t file, fapl, fapl2;
- unsigned new_format;
- int mdc_nelmts;
- size_t rdcc_nelmts;
- size_t rdcc_nbytes;
- double rdcc_w0;
- int nerrors = 0;
+ char filename[FILENAME_BUF_SIZE];
+ hid_t file = -1;
+ hid_t fapl = -1;
+ hid_t fapl2 = -1;
+ unsigned new_format;
+ int mdc_nelmts;
+ size_t rdcc_nelmts;
+ size_t rdcc_nbytes;
+ double rdcc_w0;
+ int nerrors = 0;
/* Testing setup */
h5_reset();
fapl = h5_fileaccess();
/* Turn off the chunk cache, so all the chunks are immediately written to disk */
- if(H5Pget_cache(fapl, &mdc_nelmts, &rdcc_nelmts, &rdcc_nbytes, &rdcc_w0) < 0)
- TEST_ERROR
+ if(H5Pget_cache(fapl, &mdc_nelmts, &rdcc_nelmts, &rdcc_nbytes, &rdcc_w0) < 0) TEST_ERROR
rdcc_nbytes = 0;
- if(H5Pset_cache(fapl, mdc_nelmts, rdcc_nelmts, rdcc_nbytes, rdcc_w0) < 0)
- TEST_ERROR
+ if(H5Pset_cache(fapl, mdc_nelmts, rdcc_nelmts, rdcc_nbytes, rdcc_w0) < 0) TEST_ERROR
/* Copy the file access property list */
if((fapl2 = H5Pcopy(fapl)) < 0) TEST_ERROR
@@ -777,50 +996,47 @@ main(void)
/* Set the FAPL for the type of format */
if(new_format) {
- puts("\nTesting with new file format:");
+ HDputs("\nTesting with new file format:");
my_fapl = fapl2;
} /* end if */
else {
- puts("Testing with old file format:");
+ HDputs("Testing with old file format:");
my_fapl = fapl;
} /* end else */
/* Create the file for this test */
- if((file = H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, my_fapl)) < 0)
- TEST_ERROR
+ if((file = H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, my_fapl)) < 0) TEST_ERROR
/* Test dynamically loaded filters for chunked dataset */
- nerrors += (test_filters_for_datasets(file) < 0 ? 1 : 0);
+ nerrors += (test_filters_for_datasets(file) < 0 ? 1 : 0);
/* Test dynamically loaded filters for groups */
nerrors += (test_filters_for_groups(file) < 0 ? 1 : 0);
- if(H5Fclose(file) < 0)
- TEST_ERROR
+ if(H5Fclose(file) < 0) TEST_ERROR
} /* end for */
/* Close FAPL */
if(H5Pclose(fapl2) < 0) TEST_ERROR
if(H5Pclose(fapl) < 0) TEST_ERROR
-
+
/* Restore the default error handler (set in h5_reset()) */
h5_restore_err();
- puts("\nTesting reading data with with dynamic plugin filters:");
+ HDputs("\nTesting reading data with with dynamic plugin filters:");
/* Close the library so that all loaded plugin libraries are unloaded */
h5_reset();
fapl = h5_fileaccess();
/* Reopen the file for testing data reading */
- if((file = H5Fopen(filename, H5F_ACC_RDONLY, fapl)) < 0)
- TEST_ERROR
+ if((file = H5Fopen(filename, H5F_ACC_RDONLY, fapl)) < 0) TEST_ERROR
/* Read the data with filters */
- nerrors += (test_read_with_filters(file) < 0 ? 1 : 0);
+ nerrors += (test_read_with_filters(file) < 0 ? 1 : 0);
/* Open the groups with filters */
- nerrors += (test_groups_with_filters(file) < 0 ? 1 : 0);
+ nerrors += (test_groups_with_filters(file) < 0 ? 1 : 0);
/* Restore the default error handler (set in h5_reset()) */
h5_restore_err();
@@ -830,26 +1046,26 @@ main(void)
fapl = h5_fileaccess();
/* Reopen the file for testing data reading */
- if((file = H5Fopen(filename, H5F_ACC_RDONLY, fapl)) < 0)
- TEST_ERROR
+ if((file = H5Fopen(filename, H5F_ACC_RDONLY, fapl)) < 0) TEST_ERROR
/* Read the data with disabled filters */
nerrors += (test_noread_with_filters(file) < 0 ? 1 : 0);
- if(H5Fclose(file) < 0)
- TEST_ERROR
+ if(H5Fclose(file) < 0) TEST_ERROR
+
+ /* Test the APIs for access to the filter plugin path table */
+ nerrors += (test_filter_path_apis() < 0 ? 1 : 0);
+
+ if(nerrors) TEST_ERROR
- if(nerrors)
- TEST_ERROR
- printf("All plugin tests passed.\n");
+ HDprintf("All plugin tests passed.\n");
h5_cleanup(FILENAME, fapl);
return 0;
error:
nerrors = MAX(1, nerrors);
- printf("***** %d PLUGIN TEST%s FAILED! *****\n",
- nerrors, 1 == nerrors ? "" : "S");
+ HDprintf("***** %d PLUGIN TEST%s FAILED! *****\n", nerrors, 1 == nerrors ? "" : "S");
return 1;
}
diff --git a/test/set_extent.c b/test/set_extent.c
index 8384a39..b9536e5 100644
--- a/test/set_extent.c
+++ b/test/set_extent.c
@@ -2601,13 +2601,6 @@ static int test_random_rank4( hid_t fapl, hid_t dcpl, hbool_t do_fillvalue,
volatile unsigned i, j, k, l, m; /* Local indices */
char filename[NAME_BUF_SIZE];
- /*!FIXME Skip the test if a fixed array index is requested, as resizing
- * fixed arrays is broken now. Extensible arrays are also broken. Remove
- * these lines as appropriate when these problems are fixed. */
- /* Fixed Array index type is now fixed */
- if(index_type == RANK4_INDEX_EARRAY)
- return 0;
-
/* create a new file */
h5_fixname(FILENAME[4], fapl, filename, sizeof filename);
if ((file = H5Fcreate(filename, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0)
@@ -2812,12 +2805,6 @@ static int test_random_rank4_vl( hid_t fapl, hid_t dcpl, hbool_t do_fillvalue,
volatile unsigned i, j, k, l, m; /* Local indices */
char filename[NAME_BUF_SIZE];
- /*!FIXME Skip the test if a fixed array index is requested, as resizing
- * fixed arrays is broken now. Extensible arrays are also broken. Remove
- * these lines as appropriate when these problems are fixed. */
- if(index_type == RANK4_INDEX_FARRAY || index_type == RANK4_INDEX_EARRAY)
- return 0;
-
/* Initialize fill value buffers so they aren't freed in case of an error */
fill_value.len = 0;
fill_value.p = NULL;