summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDenis Davydov <davydden@gmail.com>2017-08-31 01:58:23 +0200
committerAdam J. Stewart <ajstewart426@gmail.com>2017-08-30 18:58:23 -0500
commitbb29ec1843524ad4d517f9c93adcffd5f8959569 (patch)
tree632f83e6af4d659be350075d25d4934e0a3e1342
parentb5a9f8ead14a18c3be24fce97cb2277e1a5baad1 (diff)
downloadspack-bb29ec1843524ad4d517f9c93adcffd5f8959569.tar.gz
spack-bb29ec1843524ad4d517f9c93adcffd5f8959569.tar.bz2
spack-bb29ec1843524ad4d517f9c93adcffd5f8959569.tar.xz
spack-bb29ec1843524ad4d517f9c93adcffd5f8959569.zip
mpich: fix MPI_Barrier segfault (#5235)
* mpich: fix MPI_Barrier segfault * one more link
-rw-r--r--var/spack/repos/builtin/packages/mpich/mpich32_clang.patch13
-rw-r--r--var/spack/repos/builtin/packages/mpich/package.py5
2 files changed, 18 insertions, 0 deletions
diff --git a/var/spack/repos/builtin/packages/mpich/mpich32_clang.patch b/var/spack/repos/builtin/packages/mpich/mpich32_clang.patch
new file mode 100644
index 0000000000..01243072f7
--- /dev/null
+++ b/var/spack/repos/builtin/packages/mpich/mpich32_clang.patch
@@ -0,0 +1,13 @@
+diff --git a/src/include/mpiimpl.h b/src/include/mpiimpl.h
+index e705e5d..3bfcbee 100644
+--- a/src/include/mpiimpl.h
++++ b/src/include/mpiimpl.h
+@@ -1528,7 +1528,7 @@ typedef struct MPID_Request {
+ #ifdef MPID_DEV_REQUEST_DECL
+ MPID_DEV_REQUEST_DECL
+ #endif
+-} MPID_Request ATTRIBUTE((__aligned__(32)));
++} ATTRIBUTE((__aligned__(32))) MPID_Request;
+
+ extern MPIU_Object_alloc_t MPID_Request_mem;
+ /* Preallocated request objects */
diff --git a/var/spack/repos/builtin/packages/mpich/package.py b/var/spack/repos/builtin/packages/mpich/package.py
index f61a160d98..0663ce2b7b 100644
--- a/var/spack/repos/builtin/packages/mpich/package.py
+++ b/var/spack/repos/builtin/packages/mpich/package.py
@@ -51,6 +51,11 @@ class Mpich(AutotoolsPackage):
provides('mpi@:3.0', when='@3:')
provides('mpi@:1.3', when='@1:')
+ # fix MPI_Barrier segmentation fault
+ # see https://lists.mpich.org/pipermail/discuss/2016-May/004764.html
+ # and https://lists.mpich.org/pipermail/discuss/2016-June/004768.html
+ patch('mpich32_clang.patch', when='@3.2%clang')
+
def setup_dependent_environment(self, spack_env, run_env, dependent_spec):
# On Cray, the regular compiler wrappers *are* the MPI wrappers.
if 'platform=cray' in self.spec: