Frama-C未绑定模块Z构建错误

时间:2014-05-27 22:54:24

标签: ocaml frama-c

使用Ubuntu 14.04,我下载了Neon Frama-C发行版,并安装了所需的工具:labgtk,sourceview等。我配置Frama-C没问题,但是在建筑上得到了:

File "external/unz.ml", line 39, characters 10-19:
Error: Unbound module Z
make: *** [external/unz.cmo] Error 2

问题是

 let n = Z.of_bits str in

其中Z表示未导入的模块(我猜)。我不知道Z应该引用什么,所以我无法解决这个问题。

1 个答案:

答案 0 :(得分:7)

您是否在Ubuntu下安装了zarith库(libzarith-ocaml-dev)? Frama-C可以使用两个库来获得任意精度整数:Bignum,它包含在OCaml发行版中(虽然我不会惊讶于Debian / Ubuntu确实设法使它成为一个单独的包),或{{ 1}},一种更新,更有效的实现。 Zarith是绑定代码的一部分 unz.ml到Frama-C,因此如果你没有安装Zarith,你将会遇到一些问题。

通常,Zarith应该选择合适的库。您可以查看./configure中找到的内容。可能的问题是您安装了包config.log但未安装libzarith-ocaml。在这种情况下,库本身已安装(并且可能由libzarith-ocaml-dev检测到),但不是编译代码所需的头文件。