2015-02-26 2 views
3

У меня установлен верхний уровень и есть настройка $ OCAML_TOPLEVEL_PATH.Командная строка ocaml не может найти «topfind»

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

Как указано here по Samoth:

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

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