Я пытаюсь установить пакет nano-hmac-0.2.0 (зависимость от пакета, который я хочу) из Hackage, используя Cabal и GHC 6.12.1, но он завершается неудачно со следующей ошибкой:
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.
Конечно, файл пакета .cabal содержит следующую строку:
ghc-options: -Wall -Werror -O2 -fvia-C
Я хотел бы иметь возможность переопределить параметр -Werror
, поэтому яможет установить пакет без изменения файла .cabal вручную, но не может найти способ, который будет работать.В частности, я попытался передать --ghc-options
Кабалу, чтобы вставить -Wwarn
в список аргументов GHC, например:
$ cabal install nano-hmac-0.2.0 -v2 --ghc-options='-Wwarn'
Это не делает то, что я хочу;подробный вывод подтверждает, что -Wwarn
добавляется в начало списка аргументов GHC, но -Werror
из файла .cabal появляется позже и, кажется, переопределяет его:
/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
Я также попытался передать--constraint='base >= 4'
в Кабал, чтобы заставить его использовать более новую версию базы и полностью избежать предупреждения, но я получаю ту же ошибку, и я все еще вижу следующее в подробном выводе:
Dependency base ==3.0.3.2: using base-3.0.3.2
IsЕсть ли способ избавиться от -Werror
из файла .cabal или переопределить его через командную строку Cabal, или я застрял, изменяя файл .cabal самостоятельно?