diff --git a/gnu/local.mk b/gnu/local.mk index a73f10b0f8..69d157b8a7 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -707,6 +707,7 @@ dist_patch_DATA = \ %D%/packages/patches/cursynth-wave-rand.patch \ %D%/packages/patches/cvs-2017-12836.patch \ %D%/packages/patches/dbus-helper-search-path.patch \ + %D%/packages/patches/dealii-mpi-deprecations.patch \ %D%/packages/patches/deja-dup-use-ref-keyword-for-iter.patch \ %D%/packages/patches/dfu-programmer-fix-libusb.patch \ %D%/packages/patches/diffutils-gets-undeclared.patch \ diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 180737001e..bf03571c45 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -3447,7 +3447,7 @@ revised simplex and the branch-and-bound methods.") (define-public dealii (package (name "dealii") - (version "8.5.1") + (version "9.0.1") (source (origin (method url-fetch) @@ -3455,7 +3455,8 @@ revised simplex and the branch-and-bound methods.") "download/v" version "/dealii-" version ".tar.gz")) (sha256 (base32 - "1bh9rsmkrg0zi70n27b11djmac9lximghsiy7mg7w7x544n82gnk")) + "0r7f8rhl3xr94imd372plizdcbqk0a70w73lwc3vw912dxk0sbyz")) + (patches (search-patches "dealii-mpi-deprecations.patch")) (modules '((guix build utils))) (snippet ;; Remove bundled sources: UMFPACK, TBB, muParser, and boost @@ -3508,10 +3509,8 @@ in finite element programs.") (arguments (substitute-keyword-arguments (package-arguments dealii) ((#:configure-flags cf) - ``("-DMPI_C_COMPILER=mpicc" - "-DMPI_CXX_COMPILER=mpicxx" - "-DMPI_Fortran_COMPILER=mpifort" - ,@,cf)) + `(cons "-DDEAL_II_WITH_MPI:BOOL=ON" + ,cf)) ((#:phases phases '%standard-phases) `(modify-phases ,phases (add-before 'check 'mpi-setup diff --git a/gnu/packages/patches/dealii-mpi-deprecations.patch b/gnu/packages/patches/dealii-mpi-deprecations.patch new file mode 100644 index 0000000000..816d54140a --- /dev/null +++ b/gnu/packages/patches/dealii-mpi-deprecations.patch @@ -0,0 +1,28 @@ +From 40538ad31a71495649d174b0f7be5f7135d0a905 Mon Sep 17 00:00:00 2001 +From: David Wells +Date: Sat, 2 Feb 2019 10:00:38 -0500 +Subject: [PATCH] Avoid calling a deprecated MPI function. + +This was deprecated a long time ago (1996) and is not present in the +latest version of openMPI (4.0): see + +https://www.open-mpi.org/faq/?category=mpi-removed + +Credit goes to Pratik Nayak for finding this issue. +--- + source/base/mpi.cc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/source/base/mpi.cc b/source/base/mpi.cc +index bd1f7f9846a..b8cd45e7c26 100644 +--- a/source/base/mpi.cc ++++ b/source/base/mpi.cc +@@ -448,7 +448,7 @@ namespace Utilities + MPI_Aint displacements[] = {0, offsetof(MinMaxAvg, min_index)}; + MPI_Datatype types[] = {MPI_DOUBLE, MPI_INT}; + +- ierr = MPI_Type_struct(2, lengths, displacements, types, &type); ++ ierr = MPI_Type_create_struct(2, lengths, displacements, types, &type); + AssertThrowMPI(ierr); + + ierr = MPI_Type_commit(&type);