[英]Frama-C unbound module Z build error
Using Ubuntu 14.04, I downloaded the Neon Frama-C distribution, and installed the required tools: labgtk, sourceview, etc. I configured Frama-C no problem, but on building got: 使用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
The problem is 问题是
let n = Z.of_bits str in
where Z denotes a module that is not imported (I guess). 其中Z表示未导入的模块(我猜)。 I do not know what Z is supposed to refer to so I have no way of trying to fix this.
我不知道Z应该引用什么,所以我无法试图解决这个问题。
Have you installed the zarith
library ( libzarith-ocaml-dev
under Ubuntu)? 你安装了
zarith
库(Ubuntu下的libzarith-ocaml-dev
)吗? Frama-C can use two libraries for arbitrary precision integers: either Bignum
, which is included in OCaml distribution (although I wouldn't be surprised that Debian/Ubuntu did manage to make it a separate package ), or Zarith
, a newer, more efficient implementation. Frama-C可以使用两个库来获得任意精度整数:
Bignum
,它包含在OCaml发行版中(虽然我不会惊讶于Debian / Ubuntu确实设法使它成为一个单独的包),或者Zarith
,一个更新的,更多有效实施。 unz.ml
is part of the code that binds Zarith
to Frama-C, thus if you don't have Zarith
installed, you will have some issues compiling it. unz.ml
是将Zarith
绑定到Frama-C的代码的一部分,因此如果你没有安装Zarith
,你将会Zarith
一些问题。
Normally, ./configure
should take care of choosing the appropriate library. 通常,
./configure
应该注意选择适当的库。 You can check what it has found in config.log
. 您可以检查它在
config.log
中找到的内容。 A possible issue is that you have package libzarith-ocaml
installed but not libzarith-ocaml-dev
. 可能的问题是您安装了
libzarith-ocaml
包,但没有安装libzarith-ocaml-dev
。 In this case, the library itself is installed (and presumably detected by ./configure
), but not the headers needed to compile the code against it. 在这种情况下,库本身已安装(并且可能由
./configure
检测),但不是编译代码所需的头文件。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.