编译arm版本open-falcon的agent模块

arm版本交叉编译,在进行arm版本的open-falcon版本时发现,arm版本的没有gpu采集功能,如果代码中携带gpu功能的模块或采集函数会报错,根据报错信息和代码查询得知open-falcon中引用的gpu的库是intel的

所以只能把gpu相关的代码移除才能编译成功(我的编译环境为vmware centos7     go1.13版本),如果在开源代码0.2.2版本中你没有添加gpu采集功能则可不用去除相关代码,直接编译即可,步骤如下:

1、进入agent模块代码目录

cd  /home/centos/go/src/github.com/open-falcon/modules/agent

2、将代码中周期采集gpu的功能注释掉

vim funcs/funcs.go +93

3、将agent模块中gpu相关代码删除或移动到其他地方备份
rm  funcs/gpu.go -f
rm  /home/centos/go/src/github.com/mindprince/gonvml -f

rm  /home/centos/go/src/github.com/open-falcon/vendor/github.com/mindprince/gonvml  -f

4、开始执行编译命令

CGO_ENABLED=0 GOOS=linux GOARCH=arm go build   


CGO_ENABLED=0 GOOS=linux GOARCH=arm64 go build

posted @ 2020-06-24 10:30  天地一体  阅读(393)  评论(2编辑  收藏  举报