This patch makes these files deterministic: - petscmachineinfo.h - petscvariables Unfortunately libpetsc.so.3.16.1 still differs between builds, see e.g. this diffoscope output: https://jsfiddle.net/dLx15obp/show (click on run) Maybe someone has an idea how to also fix the library? Sincerely, Lars On 29 Feb 2024, at 10:46, Lars Bilke wrote: > 'Libraries compiled on' does not have to be removed since PETSc 3.9: > > https: //gitlab.com/petsc/petsc/-/commit/a970bd748978a4e12790be7c36b10e832ec0149f > > Change-Id: I41d82339e43187d7dc7e3fc189a338784c363c68 > > --- > gnu/packages/maths.scm | 13 ++++++++----- > 1 file changed, 8 insertions(+), 5 deletions(-) > > diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm > index 1f61ee0583..f09cbee48b 100644 > --- a/gnu/packages/maths.scm > +++ b/gnu/packages/maths.scm > @@ -3455,18 +3455,21 @@ (define-public petsc > (substitute* "config/example_template.py" > (("#!/usr/bin/env bash") > (string-append "#!" (which "bash"))))))) > - (add-after 'configure 'clean-local-references > + (add-after 'install 'clean-local-references > (lambda* (#:key outputs #:allow-other-keys) > (let ((out (assoc-ref outputs "out"))) > (substitute* (find-files "." "^petsc(conf|machineinfo).h$") > ;; Prevent build directory from leaking into compiled code > (((getcwd)) out) > - ;; Scrub timestamp for reproducibility > - ((".*Libraries compiled on.*") "")) > + ;; Scrub build machine characteristic > + (("Machine characteristics: Linux-[0-9]+\\.[0-9]+\\.[0-9]+") > + "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 = [[:digit:]]+\\.[[:digit:]]+") "MAKE_LOAD = 2.0") > + (("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) > > base-commit: 75bad75367fcf2c289fae3b40dbcc850f92177be > -- > 2.43.0