2012-03-15 9 views
5

Intento instalar el paquete jmacro. Se desarrolla perfectamente, y no hay absolutamente ningún problema.Haskell Cabal: misteriosas dependencias faltantes o recursivas

Sin embargo, cuando quiero usarlo o instalar paquetes como happstack-jmacro, que dependen de jmacro, recibo mensajes de error como este:

<command line>: cannot satisfy -package-id jmacro-0.5.2-71bd40707d94b0e8eb6e70515ff6a5f4: 
    jmacro-0.5.2-71bd40707d94b0e8eb6e70515ff6a5f4 is unusable due to missing or recursive dependencies: 
     haskell-src-meta-0.5-4bf46b12fb313927e18a04de209944de template-haskell-2.5.0.0-f0b857ddb066aae09d974e610edd228f 
    (use -v for more information) 

no hay absolutamente ningún dependencias recursivas o faltantes. ¿Es esto un error?

Estoy usando template-haskell-2.5.0.0 (porque las versiones más nuevas no se compilan) y haskell-src-meta-0.5. GHC es 7.0.4

+2

Ah, Cabal dependency hell. –

Respuesta

2

OK, lo resolvió a mí mismo:

Hay un error y template-haskell-2.5.0.0 se instaló en el directorio del sistema de Cabal, así como en mi directorio de usuario.

Cuando forcé de no registrar template-haskell en mi directorio de usuario, todo estaba bien.

11

Parece que sus paquetes están rotos. ghc-pkg check puede quejarse sobre algunos paquetes; si lo hace, podría ghc-pkg unregister <pkg> todos ellos. De lo contrario, lo mejor es comenzar de nuevo: guarde su archivo ~/.cabal/config, deshágase de ~/.ghc y ~/.cabal, y vuelva a instalar cabal-install.

Los problemas de Cabal como este son bastante comunes, por lo que es posible que desee considerar la mitigación del dolor con cabal-dev.

Cuestiones relacionadas