使用 OCaml 在 OSX 上使用 Z3
Using Z3 on OSX with OCaml
我正在尝试使用 OCaml 绑定在 OSX 上使用 Z3 Solver。
尝试使用 运行 构建我的解决方案时
ocamlfind ocamlc -o testsat.byte -package Z3 -linkpkg testsat.ml
我收到 ocamlfind: Package Z3 not found
。
我也尝试过使用不带 -package
标签的 ocamlbuild
,但是我收到 Unbound Module Z3
错误。
我在安装 z3Overlay 库时也遇到了问题 - https://github.com/termite-analyser/z3overlay 在尝试安装 z3 dev
部分时。
有谁知道可以在 OSX 上使用的任何修复程序或稳定版本?我的假设是,由于构建失败,我遇到了这些错误(从官方文档可以看出:https://github.com/Z3Prover/z3)。
我是新手,非常感谢任何帮助。
库和包名称区分大小写,z3 绑定的包名称是 z3
而不是 Z3
。您始终可以使用 ocamlfind list
查询可用包。
ocamlfind list | grep -i Z3
z3 (version: 4.6.0.0)
因此以下命令将按预期工作
ocamlfind ocamlc -o testsat.byte -package z3 -linkpkg testsat.ml
Martin 在评论中提到了一个小警告,因此您应该会收到另一个错误,应该如下所示:
libz3.so: cannot open shared object file: No such file or directory
事实上,软件包安装 libz3.so
在一个没有搜索到的位置,因此您应该告诉系统链接器在哪里搜索 z3 共享对象。在 Mac OS X 中,这可以通过设置 DYLD_LIBRARY_PATH
变量来实现,例如,
export DYLD_LIBRARY_PATH=`opam config var z3:lib`
在 GNU/Linux 系统上可以通过 LD_LIBRARY_PATH
环境变量完成相同的操作:
export LD_LIBRARY_PATH=`opam config var z3:lib`
我正在尝试使用 OCaml 绑定在 OSX 上使用 Z3 Solver。
尝试使用 运行 构建我的解决方案时
ocamlfind ocamlc -o testsat.byte -package Z3 -linkpkg testsat.ml
我收到 ocamlfind: Package Z3 not found
。
我也尝试过使用不带 -package
标签的 ocamlbuild
,但是我收到 Unbound Module Z3
错误。
我在安装 z3Overlay 库时也遇到了问题 - https://github.com/termite-analyser/z3overlay 在尝试安装 z3 dev
部分时。
有谁知道可以在 OSX 上使用的任何修复程序或稳定版本?我的假设是,由于构建失败,我遇到了这些错误(从官方文档可以看出:https://github.com/Z3Prover/z3)。
我是新手,非常感谢任何帮助。
库和包名称区分大小写,z3 绑定的包名称是 z3
而不是 Z3
。您始终可以使用 ocamlfind list
查询可用包。
ocamlfind list | grep -i Z3
z3 (version: 4.6.0.0)
因此以下命令将按预期工作
ocamlfind ocamlc -o testsat.byte -package z3 -linkpkg testsat.ml
Martin 在评论中提到了一个小警告,因此您应该会收到另一个错误,应该如下所示:
libz3.so: cannot open shared object file: No such file or directory
事实上,软件包安装 libz3.so
在一个没有搜索到的位置,因此您应该告诉系统链接器在哪里搜索 z3 共享对象。在 Mac OS X 中,这可以通过设置 DYLD_LIBRARY_PATH
变量来实现,例如,
export DYLD_LIBRARY_PATH=`opam config var z3:lib`
在 GNU/Linux 系统上可以通过 LD_LIBRARY_PATH
环境变量完成相同的操作:
export LD_LIBRARY_PATH=`opam config var z3:lib`