gnu: superlu-dist: Remove use of deprecated MPI1 symbols.

* gnu/packages/patches/superlu-dist-fix-mpi-deprecations.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/maths.scm (superlu-dist)[source]: Use it.
This commit is contained in:
Eric Bavier 2019-02-06 14:07:23 -06:00
parent 674d180cfa
commit 2bdf26f1c8
No known key found for this signature in database
GPG key ID: FD73CAC719D32566
3 changed files with 60 additions and 1 deletions

View file

@ -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 \

View file

@ -2331,7 +2331,8 @@ (define-public superlu-dist
"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)))

View file

@ -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