go-z3 provides Go bindings for the Z3 SMT solver.
First, follow the instructions to download and install the Z3 C library.
go-z3 requires Z3 version 4.7.1 or later.
If you installed the C library to a non-default location (such as a
directory under $HOME
), set the following environment variables:
# For building:
export CGO_CFLAGS=-I$Z3PREFIX/include CGO_LDFLAGS=-L$Z3PREFIX/lib
# For running binaries (including tests):
export LD_LIBRARY_PATH=$Z3PREFIX/lib
Then download and build go-z3:
go get -u github.com/aclements/go-z3/z3
See pkg.go.dev.