OCAML батареи несвязанная ошибка toploop
Я пытаюсь установить bap, необходимый для ropc https://github.com/pakt/ropc в соответствии с инструкциями, приведенными в ropc/bap/INSTALL в Ubuntu 14.04 . Я успешно выполнил эти команды.
sudo apt-get install ocaml ocaml-native-compilers ocaml-findlib camlidl \
libocamlgraph-ocaml-dev libextlib-ocaml-dev binutils-dev automake \
libcamomile-ocaml-dev otags libpcre3-dev camlp4-extra bison flex
Теперь, когда я делаю это в каталоге bap, я получаю следующую ошибку toploop модуля Unbound module, которая, кажется, является проблемой совместимости между батареями и ocaml. Как мне обойти это? Пожалуйста, смотрите изображение для более подробной информации
Я прочитал, что я должен где-то добавить -I + compiler-libs. Но где именно? У меня нет опыта работы с ocaml, и я просто пытаюсь успешно построить ROPC.
1 ответ
Я попытался скомпилировать проект pact/ropc, и я могу только подтвердить проблемы.
Хотя конфигурация ocaml прошла успешно, компиляция показывает неопределенную ошибку:
Error: Some fatal warnings were triggered (2 occurrences)
../Makefile.shared:84: recipe for target 'nat.cmo' failed
make[2]: *** [nat.cmo] Error 2
make[2]: Leaving directory '/home/strobel/tmp/ropc/bap-0.4/bigint-3.12/otherlibs/num'
Makefile:5: recipe for target 'all' failed
make[1]: *** [all] Error 2
make[1]: Leaving directory '/home/strobel/tmp/ropc/bap-0.4/bigint-3.12'
Makefile:356: recipe for target 'all-recursive' failed
Компонент bap, используемый в ROPC, доступен в opam, а ROPC - нет, и он показывает признаки bitrot. Для проекта github открыто 3 вопроса о проблемах компиляции.
У меня есть достаточно хорошо подготовленная установка ocaml с пакетами непосредственно от opam (очень актуальные версии), и мой подход заключался в том, чтобы посмотреть, будет ли он компилироваться здесь.
Что делать?
Может быть, удалите ваши пакеты Debian OCAML, начните заново с opam. Также есть возможность установить старые версии ocaml, так что, возможно, вернитесь к версии 3.12 ocaml. Но получить требуемые пакеты в соответствующих версиях может быть не так просто, opam довольно нов. Это будет продвинутая работа по отладке ocaml IMO.