aboutsummaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
Diffstat (limited to 'gnu')
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/maths.scm3
-rw-r--r--gnu/packages/patches/superlu-dist-fix-mpi-deprecations.patch57
3 files changed, 60 insertions, 1 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index 939a91b600..785e49a774 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1238,6 +1238,7 @@ dist_patch_DATA = \
%D%/packages/patches/steghide-fixes.patch \
%D%/packages/patches/streamlink-update-test.patch \
%D%/packages/patches/superlu-dist-awpm-grid.patch \
+ %D%/packages/patches/superlu-dist-fix-mpi-deprecations.patch \
%D%/packages/patches/superlu-dist-scotchmetis.patch \
%D%/packages/patches/swig-guile-gc.patch \
%D%/packages/patches/swish-e-search.patch \
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index eb0abaf3d7..10b0978ba0 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -2331,7 +2331,8 @@ void mc64ad_dist (int *a, int *b, int *c, int *d, int *e, double *f, int *g,
"RowPerm = NOROWPERM;"))
#t))
(patches (search-patches "superlu-dist-scotchmetis.patch"
- "superlu-dist-awpm-grid.patch"))))
+ "superlu-dist-awpm-grid.patch"
+ "superlu-dist-fix-mpi-deprecations.patch"))))
(build-system cmake-build-system)
(native-inputs
`(("tcsh" ,tcsh)))
diff --git a/gnu/packages/patches/superlu-dist-fix-mpi-deprecations.patch b/gnu/packages/patches/superlu-dist-fix-mpi-deprecations.patch
new file mode 100644
index 0000000000..25f0aaf2f3
--- /dev/null
+++ b/gnu/packages/patches/superlu-dist-fix-mpi-deprecations.patch
@@ -0,0 +1,57 @@
+From c9cbcf8730221e366c7495073f8f8d819ee8ce89 Mon Sep 17 00:00:00 2001
+From: Eric Bavier <bavier@member.fsf.org>
+Date: Wed, 6 Feb 2019 10:06:59 -0600
+Subject: [PATCH] Replace deprecated MPI_Attr_get.
+
+Fixes build with OpenMPI version 4.0.
+
+* SRC/pdgstrf.c, SRC/pdgstrf.c, SRC/superlu_grid.c: 'MPI_Attr_get' ->
+ 'MPI_Comm_get_attr'.
+---
+ SRC/pdgstrf.c | 2 +-
+ SRC/pzgstrf.c | 2 +-
+ SRC/superlu_grid.c | 2 +-
+ 3 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/SRC/pdgstrf.c b/SRC/pdgstrf.c
+index 736ffa2..f92a1ba 100644
+--- a/SRC/pdgstrf.c
++++ b/SRC/pdgstrf.c
+@@ -426,7 +426,7 @@ pdgstrf(superlu_dist_options_t * options, int m, int n, double anorm,
+ s_eps = smach_dist("Epsilon");
+ thresh = s_eps * anorm;
+
+- MPI_Attr_get (MPI_COMM_WORLD, MPI_TAG_UB, &attr_val, &flag);
++ MPI_Comm_get_attr (MPI_COMM_WORLD, MPI_TAG_UB, &attr_val, &flag);
+ if (!flag) {
+ fprintf (stderr, "Could not get TAG_UB\n");
+ return (-1);
+diff --git a/SRC/pzgstrf.c b/SRC/pzgstrf.c
+index 8896548..8800057 100644
+--- a/SRC/pzgstrf.c
++++ b/SRC/pzgstrf.c
+@@ -426,7 +426,7 @@ pzgstrf(superlu_dist_options_t * options, int m, int n, double anorm,
+ s_eps = smach_dist("Epsilon");
+ thresh = s_eps * anorm;
+
+- MPI_Attr_get (MPI_COMM_WORLD, MPI_TAG_UB, &attr_val, &flag);
++ MPI_Comm_get_attr (MPI_COMM_WORLD, MPI_TAG_UB, &attr_val, &flag);
+ if (!flag) {
+ fprintf (stderr, "Could not get TAG_UB\n");
+ return (-1);
+diff --git a/SRC/superlu_grid.c b/SRC/superlu_grid.c
+index 1213d27..0c0fb90 100644
+--- a/SRC/superlu_grid.c
++++ b/SRC/superlu_grid.c
+@@ -150,7 +150,7 @@ void superlu_gridmap(
+ {
+ int tag_ub;
+ if ( !grid->iam ) {
+- MPI_Attr_get(Bcomm, MPI_TAG_UB, &tag_ub, &info);
++ MPI_Comm_get_attr(Bcomm, MPI_TAG_UB, &tag_ub, &info);
+ printf("MPI_TAG_UB %d\n", tag_ub);
+ /* returns 4295677672
+ In reality it is restricted to no greater than 16384. */
+--
+2.20.1
+