make
への依存関係を伴う を実行しようとしていますocamlfind
が、それをインストールしようとすると、循環依存関係と への依存関係が発生しますocaml-base-nox
。
ocaml-findlib
相互に依存するとlibfindlib-ocaml
を 1 つのコマンドで同時にインストールできる ことが分かりました。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]
そのパッケージのインストールを進めるのに役立つ回答が役立つかもしれません。そうでない場合は、インストールされたインスタンスを make に認識させる方法を教えてくれる回答が役立つopam
かもしれません。ご覧のとおり、そのインストールは実際に機能しました。
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
ご覧のとおり、opam 経由で ocamlfind を正常にインストールできました。興味深いことに、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
答え1
この問題は、環境変数が正しく設定されていないために発生します。これを行うには、次のコマンドを実行するだけで十分です。
eval `opam config env`