我想使用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