2016-04-01 8 views
1

Ich mache ein paar Arbeiten mit Ocaml und Opam. Ich benötige ocaml der Version 3.08.3, also habe ich versucht, diese Version über opam zu installieren. opam switch install 3.08.3 Der obige Befehl würde es erfolgreich installieren, hoffte ich. Aber es konnte nicht. Opam-Switch konnte nicht installiert 3. * Versionen von Ocaml mit der folgenden Fehlermeldung. [ERROR] Could not resolve set of base packages Ich suchte diese Nachricht überall, aber ich konnte keine Hinweise bekommen. Hat jemand einen Anhaltspunkt, um dieses Problem zu lösen? Vielen Dank.Opam switch install konnte die ältere Version von ocaml (3.08.3) nicht installieren

Antwort

2

compilers/3.08.3/3.08.3/3.08.3.comp, die Datei der Basispakete für die Compiler-Version zu beschreiben, sagt:

packages: [ 
    "base-unix" 
    "base-bigarray" 
    "base-threads" 
    "base-ocamlbuild" 
] 

So erfordert es base-unix, base-bigarray, base-threads und base-ocamlbuild. Allerdings sagt die Paketbeschreibung von base-ocamlbuild, packages/base-ocamlbuild/base-ocamlbuild.base/opam:

ocaml-version: [>= "3.10" & < "4.03"] 

Er sagt, dass ocamlbuild vor 3.10 nicht verfügbar. In der Tat wurde ocamlbuild seit 3.10 eingeführt. Es ist wahrscheinlich, dass die Compilerbeschreibungsdatei 3.08.3.comp einen Fehler aufweist. Es ist großartig, wenn Sie ein Fehlerticket um https://github.com/ocaml/opam-repository/issues für das Update auslösen würden.

Für dieses Problem zu umgehen, empfehle ich OCaml 3,08 von Hand zu installieren, nicht OPAM Befehl: ich fast keinen Nutzen sehen 3.08 verwenden OPAM mit dem ocamlbuild nicht verfügbar ist, da die meisten der OPAM Pakete, die Existenz von ocamlbuild nehmen. Sie können auch Ihre eigene Kopie von OPAM Repo mit einer festen 3.08.3.comp Datei ohne "base-ocamlbuild" erstellen. Weitere Informationen finden Sie im Dokument opam repo.

Verwandte Themen