homebrewで入れたgoの$GOROOT
$BREW_HOME/Cellar/go/1.1.1
でよかったんだけど、https://github.com/mxcl/homebrew/commit/743bf42e2e0a5f0fc217b114e88c24f84c1fed97 以降は $BREW_HOME/Cellar/go/1.1.2/libexec
としてやらないといけなくなった。
なんだけど、このtweetをたまたま見て、そもそもGOROOTはビルド時と違う場所に置いたりしてない限り別に設定しなくて良いらしい。ということを知った。
@__gfx__ 利用時であれば、 go 本体にビルド時のGOROOTが入っているので、ビルド時と違うディレクトリに go を移動して使いたいときに設定します。バイナリパッケージだと /usr/local/go でビルドされてるので、それ以外の場所に置くなら GOROOT 必要
— INADA Naoki (@methane) December 4, 2013
で少し調べた。
$ echo $GOROOT $ go env GOARCH="amd64" GOBIN="" GOCHAR="6" GOEXE="" GOHOSTARCH="amd64" GOHOSTOS="darwin" GOOS="darwin" GOPATH="" GORACE="" GOROOT="/Users/toqoz/brew/Cellar/go/1.1.2/libexec" GOTOOLDIR="/Users/toqoz/brew/Cellar/go/1.1.2/libexec/pkg/tool/darwin_amd64" CC="gcc" GOGCCFLAGS="-g -O2 -fPIC -m64 -pthread -fno-common" CGO_ENABLED="1"
pkg/runtime/zversion.go
が defaultGoroot
って定数で持ってた。build時に http://golang.org/src/cmd/dist/buildruntime.c#L18 でそれを作ってる。