Description
Hello owi maintainers.
I am attempting to package owi in nixpkgs
for our community to use. I am a part of the 2025 Summer of Nix cohort and one of our goals is to package NGI0/NLnet funded packages.
Here is my PR: NixOS/nixpkgs#414133
I am successfully building owi, but upon running the binary I get this error. You can see here
That I do have z3 installed. I notice that the error message mentions installing it through opam, but since we are using nix, we cannot rely on opam to intall z3 and associated libraries as we install them directly through nix. I have also tried installing bitwuzla-cxx
but it did not work either.
/result/bin/owi c ~/main.c -vvvv
owi: [EXEC:152762] ['/nix/store/zmk3gqm6sxgar8b84sz66wbs7kx4v2gi-clang-19.1.7/bin/clang'
'-O3' '--target=wasm32' '-m32' '-ffreestanding'
'--no-standard-libraries' '-Wno-everything' '-flto=thin'
'-Wl,--entry=main' '-Wl,--export=main' '-Wl,--lto-O0'
'-Wl,-z,stack-size=8388608' '-I'
'/nix/store/dpzcm4gd3pn0v8pw7zbxgm4k00vlldd4-ocaml5.1.1-owi-0.2-unstable-2025-05-05/share/owi/c_files'
'-o' '/tmp/owi_c_389140/a.out.wasm'
'/nix/store/dpzcm4gd3pn0v8pw7zbxgm4k00vlldd4-ocaml5.1.1-owi-0.2-unstable-2025-05-05/share/owi/c_files/libc.wasm'
'/home/ece/main.c']
owi: [INFO] typechecking ...
owi: [INFO] typechecking ...
owi: [INFO] linking ...
owi: [INFO] interpreting ...
The Z3 solver is not installed. You must install it through opam with the command `opam install z3`. You could also try to use another solver (have a look at the supported solvers here: https://github.com/formalsec/smtml?tab=readme-ov-file#supported-solvers). Note that installing the solver with your system package manager is not enough, you must install it through opam.The Z3 solver is not installed. You must install it through opam with the command `opam install z3`. You could also try to use another solver (have a look at the supported solvers here: https://github.com/formalsec/smtml?tab=readme-ov-file#supported-solvers). Note that installing the solver with your system package manager is not enough, you must install it through opam.
I was hoping that the developers of OWI would have some ideas. This error is also preventing the unit tests from passing.