Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Backport release-24.11] z3_4_12: 4.12.5 -> 4.12.6; z3_4_13: init at 4.13.4; fix Z3 builds #374875

Merged

Conversation

numinit
Copy link
Contributor

@numinit numinit commented Jan 18, 2025

Backport of PR #327052 for NixOS 24.11 that doesn't change the default Z3 version.

Things done

  • Built on platform(s)
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)
    • sandbox = relaxed
    • sandbox = true
  • Tested, as applicable:
  • Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
  • Tested basic functionality of all binary files (usually in ./result/bin/)
  • 25.05 Release Notes (or backporting 24.11 and 25.05 Release notes)
    • (Package updates) Added a release notes entry if the change is major or breaking
    • (Module updates) Added a release notes entry if the change is significant
    • (Module addition) Added a release notes entry if adding a new NixOS module
  • Fits CONTRIBUTING.md.

Add a 👍 reaction to pull requests you find important.

@numinit
Copy link
Contributor Author

numinit commented Jan 18, 2025

Didn't need the Haskell commit in the backport, so you're strictly optional @sternenseemann :-)

@numinit numinit requested a review from emilytrau January 18, 2025 21:40
@numinit
Copy link
Contributor Author

numinit commented Feb 1, 2025

Bumping for a merge @emilytrau :-)

@wolfgangwalther
Copy link
Contributor

Instead of adding a separate commit to reverse the default version change, could you amend this to the commit that did the bump? This will give a clean history, and no matter which commit you'll end up checking out in the future - there will be no temporary version bump here.

This will cause the cherry-pick job to fail, but that's fine - the CI output of that job will let us know exactly how you deviated from the cherry-pick to confirm.

@numinit
Copy link
Contributor Author

numinit commented Feb 8, 2025

Sure thing.

(cherry picked from commit 2cb20cb)
I also maintain KLEE and STP, and use z3.

(cherry picked from commit 5a15eec)
(cherry picked from commit ef1388f)
(cherry picked from commit fc7bc1d)
(cherry picked from commit 2ad2eed)
Original commit message by Reno Dakota (https://github.com/paparodeo),
rebased against latest z3 changes:

z3 contains a bunch of typos in never used functions. The update to
clang-19 now reports the typos -- wrong member function / variable
names.  There is an upstream patch which fixes some of these:

Z3Prover/z3@2ce89e5

And the others we patch or remove as the upstream code has since been
modified.

(cherry picked from commit df99435)
(cherry picked from commit c556717)
@numinit numinit force-pushed the backport-327052-to-release-24.11 branch from 0bbf8a1 to c9fada0 Compare February 8, 2025 23:52
@numinit
Copy link
Contributor Author

numinit commented Feb 9, 2025

Thanks for the tip - I feel like this happens with long-running PR series more often. Should be good now!

@wolfgangwalther
Copy link
Contributor

nixpkgs-review result

Generated using nixpkgs-review.

Command: nixpkgs-review pr 374875


x86_64-linux

⏩ 14 packages marked as broken and skipped:
  • boogie
  • dotnetPackages.Boogie
  • python311Packages.angr
  • python311Packages.angr.dist
  • python311Packages.angrcli
  • python311Packages.angrcli.dist
  • python311Packages.angrop
  • python311Packages.angrop.dist
  • python312Packages.angr
  • python312Packages.angr.dist
  • python312Packages.angrcli
  • python312Packages.angrcli.dist
  • python312Packages.angrop
  • python312Packages.angrop.dist
❌ 16 packages failed to build:
  • python311Packages.deal
  • python311Packages.deal-solver
  • python311Packages.deal-solver.dist
  • python311Packages.deal.dist
  • python311Packages.icontract
  • python311Packages.icontract.dist
  • python311Packages.pylddwrap
  • python311Packages.pylddwrap.dist
  • python312Packages.deal
  • python312Packages.deal-solver
  • python312Packages.deal-solver.dist
  • python312Packages.deal.dist
  • python312Packages.icontract
  • python312Packages.icontract.dist
  • python312Packages.pylddwrap
  • python312Packages.pylddwrap.dist
✅ 82 packages built:
  • acl2
  • alive2
  • circt
  • circt.dev
  • circt.lib
  • dafny
  • fstar
  • glasgow
  • glasgow.dist
  • hal-hardware-analyzer
  • haskellPackages.hz3
  • haskellPackages.hz3.doc
  • haskellPackages.rest-rewrite
  • haskellPackages.smtlib-backends-z3
  • haskellPackages.smtlib-backends-z3.doc
  • haskellPackages.z3
  • haskellPackages.z3.doc
  • iprover
  • isabelle
  • isabelle-components.isabelle-linter
  • klee
  • libbap
  • pony-corral
  • ponyc
  • python311Packages.amaranth
  • python311Packages.amaranth-boards
  • python311Packages.amaranth-boards.dist
  • python311Packages.amaranth-soc
  • python311Packages.amaranth-soc.dist
  • python311Packages.amaranth.dist
  • python311Packages.bap
  • python311Packages.bap.dist
  • python311Packages.claripy
  • python311Packages.claripy.dist
  • python311Packages.miasm
  • python311Packages.miasm.dist
  • python311Packages.model-checker
  • python311Packages.model-checker.dist
  • python311Packages.z3-solver (python311Packages.z3-solver.dev ,python311Packages.z3-solver.lib ,python311Packages.z3-solver.python)
  • python312Packages.amaranth
  • python312Packages.amaranth-boards
  • python312Packages.amaranth-boards.dist
  • python312Packages.amaranth-soc
  • python312Packages.amaranth-soc.dist
  • python312Packages.amaranth.dist
  • python312Packages.bap
  • python312Packages.bap.dist
  • python312Packages.claripy
  • python312Packages.claripy.dist
  • python312Packages.miasm
  • python312Packages.miasm.dist
  • python312Packages.model-checker
  • python312Packages.model-checker.dist
  • python312Packages.z3-solver (python312Packages.z3-solver.dev ,python312Packages.z3-solver.lib ,python312Packages.z3-solver.python)
  • sail-riscv-rv32
  • sail-riscv-rv64
  • sby
  • solc
  • tlaps
  • ugarit
  • vampire
  • z3 (z3_4_8)
  • z3-tptp
  • z3.dev (z3_4_8.dev)
  • z3.lib (z3_4_8.lib)
  • z3.python (z3_4_8.python)
  • z3_4_11
  • z3_4_11.dev
  • z3_4_11.lib
  • z3_4_11.python
  • z3_4_12
  • z3_4_12.dev
  • z3_4_12.lib
  • z3_4_12.python
  • z3_4_13
  • z3_4_13.dev
  • z3_4_13.lib
  • z3_4_13.python
  • z3_4_8_5
  • z3_4_8_5.dev
  • z3_4_8_5.lib
  • z3_4_8_5.python

aarch64-darwin

⏩ 19 packages marked as broken and skipped:
  • boogie
  • dotnetPackages.Boogie
  • isabelle
  • isabelle-components.isabelle-linter
  • python311Packages.angr
  • python311Packages.angr.dist
  • python311Packages.angrcli
  • python311Packages.angrcli.dist
  • python311Packages.angrop
  • python311Packages.angrop.dist
  • python312Packages.angr
  • python312Packages.angr.dist
  • python312Packages.angrcli
  • python312Packages.angrcli.dist
  • python312Packages.angrop
  • python312Packages.angrop.dist
  • sail-riscv-rv32
  • sail-riscv-rv64
  • tlaps
❌ 6 packages failed to build:
  • pony-corral
  • ponyc
  • python312Packages.deal
  • python312Packages.deal.dist
  • python312Packages.icontract
  • python312Packages.icontract.dist
✅ 80 packages built:
  • acl2
  • alive2
  • circt
  • circt.dev
  • circt.lib
  • dafny
  • fstar
  • glasgow
  • glasgow.dist
  • hal-hardware-analyzer
  • haskellPackages.hz3
  • haskellPackages.hz3.doc
  • haskellPackages.rest-rewrite
  • haskellPackages.smtlib-backends-z3
  • haskellPackages.smtlib-backends-z3.doc
  • haskellPackages.z3
  • haskellPackages.z3.doc
  • libbap
  • python311Packages.amaranth
  • python311Packages.amaranth-boards
  • python311Packages.amaranth-boards.dist
  • python311Packages.amaranth-soc
  • python311Packages.amaranth-soc.dist
  • python311Packages.amaranth.dist
  • python311Packages.bap
  • python311Packages.bap.dist
  • python311Packages.claripy
  • python311Packages.claripy.dist
  • python311Packages.deal
  • python311Packages.deal-solver
  • python311Packages.deal-solver.dist
  • python311Packages.deal.dist
  • python311Packages.icontract
  • python311Packages.icontract.dist
  • python311Packages.miasm
  • python311Packages.miasm.dist
  • python311Packages.model-checker
  • python311Packages.model-checker.dist
  • python311Packages.z3-solver (python311Packages.z3-solver.dev ,python311Packages.z3-solver.lib ,python311Packages.z3-solver.python)
  • python312Packages.amaranth
  • python312Packages.amaranth-boards
  • python312Packages.amaranth-boards.dist
  • python312Packages.amaranth-soc
  • python312Packages.amaranth-soc.dist
  • python312Packages.amaranth.dist
  • python312Packages.bap
  • python312Packages.bap.dist
  • python312Packages.claripy
  • python312Packages.claripy.dist
  • python312Packages.deal-solver
  • python312Packages.deal-solver.dist
  • python312Packages.miasm
  • python312Packages.miasm.dist
  • python312Packages.model-checker
  • python312Packages.model-checker.dist
  • python312Packages.z3-solver (python312Packages.z3-solver.dev ,python312Packages.z3-solver.lib ,python312Packages.z3-solver.python)
  • sby
  • ugarit
  • vampire
  • z3 (z3_4_8)
  • z3-tptp
  • z3.dev (z3_4_8.dev)
  • z3.lib (z3_4_8.lib)
  • z3.python (z3_4_8.python)
  • z3_4_11
  • z3_4_11.dev
  • z3_4_11.lib
  • z3_4_11.python
  • z3_4_12
  • z3_4_12.dev
  • z3_4_12.lib
  • z3_4_12.python
  • z3_4_13
  • z3_4_13.dev
  • z3_4_13.lib
  • z3_4_13.python
  • z3_4_8_5
  • z3_4_8_5.dev
  • z3_4_8_5.lib
  • z3_4_8_5.python

python312Packges.deal-solver was just flaky, built fine when trying again.

All others are already broken for me on release-24.11

No blockers.

@wolfgangwalther wolfgangwalther merged commit d40f049 into NixOS:release-24.11 Feb 9, 2025
27 of 28 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants