Raspberry Pi で F# を動かすまで…なんだがまだ終わらず

随分前から 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時間経ったがまだ終わらず。

image

カテゴリー: F#, RaspberryPi パーマリンク