-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Build both Z3 4.8.10 and 4.8.14 versions
We now include both Z3 4.8.10 and 4.8.14 so that SAW's CI can revert back to 4.8.10 in certain cases, as 4.8.14 has been known to nondeterministically fail on certain jobs. See GaloisInc/saw-script#1772.
- Loading branch information
1 parent
b422c43
commit b7eb43b
Showing
6 changed files
with
83 additions
and
9 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,50 @@ | ||
# what4-solvers | ||
Multi-platform binary creation for solvers of the versions most suitable for use with What4 | ||
|
||
Multi-platform binary creation for solvers of the versions most suitable for use | ||
with [What4](https://github.com/GaloisInc/what4), as well as tools built on top | ||
of What4, such as [Cryptol](https://cryptol.net/), | ||
[Crux](https://crux.galois.com/), and [SAW](https://saw.galois.com/). | ||
|
||
Binary distributions can be found at the | ||
[releases page](https://github.com/GaloisInc/what4-solvers/releases). | ||
Currently, `what4-solvers` offers the following solver versions: | ||
|
||
* ABC - [99ab99bf](https://github.com/berkeley-abc/abc/tree/99ab99bfa6d1c2cc11d59af16aa26b273f611674) | ||
* Boolector - [3.2.2](https://github.com/Boolector/boolector/tree/e7aba964f69cd52dbe509e46e818a4411b316cd3) | ||
* CVC4 - [1.8](https://github.com/CVC4/CVC4-archived/tree/5247901077efbc7b9016ba35fded7a6ab459a379) | ||
* CVC5 - [1.0.2](https://github.com/cvc5/cvc5/tree/ef35c1131976e5a3d981dace510d90aed2d11cef) | ||
* Yices - [2.6.2](https://github.com/SRI-CSL/yices2/tree/8509cfb5c294df3c0ac3a4814483f39c58879606) | ||
* Z3 - [4.8.10](https://github.com/Z3Prover/z3/tree/517d907567f4283ad8b48ff9c2a3f6dce838569e) and | ||
[4.8.14](https://github.com/Z3Prover/z3/tree/df8f9d7dcb8b9f9b3de1072017b7c2b7f63f0af8) | ||
|
||
Built for the following operating systems: | ||
|
||
* macOS Monterey 12 | ||
* Ubuntu 20.04 | ||
* Ubuntu 22.04 | ||
* Windows Server 2019 | ||
|
||
## FAQ | ||
|
||
### Why build for multiple Ubuntu versions? | ||
|
||
We attempt to offer somewhat broad coverage of different Linux versions. To | ||
that end, we build each solver on the two most recent Ubuntu LTS releases. This | ||
ensures relatively complete coverage of different shared library dependencies | ||
(e.g., different `glibc` versions). | ||
|
||
### Why offer multiple Z3 versions? | ||
|
||
We use Z3 as the default SMT solver in many different projects' CI, including | ||
the CI for Cryptol and SAW. Unfortunately, certain Z3 versions have been known | ||
to non-deterministically fail or time out on certain SMT queries. See, for | ||
example, [this Cryptol issue](https://github.com/GaloisInc/cryptol/issues/1107) | ||
regarding Z3 4.8.10 and | ||
[this SAW issue](https://github.com/GaloisInc/saw-script/issues/1772) regarding | ||
Z3 4.8.14. As a consequence, it is very difficult to find a single Z3 version | ||
that works reliably across all of our tools' CI. | ||
|
||
As a compromise, we offer multiple Z3 versions so that tools can pick one that | ||
is known to work well for their particular needs. If we successfully identify a | ||
later version of Z3 that is known to work reliably across all CI | ||
configurations, we may reconsider this choice. |
Submodule z3-4.8.14
updated
from 000000 to df8f9d