diff options
-rwxr-xr-x | config/cmake/scripts/CTestScript.cmake | 44 | ||||
-rwxr-xr-x | config/cmake/scripts/HDF518config.cmake | 27 | ||||
-rw-r--r-- | release_docs/RELEASE.txt | 124 |
3 files changed, 141 insertions, 54 deletions
diff --git a/config/cmake/scripts/CTestScript.cmake b/config/cmake/scripts/CTestScript.cmake index a056cfb..75e61ee 100755 --- a/config/cmake/scripts/CTestScript.cmake +++ b/config/cmake/scripts/CTestScript.cmake @@ -41,7 +41,7 @@ else(NOT SITE_OS_NAME) set(CTEST_BUILD_NAME "${SITE_OS_NAME}-${SITE_OS_VERSION}-${SITE_COMPILER_NAME}")
endif()
if(SITE_BUILDNAME_SUFFIX)
- set(CTEST_BUILD_NAME ${CTEST_BUILD_NAME}-${SITE_BUILDNAME_SUFFIX})
+ set(CTEST_BUILD_NAME "${CTEST_BUILD_NAME}-${SITE_BUILDNAME_SUFFIX}")
endif()
set(BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DSITE:STRING=${CTEST_SITE} -DBUILDNAME:STRING=${CTEST_BUILD_NAME}")
endif(NOT SITE_OS_NAME)
@@ -98,15 +98,15 @@ else(CTEST_USE_TAR_SOURCE) set(NEED_REPOSITORY_CHECKOUT 1)
endif()
- if(${NEED_REPOSITORY_CHECKOUT})
+ if(${NEED_REPOSITORY_CHECKOUT})
if(REPOSITORY_BRANCH)
- set(GITUpdateOptions "clone \"${REPOSITORY_URL}\" --branch \"${REPOSITORY_BRANCH}\" \"${CTEST_SOURCE_DIRECTORY}\" --recurse-submodules")
+ set(CTEST_GIT_options "clone \"${REPOSITORY_URL}\" --branch \"${REPOSITORY_BRANCH}\" --single-branch \"${CTEST_SOURCE_DIRECTORY}\" --recurse-submodules")
else()
- set(GITUpdateOptions "clone \"${REPOSITORY_URL}\" \"${CTEST_SOURCE_DIRECTORY}\" --recurse-submodules")
+ set(CTEST_GIT_options "clone \"${REPOSITORY_URL}\" \"${CTEST_SOURCE_DIRECTORY}\" --recurse-submodules")
endif()
- set(CTEST_CHECKOUT_COMMAND "${CTEST_GIT_COMMAND} ${GITUpdateOptions}")
+ set(CTEST_CHECKOUT_COMMAND "${CTEST_GIT_COMMAND} ${CTEST_GIT_options}")
else()
- set(GITUpdateOptions "pull")
+ set(CTEST_GIT_options "pull")
endif()
set(CTEST_UPDATE_COMMAND "${CTEST_GIT_COMMAND}")
else(CTEST_USE_GIT_SOURCE)
@@ -134,12 +134,12 @@ else(CTEST_USE_TAR_SOURCE) endif()
if(${NEED_REPOSITORY_CHECKOUT})
set(CTEST_CHECKOUT_COMMAND
- "${CTEST_SVN_COMMAND} co ${REPOSITORY_URL} \"${CTEST_SOURCE_DIRECTORY}\" -r ${CTEST_REPO_VERSION}")
- else(${NEED_REPOSITORY_CHECKOUT})
+ "\"${CTEST_SVN_COMMAND}\" co ${REPOSITORY_URL} \"${CTEST_SOURCE_DIRECTORY}\" -r ${CTEST_REPO_VERSION}")
+ else()
if(CTEST_REPO_VERSION)
set(CTEST_SVN_UPDATE_OPTIONS "-r ${CTEST_REPO_VERSION}")
endif()
- endif(${NEED_REPOSITORY_CHECKOUT})
+ endif()
endif(CTEST_USE_GIT_SOURCE)
endif(LOCAL_UPDATE)
endif(CTEST_USE_TAR_SOURCE)
@@ -191,14 +191,14 @@ endforeach(req) if(LOCAL_MEMCHECK_TEST)
find_program(CTEST_MEMORYCHECK_COMMAND NAMES valgrind)
set (CTEST_CONFIGURE_COMMAND
- "${CTEST_CMAKE_COMMAND} -C \"${CTEST_SOURCE_DIRECTORY}/config/cmake/mccacheinit.cmake\" -DCMAKE_BUILD_TYPE:STRING=${CTEST_BUILD_CONFIGURATION} ${BUILD_OPTIONS} \"-G${CTEST_CMAKE_GENERATOR}\" \"${CTEST_SOURCE_DIRECTORY}\""
+ "${CTEST_CMAKE_COMMAND} -C \"${CTEST_SOURCE_DIRECTORY}/config/cmake/mccacheinit.cmake\" -DCMAKE_BUILD_TYPE:STRING=${CTEST_CONFIGURATION_TYPE} ${BUILD_OPTIONS} \"-G${CTEST_CMAKE_GENERATOR}\" \"${CTEST_SOURCE_DIRECTORY}\""
)
else()
if(LOCAL_COVERAGE_TEST)
find_program(CTEST_COVERAGE_COMMAND NAMES gcov)
endif()
set (CTEST_CONFIGURE_COMMAND
- "${CTEST_CMAKE_COMMAND} -C \"${CTEST_SOURCE_DIRECTORY}/config/cmake/cacheinit.cmake\" -DCMAKE_BUILD_TYPE:STRING=${CTEST_BUILD_CONFIGURATION} ${BUILD_OPTIONS} \"-G${CTEST_CMAKE_GENERATOR}\" \"${CTEST_SOURCE_DIRECTORY}\""
+ "${CTEST_CMAKE_COMMAND} -C \"${CTEST_SOURCE_DIRECTORY}/config/cmake/cacheinit.cmake\" -DCMAKE_BUILD_TYPE:STRING=${CTEST_CONFIGURATION_TYPE} ${BUILD_OPTIONS} \"-G${CTEST_CMAKE_GENERATOR}\" \"${CTEST_SOURCE_DIRECTORY}\""
)
endif()
@@ -240,20 +240,20 @@ message(STATUS "Dashboard script configuration:\n${vars}\n") configure_file(${CTEST_SOURCE_DIRECTORY}/config/cmake/CTestCustom.cmake ${CTEST_BINARY_DIRECTORY}/CTestCustom.cmake)
ctest_read_custom_files ("${CTEST_BINARY_DIRECTORY}")
ctest_configure (BUILD "${CTEST_BINARY_DIRECTORY}" RETURN_VALUE res)
- if(${res} LESS 0 OR ${res} GREATER 0)
- message(FATAL_ERROR "Failed configure: ${res}\n")
- endif()
if(LOCAL_SUBMIT)
ctest_submit (PARTS Update Configure Notes)
endif()
+ if(${res} LESS 0 OR ${res} GREATER 0)
+ file(APPEND ${CTEST_SCRIPT_DIRECTORY}/FailedCTest.txt "Failed Configure: ${res}\n")
+ endif()
ctest_build (BUILD "${CTEST_BINARY_DIRECTORY}" APPEND RETURN_VALUE res NUMBER_ERRORS errval)
- if(${res} LESS 0 OR ${res} GREATER 0 OR ${errval} GREATER 0)
- message(FATAL_ERROR "Failed build: ${res} with Errors=${errval}\n")
- endif()
if(LOCAL_SUBMIT)
ctest_submit (PARTS Build)
endif()
+ if(${res} LESS 0 OR ${res} GREATER 0 OR ${errval} GREATER 0)
+ file(APPEND ${CTEST_SCRIPT_DIRECTORY}/FailedCTest.txt "Failed ${errval} Build: ${res}\n")
+ endif()
if(NOT LOCAL_SKIP_TEST)
if(NOT LOCAL_MEMCHECK_TEST)
@@ -262,13 +262,13 @@ message(STATUS "Dashboard script configuration:\n${vars}\n") ctest_submit (PARTS Test)
endif()
if(${res} LESS 0 OR ${res} GREATER 0)
- message(FATAL_ERROR "Failed tests: ${res}\n")
+ file(APPEND ${CTEST_SCRIPT_DIRECTORY}/FailedCTest.txt "Failed Tests: ${res}\n")
endif()
else()
ctest_memcheck (BUILD "${CTEST_BINARY_DIRECTORY}" APPEND ${ctest_test_args})
if(LOCAL_SUBMIT)
ctest_submit (PARTS MemCheck)
- endif(LOCAL_SUBMIT)
+ endif()
endif()
if(LOCAL_COVERAGE_TEST)
ctest_coverage (BUILD "${CTEST_BINARY_DIRECTORY}" APPEND)
@@ -278,7 +278,7 @@ message(STATUS "Dashboard script configuration:\n${vars}\n") endif()
endif(NOT LOCAL_SKIP_TEST)
- if(NOT LOCAL_MEMCHECK_TEST AND NOT LOCAL_NO_PACKAGE)
+ if(NOT LOCAL_MEMCHECK_TEST AND NOT LOCAL_NO_PACKAGE AND NOT LOCAL_SKIP_BUILD)
##-----------------------------------------------
## Package the product
##-----------------------------------------------
@@ -290,7 +290,7 @@ message(STATUS "Dashboard script configuration:\n${vars}\n") )
file(WRITE ${CTEST_BINARY_DIRECTORY}/cpack.log "${cpackLog.err}" "${cpackLog}")
if(cpackResult GREATER 0)
- message (FATAL_ERROR "Failed packaging: ${cpackResult}\n")
+ file(APPEND ${CTEST_SCRIPT_DIRECTORY}/FailedCTest.txt "Failed packaging: ${cpackResult}:${cpackLog.err} \n")
endif()
- endif(NOT LOCAL_MEMCHECK_TEST AND NOT LOCAL_NO_PACKAGE)
+ endif()
#-----------------------------------------------------------------------------
diff --git a/config/cmake/scripts/HDF518config.cmake b/config/cmake/scripts/HDF518config.cmake index 5cc73cf..55e4667 100755 --- a/config/cmake/scripts/HDF518config.cmake +++ b/config/cmake/scripts/HDF518config.cmake @@ -19,21 +19,21 @@ cmake_minimum_required(VERSION 3.1.0 FATAL_ERROR) # VS201264 * Visual Studio 11 2012 Win64
#
# INSTALLDIR - root folder where hdf5 is installed
-# CTEST_BUILD_CONFIGURATION - Release, Debug, etc
+# CTEST_CONFIGURATION_TYPE - Release, Debug, etc
# CTEST_SOURCE_NAME - source folder
# STATIC_LIBRARIES - Build/use static libraries
# FORTRAN_LIBRARIES - Build/use fortran libraries
# NO_MAC_FORTRAN - Yes to be SHARED on a Mac
##############################################################################
-set(CTEST_SOURCE_VERSION 1.8.16)
+set(CTEST_SOURCE_VERSION 1.8.18)
set(CTEST_SOURCE_VERSEXT "")
##############################################################################
# handle input parameters to script.
#BUILD_GENERATOR - which CMake generator to use, required
#INSTALLDIR - HDF5-1.8 root folder
-#CTEST_BUILD_CONFIGURATION - Release, Debug, RelWithDebInfo
+#CTEST_CONFIGURATION_TYPE - Release, Debug, RelWithDebInfo
#CTEST_SOURCE_NAME - name of source folder; HDF5-1.8.16
#STATIC_LIBRARIES - Default is YES
#FORTRAN_LIBRARIES - Default is NO
@@ -52,7 +52,7 @@ endif() # build generator must be defined
if(NOT DEFINED BUILD_GENERATOR)
- message(FATAL_ERROR "BUILD_GENERATOR must be defined - Unix, VS2013, VS201364, VS2012, or VS201264")
+ message(FATAL_ERROR "BUILD_GENERATOR must be defined - Unix, VS2015, VS201564, VS2013, VS201364, VS2012, or VS201264")
else()
if(${BUILD_GENERATOR} STREQUAL "Unix")
set(CTEST_CMAKE_GENERATOR "Unix Makefiles")
@@ -69,28 +69,32 @@ else() elseif(${BUILD_GENERATOR} STREQUAL "VS201264")
set(CTEST_CMAKE_GENERATOR "Visual Studio 11 2012 Win64")
else()
- message(FATAL_ERROR "Invalid BUILD_GENERATOR must be - Unix, VS2013, VS201364, VS2012, or VS201264")
+ message(FATAL_ERROR "Invalid BUILD_GENERATOR must be - Unix, VS2015, VS201564, VS2013, VS201364, VS2012, or VS201264")
endif()
endif()
if(NOT DEFINED INSTALLDIR)
if(WIN32)
- set(INSTALLDIR "C:\\Program\ Files\\myhdf5")
+ set(INSTALLDIR "C:\\Program\ Files\\HDF_Group\\HDF5\\${CTEST_SOURCE_VERSION}")
else()
- set(INSTALLDIR "/usr/local/myhdf5")
+ set(INSTALLDIR "${CTEST_SCRIPT_DIRECTORY}/HDF_Group/HDF5/${CTEST_SOURCE_VERSION}")
endif()
endif()
-if(NOT DEFINED CTEST_BUILD_CONFIGURATION)
- set(CTEST_BUILD_CONFIGURATION "Release")
+if(NOT DEFINED CTEST_CONFIGURATION_TYPE)
+ set(CTEST_CONFIGURATION_TYPE "Release")
endif()
if(NOT DEFINED CTEST_SOURCE_NAME)
set(CTEST_SOURCE_NAME "hdf5-${CTEST_SOURCE_VERSION}${CTEST_SOURCE_VERSEXT}")
endif()
if(NOT DEFINED STATIC_LIBRARIES)
set(STATICLIBRARIES "YES")
+else()
+ set(STATICLIBRARIES "NO")
endif()
if(NOT DEFINED FORTRAN_LIBRARIES)
set(FORTRANLIBRARIES "NO")
+else()
+ set(FORTRANLIBRARIES "YES")
endif()
set(CTEST_BINARY_NAME "build")
@@ -162,7 +166,7 @@ set(MODEL "Experimental") #set(LOCAL_NO_PACKAGE "TRUE")
##### Following controls source update #####
#set(LOCAL_UPDATE "TRUE")
-set(REPOSITORY_URL "http://svn.hdfgroup.uiuc.edu/hdf5/branches/hdf5_1_8_16")
+set(REPOSITORY_URL "http://svn.hdfgroup.uiuc.edu/hdf5/branches/hdf5_1_8_18")
#uncomment to use a compressed source file: *.tar on linux or mac *.zip on windows
#set(CTEST_USE_TAR_SOURCE "${CTEST_SOURCE_VERSION}")
###################################################################
@@ -214,7 +218,8 @@ endif() set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DHDF5_PACKAGE_EXTLIBS:BOOL=ON")
### change install prefix
-set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DCMAKE_INSTALL_PREFIX:PATH=${INSTALLDIR}")
+set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DCMAKE_INSTALL_PREFIX:PATH='${INSTALLDIR}'")
+set(ADD_BUILD_OPTIONS "${ADD_BUILD_OPTIONS} -DCTEST_CONFIGURATION_TYPE:STRING=$ENV{CMAKE_CONFIG_TYPE}")
###################################################################
diff --git a/release_docs/RELEASE.txt b/release_docs/RELEASE.txt index 6a33c90..b67c77b 100644 --- a/release_docs/RELEASE.txt +++ b/release_docs/RELEASE.txt @@ -5,8 +5,8 @@ INTRODUCTION ============ This document describes the differences between HDF5-1.8.17 and -HDF5-1.8.18-*, and contains information on the platforms tested and -known problems in HDF5-1.8.18-*. +HDF5-1.8.18, and contains information on the platforms tested and +known problems in HDF5-1.8.18. For more details, see the files HISTORY-1_0-1_8_0_rc3.txt and HISTORY-1_8.txt in the release_docs/ directory of the HDF5 source. @@ -33,7 +33,7 @@ All new and modified APIs are listed in detail in the "HDF5 Software Changes from Release to Release" document, in the section "Release 1.8.18 (current release) versus Release 1.8.17 - http://www.hdfgroup.org/HDF5/doc/ADGuide/Changes.html + http://www.hdfgroup.org/HDF5/doc1.8/ADGuide/Changes.html If you have any questions or comments, please send them to the HDF Help Desk: @@ -57,23 +57,30 @@ New Features Configuration ------------- - - CMake - Added NAMESPACE hdf5:: to package configuration files - - CMake: change CTEST_BUILD_CONFIGURATION to CTEST_CONFIGURATION_TYPE, which is - recommended by CMake documentation. - HDFFV-9971 (ADB 2016/8/22) + - CMake: Added NAMESPACE hdf5:: to package configuration files to allow + projects using installed HDF5 binaries built with CMake to link with + them without specifying the HDF5 library location via IMPORTED_LOCATION. + + (ABD, 2016/10/17, HDFFV-10003) + + + - CMake: Changed the CTEST_BUILD_CONFIGURATION option to + CTEST_CONFIGURATION_TYPE as recommended by the CMake documentation. + + (ABD, 2016/10/17, HDFFV-9971) Library ------- - -None + - None Parallel Library ---------------- - None + Tools ----- - None @@ -81,9 +88,6 @@ New Features High-Level APIs --------------- - - C Packet Table API - ------------------ - None @@ -107,29 +111,95 @@ Bug Fixes since HDF5-1.8.17 Configuration ------------- - - None + + - Fixed a problem preventing HDF5 to be built on 32-bit CYGWIN by + condensing cygwin configuration files into a single file and + removing outdated compiler settings. + + (ABD, 2016/07/12, HDFFV-9946) + + + - CMake: Fixed a command length overflow error by converting custom + commands inside CMakeTest.cmake files into regular dependencies and + targets. + + (ABD, 2016/07/12, HDFFV-9939) + + + - CMake: Fixed a timeout error that would occasionally occur when running + the virtual file driver tests simultaneously due to test directory and file + name collisions. + + (ABD, 2016/09/19, HDFFV-9431) Library ------- - - Fixed a bug that could occur when using H5Pset_alignment. + + - Fixed a memory leak that would occur when the library allocated memory + for an external file prefix (H5Pset_efile_prefix) and failed to free it. + + (DER, 2016/04/29) + + + - Fixed an error that would occur when calling H5Adelete on an attribute + which is attached to an externally linked object in the target file and + whose datatype is a committed datatype in the main file. + + (VC, 2016-07-04, HDFFV-9940) + + + - Fixed a problem where a plugin compiled into a DLL in the default plugin + directory could not be found by the HDF5 library at runtime on Windows + when the HDF5_PLUGIN_PATH environment variable was not set. + + (ABD, 2016/08/01, HDFFV-9706) + + + - Fixed an issue where H5Pset_alignment could result in misaligned blocks + with some input combinations, causing an assertion failure in debug mode. (NAF, 2016/08/11, HDFFV-9948) - - Fixed a memory bug that could occur when a message was improperly marked - as sharable on disk. - (NAF, 2016/07/01, HDFFV-9950) + - A number of issues were fixed when reading/writing from/to corrupted + files to ensure that the library fails gracefully in these cases: + + * Writing to a corrupted file that has an object message which is + incorrectly marked as sharable on disk results in a buffer overflow / + invalid write instead of a clean error message. + + * Decoding data from a corrupted file with a dataset encoded with the + H5Z_NBIT decoding can result in a code execution vulnerability under + the context of the application using the HDF5 library. + + * When decoding an array datatype from a corrupted file, the HDF5 library + fails to return an error in production if the number of dimensions + decoded is greater than the maximum rank. + + * When decoding an "old style" array datatype from a corrupted file, the + HDF5 library fails to return an error in production if the number of + dimensions decoded is greater than the maximum rank. + + (NAF, 2016/10/06, HDFFV-9950, HDFFV-9951, HDFFV-9992, HDFFV-9993) + + + - Fixed an error that would occur when copying an object with an attribute + which is a compound datatype consisting of a variable length string. + + (VC, 2016-10-17, HDFFV-7991) Parallel Library ---------------- + - Fixed a bug that could occur when allocating a chunked dataset in parallel with an alignment set and an alignment threshold greater than the chunk size but less than or equal to the raw data aggregator size. (NAF, 2016/08/11, HDFFV-9969) + Performance ------------- - None @@ -137,6 +207,15 @@ Bug Fixes since HDF5-1.8.17 Tools ----- + + - Fixed an error in the compiler wrapper scripts (h5cc, h5fc, et al.) + in which they would erroneously drop the file argument specified via + the -o flag when the -o flag was specified before the -c flag on the + command line, resulting in a failure to compile. + + (LRK, 2016/06/08, HDFFV-9938, HDFFV-9530) + + - h5repack User Defined (UD) filter parameters were not parsed correctly. The UD filter parameters were not being parsed correctly. Reworked coding @@ -147,6 +226,7 @@ Bug Fixes since HDF5-1.8.17 Fortran API ----------- + - Fortran library fails to compile and fails tests with NAG compiler. * Removed the non-standard assumption that KIND=SIZEOF, in the HDF5 @@ -158,6 +238,7 @@ Bug Fixes since HDF5-1.8.17 (MSB, 2016/9/22, HDFFV-9973) + - Fortran segfaults for F03 tests with NAG compiler * Removed INTENT(OUT) from 'fillvalue' in F2003 interface @@ -168,18 +249,18 @@ Bug Fixes since HDF5-1.8.17 C++ API ------- - - The macros H5_NO_NAMESPACE is deprecated from the HDF5 C++ API library. + + - The macro H5_NO_NAMESPACE is deprecated from the HDF5 C++ API library. In future releases, the macros H5_NO_STD and OLD_HEADER_FILENAME may also be removed. + (BMR, 2016/10/27, HDFFV-9532) High-Level APIs: --------------- - Packet Table APIs: - ------------------ - - The high-level API Packet Table (PT) did not write data correctly when + - The high-level Packet Table (PT) API did not write data correctly when the datatype is a compound type that has string type as one of the members. This problem started in 1.8.15, after the fix of HDFFV-9042 was applied, which caused the Packet Table to use native type to access @@ -191,6 +272,7 @@ Bug Fixes since HDF5-1.8.17 data, then the application will request that. However, the Packet Table doesn't provide a way to specify memory datatype in this release. Please refer to the Known Problems section for a work-around. + (BMR, 2016/10/27, HDFFV-9758) |