Crux Binaries

Crux-LLVM: Ubuntu 22.04 64-bit

Crux-LLVM: Ubuntu 20.04 64-bit

Crux-LLVM macOS ARM

Crux-LLVM Windows 64-bit

Crux-MIR: Ubuntu 22.04 64-bit

Crux-MIR: macOS ARM

Crux binaries for Linux, macOS, and Windows are available from the GitHub releases page. Binaries are distributed as tarballs which you can extract to a location of your choice. Note that Crux-MIR binaries for Windows are not currently included, but we expect to include them in an upcoming release.

GPG signatures are available for each release, and we encourage you to check the signature against our public key before installing to ensure the integrity of the release you downloaded.

Crux is also available on DockerHub and can be fetched using one of the following commands:

docker pull ghcr.io/galoisinc/crux-llvm:0.9
docker pull ghcr.io/galoisinc/crux-mir:0.9

Use the following command to run crux-mir through cargo crux-test from Docker on the Cargo project in the current directory:

docker run --rm -it --mount type=bind,source=$(pwd),target="/crux-mir/workspace" ghcr.io/galoisinc/crux-mir:0.9

Dependencies

Crux requires a companion tool, mir-json, which provides a Cargo plugin and rustc wrapper. We recommend installing mir-json directly with Cargo by following the instructions in the mir-json README.

Crux can make use of a variety of external SMT solvers, including Boolector, CVC4, CVC5, Yices, and Z3. These solvers can be downloaded from their respective developers at the locations below.

  • Boolector from Johannes Kepler University Linz
  • CVC4 from New York University
  • CVC5 from Stanford University and the University of Iowa
  • Yices from SRI International
  • Z3 from Microsoft Research

Licensing Terms

Crux is freely available under the 3-clause BSD license.