go项目(elastic filebeat)在centos下进行arm交叉编译(arm-linux-gcc),并测试运行

2023-10-27

1.安装go环境

Downloads - The Go Programming Language

配置环境变量

export GO111MODULE=on
export GOPRIVATE=github.com  
export GOPROXY=https://goproxy.cn,direct
export PATH=$PATH:/home/go/go/bin

 

2.下载go项目源码

https://github.com/elastic/beats

关于go项目工程依赖的模块,建议提前下载完成之后,再传输到服务器上进行编译;设置GO_PATH环境变量 

git clone https://github.com/elastic/beats.git

以编译 elastic beats为例

3.编译arm程序

配置环境变量:arm-linux-gcc所在目录

 export PATH=$PATH:/home/arm-xxx/bin 


cd /root/beats/filebeat
export CGO_CFLAGS=$CGO_CFLAGS" -fuse-ld=bfd"
export CGO_LDFLAGS=$CGO_LDFLAGS" -fuse-ld=bfd"
export GOGCCFLAGS=$GOGCCFLAGS" -fuse-ld=bfd"
export PATH=$PATH:/home/arm-xxx/bin
CGO_ENABLED=1 GOARCH=arm  GOOS=linux CC=arm-linux-gcc   go build -v
#CGO_ENABLED=1 GOARCH=arm  GOOS=linux CC=arm-linux-gcc   make



4.编译完成之后上传至arm服务器,测试程序是否能运行 

5.项目编译过程中出现的问题

使用arm交叉编译sdk,交叉编译arm时报错如下

 因为arm交叉工具SDK,工具链只有ld.bfd,所以需要设置一下环境变量

export CGO_CFLAGS=$CGO_CFLAGS" -fuse-ld=bfd"
export CGO_LDFLAGS=$CGO_LDFLAGS" -fuse-ld=bfd"
export GOGCCFLAGS=$GOGCCFLAGS" -fuse-ld=bfd"

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

go项目(elastic filebeat)在centos下进行arm交叉编译(arm-linux-gcc),并测试运行 的相关文章

随机推荐