Estoy tratando de instalar el paquete de nano-hmac-0.2.0 (una dependencia de un paquete que quiero) de Hackage usando Cabal y GHC 6.12.1, pero falla con el siguiente error:Invalidar -Werror cuando se instala desde Cabal
Data/Digest/OpenSSL/HMAC.hsc:1:0:
Warning: Module `Prelude' is deprecated:
You are using the old package `base' version 3.x.
Future GHC versions will not support base version 3.x. You
should update your code to use the new base version 4.x.
<no location info>:
Failing due to -Werror.
lo suficientemente
Claro, .cabal archivo del paquete tiene la siguiente línea en él:
ghc-options: -Wall -Werror -O2 -fvia-C
me gustaría ser capaz de anular la opción -Werror
para que pueda instalar el paquete sin modificar manualmente el archivo .cabal , pero no puede encontrar una manera que funcione. En particular, he intentado pasar a --ghc-options
Cabal para pegar una -Wwarn
en lista de argumentos de GHC, así:
$ cabal install nano-hmac-0.2.0 -v2 --ghc-options='-Wwarn'
Esto no hace lo que yo quiero, sin embargo; la salida detallada verifica que -Wwarn
se van añadiendo al principio de la lista de argumentos de GHC, pero el -Werror
del archivo .cabal aparece más tarde y parece anularlo:
/usr/bin/ghc -Wwarn --make -package-name nano-hmac-0.2.0 -hide-all-packages -fbuilding-cabal-package -i -idist/build -i. -idist/build/autogen -Idist/build/autogen -Idist/build -optP-include -optPdist/build/autogen/cabal_macros.h -odir dist/build -hidir dist/build -stubdir dist/build -package-id base-3.0.3.2-0092f5a086872e0cdaf979254933cd43 -package-id bytestring-0.9.1.5-125aff5b9d19ec30231ae2684b8c8577 -O -Wall -Werror -O2 -fvia-C -XForeignFunctionInterface -XBangPatterns -XCPP Data.Digest.OpenSSL.HMAC
También probé pasar --constraint='base >= 4'
a Cabal para forzarlo utilizar una versión más reciente de la base y evitar la advertencia del todo, pero me sale el mismo fallo, y todavía ver el siguiente en la salida detallada:
Dependency base ==3.0.3.2: using base-3.0.3.2
¿hay una manera de eliminar o anular el -Werror
procedente del archivo .cabal mediante el comando de Cabal ne, o estoy atascado modificando el archivo .cabal yo mismo?
¿Qué sucede si utiliza '--preference = 'base> = 4' en lugar de una restricción? También debe verificar que la cadena de bytes esté compilada contra base-4 ('ghc-pkg describe bytestring' debería mostrar esto). –
@John '--preference = 'base> = 4'' hizo el truco. Si publica su comentario como respuesta, lo acepto. –