Я пытаюсь скомпилировать источник унисона, используя компилятор OCAML (версия 4.01.0) и GNU make 4.0. Исходный код взят из ссылки (http://www.seas.upenn.edu/~bcpierce/unison//download/releases/unison-2.27.57/)Ошибки компиляции исходного кода Unison в OCAML
Я извлек 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 из исходного кода на вашем компьютере? –
Я нашел, что make был установлен неправильно. Таким образом, OCAML теперь компилируется, но исходный файл имеет некоторые ошибки, поскольку компилятор жалуется на то, что поля не предоставляют –
Примером ошибки является «В модуле NameMap: Поле« split »обязательно, но не предоставляется « –