使用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应该引用什么,所以我无法解决这个问题。
答案 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
检测到),但不是编译代码所需的头文件。