随分前から Raspberry Pi を持っているのですが、しばらく放置中だったので再開。LEGO Mindstorms EV3 を動くところまで続ける予定です。
最初は mono と F# を入れるところまで
■ Mono をインストールする
Mono on RaspberryPi でHelloWorld – 銀の光と碧い空 を参考にして
sudo apt-get install mono-complete
で一発インストールです。私の場合 SD カードが 2GB という小さいメモリだったので、mono を入れた途端に df が 100% になって詰み。仕方がないので、余っていた 4GB の SD カードに OS を入れ直して再インストールする羽目に。
# 追記
# respi-config で Expand Filesystem すると、SD カード一杯に容量を拡張します。初期状態では、ディスクイメージのために 2.6GB ぐらいしかないんですね。実行すると手元の 8GB のメモリを認識できました。
…が、いざ Use F# on Linux | The F# Software Foundation を参考にして、
sudo apt-get install fsharp
しようとしたものの git clone した後に make したところで再びメモリ不足。F# のビルドは結構容量が多いのですね(と思ったけど、間違えて mono をビルドしてた orz、まあ USB メモリのマウントの方法が分かったので良しとするか)
さて、8GB の SD カードがあればいいのですが、手元にないので思案。幸いにして手元に USB メモリならばあるので、USBメモリのマウント : ふじかわ家のページ を参照してマウント。
mount /dev/sda1 /mnt/usbmem
が、更に問題があって、この USB メモリは FA32 フォーマットのために Linux で使う chmod 777 とかが正しく動かない。パーミッションを正しく動作させるためには ext3 あたりでフォーマットしなおさないと駄目なので、CentOS : USBメモリをLinux用にフォーマット « Demence/Cup fdisk でパーティションを削除したのち、mkfs.ext3 でフォーマット
fdisk /dev/sda1 ... mkfs.ext3 /dev/sda1
■F#をビルド…がエラーになるので
やっとこさ準備が整ったので git clone してからビルド…なのだが、make でエラーになる。
FSharp Build error on the Raspberry Pi under Mono 3.2.7 · Issue #260 · fsharp/fsharp
https://github.com/fsharp/fsharp/issues/260
と同じ現象で、手元のバージョンは Mono 3.2.8 で直っているはずなのだが。raspberry pi の mono-complete が何らかのタイミングで古いのかもしれない。仕方がないので、元に戻って mono からビルドをする。
という訳で、mono からビルド中。6時間経ったがまだ終わらず。