7
6

More than 5 years have passed since last update.

Rasberry Pi3 (ARMv7)にhaskell-stackをインストールする

Last updated at Posted at 2016-08-09

Rasberry Pi3 (ARMv7)にhaskell-stackをインストールする

 Rasbianのリポジトリにhaskell-platformはあったのにhaskell-stackがない!
困った困った。

ということでここを見ていると…ありがたいことにarm用のビルドがありました!!
ありがとうございます!! ありがとうございます!!

現存する問題

 残念ながら、arm版haskell-stackを使うに当たって、まだ致命的な箇所があります。
解決アプローチと共に以下に記します :D

  • 現存する問題
    • stack setupによるghcの自動インストールが行えない
      • debianリポジトリから、resolverバージョンの要求するghcをaptでインストールする (stack setupの代わりにapt install ghcする)
      • 例えばresolver: lts-6.9であれば、要求されるghcバージョンは7.10.3

前準備

 Rasbianにdebianのリポジトリを追加します。
既にhttp://ftp.jp.debian.org/debian/を追加している方は不要。

# stretchのレポジトリ追加
echo -e "\ndeb http://ftp.jp.debian.org/debian/ stretch main contrib non-free" | sudo tee -a /etc/apt/sources.list

# リポジトリの認証情報を追加
gpg --keyserver pgpkeys.mit.edu --recv-key 8B48AD6246925553
gpg -a --export 8B48AD6246925553| sudo apt-key add -
gpg --keyserver pgpkeys.mit.edu --recv-key 7638D0442B90D010
gpg -a --export 7638D0442B90D010| sudo apt-key add -

# リポジトリのDB更新
sudo apt update

ghcとstackのインストール

  1. 上記で準備したリポジトリからghcをインストールします
    • sudo apt install ghc
  2. Release v1.1.2あたり(最新版を推奨)のDownloadsから「Linux ARMv7」をダウンロードする
    • wget https://github.com/commercialhaskell/stack/releases/download/v1.1.2/stack-1.1.2-linux-arm.tar.gz
  3. tar.gzの中身に実行用stackバイナリがあるので、PATHの通ったところに置く
    • tar xvf stack-1.1.2-linux-arm.tar.gz
    • cp ./stack-1.1.2-linux-arm/stack {/some/path}
    • rm -rf ./stack-1.1.2-linux-arm
  4. stack --version
Version 1.1.2, Git revision 6bca6d8eaf542c5bd4b5c83d23670137249f2145 (3663 commits) arm hpack-0.14.0

やったあ!

stackアプリケーションをビルドしてみる

 試し試し。

$ git clone https://github.com/aiya000/hs-sentence-jp ; cd hs-sentence-jp
$ stack build

[1 of 1] Compiling Main             ( /tmp/stack26574/Setup.hs, /tmp/stack26574/Setup.o )
Linking /home/pi/.stack/setup-exe-cache/arm-linux/tmp-setup-Simple-Cabal-1.22.5.0-ghc-7.10.3 ...
base-compat-0.9.1: download
auto-update-0.1.4: download
base64-bytestring-1.0.0.1: download
SHA-1.6.4.2: download
base64-bytestring-1.0.0.1: configure
Pbase64-bytestring-1.0.0.1: build
.
.
.
mecab-0.4.0: configure↲
mecab-0.4.0: build↲
mecab-0.4.0: copy/register↲
sentence-jp-0.1.0.0: configure↲
sentence-jp-0.1.0.0: build↲
sentence-jp-0.1.0.0: copy/register↲

できた!!

7
6
3

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
6