Pregunta

Estoy tratando de construcción / instalación de Cabal en mi sistema y me estoy quedando en el siguiente error de dependencia:

SDGL0990Z464C:Cabal-1.8.0.4 cflynn$ ghc --make Setup
SDGL0990Z464C:Cabal-1.8.0.4 cflynn$ ./Setup configure
Configuring Cabal-1.8.0.4...
Setup: At least the following dependencies are missing:
base >=4 && <3 && >=1 && <5, filepath >=1 && <1.2

He instalado GHC 7.0.1, por lo que yo sé GHC 6.6.1 y luego vienen con el paquete 'ruta de archivo'? Y estoy claro en exactamente qué 'base' se refiere?

¿Fue útil?

Solución

barcos GHC con un cierto conjunto de bibliotecas ya instalado. Cuando se ejecuta el comando de generación por encima de Cabal quiere "reinstalar" algunas versiones anteriores de las bibliotecas que se incluyen con GHC. Esto es malo por razones obvias.

Si realmente necesita hacer esto, es posible que funcione con el uso cabal-dev en lugar de Cabal. Por cierto, el uso de Setup.hs invoca la versión de la biblioteca Cabal suministrada con el compilador, en tanto que la ejecución del comando cabal invoca el programa cabal-install.

cabal-dev es una envoltura alrededor de cabal-install (y por tanto Cabal la biblioteca) que proporciona un recinto de seguridad se basa. Por lo que es seguro de instalar programas que necesitan diferentes versiones de las bibliotecas que se incluyen con GHC. La pregunta que queda sería si o no esas bibliotecas más antiguas construirían en contra de la nueva GHC. En muchos casos, la construcción fallará.

le recomiendo que utilice cabal-dev para su construcción de paquetes del día a día en lugar de cabal-install. Los beneficios de sandboxing son muchas y superan fuertemente el riesgo de cabal-install corromper la base de datos del paquete de actualización de un paquete de algún lugar en medio de una cadena de dependencias de algo que ya ha instalado.

Para obtener más información sobre el uso cabal-dev, recomiendo este reddit posterior .

base es un conjunto de módulos de Haskell que proporcionan gran parte de la funcionalidad que se incluye con cada GHC instalar. Es una colección de bibliotecas útiles que la mayoría de los usuarios querrán Haskell y la necesidad.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top