Компиляция батарей ocaml: Unbound модуль Toploop

**Build mode: shared
ocamlbuild -no-links syntax.otarget byte.otarget src/batteries_help.cmo META shared.otarget

Finished, 0 targets (0 cached) in 00:00:00.

+ ocamlfind ocamlc -c -g -annot -warn-error A -package camomile,num,str -package camlp4.lib -pp camlp4of -pp camlp4of -I libs/estring -I benchsuite -I src -I testsuite -I build -I qtest -I libs -I src/syntax/pa_comprehension -I src/syntax/pa_strings -o libs/estring/pa_estring_top.cmo 
libs/estring/pa_estring_top.ml

File "libs/estring/pa_estring_top.ml", line 18, characters 15-44:

Error: Unbound module Toploop

Command exited with code 2.**


Compilation unsuccessful after building 6 targets (5 cached) in 00:00:00.**

Я нашел toploop.cmi в пути:

cd OCaml/lib/ocaml/compiler-libs/
ls topl*

toploop.cmi

и, как вы видите,

export PATH=/home/xxx/OCaml/lib/ocaml/compiler-libs/:$PATH

я сделал /home/xxx/... как мой системный путь. Но это все равно не сработало. Что я должен сделать, чтобы включить модуль toploop?

1 ответ

Решение

Вы, кажется, компилируете Батареи (какая версия?) С OCaml 4.00, который представил новый compiler-libs директории (но в некоторых дистрибутивах она уже была, так что она может быть отключена). toploop Раньше находился в корне каталога OCaml stdlib, но теперь вы должны добавить -I +compiler-libs вариант где-нибудь, или используйте соответствующую упаковку ocamlfind (-package compiler-libs.toplevel).

Другие вопросы по тегам