сделать не распознающим опам установленным ocamlfind

405
Timothy Swan

Я пытаюсь запустить makeс использованием зависимости, ocamlfindно когда я пытаюсь установить это, это дает мне круговую зависимость и зависимость от ocaml-base-nox.

Я понял, что могу получить ocaml-findlibи libfindlib-ocamlкоторые зависят друг от друга, чтобы установить одновременно с помощью одной команды: sudo apt install ocaml-findlib ocaml-findlib libfindlib-ocaml ocaml-base-nox-4.01.0 Тем не менее, оставшаяся зависимость возвращается Package 'ocaml-base-nox-4.01.0' has no installation candidate. Это упоминает пару пакетов, по-видимому:

Package ocaml-base-nox-4.01.0 is a virtual package provided by: ocaml-base-nox 4.01.0-3ubuntu3.1 [Not candidate version] ocaml-base-nox 4.01.0-3ubuntu3 [Not candidate version] 

Может помочь ответ, помогающий установить этот пакет. В противном случае мне opamможет помочь один способ, позволяющий мне узнать, как заставить make распознать установленный экземпляр. Как видите, эта установка действительно сработала:

vagrant@vagrant-ubuntu-trusty-64:~/projectfolder$ opam list # Installed packages for system: base-bigarray base Bigarray library distributed with the OCaml compiler base-threads base Threads library distributed with the OCaml compiler base-unix base Unix library distributed with the OCaml compiler conf-m4 1 Virtual package relying on m4 ocamlfind 1.7.3 A library manager for OCaml 

Как видите, я смог успешно установить ocamlfind через opam. Интересно, что моя команда make, похоже, не распознает, ocamlfindчто я добавил в среду при установке с opam:

/path/to/some/folder/which/is/super/secret -O2 -d acommand file.f [Error] Critical: Error starting ocamlopt process: Cannot run program "ocamlfind" (in directory "/path/to/some/folder/."): error=2, No such file or directory (Cannot run program "ocamlfind" (in directory "/path/to/some/folder/."): error=2, No such file or directory) make: *** [some/folder/timestamp] Error 113 
0

1 ответ на вопрос

0
Leonardo Lima

Эта проблема возникает из-за того, что ваши переменные среды были установлены неправильно. Для этого достаточно выполнить следующую команду:

eval `opam config env` 
Прошло много времени с тех пор, как я спросил это. С тех пор я пользуюсь Virtual Box Ubuntu, и я не связывался с OCaml. Я не уверен, решил ли я проблему, делая это или нет. Полагаю, вы уверены, что это типичное решение, я выберу его как наиболее полезный ответ, тем более что других ответов не существует. Timothy Swan 6 лет назад 0