[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