GO 1.5 代码编译安装 [centos7 64位]

2015年8月,Go 1.5 正式发布,这是 Go 的第六个重要版本。

此版本包括大量重大改进,编译工具链从 C 转换到 Go,从 Go 代码库中完全移除 C 代码。完完全全重新设计了垃圾收集器,减少垃圾收集器的停顿时间。改进 scheduler,允许修改默认 GOMAXPROCS 值(并发执行 goroutines 数量),可以从 1 修改到逻辑 CPUs 的数量。改进 linker,允许分布式 Go 包作为分享库链接到 Go 程序,可以构建 Go 包到归档或者分享库,可以链接或者通过 C 程序加载(design doc)

下载

兴趣所致,提现一下其源代码构建的步骤,代码文档在 go-go1.5/doc/install-source.html 【https://github.com/golang/go下载】

早期的一个参考,有些繁琐的步骤 http://studygolang.com/articles/3188 如何从源代码构建 Go 1.5 开发环境

概念:2个工具链

gc: Go compiler and tools. 这个是go编译器

gccgo:a more traditional compiler using the GCC back end,这个是基于gcc的编译器

http://golangtc.com/download 国内的镜像,golang被墙了

构建

可以在golangtc.com下载1.4的编译二进制版本并配置好;然后执行执行src/all.bash,出现如下,即构建完成

ALL TESTS PASSED

---

Installed Go for linux/amd64 in /home/###/go/go-go1.5

Installed commands in /home/###/go/go-go1.5/bin

*** You need to add /home/###/go/go-go1.5/bin to your PATH.

设置

如上构建完成后,根据自己的路径设置好环境变量即可使用

export GOROOT=/home/###/go/go-go1.5

export PATH=$GOROOT/bin:$PATH

export GOPATH=/home/###/go/demo/myapp

GOROOT/bin放在前面,可以防止系统安装的go版本被使用

GOPATH可以设置多个路径

具体这些路径的设置可参考http://www.cnblogs.com/ghj1976/archive/2013/02/16/2913350.html,GO语言这个地方和其他语言的区别较大,很多地方必须按照约定的规则执行

IDE环境

http://golangtc.com/download/liteide

下载安装后执行./liteide ,在centos7上出现如下问题

./liteide: error while loading shared libraries: libpng12.so.0: cannot open shared object file: No such file or directory

即使/lib64/libpng15.so 软链接仍然显示 libpng12.so.0: version `PNG12_0' not found

http://libpng.sourceforge.net/ libpng12 版本,下载安装编译,把.so文件拷贝到###/go/liteide-qt/lib/liteide下执行即可

如上配置完成后体验一下这个在oschina说是较快的go语言的全文检索

https://github.com/huichen/wukong