2017-07-08 9 views
2

Ich versuche libssh2-hs mit Stapel (LTS-3.20) zu bauen und ich einige Fehler:Stapel nicht unterstützte Version

$ stack build 
No compiler found, expected minor version match with ghc-7.10.2 (x86_64-ncurses6) (based on resolver setting in /home/black/programmation/haskell/libssh2-hs/stack.yaml). 
To install the correct GHC into /home/black/.stack/programs/x86_64-linux/, try running "stack setup" or use the "--install-ghc" flag. 
$ stack setup 
No information found for ghc-7.10.2. 
Supported versions for OS key 'linux64-ncurses6': GhcVersion 7.10.3, GhcVersion 8.0.1, GhcVersion 8.0.2 

Ich benutze archlinux 64 Bits, was hier passiert, und was kann ich tun?

+0

LTS-Version aktualisieren? – arrowd

+0

Das würde eine Paketänderung implizieren und es scheint gegen die Denkweise des Stapels zu sein – GlinesMome

Antwort

4

Die Quelle des Problems an dieser Fehlermeldung angedeutet wird:

No information found for ghc-7.10.2. 
    Supported versions for OS key 'linux64-ncurses6': GhcVersion 7.10.3, GhcVersion 8.0.1, GhcVersion 8.0.2 

Arch Linux bietet standardmäßig libncurses6, während der Standard der GHC baut libncurses5 erwarten/libtinfo5. Stack kann alternative GHC-Builds abrufen, die libncurses6 verwenden; Sie sind jedoch erst ab GHC 7.10.3 verfügbar, weshalb Sie dieses Problem mit einem Snapshot haben, der GHC 7.10.2 verwendet. Der folgende Vorschlag gemacht, von Stack issue #3177, sollte es lösen:

ncurses5-compat-libs von AUR installieren und dann Stapel zwingen, den Standard GHC bindist zu verwenden, indem Sie so etwas wie stack --ghc-build=standard setup tun.

(Beachten Sie, dass die --ghc-build=standard nicht notwendig sein könnte - wenn ich mich richtig erinnere, wenn ich in dieser Frage vor einigen Monaten lief erkannt stack setup die entsprechende GHC bauen, sobald ich ncurses5-compat-libs installiert, ohne die Notwendigkeit zu spezifizieren Sie es ausdrücklich.)

Verwandte Themen