作成: 2018-07-10T16:05:27+09:00

Gentoo LinuxやArch LinuxなどでStackage LTS 12が使用できないのはncurses 5をインストールしていないからでした

問題 私の管理するパッケージに最新のstackageだとビルドができないというissueが届きました. yesod-form-bootstrap4-1.0.0 build failure with yesod-*-1.6.2 · Issue #2 · ncaq/yesod-form-bootstrap4 それならばとりあえず最新のstackageを試すべきだなと思って, stack config set resolver lts して stack setup します. すると以下のエラーが発生しました. % stack setup Writing implicit global project config file to: /home/ncaq/.stack/global-project/stack.yaml Note : You can change the snapshot via the resolver field there . Using latest snapshot resolver: lts-12.0 Downloaded lts-12.0 build plan. No setup information found for ghc-8.4.3 on your platform. This probably means a GHC bindist has not yet been added for OS key 'linux64-ncurses6', 'linux64-tinfo6'. Supported versions: ghc-7.8.4, ghc-7.10.2, ghc-7.10.3, ghc-8.0.1, ghc-8.0.2, ghc-8.2.1, ghc-8.2.2, ghc-8.4.1, ghc-8.4.2 なるほど私のプラットフォームは linux64-ncurses6 もしくは linux64-tinfo6 で, このプラットフォームにはghc-8.4.3は対応していないということですね.

解決 では sys-libs/ncurses-5.9-r101:5 をインストールして試してみましょう. sys-libs/ncurses tinfo を package.use に書いてtinfoもインストールしないとおそらくダメです. 私は元々書いていたので問題はありませんが. % sudo emerge ncurses:5 すると % stack setup Preparing to install GHC to an isolated location. This will not interfere with any system-level installation. Downloaded ghc-8.4.3. Installed GHC. stack will use a sandboxed GHC it installed For more information on paths, see 'stack path' and 'stack exec env' To use this GHC and packages outside of a project, consider using: stack ghc, stack ghci, stack runghc, or stack exec 問題なくstack setupが通りました.