go1.7 安装小记

先安装go1.4版本

因为go1.5以后的版本不再使用c语言参与,需要使用GO1.4版本的工具链接编译。

$ apt-get install gcc libc6-dev

在$HOME目录新建目录golang目录,设置环境变量

$ GOROOT=$HOME/golang/go
$ PATH=$PATH:$GOROOT/bin

在 $HOME/golang下,下载1.4源码

$ git clone -b go1.4.2 https://github.com/golang/go.git  go1.4

把新建一个软链接go 指向 go1.4目录

$ ln -s go1.4 go

进入go源码,运行all.bash脚本

$ cd $HOME/golang/go/src
$ ./all.bash

报错:
错误
这里可以看到bug,添加环境变量CGO_ENABLED

CGO_ENABLED=0 ./all.bash  

过一段时间,可以看到已经安装成功

$ go version
go version go1.4.2 linux/amd64  

安装go 1.7

删除掉go软链接

$ unlink go

然后 $HOME/golang/ 目录下 git clone go1.7的代码

$ git clone -b go1.7.1 https://github.com/golang/go.git go1.7

设置 go 的软链接指向 go1.7,并且go1.4设置 为 go-GOROOT_BOOTSTRAP

ln -s go1.7 go  
GOROOT_BOOTSTRAP=$HOME/golang/go1.4/  $GOROOT/src/all.bash  

当然可能遇到如下问题

错误
这只是test的过程,墙造成的,无关紧要。

至此已经安装完毕:

$ go version
go version go1.7.1 linux/amd64