[PATCH 0/8] Upgrade PETSc, SLEPc, SUNDIALS, and DealII

  • Done
  • quality assurance status badge
Details
3 participants
  • Eric Bavier
  • Ludovic Courtès
  • Ludovic Courtès
Owner
unassigned
Submitted by
Ludovic Courtès
Severity
normal
L
L
Ludovic Courtès wrote on 29 Aug 17:38 +0200
(address . guix-patches@gnu.org)(name . Ludovic Courtès)(address . ludo@gnu.org)
cover.1724945557.git.ludo@gnu.org
Hello Guix!

The impetus for this patch series is that PETSc fails to build on
‘core-updates’ (soon to be merged) and it’s pretty critical in
applied maths and HPC:

Toggle snippet (26 lines)
Using MAKE: /gnu/store/lc6r1mh0jlcwixjziiw1zsx1my478rv1-make-4.4.1/bin/make
Using MAKEFLAGS: -j16 -l96.0 w -- PETSC_DIR=/tmp/guix-build-petsc-3.16.1.drv-0/petsc-3.16.1 PETSC_ARCH=arch-linux-c-opt MAKE_NP=16
==========================================
make[3]: Entering directory '/tmp/guix-build-petsc-3.16.1.drv-0/petsc-3.16.1'
/gnu/store/nvpcidxh4wqp5prdlyfsbcymg67xqqn9-python-3.10.7/bin/python3 ./config/gmakegen.py --petsc-arch=arch-linux-c-opt
/gnu/store/nvpcidxh4wqp5prdlyfsbcymg67xqqn9-python-3.10.7/bin/python3 /tmp/guix-build-petsc-3.16.1.drv-0/petsc-3.16.1/config/gmakegentest.py --petsc-dir=/tmp/guix-build-petsc-3.16.1.drv-0/petsc-3.16.1 --petsc-arch=arch-linux-c-opt --testdir=./arch-linux-c-opt/tests
make[3]: *** No rule to make target 'w'. Stop.
make[3]: Leaving directory '/tmp/guix-build-petsc-3.16.1.drv-0/petsc-3.16.1'
make[2]: *** [/tmp/guix-build-petsc-3.16.1.drv-0/petsc-3.16.1/lib/petsc/conf/rules:50: libs] Error 2
make[2]: Leaving directory '/tmp/guix-build-petsc-3.16.1.drv-0/petsc-3.16.1'
egrep: warning: egrep is obsolescent; using grep -E
egrep: warning: egrep is obsolescent; using grep -E
**************************ERROR*************************************
Error during compile, check arch-linux-c-opt/lib/petsc/conf/make.log
Send it and arch-linux-c-opt/lib/petsc/conf/configure.log to petsc-maint@mcs.anl.gov
********************************************************************
make[1]: *** [makefile:40: all] Error 1
make: *** [GNUmakefile:9: all] Error 2
error: in phase 'build': uncaught exception:
%exception #<&invoke-error program: "make" arguments: ("MAKE_NP=16") exit-status: 2 term-signal: #f stop-signal: #f>
phase `build' failed after 9.7 seconds
command "make" "MAKE_NP=16" failed with status 2
build process 18 exited with status 256
builder for `/gnu/store/wxzwzjlcq10grqrjl9w144fv3myr0kf9-petsc-3.16.1.drv' failed with exit code 1


Ironically I tested this on top of today’s ‘master’ but I’m hopeful that it’ll
work on ‘core-updates’ (because of this, I think we should get this series
merged shortly once ‘core-updates’ is merged).

I rebuilt all dependents, but ‘fenics’ and its dependents remain broken:
fenics, python-vedo, and python-dolfin-adjoint.

Thanks,
Ludo’.

Ludovic Courtès (8):
gnu: petsc: Update to 3.21.4.
gnu: python-petsc4py: Update to 3.21.4.
gnu: slepc: Update to 3.21.1.
gnu: python-slepc4py: Update to 3.21.1.
gnu: petsc: Make ‘petscvariables’ reproducible.
gnu: sundials: Upgrade to 7.1.1.
gnu: sundials, sundials-openmpi: Use gexps.
gnu: dealii: Update to 9.6.0.

gnu/packages/maths.scm | 190 ++++++++++++++++++++++-------------------
1 file changed, 100 insertions(+), 90 deletions(-)


base-commit: d5312370b46ace47e138d84e1bb28e5651cee94b
--
2.45.2
L
L
Ludovic Courtès wrote on 29 Aug 17:39 +0200
[PATCH 1/8] gnu: petsc: Update to 3.21.4.
(address . 72877@debbugs.gnu.org)(name . Ludovic Courtès)(address . ludovic.courtes@inria.fr)
7c1e3b92955a4133ffae9bc277f0b8a2d89df6d4.1724945557.git.ludo@gnu.org
From: Ludovic Courtès <ludovic.courtes@inria.fr>

* gnu/packages/maths.scm (petsc): Update to 3.21.4. Update source URL.
[arguments]: Move ‘check’ phase after ‘install’.
[home-page]: Update.

Change-Id: I8e7244ad4f8566119bc259f1dccec9589760a491
---
gnu/packages/maths.scm | 18 ++++++++++++++----
1 file changed, 14 insertions(+), 4 deletions(-)

Toggle diff (51 lines)
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index 557d9acc48..4be9ad9d7e 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -3510,15 +3510,15 @@ (define-public maxflow
(define-public petsc
(package
(name "petsc")
- (version "3.16.1")
+ (version "3.21.4")
(source
(origin
(method url-fetch)
;; The *-lite-* tarball does not contain the *large* documentation
- (uri (string-append "http://ftp.mcs.anl.gov/pub/petsc/release-snapshots/"
+ (uri (string-append "https://web.cels.anl.gov/projects/petsc/download/release-snapshots/"
"petsc-lite-" version ".tar.gz"))
(sha256
- (base32 "0sm03vpg010q9icidiq587n325m0598cj6hab2rdv85nwyygg74h"))))
+ (base32 "1394ybnchawb2kghx4xk36gw26930aa73lxyw96diiqp8rnhgbm9"))))
(outputs '("out" ; libraries and headers
"examples")) ; ~30MiB of examples
(build-system gnu-build-system)
@@ -3614,6 +3614,16 @@ (define-public petsc
(("([[:graph:]]+)/bin/diff") "diff")
(("([[:graph:]]+)/bin/sed") "sed")
(("([[:graph:]]+)/bin/gfortran") "gfortran")))))
+
+ ;; Some of the tests get linked with '-L$prefix/lib -lpetsc' (even
+ ;; though that's unnecessary because they also explicitly link
+ ;; against 'libpetsc.so' from the build directory). To work around
+ ;; it, run tests after installation. See
+ ;; <https://gitlab.com/petsc/petsc/-/issues/1634>.
+ (delete 'check)
+ (add-after 'install 'check
+ (assoc-ref %standard-phases 'check))
+
(add-after 'install 'move-examples
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
@@ -3622,7 +3632,7 @@ (define-public petsc
(exdir' (string-append examples "/share/petsc/examples")))
(copy-recursively exdir exdir')
(delete-file-recursively exdir)))))))
- (home-page "https://www.mcs.anl.gov/petsc")
+ (home-page "https://petsc.org")
(synopsis "Library to solve PDEs")
(description "PETSc, pronounced PET-see (the S is silent), is a suite of
data structures and routines for the scalable (parallel) solution of
--
2.45.2
L
L
Ludovic Courtès wrote on 29 Aug 17:39 +0200
[PATCH 2/8] gnu: python-petsc4py: Update to 3.21.4.
(address . 72877@debbugs.gnu.org)(name . Ludovic Courtès)(address . ludovic.courtes@inria.fr)
77468fe53b0ea23abc1e544d71c0c31dcf49a078.1724945557.git.ludo@gnu.org
From: Ludovic Courtès <ludovic.courtes@inria.fr>

* gnu/packages/maths.scm (python-petsc4py): Update to 3.21.4.
[source](modules, snippet): Remove.
[arguments]: Switch to gexps. Rename ‘pre-build’ phase to
‘set-PETSC_DIR’. Replace ‘check’ phase.
[native-inputs]: Switch to ‘python-cython-3’.
[inputs]: Remove labels.

Change-Id: I2d8ef3519f6ffe93ff761ef99c4b8951b6107e1c
---
gnu/packages/maths.scm | 44 ++++++++++++++++--------------------------
1 file changed, 17 insertions(+), 27 deletions(-)

Toggle diff (65 lines)
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index 4be9ad9d7e..c6a40a2652 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -3727,41 +3727,31 @@ (define-public petsc-complex-openmpi
(define-public python-petsc4py
(package
(name "python-petsc4py")
- (version "3.16.1")
+ (version "3.21.4")
(source
(origin
(method url-fetch)
(uri (pypi-uri "petsc4py" version))
(sha256
(base32
- "0pxr6qa7p0pmpq0av29lx8lzlrdcfdzj87ynixzr8dn42y13a662"))
- (modules '((guix build utils)))
- (snippet
- '(begin
- ;; Ensure source file is regenerated in the build phase.
- (delete-file "src/petsc4py.PETSc.c")
- ;; Remove legacy GC code. See
- ;; https://bitbucket.org/petsc/petsc4py/issues/125.
- (substitute* "src/PETSc/cyclicgc.pxi"
- ((".*gc_refs.*") "" )
- ((".*PyGC_Head.*") ""))
- #t))))
+ "1kffxhcwkx6283n2p83ymanz6m8j2xmz5kpa5s8qc4f9iiah59sb"))))
(build-system python-build-system)
(arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-before 'build 'pre-build
- (lambda _
- ;; Define path to PETSc installation.
- (setenv "PETSC_DIR" (assoc-ref %build-inputs "petsc"))
- #t))
- (add-before 'check 'mpi-setup
- ,%openmpi-setup))))
- (native-inputs
- (list python-cython))
- (inputs
- `(("petsc" ,petsc-openmpi)
- ("python-numpy" ,python-numpy)))
+ (list #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'build 'set-PETSC_DIR
+ (lambda* (#:key inputs #:allow-other-keys)
+ ;; Define path to PETSc installation.
+ (setenv "PETSC_DIR"
+ (assoc-ref inputs "petsc-openmpi"))))
+ (add-before 'check 'mpi-setup
+ #$%openmpi-setup)
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "python" "test/runtests.py")))))))
+ (native-inputs (list python-cython-3))
+ (inputs (list petsc-openmpi python-numpy))
(home-page "https://bitbucket.org/petsc/petsc4py/")
(synopsis "Python bindings for PETSc")
(description "PETSc, the Portable, Extensible Toolkit for
--
2.45.2
L
L
Ludovic Courtès wrote on 29 Aug 17:39 +0200
[PATCH 3/8] gnu: slepc: Update to 3.21.1.
(address . 72877@debbugs.gnu.org)(name . Ludovic Courtès)(address . ludovic.courtes@inria.fr)
32d909e4f934e6bf116cbe62e90ffa355bed1caa.1724945557.git.ludo@gnu.org
From: Ludovic Courtès <ludovic.courtes@inria.fr>

* gnu/packages/maths.scm (slepc): Update to 3.21.1.

Change-Id: Ib82754c351100de94b57c650a3688747bf706713
---
gnu/packages/maths.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (24 lines)
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index c6a40a2652..22e7fc5804 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -3928,7 +3928,7 @@ (define-public python-quadpy
(define-public slepc
(package
(name "slepc")
- (version "3.16.1")
+ (version "3.21.1")
(source
(origin
(method url-fetch)
@@ -3936,7 +3936,7 @@ (define-public slepc
version ".tar.gz"))
(sha256
(base32
- "1ysfm77s5fcissv3q0k5d65mlp93zi4anqg62q3cd25dn66sva5i"))))
+ "12kdgnw9lm5q6bq5wp27ygdp1bjdz3fhkb8m9ds83kn32l53zcxy"))))
(build-system gnu-build-system)
(native-inputs
`(("python" ,python)
--
2.45.2
L
L
Ludovic Courtès wrote on 29 Aug 17:39 +0200
[PATCH 4/8] gnu: python-slepc4py: Update to 3.21.1.
(address . 72877@debbugs.gnu.org)(name . Ludovic Courtès)(address . ludovic.courtes@inria.fr)
52bd9a22889bd47f077bc6b8240a748ce2cb30e7.1724945557.git.ludo@gnu.org
From: Ludovic Courtès <ludovic.courtes@inria.fr>

* gnu/packages/maths.scm (python-slepc4py): Update to 3.21.1.
[arguments]: Switch to gexps. Replace ‘check’ phase.
[native-inputs]: New field.
[inputs]: Remove labels. Add ‘petsc-openmpi’.

Change-Id: Ib6f1480415ac5128399c32c1974779b67edb5550
---
gnu/packages/maths.scm | 35 ++++++++++++++++++-----------------
1 file changed, 18 insertions(+), 17 deletions(-)

Toggle diff (56 lines)
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index 22e7fc5804..7249eb68da 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -4042,31 +4042,32 @@ (define-public slepc-complex-openmpi
(define-public python-slepc4py
(package
(name "python-slepc4py")
- (version "3.16.1")
+ (version "3.21.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "slepc4py" version))
(sha256
(base32
- "0fq997y73ymvcvdrxycp450pxwdgnqaw62gv9rwncfgsfplkvs9w"))))
+ "01vvpl8g73knkwnh6mbxd45vwcs4zsw814147fvgkvj30qkhx3mw"))))
(build-system python-build-system)
(arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-before 'build 'pre-build
- (lambda _
- ;; Define path to PETSc installation.
- (setenv "PETSC_DIR" (assoc-ref %build-inputs "petsc"))
- ;; Define path to SLEPc installation.
- (setenv "SLEPC_DIR" (assoc-ref %build-inputs "slepc"))
- #t))
- (add-before 'check 'mpi-setup
- ,%openmpi-setup))))
- (inputs
- `(("python-numpy" ,python-numpy)
- ("python-petsc4py" ,python-petsc4py)
- ("slepc" ,slepc-openmpi)))
+ (list #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'build 'pre-build
+ (lambda* (#:key inputs #:allow-other-keys)
+ ;; Define path to PETSc installation.
+ (setenv "PETSC_DIR" (assoc-ref inputs "petsc-openmpi"))
+ ;; Define path to SLEPc installation.
+ (setenv "SLEPC_DIR" (assoc-ref inputs "slepc-openmpi"))))
+ (add-before 'check 'mpi-setup
+ #$%openmpi-setup)
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "python" "test/runtests.py")))))))
+ (native-inputs (list python-cython-3))
+ (inputs (list python-numpy python-petsc4py petsc-openmpi slepc-openmpi))
(home-page "https://bitbucket.org/slepc/slepc4py/")
(synopsis "Python bindings for SLEPc")
(description "SLEPc, the Scalable Library for Eigenvalue Problem
--
2.45.2
L
L
Ludovic Courtès wrote on 29 Aug 17:39 +0200
[PATCH 5/8] gnu: petsc: Make ‘petscvariab les’ reproducible.
(address . 72877@debbugs.gnu.org)(name . Ludovic Courtès)(address . ludo@gnu.org)
4785fd2599682973b16ea0bdab44c909568b0292.1724945557.git.ludo@gnu.org
This is a followup to 31fe177a97bacec643180cc5bcf8805a6cb07481.

* gnu/packages/maths.scm (petsc)[arguments]: In
‘clean-local-references’, fix typo in ‘MAKE_NP’ and ‘NPMAX’ regexps.
Substitute ‘MAKE_TEST_NP’ and ‘MAKE_LOAD’ as well.

Change-Id: I41b4279a3cdc4b077fab21f0f99273d0d50ed8e1
---
gnu/packages/maths.scm | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)

Toggle diff (19 lines)
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index 7249eb68da..ff1be6d35a 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -3578,8 +3578,10 @@ (define-public petsc
"Machine characteristics: Linux-x.x.x"))
(substitute* (find-files "." "petscvariables")
;; Do not expose build machine characteristics, set to defaults.
- (("MAKE_NP = [:digit:]+") "MAKE_NP = 2")
- (("NPMAX = [:digit:]+") "NPMAX = 2")))))
+ (("MAKE_NP = [[:digit:]]+") "MAKE_NP = 2")
+ (("MAKE_TEST_NP = [[:digit:]]+") "MAKE_TEST_NP = 2")
+ (("MAKE_LOAD = .*") "MAKE_LOAD = 256.0\n")
+ (("NPMAX = [[:digit:]]+") "NPMAX = 2")))))
(add-after 'install 'clean-install
;; Try to keep installed files from leaking build directory names.
(lambda* (#:key inputs outputs #:allow-other-keys)
--
2.45.2
L
L
Ludovic Courtès wrote on 29 Aug 17:39 +0200
[PATCH 6/8] gnu: sundials: Upgrade to 7.1.1.
(address . 72877@debbugs.gnu.org)(name . Ludovic Courtès)(address . ludovic.courtes@inria.fr)
fb46aa0073483ab25016d1b2133b8048cd8b26cc.1724945557.git.ludo@gnu.org
From: Ludovic Courtès <ludovic.courtes@inria.fr>

* gnu/packages/maths.scm (sundials): Update to 7.1.1.
[native-inputs]: Add PKG-CONFIG.
(sundials-openmpi)[arguments]: Pass ‘-DPETSC_INCLUDE_DIRS’ instead of
‘-DPETSC_DIR’.

Change-Id: I750415109d69b53afbcf461dc98b2028af03c35a
---
gnu/packages/maths.scm | 11 ++++++-----
1 file changed, 6 insertions(+), 5 deletions(-)

Toggle diff (40 lines)
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index ff1be6d35a..4dc67ea313 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -8036,7 +8036,7 @@ (define-public tiny-bignum
(define-public sundials
(package
(name "sundials")
- (version "6.2.0")
+ (version "7.1.1")
(source
(origin
(method url-fetch)
@@ -8044,10 +8044,10 @@ (define-public sundials
version "/sundials-" version ".tar.gz"))
(sha256
(base32
- "07gk9060xk3bzfqf8v4fqlp0rcxswiwlsy887zv87i1gfy9map8r"))))
+ "1fwlgbcdxz30dzsqw3y1b6ic1rhzfadghj7cq7yxsj14npgnwzga"))))
(build-system cmake-build-system)
(native-inputs
- (list python-2)) ; For tests; syntax incompatible with Python 3.
+ (list pkg-config python-2)) ;for tests; syntax incompatible with Python 3
(inputs
(list openblas suitesparse))
(arguments
@@ -8100,8 +8100,9 @@ (define-public sundials-openmpi
(assoc-ref %build-inputs "hypre-openmpi")
"/lib")
"-DENABLE_PETSC:BOOL=ON"
- (string-append "-DPETSC_DIR="
- (assoc-ref %build-inputs "petsc-openmpi"))
+ (string-append "-DPETSC_INCLUDE_DIRS="
+ (assoc-ref %build-inputs "petsc-openmpi")
+ "/include")
,flags))
((#:phases phases '%standard-phases)
`(modify-phases ,phases
--
2.45.2
L
L
Ludovic Courtès wrote on 29 Aug 17:39 +0200
[PATCH 7/8] gnu: sundials, sundials-openmpi: Use gexps.
(address . 72877@debbugs.gnu.org)(name . Ludovic Courtès)(address . ludo@gnu.org)
b06f41ec84c2e9315827a450cb090c2a48443ad4.1724945557.git.ludo@gnu.org
* gnu/packages/maths.scm (sundials)[arguments]: Use gexps and use
‘search-input-file’ rather than ‘assoc-ref’.
(sundials-openmpi)[arguments]: Likewise.

Change-Id: Ife0c2ae3604cf66c90ec4a13fe9242f7fe7d550f
---
gnu/packages/maths.scm | 74 +++++++++++++++++++++++-------------------
1 file changed, 40 insertions(+), 34 deletions(-)

Toggle diff (97 lines)
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index 4dc67ea313..194e4ea399 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -8051,25 +8051,28 @@ (define-public sundials
(inputs
(list openblas suitesparse))
(arguments
- '(#:configure-flags `("-DCMAKE_C_FLAGS=-O2 -g -fcommon"
+ (list #:configure-flags
+ #~(list "-DCMAKE_C_FLAGS=-O2 -g -fcommon"
- "-DSUNDIALS_INDEX_SIZE=32"
- ;; Incompatible with 32-bit indices.
- ;;"-DBUILD_FORTRAN_MODULE_INTERFACE:BOOL=ON"
+ "-DSUNDIALS_INDEX_SIZE=32"
+ ;; Incompatible with 32-bit indices.
+ ;;"-DBUILD_FORTRAN_MODULE_INTERFACE:BOOL=ON"
- "-DEXAMPLES_ENABLE_C:BOOL=ON"
- "-DEXAMPLES_ENABLE_CXX:BOOL=ON"
- ;; Requires -DBUILD_FORTRAN_MODULE_INTERFACE:BOOL=ON.
- ;;"-DEXAMPLES_ENABLE_F2003:BOOL=ON"
- "-DEXAMPLES_INSTALL:BOOL=OFF"
+ "-DEXAMPLES_ENABLE_C:BOOL=ON"
+ "-DEXAMPLES_ENABLE_CXX:BOOL=ON"
+ ;; Requires -DBUILD_FORTRAN_MODULE_INTERFACE:BOOL=ON.
+ ;;"-DEXAMPLES_ENABLE_F2003:BOOL=ON"
+ "-DEXAMPLES_INSTALL:BOOL=OFF"
- "-DENABLE_KLU:BOOL=ON"
- ,(string-append "-DKLU_INCLUDE_DIR="
- (assoc-ref %build-inputs "suitesparse")
- "/include")
- ,(string-append "-DKLU_LIBRARY_DIR="
- (assoc-ref %build-inputs "suitesparse")
- "/lib"))))
+ "-DENABLE_KLU:BOOL=ON"
+ (string-append "-DKLU_INCLUDE_DIR="
+ (dirname
+ (search-input-file %build-inputs
+ "include/klu.h")))
+ (string-append "-DKLU_LIBRARY_DIR="
+ (dirname
+ (search-input-file %build-inputs
+ "lib/libklu.so"))))))
(home-page "https://computation.llnl.gov/projects/sundials")
(synopsis "Suite of nonlinear and differential/algebraic equation solvers")
(description "SUNDIALS is a family of software packages implemented with
@@ -8090,24 +8093,27 @@ (define-public sundials-openmpi
petsc-openmpi))
(arguments
(substitute-keyword-arguments (package-arguments sundials)
- ((#:configure-flags flags '())
- `(cons* "-DENABLE_MPI:BOOL=ON"
- "-DENABLE_HYPRE:BOOL=ON"
- (string-append "-DHYPRE_INCLUDE_DIR="
- (assoc-ref %build-inputs "hypre-openmpi")
- "/include")
- (string-append "-DHYPRE_LIBRARY_DIR="
- (assoc-ref %build-inputs "hypre-openmpi")
- "/lib")
- "-DENABLE_PETSC:BOOL=ON"
- (string-append "-DPETSC_INCLUDE_DIRS="
- (assoc-ref %build-inputs "petsc-openmpi")
- "/include")
- ,flags))
- ((#:phases phases '%standard-phases)
- `(modify-phases ,phases
- (add-before 'check 'mpi-setup
- ,%openmpi-setup)))))
+ ((#:configure-flags flags #~())
+ #~(cons* "-DENABLE_MPI:BOOL=ON"
+ "-DENABLE_HYPRE:BOOL=ON"
+ (string-append "-DHYPRE_INCLUDE_DIR="
+ (dirname
+ (search-input-file %build-inputs
+ "include/HYPRE.h")))
+ (string-append "-DHYPRE_LIBRARY_DIR="
+ (dirname
+ (search-input-file %build-inputs
+ "lib/libHYPRE.so")))
+ "-DENABLE_PETSC:BOOL=ON"
+ (string-append "-DPETSC_INCLUDE_DIRS="
+ (dirname
+ (search-input-file %build-inputs
+ "include/petsc.h")))
+ #$flags))
+ ((#:phases phases #~%standard-phases)
+ #~(modify-phases #$phases
+ (add-before 'check 'mpi-setup
+ #$%openmpi-setup)))))
(synopsis "SUNDIALS with MPI support")))
(define-public sundials-5
--
2.45.2
L
L
Ludovic Courtès wrote on 29 Aug 17:39 +0200
[PATCH 8/8] gnu: dealii: Update to 9.6.0.
(address . 72877@debbugs.gnu.org)(name . Ludovic Courtès)(address . ludovic.courtes@inria.fr)
66aa3e6c1221344b4129d2c4f82ced06a082a94a.1724945557.git.ludo@gnu.org
From: Ludovic Courtès <ludovic.courtes@inria.fr>

* gnu/packages/maths.scm (dealii): Update to 9.6.0.

Change-Id: I197511908d9ac27dd4ba1356515f1fbf7bafd218
---
gnu/packages/maths.scm | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Toggle diff (23 lines)
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index 194e4ea399..7d0d4127cf 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -6874,14 +6874,14 @@ (define trilinos-for-dealii-openmpi
(define-public dealii
(package
(name "dealii")
- (version "9.5.1")
+ (version "9.6.0")
(source
(origin
(method url-fetch)
(uri (string-append "https://github.com/dealii/dealii/releases/"
"download/v" version "/dealii-" version ".tar.gz"))
(sha256
- (base32 "0phgcfnil4rb41xipsdbm4lxrymlqxbiccakg3pkm3a8wqsva658"))
+ (base32 "1vbvw76xv8h1diwfgybgarm7qwn51rxd1kp2jgy2rvcfxgq26lv7"))
(modules '((guix build utils)))
(snippet
;; Remove bundled boost, Kokkos, muparser, TBB and UMFPACK.
--
2.45.2
L
L
Ludovic Courtès wrote on 5 Sep 10:17 +0200
Re: [bug#72877] [PATCH 0/8] Upgrade PETSc, SLEPc, SUNDIALS, and DealII
(address . 72877-done@debbugs.gnu.org)
87seue8qg8.fsf@gnu.org
Hi,

Ludovic Courtès <ludo@gnu.org> skribis:

Toggle quote (9 lines)
> gnu: petsc: Update to 3.21.4.
> gnu: python-petsc4py: Update to 3.21.4.
> gnu: slepc: Update to 3.21.1.
> gnu: python-slepc4py: Update to 3.21.1.
> gnu: petsc: Make ‘petscvariables’ reproducible.
> gnu: sundials: Upgrade to 7.1.1.
> gnu: sundials, sundials-openmpi: Use gexps.
> gnu: dealii: Update to 9.6.0.

Pushed as 993d6d2e7be4dac738629c76a51058f4dc5bc449 after re-testing
locally.

I had to fix ‘hypre’ as well in 6bf70cf9a60464701ca0741d9f63f5ace9810fc9
since it broke on ‘core-updates’ due to a missing TeX Live dependency.

Ludo’.
Closed
E
E
Eric Bavier wrote on 5 Sep 15:07 +0200
(name . Ludovic Courtès)(address . ludovic.courtes@inria.fr)
692205d6c164d7e3e339068c65a43db4@posteo.net
On 05.09.2024 03:17, Ludovic Courtès wrote:
Toggle quote (16 lines)
> Hi,
>
> Ludovic Courtès <ludo@gnu.org> skribis:
>
>> gnu: petsc: Update to 3.21.4.
>> gnu: python-petsc4py: Update to 3.21.4.
>> gnu: slepc: Update to 3.21.1.
>> gnu: python-slepc4py: Update to 3.21.1.
>> gnu: petsc: Make ‘petscvariables’ reproducible.
>> gnu: sundials: Upgrade to 7.1.1.
>> gnu: sundials, sundials-openmpi: Use gexps.
>> gnu: dealii: Update to 9.6.0.
>
> Pushed as 993d6d2e7be4dac738629c76a51058f4dc5bc449 after re-testing
> locally.

Thank you for this series, it looks great!

I finally got a chance to look through it just before you pushed. My
only
note is that I noticed this in the output of petsc's "check" phase:

# -------------
# Summary
# -------------
# FAILED vec_pf_impls_string_tests-ex1_1 diff-snes_tutorials-ex78_2
# success 5721/10154 tests (56.3%)
# failed 2/10154 tests (0.0%)
# todo 240/10154 tests (2.4%)
# skip 4191/10154 tests (41.3%)

but the 'check' phase doesn't fail. I wonder if the `make check`
invocation does not return a failure code when the tests fail. These
test failures
in particular look mostly harmless, but maybe other more catastrophic
failures
might not be caught if `check` is not detecting failures.

--
`~Eric
Closed
L
L
Ludovic Courtès wrote on 5 Sep 16:40 +0200
(name . Eric Bavier)(address . bavier@posteo.net)
87a5gm6u4z.fsf@inria.fr
Hi Eric,

Thanks for taking the time to look into it. (I rushed the patch series
more than usual because the whole stack was broken since the
‘core-updates’ merge.)

Eric Bavier <bavier@posteo.net> skribis:

Toggle quote (20 lines)
> I finally got a chance to look through it just before you pushed. My
> only
> note is that I noticed this in the output of petsc's "check" phase:
>
> # -------------
> # Summary
> # -------------
> # FAILED vec_pf_impls_string_tests-ex1_1 diff-snes_tutorials-ex78_2
> # success 5721/10154 tests (56.3%)
> # failed 2/10154 tests (0.0%)
> # todo 240/10154 tests (2.4%)
> # skip 4191/10154 tests (41.3%)
>
> but the 'check' phase doesn't fail. I wonder if the `make check`
> invocation does not return a failure code when the tests fail. These
> test failures
> in particular look mostly harmless, but maybe other more catastrophic
> failures
> might not be caught if `check` is not detecting failures.

Oh. I was told in the meantime that we might want to use ‘make test’
instead, so perhaps we should followup on this update with a switch to
‘make test’ and see if problems as shown above still appear:


Ludo’.
Closed
?
Your comment

Commenting via the web interface is currently disabled.

To comment on this conversation send an email to 72877@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 72877
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch