2016-07-01 23 views
2

Whe ich versuche, die Haskell-Paket "Call-haskell-von-alles" i die Nachrichten folgende Fehlermeldung erhalten zu installieren:Haskell Kabale: Fehlende C-Bibliothek

cabal.exe: Missing dependency on a foreign library: 
* Missing C library: HSrts-ghc8.0.1 
This problem can usually be solved by installing the system package that 
provides this library (you may need the "-dev" version). If the library is 
already installed but in a non-standard location then you can use the flags 
--extra-include-dirs= and --extra-lib-dirs= to specify where it is. 
cabal: Leaving directory 'C:\Users\Manfred\AppData\Local\Temp\cabal-tmp-2460\call-haskell-from-anything-1.0.1.0' 
cabal: Error: some packages failed to install: 
call-haskell-from-anything-1.0.1.0 failed during the configure step. The 
exception was: 
ExitFailure 1 

Was ist das HSrts-ghc8.0.1 Bibliothek und wo kann ich es auf einem Windows-System finden? Oder muss ich diese Bibliothek manuell in Windows installieren?

Edit 1:

In der Zwischenzeit habe ich versucht, das "Stapel" Werkzeug und bekam einen ähnlichen Fehler:

[1 of 1] Compiling Main    (C:\Users\Manfred\AppData\Local\Temp\stack4480\call-haskell-from-anything-1.0.1.0\Setup.hs, C:\Users\Manfred\AppData\Local\Temp\stack4480\call-haskell-from-anything-1.0.1.0\.stack-work\dist\2672c1f3\setup\Main.o) 
    Linking C:\Users\Manfred\AppData\Local\Temp\stack4480\call-haskell-from-anything-1.0.1.0\.stack-work\dist\2672c1f3\setup\setup.exe ... 
    Configuring call-haskell-from-anything-1.0.1.0... 
    Determining GHC version: 7.10.3 
    setup.exe: Missing dependency on a foreign library: 
    * Missing C library: HSrts-ghc7.10.3 
    This problem can usually be solved by installing the system package that 
    provides this library (you may need the "-dev" version). If the library is 
    already installed but in a non-standard location then you can use the flags 
    --extra-include-dirs= and --extra-lib-dirs= to specify where it is. 
+0

Es sieht für mich so aus, als wäre es Teil von GHC (speziell das RTS oder "Laufzeitsystem"). Welche Version von GHC verwenden Sie? – MathematicalOrchid

+0

Ich verwende die 8.0.1 32bit Version unter Windows 10 – ManzMoody

+0

OK. Sie sollten also nichts installieren müssen, sondern nur herausfinden, wo sich die DLL befindet, und Cabal überzeugen, sie zu finden. Ich bin mir nicht sicher über die Antwort auf eines dieser Teile ... – MathematicalOrchid

Antwort

1

Dies wird unter Windows nicht funktionieren (noch) nicht.

call-haskell-from-anything scheint auf die Verwendung einer Version von GHC angewiesen, die -dynamic Unterstützung benötigt. Aus ihrer Clique Datei:

ghc-options: 
    -- For building TemplateHaskell with cabal and -dynamic, we have to disable -dynamic sometimes 
    -no-hs-main -fPIC -shared -dynamic 

Auch ist -fPIC kein Flag, das alles auf Windows als Windows bedeutet nicht braucht/Position unabhängigen Code nicht verwendet werden.

HSrts-ghc8.0.1 bezieht sich auf die dynamische Version des GHC-Laufzeit, die auf Windows-Aufbau aufgrund nicht gerade https://ghc.haskell.org/trac/ghc/ticket/5987

Ich versuche, von 8.2.1 dies zu tun bekommen, die wiederum die dynamische Kompilierung unterstützen sollte. Aber jetzt, tut mir leid, dieses Paket wird nicht funktionieren.

Dynamische Unterstützung ist möglicherweise nicht erforderlich, daher können Sie versuchen, das Projekt zu entpacken und die Cabal-Datei zu bearbeiten, indem Sie -fPIC und -dynamic entfernen.