Ich versuche, make
eine Abhängigkeit von auszuführen ocamlfind
, aber beim Versuch, das zu installieren, erhalte ich eine zirkuläre Abhängigkeit und eine Abhängigkeit von ocaml-base-nox
.
Ich habe herausgefunden, dass ich ocaml-findlib
und libfindlib-ocaml
die voneinander abhängigen Pakete gleichzeitig mit einem Befehl installieren kann:
sudo apt install ocaml-findlib ocaml-findlib libfindlib-ocaml ocaml-base-nox-4.01.0
Die verbleibende Abhängigkeit gibt jedoch zurück Package 'ocaml-base-nox-4.01.0' has no installation candidate
. Anscheinend werden einige Pakete erwähnt:
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]
Eine Antwort, die mir dabei hilft, das Paket zu installieren, wäre vielleicht hilfreich. Ansonsten könnte eine Antwort hilfreich sein, die mir erklärt, wie ich make dazu bringe, die opam
installierte Instanz zu erkennen. Wie Sie sehen, hat die Installation tatsächlich funktioniert:
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
Wie Sie sehen, konnte ich ocamlfind erfolgreich über opam installieren. Interessanterweise scheint mein Make-Befehl nicht zu erkennen, ocamlfind
was ich bei der Installation mit zur Umgebung hinzugefügt habe 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
Antwort1
Dieses Problem tritt auf, weil Ihre Umgebungsvariablen nicht richtig eingerichtet wurden. Um dies zu beheben, sollte es ausreichen, den folgenden Befehl auszuführen:
eval `opam config env`