From 015888ce7f7bd8e5168390fc6a923972389f0727 Mon Sep 17 00:00:00 2001 From: Markus Kowalewski Date: Tue, 2 Apr 2019 16:26:05 +0200 Subject: hdf5: 1.10.4 -> 1.10.5 --- ...-to-use-the-MPI-2-function-MPI_Type_get_e.patch | 58 ----------- .../misc/hdf5/0001-Yanked-all-MPI-1-calls.patch | 115 --------------------- pkgs/tools/misc/hdf5/default.nix | 8 +- 3 files changed, 2 insertions(+), 179 deletions(-) delete mode 100644 pkgs/tools/misc/hdf5/0001-Updated-H5S-to-use-the-MPI-2-function-MPI_Type_get_e.patch delete mode 100644 pkgs/tools/misc/hdf5/0001-Yanked-all-MPI-1-calls.patch (limited to 'pkgs/tools/misc') diff --git a/pkgs/tools/misc/hdf5/0001-Updated-H5S-to-use-the-MPI-2-function-MPI_Type_get_e.patch b/pkgs/tools/misc/hdf5/0001-Updated-H5S-to-use-the-MPI-2-function-MPI_Type_get_e.patch deleted file mode 100644 index 8b32ea4bab1c..000000000000 --- a/pkgs/tools/misc/hdf5/0001-Updated-H5S-to-use-the-MPI-2-function-MPI_Type_get_e.patch +++ /dev/null @@ -1,58 +0,0 @@ -From 38c202df4db8eddd5e6f6f7d6506ce97912a3111 Mon Sep 17 00:00:00 2001 -From: Dana Robinson -Date: Mon, 26 Nov 2018 22:10:06 -0800 -Subject: [PATCH] Updated H5S to use the MPI-2 function MPI_Type_get_exten() - where available. OpenMPI 4.0 removed the deprecated MPI-1 MPI_type_extent() - call by default, so this avoids needing a special OpenMPI build. - ---- - src/H5Smpio.c | 26 ++++++++++++++++++++++++-- - 1 file changed, 24 insertions(+), 2 deletions(-) - -diff --git a/src/H5Smpio.c b/src/H5Smpio.c -index 2bd275a729..e71e2cb858 100644 ---- a/src/H5Smpio.c -+++ b/src/H5Smpio.c -@@ -879,7 +879,18 @@ H5S_mpio_hyper_type(const H5S_t *space, size_t elmt_size, - HMPI_GOTO_ERROR(FAIL, "MPI_Type_contiguous failed", mpi_code) - } - -- MPI_Type_extent (inner_type, &inner_extent); -+#if MPI_VERSION >= 2 -+{ -+ /* As of version 4.0, OpenMPI now turns off MPI-1 API calls by default, -+ * so we're using the MPI-2 version even though we don't need the lb -+ * value. -+ */ -+ MPI_Aint unused_lb_arg; -+ MPI_Type_get_extent(inner_type, &unused_lb_arg, &inner_extent); -+} -+#else -+ MPI_Type_extent(inner_type, &inner_extent); -+#endif - stride_in_bytes = inner_extent * (MPI_Aint)d[i].strid; - - /* If the element count is larger than what a 32 bit integer can hold, -@@ -1500,7 +1511,18 @@ static herr_t H5S_mpio_create_large_type (hsize_t num_elements, - } - } - -- MPI_Type_extent (old_type, &old_extent); -+#if MPI_VERSION >= 2 -+{ -+ /* As of version 4.0, OpenMPI now turns off MPI-1 API calls by default, -+ * so we're using the MPI-2 version even though we don't need the lb -+ * value. -+ */ -+ MPI_Aint unused_lb_arg; -+ MPI_Type_get_extent(old_type, &unused_lb_arg, &old_extent); -+} -+#else -+ MPI_Type_extent(old_type, &old_extent); -+#endif - - /* Set up the arguments for MPI_Type_struct constructor */ - type[0] = outer_type; --- -2.18.1 - diff --git a/pkgs/tools/misc/hdf5/0001-Yanked-all-MPI-1-calls.patch b/pkgs/tools/misc/hdf5/0001-Yanked-all-MPI-1-calls.patch deleted file mode 100644 index 8dc831dbba12..000000000000 --- a/pkgs/tools/misc/hdf5/0001-Yanked-all-MPI-1-calls.patch +++ /dev/null @@ -1,115 +0,0 @@ -From 8cf3bfb14bd2a80f13d269a9e84cd99f86f19254 Mon Sep 17 00:00:00 2001 -From: Dana Robinson -Date: Tue, 27 Nov 2018 10:31:54 -0800 -Subject: [PATCH] Yanked all MPI-1 calls - ---- - src/H5.c | 2 +- - src/H5Smpio.c | 24 ++++++++---------------- - testpar/t_cache.c | 20 ++++++++++---------- - 3 files changed, 19 insertions(+), 27 deletions(-) - -diff --git a/src/H5.c b/src/H5.c -index d1967e611b..bf4643ca59 100644 ---- a/src/H5.c -+++ b/src/H5.c -@@ -138,7 +138,7 @@ H5_init_library(void) - if (mpi_initialized && !mpi_finalized) { - int key_val; - -- if(MPI_SUCCESS != (mpi_code = MPI_Comm_create_keyval(MPI_NULL_COPY_FN, -+ if(MPI_SUCCESS != (mpi_code = MPI_Comm_create_keyval(MPI_COMM_NULL_COPY_FN, - (MPI_Comm_delete_attr_function *)H5_mpi_delete_cb, - &key_val, NULL))) - HMPI_GOTO_ERROR(FAIL, "MPI_Comm_create_keyval failed", mpi_code) -diff --git a/src/H5Smpio.c b/src/H5Smpio.c -index e71e2cb858..935d27972e 100644 ---- a/src/H5Smpio.c -+++ b/src/H5Smpio.c -@@ -879,18 +879,14 @@ H5S_mpio_hyper_type(const H5S_t *space, size_t elmt_size, - HMPI_GOTO_ERROR(FAIL, "MPI_Type_contiguous failed", mpi_code) - } - --#if MPI_VERSION >= 2 --{ - /* As of version 4.0, OpenMPI now turns off MPI-1 API calls by default, - * so we're using the MPI-2 version even though we don't need the lb - * value. - */ -- MPI_Aint unused_lb_arg; -- MPI_Type_get_extent(inner_type, &unused_lb_arg, &inner_extent); --} --#else -- MPI_Type_extent(inner_type, &inner_extent); --#endif -+ { -+ MPI_Aint unused_lb_arg; -+ MPI_Type_get_extent(inner_type, &unused_lb_arg, &inner_extent); -+ } - stride_in_bytes = inner_extent * (MPI_Aint)d[i].strid; - - /* If the element count is larger than what a 32 bit integer can hold, -@@ -1511,18 +1507,14 @@ static herr_t H5S_mpio_create_large_type (hsize_t num_elements, - } - } - --#if MPI_VERSION >= 2 --{ - /* As of version 4.0, OpenMPI now turns off MPI-1 API calls by default, - * so we're using the MPI-2 version even though we don't need the lb - * value. - */ -- MPI_Aint unused_lb_arg; -- MPI_Type_get_extent(old_type, &unused_lb_arg, &old_extent); --} --#else -- MPI_Type_extent(old_type, &old_extent); --#endif -+ { -+ MPI_Aint unused_lb_arg; -+ MPI_Type_get_extent(old_type, &unused_lb_arg, &old_extent); -+ } - - /* Set up the arguments for MPI_Type_struct constructor */ - type[0] = outer_type; -diff --git a/testpar/t_cache.c b/testpar/t_cache.c -index 5e15ec274c..ca5ded9ecf 100644 ---- a/testpar/t_cache.c -+++ b/testpar/t_cache.c -@@ -1217,15 +1217,15 @@ setup_derived_types(void) - struct mssg_t sample; /* used to compute displacements */ - - /* setup the displacements array */ -- if ( ( MPI_SUCCESS != MPI_Address(&sample.req, &displs[0]) ) || -- ( MPI_SUCCESS != MPI_Address(&sample.src, &displs[1]) ) || -- ( MPI_SUCCESS != MPI_Address(&sample.dest, &displs[2]) ) || -- ( MPI_SUCCESS != MPI_Address(&sample.mssg_num, &displs[3]) ) || -- ( MPI_SUCCESS != MPI_Address(&sample.base_addr, &displs[4]) ) || -- ( MPI_SUCCESS != MPI_Address(&sample.len, &displs[5]) ) || -- ( MPI_SUCCESS != MPI_Address(&sample.ver, &displs[6]) ) || -- ( MPI_SUCCESS != MPI_Address(&sample.count, &displs[7]) ) || -- ( MPI_SUCCESS != MPI_Address(&sample.magic, &displs[8]) ) ) { -+ if ( ( MPI_SUCCESS != MPI_Get_address(&sample.req, &displs[0]) ) || -+ ( MPI_SUCCESS != MPI_Get_address(&sample.src, &displs[1]) ) || -+ ( MPI_SUCCESS != MPI_Get_address(&sample.dest, &displs[2]) ) || -+ ( MPI_SUCCESS != MPI_Get_address(&sample.mssg_num, &displs[3]) ) || -+ ( MPI_SUCCESS != MPI_Get_address(&sample.base_addr, &displs[4]) ) || -+ ( MPI_SUCCESS != MPI_Get_address(&sample.len, &displs[5]) ) || -+ ( MPI_SUCCESS != MPI_Get_address(&sample.ver, &displs[6]) ) || -+ ( MPI_SUCCESS != MPI_Get_address(&sample.count, &displs[7]) ) || -+ ( MPI_SUCCESS != MPI_Get_address(&sample.magic, &displs[8]) ) ) { - - nerrors++; - success = FALSE; -@@ -1245,7 +1245,7 @@ setup_derived_types(void) - - if ( success ) { - -- result = MPI_Type_struct(9, block_len, displs, mpi_types, &mpi_mssg_t); -+ result = MPI_Type_create_struct(9, block_len, displs, mpi_types, &mpi_mssg_t); - - if ( result != MPI_SUCCESS ) { - --- -2.18.1 - diff --git a/pkgs/tools/misc/hdf5/default.nix b/pkgs/tools/misc/hdf5/default.nix index ae34cfd32358..e6402322d35a 100644 --- a/pkgs/tools/misc/hdf5/default.nix +++ b/pkgs/tools/misc/hdf5/default.nix @@ -16,11 +16,11 @@ assert !cpp || mpi == null; let inherit (stdenv.lib) optional optionals; in stdenv.mkDerivation rec { - version = "1.10.4"; + version = "1.10.5"; name = "hdf5-${version}"; src = fetchurl { url = "https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-1.10/${name}/src/${name}.tar.bz2"; - sha256 = "1pr85fa1sh2ky6ai2hs3f21lp252grl2cq3wbyi4rh7dm83gyrqj"; + sha256 = "0i3g6v521vigzbx8wpd32ibsiiw92r65ca3qdbn0d8fj8f4fmmk8"; }; passthru = { @@ -47,10 +47,6 @@ stdenv.mkDerivation rec { patches = [ ./bin-mv.patch - # upstream patches for openmpi-4 compatiblity - # To be removed with the upgrade to 1.10.5 - ./0001-Updated-H5S-to-use-the-MPI-2-function-MPI_Type_get_e.patch - ./0001-Yanked-all-MPI-1-calls.patch ]; postInstall = '' -- cgit 1.4.1