红联Linux门户
Linux帮助
当前位置: 红联Linux门户 > 龙芯

在Loongnix上使用原生go编译器

发布时间:2016-08-02 02:09:43来源:红联作者:loongsonclub
[font=Tahoma,]前段时间编译新版Arduino IDE,发现它的一个小程序arduino-builder需要使用go编译器来编译,而Loongnix1.0只有gccgo,我没搞懂那东西怎么用的([/font]undefined[font=Tahoma,]我笨!),另外在网上看到go1.6已经加入了mips64el的原生支持,就想着把这货儿弄到Loongnix上来。翻了一下它的wiki,不一会儿就做好了。[/font]undefined[font=Tahoma,]安装方法也很简单。对于龙芯3,采用交叉编译的办法。 [/font]

[font=Tahoma,] 首先我们在x86机器上下载[/font]go1.4的二进制包[font=Tahoma,]作为交叉编译的bootstrap,按照自己的操作系统是32bit还是64bit进行下载,下载后解压。下载最新的[/font]go1.6的源码包[font=Tahoma,],解压,我这里把这两个文件都解压在主目录的。所以现在我的主目录有go,go1.4两个目录,其中go是go1.6的源码目录,go1.4是go1.4可执行文件和一些工具的目录。[/font][font=Tahoma,](以下命令的执行是以我的机器实际情况来执行的,你可能需要按照你的情况修改某些命令)[/font]


[font=Tahoma,]现在进入go1.6的源码目录的src目录,[/font]
[font=Tahoma,][list=1][*]cd ~/go/src[*][/list]
复制代码[/font]
[font=Tahoma,]接下来是编译,在开始编译以前我们需要设置GOPATH变量,设置GOPATH的作用是告诉go命令和其他相关工具,在哪里去找到安装在你系统上的Go包。[/font]
[font=Tahoma,]另外我们需要设置GOOS,GOARCH,其中GOOS是告诉go我们的目标平台的操作系统类型,这里应该选择linux,GOARCH是告诉go命令我们的目标平台所用的指令集,对于Loongnix,这里应该[/font][font=Tahoma,]选择mips64le([color=Blue]不是mips64el)!
[/font][/color][font=Tahoma,][list=1][*]export GOOS=linux[*]export GOARCH=mips64le[*]export GOPATH=~/go1.4[/list]
复制代码[/font]
当然你也可以在交叉编译时设置这三个变量,
[font=Tahoma,]编译:[/font][font=Tahoma,][list=1][*]./bootstrap.bash[/list]
复制代码[/font]
[font=Tahoma,]如果你没有执行上诉三个export命令设置那三个变量的话也没有关系,应该使用[/font]
[font=Tahoma,][list=1][*]GOROOT=~/go1.4/ GOARCH=mips64le GOOS=linux ./bootstrap.bash[/list]
复制代码[/font]
[font=Tahoma,]等待一小会儿就编译完成完成了,编译成功之后,终端提示[/font]
[font=Tahoma,][list=1][*]Bootstrap toolchain for linux/mips64le installed in /home/lxiao/go-linux-mips64le-bootstrap.[*]Building tbz.[*]-rw-r--r-- 1 lxiao users 46761183 5月 12 21:51 /home/lxiao/go-linux-mips64le-bootstrap.tbz[*][/list]
复制代码[/font]
[font=Tahoma,]至此,可以在Loongnix1.0上使用的go1.6就编译完成了。并且已经打包在/home/lxiao/go-linux-mips64le-bootstrap.tbz,将这个压缩包拷贝到Loongnix1.0上,解压到某个目录,[/font]
[font=Tahoma,]将这个go1.6的相关命令工具添加到PATH变量[/font]
[font=Tahoma,][list=1][*]export PATH=$PATH:YourDIR/go-linux-mips64le-bootstrap/bin[*][/list]
复制代码[/font]
[font=Tahoma,]其中YourDIR是你自己的解压目录。为了以后方便使用可以将这条命令加入到shell profile,($HOME/.bashrc,$HOME/.profile)[/font]
[font=Tahoma,]好了,输入go命令试试看。[/font]


[font=Tahoma,]我这里也有个编译好了的二进制包,下载后解压缩到Loongnix1.0上设置好PATH即可使用,[/font]下载地址[font=Tahoma,] 经过测试,龙芯3上debian系统也可以使用。[/font]
文章评论

共有 1 条评论

  1. 王中云 于 2016-09-04 16:53:38发表:

    加油!好样的!