导航:首页 > 源码编译 > go编译centos

go编译centos

发布时间:2022-03-14 11:22:56

⑴ 如何在centos上安装golang最新版

#下载linux系统的golang(golang.org)
$wgetpath/to/go*******.tar.gz
$sudotar-xvfgo*******.tar.gz
$sudomvgo/usr/local/

$sudoln-s/usr/local/go/bin/go/usr/local/bin/go
$sudoln-s/usr/local/go/bin/gofmt/usr/local/bin/gofmt
$sudoln-s/usr/local/go/bin/godoc/usr/local/bin/godoc

⑵ centos编译安装需要什么环境

yum -y install "Development Tools"

其他依据编译报错安装相应的支持

⑶ golang保存二进制文件会有大小端问题吗

golang保存二进制文件会有大小端问题。

这个二进制文件的确有Big Endian 和Little Endian的问题,这个与CPU指令体系有关,不过不用操心,像JPEG就是Big Endian,其编解码就都是按照这个约定来完成的,没有平台问题,也没有大小端的问题。

编译centos上的可执行文件的时候需要交叉编译。golang的交叉编译很容易,你的情况的话用下面这条命令,GOOS=linux GOARCH=amd64 go build ./文件。

golang描述:

Go的语法接近C语言,但对于变量的声明有所不同。Go支持垃圾回收功能。Go的并行模型是以东尼·霍尔的通信顺序进程(CSP)为基础。

采取类似模型的其他语言包括Occam和Limbo,但它也具有Pi运算的特征,比如通道传输。在1.8版本中开放插件(Plugin)的支持,这意味着现在能从Go中动态加载部分函数。

与C++相比,Go并不包括如枚举、异常处理、继承、泛型、断言、虚函数等功能,但增加了 切片(Slice) 型、并发、管道、垃圾回收、接口(Interface)等特性的语言级支持。Go 2.0版本将支持泛型,对于断言的存在,则持负面态度,同时也为自己不提供类型继承来辩护。

⑷ golang 在mac 下go install成二进制文件,上传到centos 无法执行

mac下编译器默认编译的是mac os x的可执行文件。
编译centos上的可执行文件的时候需要交叉编译。
golang的交叉编译很容易,你的情况的话用下面这条命令
GOOS=linux GOARCH=amd64 go build ./文件

⑸ centos 7 默认安装go语言环境吗

1.1 Go 安装

Go的三种安装方式

Go有多种安装方式,你可以选择自己喜欢的。这里我们介绍三种最常见的安装方式:

Go源码安装:这是一种标准的软件安装方式。对于经常使用Unix类系统的用户,尤其对于开发者来说,从源码安装可以自己定制。
Go标准包安装:Go提供了方便的安装包,支持Windows、Linux、Mac等系统。这种方式适合快速安装,可根据自己的系统位数下载好相应的安装包,一路next就可以轻松安装了。**推荐这种方式**
第三方工具安装:目前有很多方便的第三方软件包工具,例如Ubuntu的apt-get、Mac的homebrew等。这种安装方式适合那些熟悉相应系统的用户。

最后,如果你想在同一个系统中安装多个版本的Go,你可以参考第三方工具GVM,这是目前在这方面做得最好的工具,除非你知道怎么处理。

Go源码安装

在Go的源代码中,有些部分是用Plan 9 C和AT&T汇编写的,因此假如你要想从源码安装,就必须安装C的编译工具。

在Mac系统中,只要你安装了Xcode,就已经包含了相应的编译工具。

在类Unix系统中,需要安装gcc等工具。例如Ubuntu系统可通过在终端中执行sudo apt-get install gcc
libc6-dev来安装编译工具。

在Windows系统中,你需要安装MinGW,然后通过MinGW安装gcc,并设置相应的环境变量。

你可以直接去官网下载源码,找相应的goVERSION.src.tar.gz的文件下载,下载之后解压缩到$HOME目录,执行如下代码:
cd go/src
./all.bash

运行all.bash后出现"ALL TESTS PASSED"字样时才算安装成功。

上面是Unix风格的命令,Windows下的安装方式类似,只不过是运行all.bat,调用的编译器是MinGW的gcc。

如果是Mac或者Unix用户需要设置几个环境变量,如果想重启之后也能生效的话把下面的命令写到.bashrc或者.zshrc里面,
export GOPATH=$HOME/gopath
export PATH=$PATH:$HOME/go/bin:$GOPATH/bin

如果你是写入文件的,记得执行bash .bashrc或者bash
.zshrc使得设置立马生效。

如果是window系统,就需要设置环境变量,在path里面增加相应的go所在的目录,设置gopath变量。

当你设置完毕之后在命令行里面输入go,看到如下图片即说明你已经安装成功

图1.1 源码安装之后执行Go命令的图

如果出现Go的Usage信息,那么说明Go已经安装成功了;如果出现该命令不存在,那么可以检查一下自己的PATH环境变中是否包含了Go的安装目录。

关于上面的GOPATH将在下面小节详细讲解

Go标准包安装

Go提供了每个平台打好包的一键安装,这些包默认会安装到如下目录:/usr/local/go
(Windows系统:c:\Go),当然你可以改变他们的安装位置,但是改变之后你必须在你的环境变量中设置如下信息:
export GOROOT=$HOME/go
export GOPATH=$HOME/gopath
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin

上面这些命令对于Mac和Unix用户来说最好是写入.bashrc或者.zshrc文件,对于windows用户来说当然是写入环境变量。

⑹ 如何编译arm linux的go

Golang也就是Go语言,现在已经发行到1.4.1版本了,语言特性优越性和背后Google强大靠山什么的就不多说了。Golang的官方提供了多个平台上的二进制安装包,遗憾的是并非没有发布ARM平台的二进制安装包。ARM平台没办法直接从官网下载二进制安装包来安装,好在Golang是支持多平台并且开源的语言,因此可以通过直接在ARM平台上编译源代码来安装。整个过程主要包括编译工具配置、获取Golang源代码、设置Golang编译环境变量、编译、配置Golang行环境变量等步骤。
注:本文选用树莓派做测试,因为树莓派是基于ARM平台的。

1、编译工具配置
据说下个版本的golang编译工具要使用golang自己来写,但目前还是使用C编译工具的。因此,首先要配置好C编译工具:
1.1 在Ubuntu或Debian平台上可以使用sudo apt-get install gcc libc6-dev命令安装,树莓派的RaspBian系统是基于Debian修改的,所以可以使用这种方法安装。
1.2 在RedHat或CentOS 6平台上可以使用sudo yum install gcc libc-devel命令安装。
安装完成后可以输入 gcc --version命令验证是否成功安装。

2、获取golang源代码
2.1 直接从官网下载源代码压缩包。
golang官网提供golang的源代码压缩包,可以直接下载,最新的1.4.1版本源代码链接:https://storage.googleapis.com/golang/go1.4.1.src.tar.gz
2.2 使用git工具获取。
golang使用git版本管理工具,也可以使用git获取golang源代码。推荐使用这个方法,因为以后可以随时获取最新的golang源代码。
2.2.1 首先确认ARM平台上已经安装了git工具,可以使用git --version命令确认。一般linux平台都安装了git,没有的话可以自行安装,不同平台的安装方法可以参考:http://git-scm.com/download/linux
2.2.2 克隆远程golang的git仓库到本地
在终端cd到你想要安装golang的目录,确保该目录下没有名为go的目录。然后以下命令获取代码仓库:
git clone https://go.googlesource.com/go
大陆地区可能会获取失败,在不翻墙的情况下我试了几次都没成功,原因大家都懂的。好在google已经将golang也托管到github上面,所以也可以通过下面命令获取:
git clone https://github.com/golang/go.git
视网络情况,下载可能需要不少时间。我2M的带宽花了将近两个小时才下载完,虽然整个项目不过几十兆= =
下载完成后,可以看到目录下多了一个go目录,里面即为golang的源代码,在终端上执行cd go命令进入该目录。
执行下面命令检出go1.4.1版本的源代码,因为现在已经有新的代码提交上去了,最新的代码可能不是最稳定的:
git checkout go1.4.1
至此,最新1.4.1发行版的源代码获取完毕

3、设置golang的编译环境变量
主要有GOROOT、GOOS、GOARCH、GOARM四个环境变量需要设置,先解释四个环境变量的意义。
3.1 GOROOT
主要代表golang树结构目录的路径,也就是上面git检出的go目录。一般可以不用设置这个环境变量,因为编译的时候默认会以go目录下src子目录中的all.bash脚本运行时的父目录作为GOROOT的值。为了保险起见,可以直接设置为go目录的路径。
3.2 GOOS和GOARCH
分别代表编译的目标系统和平台,可选值如下:

GOOS GOARCH
darwin 386
darwin amd64
dragonfly 386
dragonfly amd64
freebsd 386
freebsd amd64
freebsd arm
linux 386
linux amd64
linux arm
netbsd 386
netbsd amd64
netbsd arm
openbsd 386
openbsd amd64
plan9 386
plan9 amd64
solaris amd64
windows 386
windows amd64
需要注意的是这两个值代表的是目标系统和平台,而不是编译源代码的系统和平台。树莓派的RaspBian是linux系统,所以这些GOOS设置为linux,GOARCH设置为arm。
3.3 GOARM
表示使用的浮点运算协处理器版本号,只对arm平台有用,可选值有5,6,7。如果是在目标平台上编译源代码,这个值可以不设置,它会自动判断需要使用哪一个版本。
总结下来,在树莓派上设置golang的编译环境变量,可编辑$HOME/.bashrc文件,在末尾添加下面内容:
export GOROOT=你的go目录路径
export GOOS=linux
export GOARCH=arm
编辑完后保存,执行source ~/.bashrc命令让修改生效。

4、编译源代码
环境变量配置完成自后就可以开始编译源代码。在go目录下的src子目录中,主要有all.bash和make.bash两个脚本(另外还有两个all.bat和make.bat脚本适用于window平台)。编译实际上就是执行其中一个脚本,两者的区别在于all.bash在编译完成后还会执行一些测试套件。如果希望只编译不测试,可以运行make.bash脚本。使用cd命令进入go下src目录,执行./all.bash或者./make.bash命令即可开始编译。由于硬件情况不同,编译耗费的时间不同。在我的B型树莓派编译过程花费了将近半个小时,编译完成后执行的测试套件又花费了差不多一个小时,总共花费了一个半小时左右。

5、配置golang运行环境变量
编译完成后,go目录下会生成bin目录,里面就是go的运行脚本。为了以后使用方法,可以将这个bin路径添加到PATH环境变量中。同样编辑~/.bashrc文件,因为前面设置过GOROOT环境变量指向go目录了,所以只需要在末尾加上
export PATH=$PATH:$GOROOT/bin
保存后同样执行source ~/.bashrc命令让环境变量生效。

至此,golang源代码编译安装成功。执行go version应该就能看到当前golang的版本信息,表示编译安装成功。

⑺ 如何让go程序一直在centos运行

要使程序开机运行的话将文该命令添加到/etc/rc.local即可: echo "命令的完整路径/iperf -s">>/etc/rc.local

⑻ 在ubuntu下面怎么编译出centos可以运行的库

最好的办法是CentOS本地编译,理论上Linux之间应该是兼容的,但不同的发行版存在软件版本不同、大的补丁不同等因素,不一定二进制兼容

次一点的办法是做个交叉编译环境,找个CentOS的镜像看看里面gcc、binutils、glibc的版本,按照LFS的方式,做一个交叉编译器,源代码最好用centos的srpm,而不是gnu官方版本

不想麻烦,不妨尝试下二进制兼容性

如果ubuntu和CentOS之间软件包版本相差不大,尝试静态编译,是不是可以二进制兼容

如果ubuntu中glibc等依赖库版本略小于CentOS(鉴于发行版定位,这得需要很老的ubuntu,比如CentOS 6作为目标就需要ubuntu 9.10或之前),试试动态链接能不能直接二进制兼容

理论上x64可以运行32位程序,但能达到WOW64那种兼容性的很少,最好保证位元一致

⑼ 如何查看编译好的库 centos

PostgreSQL是开源关系型数据库的首选了,因为现在mysql数据库都给oracle收购了,下面我们来介绍在centos中编译PostgreSQL数据库的教程. readline是一个开源的跨平台程序库,提供了交互式的文本编辑功能。postgresql需要readline的支持。 wget -c https://ftp/pub/source/v9.3.5/postgresql-9.3.5.tar.gz [root@rootop postgresql-9.3.5]# yum install readline readline-devel [root@rootop postgresql-9.3.5]# ./configure --prefix=/usr/local/pgsql [root@rootop postgresql-9.3.5]# make [root@rootop postgresql-9.3.5]# make install 添加系统账户: [root@rootop ~]# useradd postgres [root@rootop ~]# passwd postgres 创建数据目录: [root@rootop ~]# mkdir /usr/local/pgsql/data [root@rootop ~]# chown postgres:postgres /usr/local/pgsql/data/ 初始化数据库: [root@rootop ~]# su postgres #切换到postgres用户执行 [postgres@rootop ~]$ /usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data/ 根据提示可以通过 /usr/local/pgsql/bin/postgres -D /usr/local/pgsql/data/ 或 /usr/local/pgsql/bin/pg_ctl -D /usr/local/pgsql/data/ -l logfile start 启动服务。 推荐下面的脚本启动方式,启动以后会在tcp上监听5432端口。 [postgres@rootop ~]$ lsof -i:5432 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME postgres 5140 postgres 3u IPv4 2394876345 0t0 TCP localhost:postgres (LISTEN) 复制管理脚本(root操作): [root@rootop postgresql-9.3.5]# cp contrib/start-scripts/linux /etc/init.d/postgresql [root@rootop postgresql-9.3.5]# chmod o+x /etc/init.d/postgresql 编辑启动脚本,注意以下部分为实际信息: #安装路径 prefix=/usr/local/pgsql #数据目录 PGDATA=”/usr/local/pgsql/data” #启动用户 PGUSER=postgres #日志路径 PGLOG=”$PGDATA/serverlog” 然后就可以通过service postgresql startstoprestartreloadstatus 管理了。 开机启动: [root@AY131126202614070132Z ~]# chkconfig postgresql on 相关配置文件: 通过 /usr/local/pgsql/data/postgresql.conf 可以配置监听地址、端口及连接数等。 listen_addresses = port = max_connections = 通过 /usr/local/pgsql/data/pg_hba.conf 可以配置允许远程连接的地址。 host all all 127.0.0.1/32 trust 登陆数据库: [root@AY131126202614070132Z ~]# /usr/local/pgsql/bin/psql -h 127.0.0.1 -d postgres -U postgres psql (9.3.5) Type "help" for help. postgres=# \l #查看已有的数据库 List of databases Name Owner Encoding Collate Ctype Access privileges -----------+----------+----------+-------------+-------------+----------------------- postgres postgres UTF8 en_US.UTF-8 en_US.UTF-8 template0 postgres UTF8 en_US.UTF-8 en_US.UTF-8 =c/postgres + postgres=CTc/postgres template1 postgres UTF8 en_US.UTF-8 en_US.UTF-8 =c/postgres + postgres=CTc/postgres (3 rows) postgres=# \q #退出 psql 支持的参数可以通过/usr/local/pgsql/bin/psql --help 获取 安装完成。

阅读全文

与go编译centos相关的资料

热点内容
phpfopen读取 浏览:109
linuxc暂停 浏览:831
海康的云服务器的作业 浏览:128
pdf组织技术 浏览:396
钢筋加密区原位标注怎么确定跨数 浏览:362
微信小程序朋友圈发消息源码 浏览:205
手机连接服务器在什么设置 浏览:927
linux关闭httpd 浏览:78
剑与家园服务器怎么样 浏览:171
金蜘蛛源码公式 浏览:819
java自定义监听 浏览:982
明星公仔娃娃app叫什么 浏览:339
拼多多程序员价格 浏览:77
离上班的地方13公里源码 浏览:561
共产主义pdf 浏览:833
安卓云顶之弈用什么登陆 浏览:777
app的数据越来越大是什么 浏览:219
反编译步骤意思 浏览:644
ug编程怎么加刀补 浏览:625
奶片检验指标源码 浏览:592