make erkennt installiertes opam nicht ocamlfind

make erkennt installiertes opam nicht ocamlfind

Ich versuche, makeeine 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-findlibund libfindlib-ocamldie 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 opaminstallierte 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, ocamlfindwas 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`

verwandte Informationen