[arch-commits] Commit in hdf5-openmpi/repos/community-x86_64 (5 files)
Bruno Pagani
archange at archlinux.org
Fri Feb 15 12:39:52 UTC 2019
Date: Friday, February 15, 2019 @ 12:39:51
Author: archange
Revision: 432663
archrelease: copy trunk to community-x86_64
Added:
hdf5-openmpi/repos/community-x86_64/PKGBUILD
(from rev 432662, hdf5-openmpi/trunk/PKGBUILD)
hdf5-openmpi/repos/community-x86_64/mpi.patch
(from rev 432662, hdf5-openmpi/trunk/mpi.patch)
hdf5-openmpi/repos/community-x86_64/remove-openmpi-1.0-interfaces.patch
(from rev 432662, hdf5-openmpi/trunk/remove-openmpi-1.0-interfaces.patch)
Deleted:
hdf5-openmpi/repos/community-x86_64/PKGBUILD
hdf5-openmpi/repos/community-x86_64/mpi.patch
-------------------------------------+
PKGBUILD | 223 +++++++++++++++++-----------------
mpi.patch | 36 ++---
remove-openmpi-1.0-interfaces.patch | 102 +++++++++++++++
3 files changed, 233 insertions(+), 128 deletions(-)
Deleted: PKGBUILD
===================================================================
--- PKGBUILD 2019-02-15 12:39:21 UTC (rev 432662)
+++ PKGBUILD 2019-02-15 12:39:51 UTC (rev 432663)
@@ -1,110 +0,0 @@
-# Maintainer: Ronald van Haren <ronald.archlinux.org>
-# Maintainer: Bruno Pagani <archange at archlinux.org>
-# Contributor: Stefan Husmann <stefan-husmann at t-online.de>
-# Contributor: damir <damir at archlinux.org>
-# Contributor: Tom K <tomk at runbox.com>
-# Contributor: Jed Brown <jed at 59A2.org>
-# Contributor: Simone Pezzuto <junki.gnu at gmail.com>
-
-_pkgname=hdf5
-_mpi=openmpi
-pkgname=${_pkgname}-${_mpi}
-pkgver=1.10.4
-pkgrel=1
-pkgdesc="General purpose library and file format for storing scientific data (${_mpi} version)"
-arch=('x86_64')
-url="https://www.hdfgroup.org/hdf5"
-license=('custom')
-depends=('zlib' 'libaec' 'bash' 'openmpi')
-makedepends=('cmake' 'time' 'gcc-fortran')
-provides=('hdf5' 'hdf5-cpp-fortran' "hdf5-fortran-${_mpi}")
-conflicts=('hdf5')
-replaces=("hdf5-fortran-${_mpi}")
-options=('staticlibs')
-source=("https://support.hdfgroup.org/ftp/HDF5/releases/${_pkgname}-${pkgver:0:4}/${_pkgname}-${pkgver/_/-}/src/${_pkgname}-${pkgver/_/-}.tar.bz2"
- 'mpi.patch')
-sha256sums=('1267ff06aaedc04ca25f7c6026687ea2884b837043431195f153401d942b28df'
- '603006358175b7a8b35fa44c484cddf45c0381cf50db4fb7c50ea5969d361eca')
-
-prepare() {
- cd ${_pkgname}-${pkgver/_/-}
- # FS#33343
- patch -p1 -i ../mpi.patch
-}
-
-build() {
- # Crazy workaround: run CMake to generate pkg-config file
- mkdir -p build && cd build
- CXX="mpicxx" \
- CC="mpicc" \
- FC="mpif90" \
- F9X="mpif90" \
- RUNPARALLEL="mpirun" \
- OMPI_MCA_disable_memory_allocator=1 \
- cmake ../${_pkgname}-${pkgver/_/-} \
- -DCMAKE_INSTALL_PREFIX=/usr \
- -DBUILD_SHARED_LIBS=ON \
- -DCMAKE_BUILD_TYPE=Release \
- -DALLOW_UNSUPPORTED=ON \
- -DHDF5_BUILD_HL_LIB=ON \
- -DHDF5_BUILD_CPP_LIB=ON \
- -DHDF5_BUILD_FORTRAN=ON \
- -DHDF5_ENABLE_PARALLEL=ON \
- -DHDF5_ENABLE_Z_LIB_SUPPORT=ON \
- -DHDF5_ENABLE_SZIP_SUPPORT=ON \
- -DHDF5_ENABLE_SZIP_ENCODING=ON
- # But don’t build with it, it’s quite broken
- cd ../${_pkgname}-${pkgver/_/-}
- ./configure \
- CXX="mpicxx" \
- CC="mpicc" \
- FC="mpif90" \
- F9X="mpif90" \
- RUNPARALLEL="mpirun" \
- OMPI_MCA_disable_memory_allocator=1 \
- --prefix=/usr \
- --docdir=/usr/share/doc/hdf5/ \
- --enable-static \
- --disable-sharedlib-rpath \
- --enable-build-mode=production \
- --enable-hl \
- --enable-cxx \
- --enable-fortran \
- --enable-parallel \
- --enable-unsupported \
- --with-pic \
- --with-zlib \
- --with-szlib
- make
-}
-
-check() {
- cd ${_pkgname}-${pkgver/_/-}
- # Without this, checks are failing with messages like “error while loading shared libraries: libhdf5.so.101: cannot open shared object file: No such file or directory”
- export LD_LIBRARY_PATH="${srcdir}"/${pkgname}-${pkgver/_/-}/src/.libs/
- export LD_LIBRARY_PATH="$LD_LIBRARY_PATH":"${srcdir}"/${pkgname}-${pkgver/_/-}/c++/src/.libs/
- export LD_LIBRARY_PATH="$LD_LIBRARY_PATH":"${srcdir}"/${pkgname}-${pkgver/_/-}/fortran/src/.libs/
- export LD_LIBRARY_PATH="$LD_LIBRARY_PATH":"${srcdir}"/${pkgname}-${pkgver/_/-}/hl/src/.libs/
- export LD_LIBRARY_PATH="$LD_LIBRARY_PATH":"${srcdir}"/${pkgname}-${pkgver/_/-}/hl/c++/src/.libs/
- export LD_LIBRARY_PATH="$LD_LIBRARY_PATH":"${srcdir}"/${pkgname}-${pkgver/_/-}/hl/fortran/src/.libs/
- # This is a parallel build, they are always OpenMPI bugs
- make check || warning "Tests failed"
-}
-
-package() {
- cd ${_pkgname}-${pkgver/_/-}
-
- make DESTDIR="${pkgdir}" install
-
- # Remove leftover test files
- rm "${pkgdir}"/usr/include/tst{ds,image,lite,table}{,_tests}.mod
-
- # Move examples to a proper place
- install -dm755 "${pkgdir}"/usr/share/doc/${_pkgname}
- mv "${pkgdir}"/usr/share/{hdf5_examples,doc/${_pkgname}/examples}
-
- install -Dm644 COPYING -t "${pkgdir}"/usr/share/licenses/${_pkgname}
-
- # Install pkg-config files from CMake tree
- install -Dm644 ../build/CMakeFiles/hdf5{,_hl}{,_cpp}-${pkgver}.pc -t "${pkgdir}"/usr/lib/pkgconfig/
-}
Copied: hdf5-openmpi/repos/community-x86_64/PKGBUILD (from rev 432662, hdf5-openmpi/trunk/PKGBUILD)
===================================================================
--- PKGBUILD (rev 0)
+++ PKGBUILD 2019-02-15 12:39:51 UTC (rev 432663)
@@ -0,0 +1,113 @@
+# Maintainer: Ronald van Haren <ronald.archlinux.org>
+# Maintainer: Bruno Pagani <archange at archlinux.org>
+# Contributor: Stefan Husmann <stefan-husmann at t-online.de>
+# Contributor: damir <damir at archlinux.org>
+# Contributor: Tom K <tomk at runbox.com>
+# Contributor: Jed Brown <jed at 59A2.org>
+# Contributor: Simone Pezzuto <junki.gnu at gmail.com>
+
+_pkgname=hdf5
+_mpi=openmpi
+pkgname=${_pkgname}-${_mpi}
+pkgver=1.10.4
+pkgrel=2
+pkgdesc="General purpose library and file format for storing scientific data (${_mpi} version)"
+arch=('x86_64')
+url="https://www.hdfgroup.org/hdf5"
+license=('custom')
+depends=('zlib' 'libaec' 'bash' 'openmpi')
+makedepends=('cmake' 'time' 'gcc-fortran')
+provides=('hdf5' 'hdf5-cpp-fortran' "hdf5-fortran-${_mpi}")
+conflicts=('hdf5')
+replaces=("hdf5-fortran-${_mpi}")
+options=('staticlibs')
+source=("https://support.hdfgroup.org/ftp/HDF5/releases/${_pkgname}-${pkgver:0:4}/${_pkgname}-${pkgver/_/-}/src/${_pkgname}-${pkgver/_/-}.tar.bz2"
+ 'mpi.patch'
+ 'remove-openmpi-1.0-interfaces.patch')
+sha256sums=('1267ff06aaedc04ca25f7c6026687ea2884b837043431195f153401d942b28df'
+ '603006358175b7a8b35fa44c484cddf45c0381cf50db4fb7c50ea5969d361eca'
+ '41b1277843492b055ae448910cb03869b533364fdde585afbe1bbed0377ffaa3')
+
+prepare() {
+ cd ${_pkgname}-${pkgver/_/-}
+ # FS#33343
+ patch -p1 -i ../mpi.patch
+ patch -p1 -i ../remove-openmpi-1.0-interfaces.patch
+}
+
+build() {
+ # Crazy workaround: run CMake to generate pkg-config file
+ mkdir -p build && cd build
+ CXX="mpicxx" \
+ CC="mpicc" \
+ FC="mpif90" \
+ F9X="mpif90" \
+ RUNPARALLEL="mpirun" \
+ OMPI_MCA_disable_memory_allocator=1 \
+ cmake ../${_pkgname}-${pkgver/_/-} \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DBUILD_SHARED_LIBS=ON \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DALLOW_UNSUPPORTED=ON \
+ -DHDF5_BUILD_HL_LIB=ON \
+ -DHDF5_BUILD_CPP_LIB=ON \
+ -DHDF5_BUILD_FORTRAN=ON \
+ -DHDF5_ENABLE_PARALLEL=ON \
+ -DHDF5_ENABLE_Z_LIB_SUPPORT=ON \
+ -DHDF5_ENABLE_SZIP_SUPPORT=ON \
+ -DHDF5_ENABLE_SZIP_ENCODING=ON
+ # But don’t build with it, it’s quite broken
+ cd ../${_pkgname}-${pkgver/_/-}
+ ./configure \
+ CXX="mpicxx" \
+ CC="mpicc" \
+ FC="mpif90" \
+ F9X="mpif90" \
+ RUNPARALLEL="mpirun" \
+ OMPI_MCA_disable_memory_allocator=1 \
+ --prefix=/usr \
+ --docdir=/usr/share/doc/hdf5/ \
+ --enable-static \
+ --disable-sharedlib-rpath \
+ --enable-build-mode=production \
+ --enable-hl \
+ --enable-cxx \
+ --enable-fortran \
+ --enable-parallel \
+ --enable-unsupported \
+ --with-pic \
+ --with-zlib \
+ --with-szlib
+ make
+}
+
+check() {
+ cd ${_pkgname}-${pkgver/_/-}
+ # Without this, checks are failing with messages like “error while loading shared libraries: libhdf5.so.101: cannot open shared object file: No such file or directory”
+ export LD_LIBRARY_PATH="${srcdir}"/${pkgname}-${pkgver/_/-}/src/.libs/
+ export LD_LIBRARY_PATH="$LD_LIBRARY_PATH":"${srcdir}"/${pkgname}-${pkgver/_/-}/c++/src/.libs/
+ export LD_LIBRARY_PATH="$LD_LIBRARY_PATH":"${srcdir}"/${pkgname}-${pkgver/_/-}/fortran/src/.libs/
+ export LD_LIBRARY_PATH="$LD_LIBRARY_PATH":"${srcdir}"/${pkgname}-${pkgver/_/-}/hl/src/.libs/
+ export LD_LIBRARY_PATH="$LD_LIBRARY_PATH":"${srcdir}"/${pkgname}-${pkgver/_/-}/hl/c++/src/.libs/
+ export LD_LIBRARY_PATH="$LD_LIBRARY_PATH":"${srcdir}"/${pkgname}-${pkgver/_/-}/hl/fortran/src/.libs/
+ # This is a parallel build, they are always OpenMPI bugs
+ make check || warning "Tests failed"
+}
+
+package() {
+ cd ${_pkgname}-${pkgver/_/-}
+
+ make DESTDIR="${pkgdir}" install
+
+ # Remove leftover test files
+ rm "${pkgdir}"/usr/include/tst{ds,image,lite,table}{,_tests}.mod
+
+ # Move examples to a proper place
+ install -dm755 "${pkgdir}"/usr/share/doc/${_pkgname}
+ mv "${pkgdir}"/usr/share/{hdf5_examples,doc/${_pkgname}/examples}
+
+ install -Dm644 COPYING -t "${pkgdir}"/usr/share/licenses/${_pkgname}
+
+ # Install pkg-config files from CMake tree
+ install -Dm644 ../build/CMakeFiles/hdf5{,_hl}{,_cpp}-${pkgver}.pc -t "${pkgdir}"/usr/lib/pkgconfig/
+}
Deleted: mpi.patch
===================================================================
--- mpi.patch 2019-02-15 12:39:21 UTC (rev 432662)
+++ mpi.patch 2019-02-15 12:39:51 UTC (rev 432663)
@@ -1,18 +0,0 @@
-Prevent accidental inclusion of mpi c++ headers
-when hdf5.h is included third party library
-
-https://bugs.gentoo.org/show_bug.cgi?id=420777
-https://bugs.archlinux.org/task/33343
-
---- a/src/H5public.h
-+++ b/src/H5public.h
-@@ -58,6 +58,8 @@
- # include <stddef.h>
- #endif
- #ifdef H5_HAVE_PARALLEL
-+# define OMPI_SKIP_MPICXX /* Make sure that cxx specific headers are not included */
-+# define MPICH_SKIP_MPICXX
- # include <mpi.h>
- #ifndef MPI_FILE_NULL /*MPIO may be defined in mpi.h already */
- # include <mpio.h>
-
Copied: hdf5-openmpi/repos/community-x86_64/mpi.patch (from rev 432662, hdf5-openmpi/trunk/mpi.patch)
===================================================================
--- mpi.patch (rev 0)
+++ mpi.patch 2019-02-15 12:39:51 UTC (rev 432663)
@@ -0,0 +1,18 @@
+Prevent accidental inclusion of mpi c++ headers
+when hdf5.h is included third party library
+
+https://bugs.gentoo.org/show_bug.cgi?id=420777
+https://bugs.archlinux.org/task/33343
+
+--- a/src/H5public.h
++++ b/src/H5public.h
+@@ -58,6 +58,8 @@
+ # include <stddef.h>
+ #endif
+ #ifdef H5_HAVE_PARALLEL
++# define OMPI_SKIP_MPICXX /* Make sure that cxx specific headers are not included */
++# define MPICH_SKIP_MPICXX
+ # include <mpi.h>
+ #ifndef MPI_FILE_NULL /*MPIO may be defined in mpi.h already */
+ # include <mpio.h>
+
Copied: hdf5-openmpi/repos/community-x86_64/remove-openmpi-1.0-interfaces.patch (from rev 432662, hdf5-openmpi/trunk/remove-openmpi-1.0-interfaces.patch)
===================================================================
--- remove-openmpi-1.0-interfaces.patch (rev 0)
+++ remove-openmpi-1.0-interfaces.patch 2019-02-15 12:39:51 UTC (rev 432663)
@@ -0,0 +1,102 @@
+--- A/src/H5Smpio.c 2018-09-04 04:54:44.000000000 +0200
++++ B/src/H5Smpio.c 2018-11-22 16:58:44.365923064 +0100
+@@ -859,7 +859,7 @@
+ * (2GB-1)number_of_blocks * the_datatype_extent.
+ */
+
+- MPI_Aint stride_in_bytes, inner_extent;
++ MPI_Aint stride_in_bytes, inner_extent, lower_bound;
+ MPI_Datatype block_type;
+
+ /* create a contiguous datatype inner_type x number of BLOCKS.
+@@ -879,7 +879,7 @@
+ HMPI_GOTO_ERROR(FAIL, "MPI_Type_contiguous failed", mpi_code)
+ }
+
+- MPI_Type_extent (inner_type, &inner_extent);
++ MPI_Type_get_extent (inner_type, &lower_bound, &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,
+@@ -1424,7 +1424,7 @@
+ int block_len[2];
+ int mpi_code; /* MPI return code */
+ MPI_Datatype inner_type, outer_type, leftover_type, type[2];
+- MPI_Aint disp[2], old_extent;
++ MPI_Aint disp[2], old_extent, lower_bound;
+ herr_t ret_value = SUCCEED; /* Return value */
+
+ FUNC_ENTER_NOAPI_NOINIT
+@@ -1500,9 +1500,9 @@
+ }
+ }
+
+- MPI_Type_extent (old_type, &old_extent);
++ MPI_Type_get_extent (old_type, &lower_bound, &old_extent);
+
+- /* Set up the arguments for MPI_Type_struct constructor */
++ /* Set up the arguments for MPI_Type_create_struct constructor */
+ type[0] = outer_type;
+ type[1] = leftover_type;
+ block_len[0] = 1;
+--- A/src/H5.c 2018-10-05 07:21:51.000000000 +0200
++++ B/src/H5.c 2018-11-22 16:52:52.353016751 +0100
+@@ -138,7 +138,7 @@
+ 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)
+--- A/testpar/t_cache.c 2018-09-10 16:43:41.000000000 +0200
++++ B/testpar/t_cache.c 2018-11-22 16:58:45.405881436 +0100
+@@ -1217,20 +1217,20 @@
+ 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;
+ if ( verbose ) {
+- HDfprintf(stdout, "%d:%s: MPI_Address() call failed.\n",
++ HDfprintf(stdout, "%d:%s: MPI_Get_address() call failed.\n",
+ world_mpi_rank, FUNC);
+ }
+
+@@ -1245,14 +1245,14 @@
+
+ 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 ) {
+
+ nerrors++;
+ success = FALSE;
+ if ( verbose ) {
+- HDfprintf(stdout, "%d:%s: MPI_Type_struct() call failed.\n",
++ HDfprintf(stdout, "%d:%s: MPI_Type_create_struct() call failed.\n",
+ world_mpi_rank, FUNC);
+ }
+ }
More information about the arch-commits
mailing list