1
我想從源代碼構建Go的最新版本(主分支的提示)。錯誤構建從源代碼編譯器
官方Go文檔(https://golang.org/doc/install/source)聲明您應該下載Go 1.4二進制文件以構建更新的版本。但是應該可以從源代碼構建所有的應用程序。
要做到這一點,我設置變量.bashrc
:
PATH="$HOME/go/bin:$PATH"
export GOPATH=$HOME
然後從源代碼編譯去1.4:
source ~/.bashrc
git clone https://go.googlesource.com/go
mkdir ~/go1.4
cd ~/go
git archive --format=tar go1.4.3 |tar -xv -C ~/go1.4
cd ~/go1.4/src
./make.bash
終於打造的最新版本:
cd ~/go/src/
GOROOT_BOOTSTRAP=$HOME/go1.4 ./make.bash
我記得幾個月前沒有問題,但今天我得到這些錯誤建設去1。 4 make.bash
:
# cmd/pprof
.../go1.4/pkg/linux_amd64/runtime/cgo.a(_all.o): unknown relocation type 42; compiled without -fpic?
.../go1.4/pkg/linux_amd64/runtime/cgo.a(_all.o): unknown relocation type 42; compiled without -fpic?
runtime/cgo(.text): unexpected relocation type 298
runtime/cgo(.text): unexpected relocation type 298
...
有什麼錯在我的方法?
1.永遠不要設置GOROOT。 2構建提示,例如'GOROOT_BOOTSTRAP =/path/to/go1.6/go/tool。/ make.bash' – Volker
另外,請勿將go1.4/bin放入PATH中。 – JimB
@Volker:好的我不使用GOROOT,但是GOROOT_BOOSTRAP應該指向一個現有的GO編譯器。我更新了這個問題,但問題仍然存在。 – psadac