[arch-commits] Commit in openmpi/repos (6 files)

Stéphane Gaudreault stephane at archlinux.org
Mon Apr 30 17:40:03 EDT 2012


    Date: Monday, April 30, 2012 @ 17:40:03
  Author: stephane
Revision: 157996

archrelease: copy trunk to testing-i686, testing-x86_64

Added:
  openmpi/repos/testing-i686/
  openmpi/repos/testing-i686/PKGBUILD
    (from rev 157995, openmpi/trunk/PKGBUILD)
  openmpi/repos/testing-i686/openmpi-1.5.4-fix-fakeroot-execution.patch
    (from rev 157995, openmpi/trunk/openmpi-1.5.4-fix-fakeroot-execution.patch)
  openmpi/repos/testing-x86_64/
  openmpi/repos/testing-x86_64/PKGBUILD
    (from rev 157995, openmpi/trunk/PKGBUILD)
  openmpi/repos/testing-x86_64/openmpi-1.5.4-fix-fakeroot-execution.patch
    (from rev 157995, openmpi/trunk/openmpi-1.5.4-fix-fakeroot-execution.patch)

-----------------------------------------------------------+
 testing-i686/PKGBUILD                                     |   70 ++++++++++++
 testing-i686/openmpi-1.5.4-fix-fakeroot-execution.patch   |   43 +++++++
 testing-x86_64/PKGBUILD                                   |   70 ++++++++++++
 testing-x86_64/openmpi-1.5.4-fix-fakeroot-execution.patch |   43 +++++++
 4 files changed, 226 insertions(+)

Copied: openmpi/repos/testing-i686/PKGBUILD (from rev 157995, openmpi/trunk/PKGBUILD)
===================================================================
--- testing-i686/PKGBUILD	                        (rev 0)
+++ testing-i686/PKGBUILD	2012-04-30 21:40:03 UTC (rev 157996)
@@ -0,0 +1,70 @@
+# $Id$
+# Maintainer: Stéphane Gaudreault <stephane at archlinux.org>
+pkgname=openmpi
+pkgver=1.5.5
+pkgrel=3
+pkgdesc="High performance message passing library (MPI)"
+arch=('i686' 'x86_64')
+url="http://www.open-mpi.org"
+license=('custom')
+depends=('gcc-fortran' 'openssh' 'valgrind' 'libltdl' 'hwloc')
+makedepends=('inetutils')
+options=(!libtool)
+source=(http://www.open-mpi.org/software/ompi/v1.5/downloads/${pkgname}-${pkgver}.tar.bz2
+        openmpi-1.5.4-fix-fakeroot-execution.patch)
+sha1sums=('206e555f6d376443f2342f721d944e67dd1a04ef'
+          'ec46abb6f9e01daca910e4079b9abc036db9ed20')
+
+build() {
+   cd "${srcdir}/${pkgname}-${pkgver}"
+
+   # Fix fakeroot problem (FS#28644)
+   patch -Np1 -i ../openmpi-1.5.4-fix-fakeroot-execution.patch
+   
+   # Make sure we use the system ltdl librariry rather than the ones in the tarball
+   rm -r opal/libltdl
+
+   ./configure --prefix=/usr \
+               --sysconfdir=/etc/${pkgname} \
+               --mandir=/usr/share/man \
+               --enable-mpi-f90 \
+               --libdir=/usr/lib/${pkgname} \
+               --with-threads=posix \
+               --enable-smp-locks \
+               --with-valgrind \
+               --enable-memchecker \
+               --enable-debug \
+               --enable-pretty-print-stacktrace \
+               --without-slurm \
+               --with-hwloc=/usr \
+               --with-libltdl=/usr  \
+               FC=/usr/bin/gfortran \
+               LDFLAGS="$LDFLAGS -Wl,-z,noexecstack"
+
+   make
+}
+
+package() {
+   cd "${srcdir}/${pkgname}-${pkgver}"
+   make DESTDIR="${pkgdir}" install
+
+   # FS#28583
+   install -d -m 755 "${pkgdir}"/usr/lib/pkgconfig
+   for i in ompi-c.pc ompi-cxx.pc ompi-f77.pc ompi-f90.pc ompi.pc; do
+      ln -sf /usr/lib/openmpi/pkgconfig/${i} "${pkgdir}"/usr/lib/pkgconfig/
+   done
+
+   # Openmpi's otfinfo conflicts with the one from texlive
+   mv "${pkgdir}"/usr/bin/otfinfo{,mpi}
+
+   # Openmpi's otfdump conflicts with the one from libotf
+   mv "${pkgdir}"/usr/bin/otfdump{,ompi}
+
+   # Remove dangling symlink
+   rm "${pkgdir}"/usr/share/man/man1/orteCC.1
+
+   install -d -m 755 "${pkgdir}"/etc/ld.so.conf.d
+   echo "/usr/lib/${pkgname}" > "${pkgdir}"/etc/ld.so.conf.d/${pkgname}.conf
+
+   install -Dm644 LICENSE "${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE
+}

Copied: openmpi/repos/testing-i686/openmpi-1.5.4-fix-fakeroot-execution.patch (from rev 157995, openmpi/trunk/openmpi-1.5.4-fix-fakeroot-execution.patch)
===================================================================
--- testing-i686/openmpi-1.5.4-fix-fakeroot-execution.patch	                        (rev 0)
+++ testing-i686/openmpi-1.5.4-fix-fakeroot-execution.patch	2012-04-30 21:40:03 UTC (rev 157996)
@@ -0,0 +1,43 @@
+Description: If running under Debian fakeroot then its important
+ that this hook is disabled; a new stat check was introduced in
+ 1.5.x which preceeds the FAKEROOT check resulting in a SEGFAULT.
+Author: James Page <james.page at ubuntu.com>
+Origin: https://svn.open-mpi.org/trac/ompi/changeset/21489
+
+Index: openmpi-1.5.4/opal/mca/memory/linux/hooks.c
+===================================================================
+--- openmpi-1.5.4.orig/opal/mca/memory/linux/hooks.c    2012-02-15 12:59:39.986314651 +0000
++++ openmpi-1.5.4/opal/mca/memory/linux/hooks.c 2012-02-15 13:14:57.744722517 +0000
+@@ -738,15 +738,6 @@
+     check_result_t r1, r2, lp, lpp;
+     bool want_rcache = false, found_driver = false;
+ 
+-    /* First, check if ummunotify is present on the system. If it is,
+-       then we don't need to do the following ptmalloc2 hacks.
+-       open/mmap on the device may fail during init, but if /dev/ummunotify
+-       exists, we assume that the user/administrator *wants* to use
+-       ummunotify. */
+-    if (stat("/dev/ummunotify", &st) == 0) {
+-        return;
+-    }
+-
+     /* Yes, checking for an MPI MCA parameter here is an abstraction
+        violation.  Cope.  Yes, even checking for *any* MCA parameter
+        here (without going through the MCA param API) is an
+@@ -769,6 +760,15 @@
+         return;
+     }
+ 
++    /* Next, check if ummunotify is present on the system. If it is,
++       then we don't need to do the following ptmalloc2 hacks.
++       open/mmap on the device may fail during init, but if /dev/ummunotify
++       exists, we assume that the user/administrator *wants* to use
++       ummunotify. */
++    if (stat("/dev/ummunotify", &st) == 0) {
++        return;
++    }
++
+     /* Look for sentinel files (directories) to see if various network
+        drivers are loaded (yes, I know, further abstraction
+        violations...).
+

Copied: openmpi/repos/testing-x86_64/PKGBUILD (from rev 157995, openmpi/trunk/PKGBUILD)
===================================================================
--- testing-x86_64/PKGBUILD	                        (rev 0)
+++ testing-x86_64/PKGBUILD	2012-04-30 21:40:03 UTC (rev 157996)
@@ -0,0 +1,70 @@
+# $Id$
+# Maintainer: Stéphane Gaudreault <stephane at archlinux.org>
+pkgname=openmpi
+pkgver=1.5.5
+pkgrel=3
+pkgdesc="High performance message passing library (MPI)"
+arch=('i686' 'x86_64')
+url="http://www.open-mpi.org"
+license=('custom')
+depends=('gcc-fortran' 'openssh' 'valgrind' 'libltdl' 'hwloc')
+makedepends=('inetutils')
+options=(!libtool)
+source=(http://www.open-mpi.org/software/ompi/v1.5/downloads/${pkgname}-${pkgver}.tar.bz2
+        openmpi-1.5.4-fix-fakeroot-execution.patch)
+sha1sums=('206e555f6d376443f2342f721d944e67dd1a04ef'
+          'ec46abb6f9e01daca910e4079b9abc036db9ed20')
+
+build() {
+   cd "${srcdir}/${pkgname}-${pkgver}"
+
+   # Fix fakeroot problem (FS#28644)
+   patch -Np1 -i ../openmpi-1.5.4-fix-fakeroot-execution.patch
+   
+   # Make sure we use the system ltdl librariry rather than the ones in the tarball
+   rm -r opal/libltdl
+
+   ./configure --prefix=/usr \
+               --sysconfdir=/etc/${pkgname} \
+               --mandir=/usr/share/man \
+               --enable-mpi-f90 \
+               --libdir=/usr/lib/${pkgname} \
+               --with-threads=posix \
+               --enable-smp-locks \
+               --with-valgrind \
+               --enable-memchecker \
+               --enable-debug \
+               --enable-pretty-print-stacktrace \
+               --without-slurm \
+               --with-hwloc=/usr \
+               --with-libltdl=/usr  \
+               FC=/usr/bin/gfortran \
+               LDFLAGS="$LDFLAGS -Wl,-z,noexecstack"
+
+   make
+}
+
+package() {
+   cd "${srcdir}/${pkgname}-${pkgver}"
+   make DESTDIR="${pkgdir}" install
+
+   # FS#28583
+   install -d -m 755 "${pkgdir}"/usr/lib/pkgconfig
+   for i in ompi-c.pc ompi-cxx.pc ompi-f77.pc ompi-f90.pc ompi.pc; do
+      ln -sf /usr/lib/openmpi/pkgconfig/${i} "${pkgdir}"/usr/lib/pkgconfig/
+   done
+
+   # Openmpi's otfinfo conflicts with the one from texlive
+   mv "${pkgdir}"/usr/bin/otfinfo{,mpi}
+
+   # Openmpi's otfdump conflicts with the one from libotf
+   mv "${pkgdir}"/usr/bin/otfdump{,ompi}
+
+   # Remove dangling symlink
+   rm "${pkgdir}"/usr/share/man/man1/orteCC.1
+
+   install -d -m 755 "${pkgdir}"/etc/ld.so.conf.d
+   echo "/usr/lib/${pkgname}" > "${pkgdir}"/etc/ld.so.conf.d/${pkgname}.conf
+
+   install -Dm644 LICENSE "${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE
+}

Copied: openmpi/repos/testing-x86_64/openmpi-1.5.4-fix-fakeroot-execution.patch (from rev 157995, openmpi/trunk/openmpi-1.5.4-fix-fakeroot-execution.patch)
===================================================================
--- testing-x86_64/openmpi-1.5.4-fix-fakeroot-execution.patch	                        (rev 0)
+++ testing-x86_64/openmpi-1.5.4-fix-fakeroot-execution.patch	2012-04-30 21:40:03 UTC (rev 157996)
@@ -0,0 +1,43 @@
+Description: If running under Debian fakeroot then its important
+ that this hook is disabled; a new stat check was introduced in
+ 1.5.x which preceeds the FAKEROOT check resulting in a SEGFAULT.
+Author: James Page <james.page at ubuntu.com>
+Origin: https://svn.open-mpi.org/trac/ompi/changeset/21489
+
+Index: openmpi-1.5.4/opal/mca/memory/linux/hooks.c
+===================================================================
+--- openmpi-1.5.4.orig/opal/mca/memory/linux/hooks.c    2012-02-15 12:59:39.986314651 +0000
++++ openmpi-1.5.4/opal/mca/memory/linux/hooks.c 2012-02-15 13:14:57.744722517 +0000
+@@ -738,15 +738,6 @@
+     check_result_t r1, r2, lp, lpp;
+     bool want_rcache = false, found_driver = false;
+ 
+-    /* First, check if ummunotify is present on the system. If it is,
+-       then we don't need to do the following ptmalloc2 hacks.
+-       open/mmap on the device may fail during init, but if /dev/ummunotify
+-       exists, we assume that the user/administrator *wants* to use
+-       ummunotify. */
+-    if (stat("/dev/ummunotify", &st) == 0) {
+-        return;
+-    }
+-
+     /* Yes, checking for an MPI MCA parameter here is an abstraction
+        violation.  Cope.  Yes, even checking for *any* MCA parameter
+        here (without going through the MCA param API) is an
+@@ -769,6 +760,15 @@
+         return;
+     }
+ 
++    /* Next, check if ummunotify is present on the system. If it is,
++       then we don't need to do the following ptmalloc2 hacks.
++       open/mmap on the device may fail during init, but if /dev/ummunotify
++       exists, we assume that the user/administrator *wants* to use
++       ummunotify. */
++    if (stat("/dev/ummunotify", &st) == 0) {
++        return;
++    }
++
+     /* Look for sentinel files (directories) to see if various network
+        drivers are loaded (yes, I know, further abstraction
+        violations...).
+



More information about the arch-commits mailing list