注意:goをソースからビルドするにはgo1.4以降が必要です。
Go 1.5 以降のビルド手順 - Qiita
http://qiita.com/orociic/items/b285cf205f75b7291a9d
go1.5のインストール - Qiita
http://qiita.com/ymko/items/649dc1a450855526cec7
ビルド実行
$ cd ~/
$ curl -O https://storage.googleapis.com/golang/go1.6.2.src.tar.gz
$ tar xf go1.6.2.src.tar.gz
$ mv go go1.6.2
$ cd go1.6.2/src/
$ ./make.bash
Installed Go for linux/amd64 in /home/ymko/go1.6.2
Installed commands in /home/ymko/go1.6.2/bin
$ echo "PATH=\$PATH:\$HOME/go1.6.2/bin" >> ~/.bashrc
$ echo "PATH=\$PATH:\$HOME/.go/bin" >> ~/.bashrc
$ echo "export GOPATH=$HOME/.go" >> ~/.bashrc
$ source ~/.bashrc
ログオンし直す
$ which go
~/go1.6.2/bin/go
ビルド時にgo1.4が自動的に検出されているのはなぜ?
GOROOT_BOOTSTRAPが定義されていない場合はホーム直下のgo1.4を使ってビルドする指定となっている。
buildtool.go
func bootstrapBuildTools() {
goroot_bootstrap := os.Getenv("GOROOT_BOOTSTRAP")
if goroot_bootstrap == "" {
goroot_bootstrap = pathf("%s/go1.4", os.Getenv("HOME"))
}
xprintf("##### Building Go toolchain using %s.\n", goroot_bootstrap)