Стек неподдерживаемой версии
Я пытаюсь собрать libssh2-hs со стеком (lts-3.20), и я получаю некоторые ошибки:
$ stack build
No compiler found, expected minor version match with ghc-7.10.2 (x86_64-ncurses6) (based on resolver setting in /home/black/programmation/haskell/libssh2-hs/stack.yaml).
To install the correct GHC into /home/black/.stack/programs/x86_64-linux/, try running "stack setup" or use the "--install-ghc" flag.
$ stack setup
No information found for ghc-7.10.2.
Supported versions for OS key 'linux64-ncurses6': GhcVersion 7.10.3, GhcVersion 8.0.1, GhcVersion 8.0.2
Я использую archlinux 64 бит, что здесь происходит и что я могу сделать?
1 ответ
Источник проблемы намекается на это сообщение об ошибке:
No information found for ghc-7.10.2. Supported versions for OS key 'linux64-ncurses6': GhcVersion 7.10.3, GhcVersion 8.0.1, GhcVersion 8.0.2
Arch Linux предоставляет по умолчанию libncurses6, в то время как стандартные сборки GHC ожидают libncurses5/libtinfo5. Стек может извлекать альтернативные сборки GHC, использующие libncurses6; однако они доступны только начиная с GHC 7.10.3, что объясняет, почему у вас возникла эта проблема со снимком, который использует GHC 7.10.2. Следующее предложение, взятое из проблемы стека # 3177, должно решить эту проблему:
Установите ncurses5-compat-libs из AUR, а затем вынудите Stack использовать стандартный связыватель GHC, выполнив что-то вроде
stack --ghc-build=standard setup
,
(Обратите внимание, что --ghc-build=standard
может не понадобиться - если я правильно помню, когда я столкнулся с этой проблемой несколько месяцев назад stack setup
обнаружил соответствующую сборку GHC после того, как я установил ncurses5-compat-libs, без необходимости указывать это явно.)