Подтвердить что ты не робот

Несогласованные предположения относительно интерфейса (Ocaml)

Я вдруг начал получать эту ошибку. Я не знаю, как его диагностировать или исправлять. Должен ли я пройти через bar.ml и проверить каждую функцию Big_int на подпись в Big_int.mli?

File "foo.ml", line 1, characters 0-1:
Error: The files /home/bar.cmi
       and /usr/lib/ocaml/big_int.cmi make inconsistent assumptions
       over interface Big_int
4b9b3361

Ответ 1

Как правило, это сообщение означает, что один .mli файл был недавно перекомпилирован, но не другой. Поскольку один из файлов .mli находится в вашей библиотеке OCaml, это может означать, что вы обновили свою установку OCaml, но с тех пор не перекомпилировали bar.mli.

Что произойдет, если вы просто перекомпилируете bar.mli?

Ответ 2

rm bar.cmi и повторите попытку; похоже, что он был сгенерирован против другой версии Big_int.