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 @@ (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))) 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 +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 +