unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#72877] [PATCH 0/8] Upgrade PETSc, SLEPc, SUNDIALS, and DealII
@ 2024-08-29 15:38 Ludovic Courtès
  2024-08-29 15:39 ` [bug#72877] [PATCH 1/8] gnu: petsc: Update to 3.21.4 Ludovic Courtès
                   ` (8 more replies)
  0 siblings, 9 replies; 12+ messages in thread
From: Ludovic Courtès @ 2024-08-29 15:38 UTC (permalink / raw)
  To: 72877; +Cc: Ludovic Courtès, Andreas Enge, Eric Bavier,
	Sharlatan Hellseher

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:

--8<---------------cut here---------------start------------->8---
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
^[[1;31m**************************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
********************************************************************^[[0;39m^[[0;49m
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
--8<---------------cut here---------------end--------------->8---

(From <https://ci.guix.gnu.org/log/4pncdcw7lmls9fi0978fabypv7ili7wb-petsc-3.16.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





^ permalink raw reply	[flat|nested] 12+ messages in thread

* [bug#72877] [PATCH 1/8] gnu: petsc: Update to 3.21.4.
  2024-08-29 15:38 [bug#72877] [PATCH 0/8] Upgrade PETSc, SLEPc, SUNDIALS, and DealII Ludovic Courtès
@ 2024-08-29 15:39 ` Ludovic Courtès
  2024-08-29 15:39 ` [bug#72877] [PATCH 2/8] gnu: python-petsc4py: " Ludovic Courtès
                   ` (7 subsequent siblings)
  8 siblings, 0 replies; 12+ messages in thread
From: Ludovic Courtès @ 2024-08-29 15:39 UTC (permalink / raw)
  To: 72877; +Cc: Ludovic Courtès, Andreas Enge, Eric Bavier,
	Sharlatan Hellseher

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

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





^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [bug#72877] [PATCH 2/8] gnu: python-petsc4py: Update to 3.21.4.
  2024-08-29 15:38 [bug#72877] [PATCH 0/8] Upgrade PETSc, SLEPc, SUNDIALS, and DealII Ludovic Courtès
  2024-08-29 15:39 ` [bug#72877] [PATCH 1/8] gnu: petsc: Update to 3.21.4 Ludovic Courtès
@ 2024-08-29 15:39 ` Ludovic Courtès
  2024-08-29 15:39 ` [bug#72877] [PATCH 3/8] gnu: slepc: Update to 3.21.1 Ludovic Courtès
                   ` (6 subsequent siblings)
  8 siblings, 0 replies; 12+ messages in thread
From: Ludovic Courtès @ 2024-08-29 15:39 UTC (permalink / raw)
  To: 72877; +Cc: Ludovic Courtès, Andreas Enge, Eric Bavier,
	Sharlatan Hellseher

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

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





^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [bug#72877] [PATCH 3/8] gnu: slepc: Update to 3.21.1.
  2024-08-29 15:38 [bug#72877] [PATCH 0/8] Upgrade PETSc, SLEPc, SUNDIALS, and DealII Ludovic Courtès
  2024-08-29 15:39 ` [bug#72877] [PATCH 1/8] gnu: petsc: Update to 3.21.4 Ludovic Courtès
  2024-08-29 15:39 ` [bug#72877] [PATCH 2/8] gnu: python-petsc4py: " Ludovic Courtès
@ 2024-08-29 15:39 ` Ludovic Courtès
  2024-08-29 15:39 ` [bug#72877] [PATCH 4/8] gnu: python-slepc4py: " Ludovic Courtès
                   ` (5 subsequent siblings)
  8 siblings, 0 replies; 12+ messages in thread
From: Ludovic Courtès @ 2024-08-29 15:39 UTC (permalink / raw)
  To: 72877; +Cc: Ludovic Courtès, Andreas Enge, Eric Bavier,
	Sharlatan Hellseher

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

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





^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [bug#72877] [PATCH 4/8] gnu: python-slepc4py: Update to 3.21.1.
  2024-08-29 15:38 [bug#72877] [PATCH 0/8] Upgrade PETSc, SLEPc, SUNDIALS, and DealII Ludovic Courtès
                   ` (2 preceding siblings ...)
  2024-08-29 15:39 ` [bug#72877] [PATCH 3/8] gnu: slepc: Update to 3.21.1 Ludovic Courtès
@ 2024-08-29 15:39 ` Ludovic Courtès
  2024-08-29 15:39 ` [bug#72877] [PATCH 5/8] gnu: petsc: Make ‘petscvariables’ reproducible Ludovic Courtès
                   ` (4 subsequent siblings)
  8 siblings, 0 replies; 12+ messages in thread
From: Ludovic Courtès @ 2024-08-29 15:39 UTC (permalink / raw)
  To: 72877; +Cc: Ludovic Courtès, Andreas Enge, Eric Bavier,
	Sharlatan Hellseher

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

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





^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [bug#72877] [PATCH 5/8] gnu: petsc: Make ‘petscvariables’ reproducible.
  2024-08-29 15:38 [bug#72877] [PATCH 0/8] Upgrade PETSc, SLEPc, SUNDIALS, and DealII Ludovic Courtès
                   ` (3 preceding siblings ...)
  2024-08-29 15:39 ` [bug#72877] [PATCH 4/8] gnu: python-slepc4py: " Ludovic Courtès
@ 2024-08-29 15:39 ` Ludovic Courtès
  2024-08-29 15:39 ` [bug#72877] [PATCH 6/8] gnu: sundials: Upgrade to 7.1.1 Ludovic Courtès
                   ` (3 subsequent siblings)
  8 siblings, 0 replies; 12+ messages in thread
From: Ludovic Courtès @ 2024-08-29 15:39 UTC (permalink / raw)
  To: 72877; +Cc: Ludovic Courtès, Andreas Enge, Eric Bavier,
	Sharlatan Hellseher

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

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





^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [bug#72877] [PATCH 6/8] gnu: sundials: Upgrade to 7.1.1.
  2024-08-29 15:38 [bug#72877] [PATCH 0/8] Upgrade PETSc, SLEPc, SUNDIALS, and DealII Ludovic Courtès
                   ` (4 preceding siblings ...)
  2024-08-29 15:39 ` [bug#72877] [PATCH 5/8] gnu: petsc: Make ‘petscvariables’ reproducible Ludovic Courtès
@ 2024-08-29 15:39 ` Ludovic Courtès
  2024-08-29 15:39 ` [bug#72877] [PATCH 7/8] gnu: sundials, sundials-openmpi: Use gexps Ludovic Courtès
                   ` (2 subsequent siblings)
  8 siblings, 0 replies; 12+ messages in thread
From: Ludovic Courtès @ 2024-08-29 15:39 UTC (permalink / raw)
  To: 72877; +Cc: Ludovic Courtès, Andreas Enge, Eric Bavier,
	Sharlatan Hellseher

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

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





^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [bug#72877] [PATCH 7/8] gnu: sundials, sundials-openmpi: Use gexps.
  2024-08-29 15:38 [bug#72877] [PATCH 0/8] Upgrade PETSc, SLEPc, SUNDIALS, and DealII Ludovic Courtès
                   ` (5 preceding siblings ...)
  2024-08-29 15:39 ` [bug#72877] [PATCH 6/8] gnu: sundials: Upgrade to 7.1.1 Ludovic Courtès
@ 2024-08-29 15:39 ` Ludovic Courtès
  2024-08-29 15:39 ` [bug#72877] [PATCH 8/8] gnu: dealii: Update to 9.6.0 Ludovic Courtès
  2024-09-05  8:17 ` bug#72877: [PATCH 0/8] Upgrade PETSc, SLEPc, SUNDIALS, and DealII Ludovic Courtès
  8 siblings, 0 replies; 12+ messages in thread
From: Ludovic Courtès @ 2024-08-29 15:39 UTC (permalink / raw)
  To: 72877; +Cc: Ludovic Courtès, Andreas Enge, Eric Bavier,
	Sharlatan Hellseher

* 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(-)

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





^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [bug#72877] [PATCH 8/8] gnu: dealii: Update to 9.6.0.
  2024-08-29 15:38 [bug#72877] [PATCH 0/8] Upgrade PETSc, SLEPc, SUNDIALS, and DealII Ludovic Courtès
                   ` (6 preceding siblings ...)
  2024-08-29 15:39 ` [bug#72877] [PATCH 7/8] gnu: sundials, sundials-openmpi: Use gexps Ludovic Courtès
@ 2024-08-29 15:39 ` Ludovic Courtès
  2024-09-05  8:17 ` bug#72877: [PATCH 0/8] Upgrade PETSc, SLEPc, SUNDIALS, and DealII Ludovic Courtès
  8 siblings, 0 replies; 12+ messages in thread
From: Ludovic Courtès @ 2024-08-29 15:39 UTC (permalink / raw)
  To: 72877; +Cc: Ludovic Courtès, Andreas Enge, Eric Bavier,
	Sharlatan Hellseher

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

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





^ permalink raw reply related	[flat|nested] 12+ messages in thread

* bug#72877: [PATCH 0/8] Upgrade PETSc, SLEPc, SUNDIALS, and DealII
  2024-08-29 15:38 [bug#72877] [PATCH 0/8] Upgrade PETSc, SLEPc, SUNDIALS, and DealII Ludovic Courtès
                   ` (7 preceding siblings ...)
  2024-08-29 15:39 ` [bug#72877] [PATCH 8/8] gnu: dealii: Update to 9.6.0 Ludovic Courtès
@ 2024-09-05  8:17 ` Ludovic Courtès
  2024-09-05 13:07   ` [bug#72877] " Eric Bavier
  8 siblings, 1 reply; 12+ messages in thread
From: Ludovic Courtès @ 2024-09-05  8:17 UTC (permalink / raw)
  To: 72877-done; +Cc: Andreas Enge, Sharlatan Hellseher, Eric Bavier

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.

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

Ludo’.




^ permalink raw reply	[flat|nested] 12+ messages in thread

* [bug#72877] [PATCH 0/8] Upgrade PETSc, SLEPc, SUNDIALS, and DealII
  2024-09-05  8:17 ` bug#72877: [PATCH 0/8] Upgrade PETSc, SLEPc, SUNDIALS, and DealII Ludovic Courtès
@ 2024-09-05 13:07   ` Eric Bavier
  2024-09-05 14:40     ` Ludovic Courtès
  0 siblings, 1 reply; 12+ messages in thread
From: Eric Bavier @ 2024-09-05 13:07 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: 72877-done, Andreas Enge, Sharlatan Hellseher

On 05.09.2024 03:17, Ludovic Courtès wrote:
> 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




^ permalink raw reply	[flat|nested] 12+ messages in thread

* [bug#72877] [PATCH 0/8] Upgrade PETSc, SLEPc, SUNDIALS, and DealII
  2024-09-05 13:07   ` [bug#72877] " Eric Bavier
@ 2024-09-05 14:40     ` Ludovic Courtès
  0 siblings, 0 replies; 12+ messages in thread
From: Ludovic Courtès @ 2024-09-05 14:40 UTC (permalink / raw)
  To: Eric Bavier; +Cc: 72877-done, Andreas Enge, Sharlatan Hellseher

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:

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

  https://gitlab.com/petsc/petsc/-/issues/1634#note_2070200322

Ludo’.




^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2024-09-05 14:55 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-08-29 15:38 [bug#72877] [PATCH 0/8] Upgrade PETSc, SLEPc, SUNDIALS, and DealII Ludovic Courtès
2024-08-29 15:39 ` [bug#72877] [PATCH 1/8] gnu: petsc: Update to 3.21.4 Ludovic Courtès
2024-08-29 15:39 ` [bug#72877] [PATCH 2/8] gnu: python-petsc4py: " Ludovic Courtès
2024-08-29 15:39 ` [bug#72877] [PATCH 3/8] gnu: slepc: Update to 3.21.1 Ludovic Courtès
2024-08-29 15:39 ` [bug#72877] [PATCH 4/8] gnu: python-slepc4py: " Ludovic Courtès
2024-08-29 15:39 ` [bug#72877] [PATCH 5/8] gnu: petsc: Make ‘petscvariables’ reproducible Ludovic Courtès
2024-08-29 15:39 ` [bug#72877] [PATCH 6/8] gnu: sundials: Upgrade to 7.1.1 Ludovic Courtès
2024-08-29 15:39 ` [bug#72877] [PATCH 7/8] gnu: sundials, sundials-openmpi: Use gexps Ludovic Courtès
2024-08-29 15:39 ` [bug#72877] [PATCH 8/8] gnu: dealii: Update to 9.6.0 Ludovic Courtès
2024-09-05  8:17 ` bug#72877: [PATCH 0/8] Upgrade PETSc, SLEPc, SUNDIALS, and DealII Ludovic Courtès
2024-09-05 13:07   ` [bug#72877] " Eric Bavier
2024-09-05 14:40     ` Ludovic Courtès

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).