Package: guix-patches;
Reported by: Ludovic Courtès <ludo <at> gnu.org>
Date: Fri, 16 Jun 2023 13:28:01 UTC
Severity: normal
Tags: patch
Done: Ludovic Courtès <ludo <at> gnu.org>
Bug is archived. No further changes may be made.
To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 64107 in the body.
You can then email your comments to 64107 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
View this report as an mbox folder, status mbox, maintainer mbox
andreas <at> enge.fr, efraim <at> flashner.co.il, bavier <at> posteo.net, guix-patches <at> gnu.org
:bug#64107
; Package guix-patches
.
(Fri, 16 Jun 2023 13:28:01 GMT) Full text and rfc822 format available.Ludovic Courtès <ludo <at> gnu.org>
:andreas <at> enge.fr, efraim <at> flashner.co.il, bavier <at> posteo.net, guix-patches <at> gnu.org
.
(Fri, 16 Jun 2023 13:28:01 GMT) Full text and rfc822 format available.Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
From: Ludovic Courtès <ludo <at> gnu.org> To: guix-patches <at> gnu.org Cc: Ludovic Courtès <ludovic.courtes <at> inria.fr> Subject: [PATCH] gnu: arpack-ng: Update to 3.9.0. Date: Fri, 16 Jun 2023 15:27:45 +0200
From: Ludovic Courtès <ludovic.courtes <at> inria.fr> * gnu/packages/maths.scm (arpack-ng): Update to 3.9.0. [build-system]: Switch to CMAKE-BUILD-SYSTEM. [native-inputs]: Remove AUTOCONF, AUTOMAKE, and LIBTOOL. (arpack-ng-openmpi)[inputs]: Use 'modify-inputs'. [arguments]: Use gexps. --- gnu/packages/maths.scm | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index f5a2181905..e1f9834e65 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -973,7 +973,7 @@ (define-public vinci (define-public arpack-ng (package (name "arpack-ng") - (version "3.8.0") + (version "3.9.0") (home-page "https://github.com/opencollab/arpack-ng") (source (origin (method git-fetch) @@ -981,10 +981,10 @@ (define-public arpack-ng (file-name (git-file-name name version)) (sha256 (base32 - "0l7as5z6xvbxly8alam9s4kws70952qq35a6vkljzayi4b9gbklx")))) - (build-system gnu-build-system) + "09smxilyn8v9xs3kpx3nlj2s7ql3v8z40mpc09kccbb6smyd35iv")))) + (build-system cmake-build-system) (native-inputs - (list autoconf automake libtool pkg-config)) + (list pkg-config)) (inputs (list eigen lapack gfortran)) (synopsis "Fortran subroutines for solving eigenvalue problems") @@ -998,16 +998,16 @@ (define-public arpack-ng-openmpi (package (inherit arpack-ng) (name "arpack-ng-openmpi") (inputs - `(("mpi" ,openmpi) - ,@(package-inputs arpack-ng))) + (modify-inputs (package-inputs arpack-ng) + (prepend openmpi))) (arguments (substitute-keyword-arguments (package-arguments arpack-ng) - ((#:configure-flags _ '()) - ''("--enable-mpi")) - ((#:phases phases '%standard-phases) - `(modify-phases ,phases - (add-before 'check 'mpi-setup - ,%openmpi-setup))))) + ((#:configure-flags _ #~()) + #~'("-DMPI=ON")) + ((#:phases phases #~%standard-phases) + #~(modify-phases #$phases + (add-before 'check 'mpi-setup + #$%openmpi-setup))))) (synopsis "Fortran subroutines for solving eigenvalue problems with MPI"))) (define-public lapack base-commit: 31336e9f5d68512a9c1c6826bce9f17c892a2125 -- 2.40.1
andreas <at> enge.fr, efraim <at> flashner.co.il, bavier <at> posteo.net, guix-patches <at> gnu.org
:bug#64107
; Package guix-patches
.
(Mon, 03 Jul 2023 09:41:01 GMT) Full text and rfc822 format available.Message #8 received at 64107 <at> debbugs.gnu.org (full text, mbox):
From: Ludovic Courtès <ludo <at> gnu.org> To: 64107 <at> debbugs.gnu.org Cc: Ludovic Courtès <ludovic.courtes <at> inria.fr> Subject: [PATCH v2] gnu: arpack-ng: Update to 3.9.0. Date: Mon, 3 Jul 2023 11:40:29 +0200
From: Ludovic Courtès <ludovic.courtes <at> inria.fr> * gnu/packages/maths.scm (arpack-ng): Update to 3.9.0. [build-system]: Switch to CMAKE-BUILD-SYSTEM. [native-inputs]: Remove AUTOCONF, AUTOMAKE, and LIBTOOL. (arpack-ng-openmpi)[inputs]: Use 'modify-inputs'. [arguments]: Use gexps. --- gnu/packages/maths.scm | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) The previous revision could not be processed at <https://qa.guix.gnu.org/issue/64107>, so trying again... Ludo'. diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 653e76027a..d37322c995 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -973,7 +973,7 @@ (define-public vinci (define-public arpack-ng (package (name "arpack-ng") - (version "3.8.0") + (version "3.9.0") (home-page "https://github.com/opencollab/arpack-ng") (source (origin (method git-fetch) @@ -981,10 +981,10 @@ (define-public arpack-ng (file-name (git-file-name name version)) (sha256 (base32 - "0l7as5z6xvbxly8alam9s4kws70952qq35a6vkljzayi4b9gbklx")))) - (build-system gnu-build-system) + "09smxilyn8v9xs3kpx3nlj2s7ql3v8z40mpc09kccbb6smyd35iv")))) + (build-system cmake-build-system) (native-inputs - (list autoconf automake libtool pkg-config)) + (list pkg-config)) (inputs (list eigen lapack gfortran)) (synopsis "Fortran subroutines for solving eigenvalue problems") @@ -998,16 +998,16 @@ (define-public arpack-ng-openmpi (package (inherit arpack-ng) (name "arpack-ng-openmpi") (inputs - `(("mpi" ,openmpi) - ,@(package-inputs arpack-ng))) + (modify-inputs (package-inputs arpack-ng) + (prepend openmpi))) (arguments (substitute-keyword-arguments (package-arguments arpack-ng) - ((#:configure-flags _ '()) - ''("--enable-mpi")) - ((#:phases phases '%standard-phases) - `(modify-phases ,phases - (add-before 'check 'mpi-setup - ,%openmpi-setup))))) + ((#:configure-flags _ #~()) + #~'("-DMPI=ON")) + ((#:phases phases #~%standard-phases) + #~(modify-phases #$phases + (add-before 'check 'mpi-setup + #$%openmpi-setup))))) (synopsis "Fortran subroutines for solving eigenvalue problems with MPI"))) (define-public lapack base-commit: c4a836f65d178786a5dd1f7c2d9491bb2c7482b3 -- 2.40.1
andreas <at> enge.fr, efraim <at> flashner.co.il, bavier <at> posteo.net, guix-patches <at> gnu.org
:bug#64107
; Package guix-patches
.
(Thu, 06 Jul 2023 13:06:02 GMT) Full text and rfc822 format available.Message #11 received at 64107 <at> debbugs.gnu.org (full text, mbox):
From: Ludovic Courtès <ludo <at> gnu.org> To: 64107 <at> debbugs.gnu.org Cc: Ludovic Courtès <ludovic.courtes <at> inria.fr> Subject: [PATCH v3] gnu: arpack-ng: Update to 3.9.0. Date: Thu, 6 Jul 2023 15:05:09 +0200
From: Ludovic Courtès <ludovic.courtes <at> inria.fr> * gnu/packages/maths.scm (arpack-ng): Update to 3.9.0. [source]: Add 'patches'. [build-system]: Switch to CMAKE-BUILD-SYSTEM. [native-inputs]: Remove AUTOCONF, AUTOMAKE, and LIBTOOL. (arpack-ng-openmpi)[inputs]: Use 'modify-inputs'. [arguments]: Use gexps. * gnu/packages/patches/arpack-ng-propagate-rng-state.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. --- gnu/local.mk | 1 + gnu/packages/maths.scm | 25 +- .../arpack-ng-propagate-rng-state.patch | 523 ++++++++++++++++++ 3 files changed, 537 insertions(+), 12 deletions(-) create mode 100644 gnu/packages/patches/arpack-ng-propagate-rng-state.patch diff --git a/gnu/local.mk b/gnu/local.mk index 6470f1abd4..e7c89c83bb 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -905,6 +905,7 @@ dist_patch_DATA = \ %D%/packages/patches/aoflagger-use-system-provided-pybind11.patch \ %D%/packages/patches/apr-skip-getservbyname-test.patch \ %D%/packages/patches/ark-skip-xar-test.patch \ + %D%/packages/patches/arpack-ng-propagate-rng-state.patch \ %D%/packages/patches/aspell-CVE-2019-25051.patch \ %D%/packages/patches/aspell-default-dict-dir.patch \ %D%/packages/patches/ath9k-htc-firmware-binutils.patch \ diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 653e76027a..05119d2f5f 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -973,7 +973,7 @@ (define-public vinci (define-public arpack-ng (package (name "arpack-ng") - (version "3.8.0") + (version "3.9.0") (home-page "https://github.com/opencollab/arpack-ng") (source (origin (method git-fetch) @@ -981,10 +981,11 @@ (define-public arpack-ng (file-name (git-file-name name version)) (sha256 (base32 - "0l7as5z6xvbxly8alam9s4kws70952qq35a6vkljzayi4b9gbklx")))) - (build-system gnu-build-system) + "09smxilyn8v9xs3kpx3nlj2s7ql3v8z40mpc09kccbb6smyd35iv")) + (patches (search-patches "arpack-ng-propagate-rng-state.patch")))) + (build-system cmake-build-system) (native-inputs - (list autoconf automake libtool pkg-config)) + (list pkg-config)) (inputs (list eigen lapack gfortran)) (synopsis "Fortran subroutines for solving eigenvalue problems") @@ -998,16 +999,16 @@ (define-public arpack-ng-openmpi (package (inherit arpack-ng) (name "arpack-ng-openmpi") (inputs - `(("mpi" ,openmpi) - ,@(package-inputs arpack-ng))) + (modify-inputs (package-inputs arpack-ng) + (prepend openmpi))) (arguments (substitute-keyword-arguments (package-arguments arpack-ng) - ((#:configure-flags _ '()) - ''("--enable-mpi")) - ((#:phases phases '%standard-phases) - `(modify-phases ,phases - (add-before 'check 'mpi-setup - ,%openmpi-setup))))) + ((#:configure-flags _ #~()) + #~'("-DMPI=ON")) + ((#:phases phases #~%standard-phases) + #~(modify-phases #$phases + (add-before 'check 'mpi-setup + #$%openmpi-setup))))) (synopsis "Fortran subroutines for solving eigenvalue problems with MPI"))) (define-public lapack diff --git a/gnu/packages/patches/arpack-ng-propagate-rng-state.patch b/gnu/packages/patches/arpack-ng-propagate-rng-state.patch new file mode 100644 index 0000000000..4466bb8e50 --- /dev/null +++ b/gnu/packages/patches/arpack-ng-propagate-rng-state.patch @@ -0,0 +1,523 @@ +Fix a bug that manifests while running the test suite of 'python-igraph': + + https://github.com/opencollab/arpack-ng/issues/401 + https://github.com/opencollab/arpack-ng/pull/414 + +From d885b7be4ecdc9c1496f2d6f256f6c0d34962459 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Szabolcs=20Horva=CC=81t?= <szhorvat <at> gmail.com> +Date: Sun, 9 Apr 2023 16:36:35 +0200 +Subject: [PATCH] fix: ensure that LAPACK RNG state is propagated + + - fixes #401, #410, #411 + - restores 'inits' variable removed in ce2e69a849da1d10dad5d6d3ec4db6120b3ecf50, ensuring that the RNG state is propagated + - reverts e0d67054f573da351f12a226f7c7cc65a690ef3d to ensure that seed is different on each parallel thread + - updates seed initialization of parallel pdgetv0/psgetv0 so that they match that of pzgetv0/pcgetv0 +--- + PARPACK/SRC/MPI/pcgetv0.f | 48 +++++++++++++++++++++++---------------- + PARPACK/SRC/MPI/pdgetv0.f | 40 ++++++++++++++++++++++++++------ + PARPACK/SRC/MPI/psgetv0.f | 43 ++++++++++++++++++++++++++--------- + PARPACK/SRC/MPI/pzgetv0.f | 48 +++++++++++++++++++++++---------------- + SRC/cgetv0.f | 21 ++++++++++++----- + SRC/dgetv0.f | 21 ++++++++++++----- + SRC/sgetv0.f | 21 ++++++++++++----- + SRC/zgetv0.f | 21 ++++++++++++----- + 8 files changed, 183 insertions(+), 80 deletions(-) + +diff --git a/PARPACK/SRC/MPI/pcgetv0.f b/PARPACK/SRC/MPI/pcgetv0.f +index 59e3d1658..24fe8a0f1 100644 +--- a/PARPACK/SRC/MPI/pcgetv0.f ++++ b/PARPACK/SRC/MPI/pcgetv0.f +@@ -176,13 +176,13 @@ subroutine pcgetv0 + c | Local Scalars & Arrays | + c %------------------------% + c +- logical first, orth ++ logical first, inits, orth + integer idist, iseed(4), iter, msglvl, jj, myid, igen + Real + & rnorm0 + Complex + & cnorm, cnorm2 +- save first, iseed, iter, msglvl, orth, rnorm0 ++ save first, iseed, inits, iter, msglvl, orth, rnorm0 + c + Complex + & cnorm_buf, buf2(1) +@@ -203,6 +203,12 @@ subroutine pcgetv0 + & ccdotc + external ccdotc, pscnorm2, slapy2 + c ++c %-----------------% ++c | Data Statements | ++c %-----------------% ++c ++ data inits /.true./ ++c + c %-----------------------% + c | Executable Statements | + c %-----------------------% +@@ -213,26 +219,30 @@ subroutine pcgetv0 + c | random number generator | + c %-----------------------------------% + c ++ if (inits) then + c +-c %-----------------------------------% +-c | Generate a seed on each processor | +-c | using process id (myid). | +-c | Note: the seed must be between 1 | +-c | and 4095. iseed(4) must be odd. | +-c %-----------------------------------% ++c %-----------------------------------% ++c | Generate a seed on each processor | ++c | using process id (myid). | ++c | Note: the seed must be between 1 | ++c | and 4095. iseed(4) must be odd. | ++c %-----------------------------------% + c +- call MPI_COMM_RANK(comm, myid, ierr) +- igen = 1000 + 2*myid + 1 +- if (igen .gt. 4095) then +- write(0,*) 'Error in p_getv0: seed exceeds 4095!' +- end if ++ call MPI_COMM_RANK(comm, myid, ierr) ++ igen = 1000 + 2*myid + 1 ++ if (igen .gt. 4095) then ++ write(0,*) 'Error in p_getv0: seed exceeds 4095!' ++ end if ++c ++ iseed(1) = igen/1000 ++ igen = mod(igen,1000) ++ iseed(2) = igen/100 ++ igen = mod(igen,100) ++ iseed(3) = igen/10 ++ iseed(4) = mod(igen,10) + c +- iseed(1) = igen/1000 +- igen = mod(igen,1000) +- iseed(2) = igen/100 +- igen = mod(igen,100) +- iseed(3) = igen/10 +- iseed(4) = 7 ++ inits = .false. ++ end if + c + if (ido .eq. 0) then + c +diff --git a/PARPACK/SRC/MPI/pdgetv0.f b/PARPACK/SRC/MPI/pdgetv0.f +index 0f348b820..5a1956997 100644 +--- a/PARPACK/SRC/MPI/pdgetv0.f ++++ b/PARPACK/SRC/MPI/pdgetv0.f +@@ -177,11 +177,11 @@ subroutine pdgetv0 + c | Local Scalars & Arrays | + c %------------------------% + c +- logical first, orth +- integer idist, iseed(4), iter, msglvl, jj ++ logical first, inits, orth ++ integer idist, iseed(4), iter, msglvl, jj, myid, igen + Double precision + & rnorm0, buf2(1) +- save first, iseed, iter, msglvl, orth, rnorm0 ++ save first, iseed, inits, iter, msglvl, orth, rnorm0 + c + Double precision + & rnorm_buf +@@ -206,6 +206,12 @@ subroutine pdgetv0 + c + intrinsic abs, sqrt + c ++c %-----------------% ++c | Data Statements | ++c %-----------------% ++c ++ data inits /.true./ ++c + c %-----------------------% + c | Executable Statements | + c %-----------------------% +@@ -216,10 +222,30 @@ subroutine pdgetv0 + c | random number generator | + c %-----------------------------------% + c +- iseed(1) = 1 +- iseed(2) = 3 +- iseed(3) = 5 +- iseed(4) = 7 ++ if (inits) then ++c ++c %-----------------------------------% ++c | Generate a seed on each processor | ++c | using process id (myid). | ++c | Note: the seed must be between 1 | ++c | and 4095. iseed(4) must be odd. | ++c %-----------------------------------% ++c ++ call MPI_COMM_RANK(comm, myid, ierr) ++ igen = 1000 + 2*myid + 1 ++ if (igen .gt. 4095) then ++ write(0,*) 'Error in p_getv0: seed exceeds 4095!' ++ end if ++c ++ iseed(1) = igen/1000 ++ igen = mod(igen,1000) ++ iseed(2) = igen/100 ++ igen = mod(igen,100) ++ iseed(3) = igen/10 ++ iseed(4) = mod(igen,10) ++c ++ inits = .false. ++ end if + c + if (ido .eq. 0) then + c +diff --git a/PARPACK/SRC/MPI/psgetv0.f b/PARPACK/SRC/MPI/psgetv0.f +index d79a513b2..078e4fa8c 100644 +--- a/PARPACK/SRC/MPI/psgetv0.f ++++ b/PARPACK/SRC/MPI/psgetv0.f +@@ -177,11 +177,11 @@ subroutine psgetv0 + c | Local Scalars & Arrays | + c %------------------------% + c +- logical first, orth +- integer idist, iseed(4), iter, msglvl, jj ++ logical first, inits, orth ++ integer idist, iseed(4), iter, msglvl, jj, myid, igen + Real + & rnorm0 +- save first, iseed, iter, msglvl, orth, rnorm0 ++ save first, iseed, inits, iter, msglvl, orth, rnorm0 + c + Real + & rnorm_buf +@@ -206,20 +206,41 @@ subroutine psgetv0 + c + intrinsic abs, sqrt + c ++c %-----------------% ++c | Data Statements | ++c %-----------------% ++c ++ data inits /.true./ ++c + c %-----------------------% + c | Executable Statements | + c %-----------------------% + c + c +-c %-----------------------------------% +-c | Initialize the seed of the LAPACK | +-c | random number generator | +-c %-----------------------------------% ++ if (inits) then + c +- iseed(1) = 1 +- iseed(2) = 3 +- iseed(3) = 5 +- iseed(4) = 7 ++c %-----------------------------------% ++c | Generate a seed on each processor | ++c | using process id (myid). | ++c | Note: the seed must be between 1 | ++c | and 4095. iseed(4) must be odd. | ++c %-----------------------------------% ++c ++ call MPI_COMM_RANK(comm, myid, ierr) ++ igen = 1000 + 2*myid + 1 ++ if (igen .gt. 4095) then ++ write(0,*) 'Error in p_getv0: seed exceeds 4095!' ++ end if ++c ++ iseed(1) = igen/1000 ++ igen = mod(igen,1000) ++ iseed(2) = igen/100 ++ igen = mod(igen,100) ++ iseed(3) = igen/10 ++ iseed(4) = mod(igen,10) ++c ++ inits = .false. ++ end if + c + if (ido .eq. 0) then + c +diff --git a/PARPACK/SRC/MPI/pzgetv0.f b/PARPACK/SRC/MPI/pzgetv0.f +index 731fb319f..94fb705f3 100644 +--- a/PARPACK/SRC/MPI/pzgetv0.f ++++ b/PARPACK/SRC/MPI/pzgetv0.f +@@ -176,13 +176,13 @@ subroutine pzgetv0 + c | Local Scalars & Arrays | + c %------------------------% + c +- logical first, orth ++ logical first, inits, orth + integer idist, iseed(4), iter, msglvl, jj, myid, igen + Double precision + & rnorm0 + Complex*16 + & cnorm, cnorm2 +- save first, iseed, iter, msglvl, orth, rnorm0 ++ save first, iseed, inits, iter, msglvl, orth, rnorm0 + c + Complex*16 + & cnorm_buf, buf2(1) +@@ -203,6 +203,12 @@ subroutine pzgetv0 + & zzdotc + external zzdotc , pdznorm2 , dlapy2 + c ++c %-----------------% ++c | Data Statements | ++c %-----------------% ++c ++ data inits /.true./ ++c + c %-----------------------% + c | Executable Statements | + c %-----------------------% +@@ -213,26 +219,30 @@ subroutine pzgetv0 + c | random number generator | + c %-----------------------------------% + c ++ if (inits) then + c +-c %-----------------------------------% +-c | Generate a seed on each processor | +-c | using process id (myid). | +-c | Note: the seed must be between 1 | +-c | and 4095. iseed(4) must be odd. | +-c %-----------------------------------% ++c %-----------------------------------% ++c | Generate a seed on each processor | ++c | using process id (myid). | ++c | Note: the seed must be between 1 | ++c | and 4095. iseed(4) must be odd. | ++c %-----------------------------------% + c +- call MPI_COMM_RANK(comm, myid, ierr) +- igen = 1000 + 2*myid + 1 +- if (igen .gt. 4095) then +- write(0,*) 'Error in p_getv0: seed exceeds 4095!' +- end if ++ call MPI_COMM_RANK(comm, myid, ierr) ++ igen = 1000 + 2*myid + 1 ++ if (igen .gt. 4095) then ++ write(0,*) 'Error in p_getv0: seed exceeds 4095!' ++ end if ++c ++ iseed(1) = igen/1000 ++ igen = mod(igen,1000) ++ iseed(2) = igen/100 ++ igen = mod(igen,100) ++ iseed(3) = igen/10 ++ iseed(4) = mod(igen,10) + c +- iseed(1) = igen/1000 +- igen = mod(igen,1000) +- iseed(2) = igen/100 +- igen = mod(igen,100) +- iseed(3) = igen/10 +- iseed(4) = 7 ++ inits = .false. ++ end if + c + if (ido .eq. 0) then + c +diff --git a/SRC/cgetv0.f b/SRC/cgetv0.f +index b49e66708..c231eadcb 100644 +--- a/SRC/cgetv0.f ++++ b/SRC/cgetv0.f +@@ -156,13 +156,13 @@ subroutine cgetv0 + c | Local Scalars & Arrays | + c %------------------------% + c +- logical first, orth ++ logical first, inits, orth + integer idist, iseed(4), iter, msglvl, jj + Real + & rnorm0 + Complex + & cnorm +- save first, iseed, iter, msglvl, orth, rnorm0 ++ save first, iseed, inits, iter, msglvl, orth, rnorm0 + c + c %----------------------% + c | External Subroutines | +@@ -180,6 +180,12 @@ subroutine cgetv0 + & ccdotc + external ccdotc, scnrm2, slapy2 + c ++c %-----------------% ++c | Data Statements | ++c %-----------------% ++c ++ data inits /.true./ ++c + c %-----------------------% + c | Executable Statements | + c %-----------------------% +@@ -190,10 +196,13 @@ subroutine cgetv0 + c | random number generator | + c %-----------------------------------% + c +- iseed(1) = 1 +- iseed(2) = 3 +- iseed(3) = 5 +- iseed(4) = 7 ++ if (inits) then ++ iseed(1) = 1 ++ iseed(2) = 3 ++ iseed(3) = 5 ++ iseed(4) = 7 ++ inits = .false. ++ end if + c + if (ido .eq. 0) then + c +diff --git a/SRC/dgetv0.f b/SRC/dgetv0.f +index 8be4fa26d..1d6dc01bd 100644 +--- a/SRC/dgetv0.f ++++ b/SRC/dgetv0.f +@@ -157,11 +157,11 @@ subroutine dgetv0 + c | Local Scalars & Arrays | + c %------------------------% + c +- logical first, orth ++ logical first, inits, orth + integer idist, iseed(4), iter, msglvl, jj + Double precision + & rnorm0 +- save first, iseed, iter, msglvl, orth, rnorm0 ++ save first, iseed, inits, iter, msglvl, orth, rnorm0 + c + c %----------------------% + c | External Subroutines | +@@ -183,6 +183,12 @@ subroutine dgetv0 + c + intrinsic abs, sqrt + c ++c %-----------------% ++c | Data Statements | ++c %-----------------% ++c ++ data inits /.true./ ++c + c %-----------------------% + c | Executable Statements | + c %-----------------------% +@@ -193,10 +199,13 @@ subroutine dgetv0 + c | random number generator | + c %-----------------------------------% + c +- iseed(1) = 1 +- iseed(2) = 3 +- iseed(3) = 5 +- iseed(4) = 7 ++ if (inits) then ++ iseed(1) = 1 ++ iseed(2) = 3 ++ iseed(3) = 5 ++ iseed(4) = 7 ++ inits = .false. ++ end if + c + if (ido .eq. 0) then + c +diff --git a/SRC/sgetv0.f b/SRC/sgetv0.f +index 26130a014..d861b2d6d 100644 +--- a/SRC/sgetv0.f ++++ b/SRC/sgetv0.f +@@ -157,11 +157,11 @@ subroutine sgetv0 + c | Local Scalars & Arrays | + c %------------------------% + c +- logical first, orth ++ logical first, inits, orth + integer idist, iseed(4), iter, msglvl, jj + Real + & rnorm0 +- save first, iseed, iter, msglvl, orth, rnorm0 ++ save first, iseed, inits, iter, msglvl, orth, rnorm0 + c + c %----------------------% + c | External Subroutines | +@@ -183,6 +183,12 @@ subroutine sgetv0 + c + intrinsic abs, sqrt + c ++c %-----------------% ++c | Data Statements | ++c %-----------------% ++c ++ data inits /.true./ ++c + c %-----------------------% + c | Executable Statements | + c %-----------------------% +@@ -193,10 +199,13 @@ subroutine sgetv0 + c | random number generator | + c %-----------------------------------% + c +- iseed(1) = 1 +- iseed(2) = 3 +- iseed(3) = 5 +- iseed(4) = 7 ++ if (inits) then ++ iseed(1) = 1 ++ iseed(2) = 3 ++ iseed(3) = 5 ++ iseed(4) = 7 ++ inits = .false. ++ end if + c + if (ido .eq. 0) then + c +diff --git a/SRC/zgetv0.f b/SRC/zgetv0.f +index cc13c3cfb..1fbd50851 100644 +--- a/SRC/zgetv0.f ++++ b/SRC/zgetv0.f +@@ -156,13 +156,13 @@ subroutine zgetv0 + c | Local Scalars & Arrays | + c %------------------------% + c +- logical first, orth ++ logical first, inits, orth + integer idist, iseed(4), iter, msglvl, jj + Double precision + & rnorm0 + Complex*16 + & cnorm +- save first, iseed, iter, msglvl, orth, rnorm0 ++ save first, iseed, inits, iter, msglvl, orth, rnorm0 + c + c %----------------------% + c | External Subroutines | +@@ -180,6 +180,12 @@ subroutine zgetv0 + & zzdotc + external zzdotc, dznrm2, dlapy2 + c ++c %-----------------% ++c | Data Statements | ++c %-----------------% ++c ++ data inits /.true./ ++c + c %-----------------------% + c | Executable Statements | + c %-----------------------% +@@ -190,10 +196,13 @@ subroutine zgetv0 + c | random number generator | + c %-----------------------------------% + c +- iseed(1) = 1 +- iseed(2) = 3 +- iseed(3) = 5 +- iseed(4) = 7 ++ if (inits) then ++ iseed(1) = 1 ++ iseed(2) = 3 ++ iseed(3) = 5 ++ iseed(4) = 7 ++ inits = .false. ++ end if + c + if (ido .eq. 0) then + c base-commit: 2426e51688d479042ea115a634c6be2d8b9f3b99 -- 2.40.1
Ludovic Courtès <ludo <at> gnu.org>
:Ludovic Courtès <ludo <at> gnu.org>
:Message #16 received at 64107-done <at> debbugs.gnu.org (full text, mbox):
From: Ludovic Courtès <ludo <at> gnu.org> To: 64107-done <at> debbugs.gnu.org Cc: Andreas Enge <andreas <at> enge.fr>, Efraim Flashner <efraim <at> flashner.co.il>, Eric Bavier <bavier <at> posteo.net> Subject: Re: bug#64107: [PATCH] gnu: arpack-ng: Update to 3.9.0. Date: Fri, 14 Jul 2023 00:18:50 +0200
Ludovic Courtès <ludo <at> gnu.org> skribis: > From: Ludovic Courtès <ludovic.courtes <at> inria.fr> > > * gnu/packages/maths.scm (arpack-ng): Update to 3.9.0. > [source]: Add 'patches'. > [build-system]: Switch to CMAKE-BUILD-SYSTEM. > [native-inputs]: Remove AUTOCONF, AUTOMAKE, and LIBTOOL. > (arpack-ng-openmpi)[inputs]: Use 'modify-inputs'. > [arguments]: Use gexps. > * gnu/packages/patches/arpack-ng-propagate-rng-state.patch: New file. > * gnu/local.mk (dist_patch_DATA): Add it. Pushed as ff208b4b629a15ce0b72555db1cda9fcb7eec1c9. Ludo'.
Debbugs Internal Request <help-debbugs <at> gnu.org>
to internal_control <at> debbugs.gnu.org
.
(Fri, 11 Aug 2023 11:24:07 GMT) Full text and rfc822 format available.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.