Raspberry Pi2にGo1.6をインストール
Raspberry Pi2にGo1.6を入れようと思ったところ、ARM向けバイナリがgolang.orgでは提供されていなかったのでビルド手順をメモ。
まずは普通にソースをビルドしようとする。
$ wget https://storage.googleapis.com/golang/go1.6.src.tar.gz $ tar zxvf go1.6.src.tar.gz $ cd go/src $ ./all.bash ##### Building Go bootstrap tool. cmd/dist ERROR: Cannot find /home/pi/go1.4/bin/go. Set $GOROOT_BOOTSTRAP to a working Go tree >= Go 1.4.
Go1.5からはセルフホスティングされているので、Go1.6のビルドにGo1.4以上が必要。しかしaptにはGo1.3.3しか入ってない。
$ sudo apt-cache show golang Package: golang Version: 2:1.3.3-1 (以下略) ...
なので、一度Go1.4をビルドしてインストールし、更にそれを使ってGo1.6をインストールすることになる(二度手間...)。
ここではGo1.4系列の最新版である1.4.3を使う。
$ sudo apt-get install -y golang $ wget https://storage.googleapis.com/golang/go1.4.3.src.tar.gz $ mkdir ~/go1.4 $ tar -C ~/go1.4 -zxvf go1.4.3.src.tar.gz $ mv ~/go1.4/go/* ~/go1.4/ $ rmdir ~/go1.4/go/ $ cd ~/go1.4/src $ ./all.bash
混乱を避けるためaptでインストールしたGo1.3を除去する。
$ sudo apt-get purge golang $ sudo apt-get autoremove
念のためバージョンを確認する。
$ echo 'export PATH="$PATH:$HOME/go1.4"' >> ~/.bashrc $ go version
Go1.6のインストール
$ ~/go/src # go1.6 $ echo 'export GOROOT_BOOTSTRAP="$HOME/go1.4"' >> ~/.bashrc $ echo 'export PATH="$PATH:$GOROOT_BOOTSTRAP"' >> ~/.bashrc
all.bashを覗くと"all.bash must be run from $GOROOT/src"と書いてあるので、それに従う。
$ echo 'export GOROOT="$HOME/go"' >> ~/.bashrc $ echo 'export PATH="$PATH:$GOROOT"' >> ~/.bashrc $ cd $GOROOT/src $ ./all.bash
以上で出来たはず。 (夜遅くまでかかってしまったので誤植等があれば後で直す)