Командная строка ocaml не может найти "topfind"

У меня установлен верхний уровень, и у меня есть настройка $OCAML_TOPLEVEL_PATH.

export OCAML_TOPLEVEL_PATH=/Users/smcho/.opam/system/lib/toplevel

Я проверил, что каталог существует и имеет один файл topfind,

Это мое ~/.ocamlinit содержимое файла.

#use "topfind"
#camlp4o
#thread
#require "core.top"
#require "core.syntax"

Проблема в том, что у меня есть сообщение об ошибке, говорящее, что он не может найти topfind.

> ocaml
        OCaml version 4.02.1

Cannot find file topfind.
Unknown directive `camlp4o'.
# 

С "ustop" у меня нет сообщения об ошибке.

Что может быть не так?

Это моя настройка среды ocaml.

> opam config env
CAML_LD_LIBRARY_PATH="/Users/smcho/.opam/system/lib/stublibs:/usr/local/lib/ocaml/stublibs"; export CAML_LD_LIBRARY_PATH;
OPAMUTF8MSGS="1"; export OPAMUTF8MSGS;
MANPATH=":/Users/smcho/.opam/system/man"; export MANPATH;
MAKELEVEL=""; export MAKELEVEL;
MAKEFLAGS=""; export MAKEFLAGS;
PERL5LIB="/Users/smcho/.opam/system/lib/perl5:"; export PERL5LIB;
OCAML_TOPLEVEL_PATH="/Users/smcho/.opam/system/lib/toplevel"; export OCAML_TOPLEVEL_PATH;
PATH="..."; export PATH;

1 ответ

Решение

Как сказано здесь Самотом:

Обычно эта проблема больше не существует, если вы не используете системный компилятор. Если вы используете системный компилятор, вы можете изменить ваш ~/.ocamlinit для загрузки $OCAML_TOPLEVEL_PATH, как это сделано в https://github.com/OCamlPro/opam/blob/master/shell/dot_ocamlinit

Таким образом, вы можете использовать другой переключатель или изменить свой .ocamlinit,

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