From f9b95bef44801fe2ec67eecfc18372ff300fb8d44cb9be1114710473a011c9e7 Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Sat, 25 Jul 2015 05:43:29 +0000 Subject: [PATCH] Accepting request 318150 from science - update to 1.8.15 fixed baselibs.conf compared to previous version OBS-URL: https://build.opensuse.org/request/show/318150 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/hdf5?expand=0&rev=23 --- baselibs.conf | 24 ++++---- hdf5-1.8.14.tar.bz2 | 3 - hdf5-1.8.15.tar.bz2 | 3 + hdf5-configure-long-double.patch | 66 ---------------------- hdf5-non_void_return.patch | 13 ----- hdf5.changes | 94 ++++++++++++++++++++++++++++++++ hdf5.spec | 24 ++++++-- 7 files changed, 128 insertions(+), 99 deletions(-) delete mode 100644 hdf5-1.8.14.tar.bz2 create mode 100644 hdf5-1.8.15.tar.bz2 delete mode 100644 hdf5-configure-long-double.patch diff --git a/baselibs.conf b/baselibs.conf index 1878da7..1853d5b 100644 --- a/baselibs.conf +++ b/baselibs.conf @@ -1,18 +1,18 @@ -libhdf5-9 +libhdf5-10 hdf5-devel requires - - requires "libhdf5-9- = " - requires "libhdf5_hl9- = " -libhdf5-9-openmpi + requires "libhdf5-10- = " + requires "libhdf5_hl10- = " +libhdf5-10-openmpi hdf5-openmpi-devel requires -openmpi- - requires "libhdf5-9-openmpi- = " - requires "libhdf5_hl9-openmpi- = " -libhdf5-9-mvapich2 -libhdf5_hl9 -libhdf5_hl9-mvapich2 -libhdf5_hl9-openmpi + requires "libhdf5-10-openmpi- = " + requires "libhdf5_hl10-openmpi- = " +libhdf5-10-mvapich2 +libhdf5_hl10 +libhdf5_hl10-mvapich2 +libhdf5_hl10-openmpi hdf5-mvapich2-devel requires -openmpi- - requires "libhdf5-9-mvapich2- = " - requires "libhdf5_hl9-mvapich2- = " + requires "libhdf5-10-mvapich2- = " + requires "libhdf5_hl10-mvapich2- = " diff --git a/hdf5-1.8.14.tar.bz2 b/hdf5-1.8.14.tar.bz2 deleted file mode 100644 index 0e5576c..0000000 --- a/hdf5-1.8.14.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:53722cb9f5977af2908f92fc1a3f8c597800a5cb448cfe5c75060d6335bb9bab -size 9503743 diff --git a/hdf5-1.8.15.tar.bz2 b/hdf5-1.8.15.tar.bz2 new file mode 100644 index 0000000..b79d4dc --- /dev/null +++ b/hdf5-1.8.15.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0003ac76314b9c3dd819f595eb33890f02f6bf000414013a89f9907ac09e3920 +size 10002545 diff --git a/hdf5-configure-long-double.patch b/hdf5-configure-long-double.patch deleted file mode 100644 index 23db859..0000000 --- a/hdf5-configure-long-double.patch +++ /dev/null @@ -1,66 +0,0 @@ -Index: hdf5-1.8.14/configure -=================================================================== ---- hdf5-1.8.14.orig/configure -+++ hdf5-1.8.14/configure -@@ -30288,7 +30288,7 @@ else - /* Test if the last 2 bytes of mantissa are lost. Mainly for FreeBSD on Intel - * architecture(sleipnir) where it happens. */ - /*if(endian==0 && c2[0]==0 && c2[1]==0)*/ /*little endian*/ -- if(endian==0 && c2[0]==0) { /*little endian*/ -+ if(endian==0 && size == 12 && c2[0]==0) { /*little endian*/ - ret = 1; - goto done; - } -@@ -30307,16 +30307,16 @@ else - * instead of 0x0000403effffffffffffffff, 0x0000403efffffffffffffffe, ..., - * 0x0000403efffffffffffff000 ... - */ -- if(endian==0 && c2_cyg[0]==0 && c2_cyg[1]==0 && c2_cyg[2]==0 && c2_cyg[3]==0) -+ if(endian==0 && size == 12 && c2_cyg[0]==0 && c2_cyg[1]==0 && c2_cyg[2]==0 && c2_cyg[3]==0) - ret = 1; - -+ if(c2_cyg) -+ free(c2_cyg); - done: - if(c1) - free(c1); - if(c2) - free(c2); -- if(c2_cyg) -- free(c2_cyg); - exit(ret); - } - -Index: hdf5-1.8.14/configure.ac -=================================================================== ---- hdf5-1.8.14.orig/configure.ac -+++ hdf5-1.8.14/configure.ac -@@ -3625,7 +3625,7 @@ else - /* Test if the last 2 bytes of mantissa are lost. Mainly for FreeBSD on Intel - * architecture(sleipnir) where it happens. */ - /*if(endian==0 && c2[0]==0 && c2[1]==0)*/ /*little endian*/ -- if(endian==0 && c2[0]==0) { /*little endian*/ -+ if(endian==0 && size == 12 && c2[0]==0) { /*little endian*/ - ret = 1; - goto done; - } -@@ -3644,16 +3644,16 @@ else - * instead of 0x0000403effffffffffffffff, 0x0000403efffffffffffffffe, ..., - * 0x0000403efffffffffffff000 ... - */ -- if(endian==0 && c2_cyg[0]==0 && c2_cyg[1]==0 && c2_cyg[2]==0 && c2_cyg[3]==0) -+ if(endian==0 && size == 12 && c2_cyg[0]==0 && c2_cyg[1]==0 && c2_cyg[2]==0 && c2_cyg[3]==0) - ret = 1; - -+ if(c2_cyg) -+ free(c2_cyg); - done: - if(c1) - free(c1); - if(c2) - free(c2); -- if(c2_cyg) -- free(c2_cyg); - exit(ret); - } - ], [hdf5_cv_ullong_to_ldouble_precision=yes], [hdf5_cv_ullong_to_ldouble_precision=no],)]) diff --git a/hdf5-non_void_return.patch b/hdf5-non_void_return.patch index 86e8014..a145e82 100644 --- a/hdf5-non_void_return.patch +++ b/hdf5-non_void_return.patch @@ -49,19 +49,6 @@ Index: tools/h5copy/h5copy.c leave(int ret) { if (fname_src) -Index: tools/h5repack/h5repack_main.c -=================================================================== ---- tools/h5repack/h5repack_main.c.orig -+++ tools/h5repack/h5repack_main.c -@@ -21,7 +21,7 @@ - #define PROGRAMNAME "h5repack" - - static int parse_command_line(int argc, const char **argv, pack_opt_t* options); --static void leave(int ret); -+static void leave(int ret) __attribute__((__noreturn__)); - - - /* module-scoped variables */ Index: tools/misc/h5mkgrp.c =================================================================== --- tools/misc/h5mkgrp.c.orig diff --git a/hdf5.changes b/hdf5.changes index b67a46c..007093b 100644 --- a/hdf5.changes +++ b/hdf5.changes @@ -1,3 +1,97 @@ +------------------------------------------------------------------- +Thu Jul 23 11:30:56 UTC 2015 - toddrme2178@gmail.com + +- Fix baselibs.conf + +------------------------------------------------------------------- +Wed Jul 22 11:23:14 UTC 2015 - toddrme2178@gmail.com + +- update to 1.8.15 + * New Features + + Library + - Added Memory Allocation Functions that Use the Library's Allocator + - H5Pset_istore_k and H5Pset_sym_k added validation of "ik" to not + exceed the max v1 btree entries (2 bytes) to these two routines. + - Added Functions to Control the Value of H5PL_no_plugin_g without + Using an Environment Variable + + Parallel 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 + + Fortran API + - Added Global Variables. These new global variables are equivalent to + the C definitions without the '_F': + o H5G_UDLINK_F + o H5G_SAME_LOC_F + o H5O_TYPE_UNKNOWN_F + o H5O_TYPE_GROUP_F + o H5O_TYPE_DATASET_F + o H5O_NAMED_DATATYPE_F + o H5O_TYPE_NTYPES_F + + C++ API + - New Wrappers for C Functions H5P[s/g]et_libver_bounds + - New Wrappers to Get the Object Header's Version + - New DataType Constructor + + Support for New Platforms, Languages, and Compilers + - Support for Linux 3.10.0-123.20.1.el7 added (LK - 2015/04/01) + * Bug Fixes since HDF5-1.8.14 + + Library + - Addition of Error Tracing Functionality to Several C API Calls + - H5Rdereference Now Checks for HADDR_UNDEF or Uninitialized References + - Fixed Bugs in H5Sextent_copy + + Parallel Library + - Fixed a Potential Memory Error + - Parallel Test Problem Fixed + - MPE Support + + Tools + - h5repack crashed on enumerated 8-bit type. + - h52gif crashed non-8bit images. + - perform/benchpar.c retired. + - Source perform/ directory moved to tools/perform. + + Fortran API + - Fortran Fails with --enable-fortran2003 and Intel 15.x Compilers + - h5tenum_insert_f Does Not Work with Default 8 Byte Integers + (xlf compiler) + - Some Fortran APIs Never Returned the Error State + - Fixed h5pget_class_f + + C++ API + - Combined Two H5File::getObjCount Overloaded Methods + The following two methods + o ssize_t getObjCount(unsigned types) const; + o ssize_t getObjCount() const; + were combined into one: + o ssize_t getObjCount(unsigned types = H5F_OBJ_ALL) const; + - Many Warnings Were Removed + - 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. + o (const hid_t h5_id); + o (const & original); + The copy constructors were no-op and removed in 1.8.15. The other + constructors will be removed from 1.10 release, and then from 1.8.17 + if their removal does not cause any problems. + + High-Level APIs: + - Suppress Warnings from Flex/Bison-generated Code + - Changed hdf5_hl.h to Include the HDF5 Main Library "hdf5.h" + - H5PTcreate_fl Does Not Convert to Memory Datatype + - Fix for H5LT Attribute Functions + + Fortran High-Level APIs: + - Internal Library Fix for Missing Argument Declaration +- Build in thread-safe mode to allow parallel reads + * These are only unsupported to avoid confusing casual users. + The fotran and C++ libraries don't support thread-safe mode, + while the C library does. So you have to explicitly allow + building the thread-safe C library and the non-thread-safe C++ + and fortran libraries in order to make sure only people who + have done their research do so. Since users are going to be + accessing this through other programs, this doesn't matter. +- Build fortran 2003 libraries +- Rebase hdf5-non_void_return.patch +- Remove irrelevant hdf5-configure-long-double.patch + ------------------------------------------------------------------- Mon May 11 13:37:50 UTC 2015 - dmueller@suse.com diff --git a/hdf5.spec b/hdf5.spec index ec36e9f..a8d0ba3 100644 --- a/hdf5.spec +++ b/hdf5.spec @@ -16,7 +16,7 @@ # -%define hdf5_libver 9 +%define hdf5_libver 10 %define libname libhdf5 %if 0%{?sles_version} @@ -29,7 +29,7 @@ %define _mpi %{?_openmpi:openmpi} %{?_mvapich2:mvapich2} Name: hdf5 -Version: 1.8.14 +Version: 1.8.15 Release: 0 Summary: A general purpose library and file format for storing scientific data License: BSD-3-Clause @@ -44,8 +44,7 @@ Patch2: hdf5-1.8.11-abort_unknown_host_config.patch %ifarch %arm Patch4: hdf5-1.8.10-tests-arm.patch %endif -Patch5: hdf5-configure-long-double.patch -Patch6: hdf5-ldouble-ppc64le.patch +Patch5: hdf5-ldouble-ppc64le.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: gcc-c++ %if 0%{?suse_version} > 1140 @@ -285,7 +284,6 @@ test "%{hdf5_libver}" = "${LT_VERS_INTERFACE}" || exit 1 %patch4 -p0 -b .tests-arm %endif %patch5 -p1 -%patch6 -p1 echo "prepare parallel builds: %_mpi" for build_dir in build %_mpi; do @@ -306,16 +304,29 @@ fi test -e config/linux-gnueabi || cp config/linux-gnu config/linux-gnueabi %endif +# NOTE: --enable-unsupported is required when --enable-fortran +# and/or --enable-cxx is enabled along with --enable-threadsafe. +# Building with thise combination results in thread-safe C +# libraries and non-thread-safe fotran and/or C++ libraries. So +# you have to explicitly allow building the thread-safe C +# library and the non-thread-safe C++ and fortran libraries in +# order to make sure people don't assume that their fotran or +# C++ code is thread-safe. Since our users are going to be +# accessing this through other programs, this doesn't matter. + pushd build %configure \ --docdir=%{_docdir}/%{name} \ --disable-dependency-tracking \ %if 0%{?suse_version} > 1140 --enable-fortran \ + --enable-fortran2003 \ %endif + --enable-unsupported \ --enable-hl \ --enable-shared \ --enable-cxx \ + --enable-threadsafe \ --with-pthread make V=1 %{?_smp_mflags} @@ -339,9 +350,12 @@ export LD_LIBRARY_PATH="%{_libdir}/mpi/gcc/$mpi/%_lib" --disable-dependency-tracking \ %if 0%{?suse_version} > 1140 --enable-fortran \ + --enable-fortran2003 \ %endif + --enable-unsupported \ --enable-hl \ --enable-shared \ + --enable-threadsafe \ --enable-parallel \ --with-pthread