Я пытаюсь установить nano-hmac-0.2.0 пакет (зависимость пакета я хочу) от Hackage с помощью Cabal и GHC 6.12.1, но она не со следующей ошибкой:Override -Werror при установке из заговорщиков
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
есть ли способ, чтобы избавиться или переопределить -Werror
, идущий из файла .cabal через команду Cabal li ne, или я застрял, модифицируя файл .cabal сам?
Что делать, если вы используете '--preference = 'base> = 4' вместо ограничения? Также вы должны проверить, что bytestring скомпилирован против base-4 ('ghc-pkg описать bytestring' должен показать это). –
@John '--preference = 'base> = 4'' сделал трюк. Если вы опубликуете свой комментарий в качестве ответа, я соглашусь. –