2015-07-11 2 views
2

У меня установлена ​​библиотека OCaml. Для того, чтобы доказать, что у меня есть это:Почему ocamlfind не может найти установленную библиотеку (camlp4)

$ ~/.opam/bin/opam install camlp4 
[NOTE] Package camlp4 is already installed (current version is 4.02+system). 

И это:

$ ls `ocamlc -where`/camlp4* 
Camlp4.cmi  Camlp4Bin.cmx Camlp4Parsers Camlp4Top.cmi  camlp4fulllib.a  camlp4lib.a  camlp4o.cma camlp4orf.cma camlp4prof.cmx camlp4rf.cma 
Camlp4Bin.cmi Camlp4Bin.o Camlp4Printers Camlp4Top.cmo  camlp4fulllib.cma camlp4lib.cma camlp4of.cma camlp4prof.cmi camlp4prof.o 
Camlp4Bin.cmo Camlp4Filters Camlp4Top  Camlp4_config.cmi camlp4fulllib.cmxa camlp4lib.cmxa camlp4oof.cma camlp4prof.cmo camlp4r.cma 

Но когда я пытаюсь это, он не распознает файл

$ ocamlfind query camlp4 
ocamlfind: Package `camlp4' not found 

Как я могу включить его?

Мой ~/.ocamlinit выглядит следующим образом:

let() = 
    try Topdirs.dir_directory (Sys.getenv "OCAML_TOPLEVEL_PATH") 
    with Not_found ->() 
;; 
#use "topfind";; 
+0

. '~/.ocamlinit' - это начальный файл, выполняемый с помощью toplevel' ocaml' и не имеющий ничего общего с 'ocamlfind '. – ChriS

ответ

1

Велика вероятность, что вы забыли активировать opam enviromnment с командой

eval $(opam config env) 

. И вы пытаетесь скомпилировать ваш системный компилятор, т. Е. Компилятор, установленный вашим системным менеджером пакетов.

..