我想使用OCAML编译器(ver 4.01.0)和GNU make 4.0编译unison源。源代码取自链接(http://www.seas.upenn.edu/~bcpierce/unison//download/releases/unison-2.27.57/)在OCAML Unison源编译错误
我提取了tar.gz,然后编写命令“make NATIVE = false”,如用户手册(http://www.seas.upenn.edu/~bcpierce/unison/download/releases/stable/unison-manual.html)中所述,请参阅从临时窗口构建一致性部分。
代码开始编译了几秒钟,但是停止并出现以下错误:
----------
File "/cygdrive/c/unison_build/unison-2.27.57/update.ml", line 1:
Error: The implementation /cygdrive/c/unison_build/unison-2.27.57/update.ml
does not match the interface update.cmi:
...
In module NameMap:
The field `split' is required but not provided
In module NameMap:
The field `choose' is required but not provided
In module NameMap:
The field `max_binding' is required but not provided
In module NameMap:
The field `min_binding' is required but not provided
In module NameMap:
The field `bindings' is required but not provided
In module NameMap:
The field `cardinal' is required but not provided
In module NameMap:
The field `partition' is required but not provided
In module NameMap:
The field `filter' is required but not provided
In module NameMap:
The field `exists' is required but not provided
In module NameMap:
The field `for_all' is required but not provided
In module NameMap:
The field `merge' is required but not provided
In module NameMap:
The field `singleton' is required but not provided
Makefile.OCaml:339: recipe for target 'update.cmo' failed
make: *** [update.cmo] Error 2
您是否考虑在自己的机器上安装Linux?你能从你的机器上的源代码安装Ocaml吗? – 2014-09-19 16:28:12
我发现make没有正确安装。因此,OCAML现在编译,但源文件有一些错误,因为编译器抱怨字段不提供 – 2014-09-19 16:31:17
错误的一个例子是“在模块名称映射: 字段'拆分'是必需的,但不提供 ” – 2014-09-19 16:32:07