2016-07-01 5 views
2

Whe je tente d'installer le paquet Haskell "call-haskell-de-rien" que je reçois des messages d'erreur suivants:Haskell cabale: bibliothèque manquante C

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 

Qu'est-ce que ce HSrts-ghc8.0.1 bibliothèque et où puis-je le trouver sur un système Windows? Ou dois-je installer manuellement cette bibliothèque dans Windows?

Edit 1:

En attendant j'ai essayé l'outil "pile" et a obtenu une erreur semblable:

[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

Il me semble que cela fait partie de GHC (en particulier, le RTS ou "système d'exécution"). Quelle version de GHC utilisez-vous? – MathematicalOrchid

+0

J'utilise la version 8.0.1 32 bits sur Windows 10 – ManzMoody

+0

OK. Vous n'avez donc pas besoin de * installer * quoi que ce soit, vous avez juste besoin de comprendre où se trouve la DLL, et convaincre Cabal de le trouver. Je ne suis pas exactement sûr de la réponse à l'une de ces parties ... – MathematicalOrchid

Répondre

1

Cela ne fonctionnera pas sur Windows (encore).

call-haskell-from-anything semble s'appuyer sur l'utilisation d'une version de GHC qui nécessite le support -dynamic. De leur dossier cabale:

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

également -fPIC n'est pas un drapeau qui signifie quoi que ce soit sur Windows que Windows ne pas utiliser/besoin Position du code indépendant.

HSrts-ghc8.0.1 fait référence à la version dynamique du moteur d'exécution GHC qui ne construit pas actuellement sur Windows en raison de https://ghc.haskell.org/trac/ghc/ticket/5987

Je suis en train de réaliser ce but par 8.2.1 qui devrait soutenir à nouveau la compilation dynamique. Mais pour l'instant, désolé, ce paquet ne fonctionnera pas.

La prise en charge dynamique peut ne pas être nécessaire. Vous pouvez donc essayer de déballer le projet et d'éditer le fichier CABAL, en supprimant -fPIC et -dynamic.