opam이 설치된 ocamlfind를 인식하지 못하게 합니다.

opam이 설치된 ocamlfind를 인식하지 못하게 합니다.

make에 대한 종속성을 포함하여 실행하려고 하는데 ocamlfind이를 설치하려고 하면 순환 종속성과 에 대한 종속성이 발생합니다 ocaml-base-nox.

나는 하나의 명령으로 동시에 설치하기 위해 서로 의존하는 것을 얻을 수 있다는 것을 알아냈습니다. ocaml-findlib그러나 나머지 종속성은 . 분명히 몇 가지 패키지가 언급되어 있습니다.libfindlib-ocamlsudo apt install ocaml-findlib ocaml-findlib libfindlib-ocaml ocaml-base-nox-4.01.0Package '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`

관련 정보