学习记录:fabric(7)- fabric本身编译(1)

前情提要

可能需要修改fabric的peer本身,所以需要看一下fabric本身。

开始

准备

下载很简单,我使用的是v2.3.0。

git clone -b v2.3.0 https://github.com/hyperledger/fabric.git

这样有了代码,然后需要配好go环境。
go我用的是1.15,虽然fabric指定的是1.14,但是不影响。注意环境变量的设置,fabric使用的是MakeFile的批处理命令方式,不是直接用go build。
我遇到过一个问题:go install: cannot install cross-compiled binaries when GOBIN is set
原因是因为要把GOOS=linux,GOARCH=amd64。不能把GOARCH设置为386等其他的,后来从fabric的peer docker镜像中也看到了,现在也只允许amd64的系统。

我用的GoLand打开的项目。

我的编译没遇到太多问题,也不需要把fabric项目放进GOPATH/src。运行了go mod vendor,go mod tidy。打开梯子,该下载的下载,就编译好了,还是很快的。下面是成功结果:
在这里插入图片描述
在这里插入图片描述

Makefile

在这里插入图片描述

看一下makefile,准备开始修改,因为所有的构建规则都放在这里了。
构建总的分为3个文件,总的是Makefile,gotools.mk是go语言构建相关,docker-env.mk是镜像相关。

  • makefile 328行

总之是很多的目标,总的来说,主要的就是几部分:native二进制文件,docker镜像,各种检查,文档,辅助函数。

native和docker当然是最重要的。可选的,先不生成镜像,native好像还挺快。

gotools.mk

  • gotools.mk 35行

主要都是go的编译需要用到的各种工具,goimports之类的。

docker-env.mk

  • docker-env.mk 56行

基本的docker配置,下载 基础镜像需要的代理啥的。

参考

  • https://yeasy.gitbook.io/docker_practice/os/alpine
  • https://blog.csdn.net/u010230971/article/details/80335613
  • https://www.zhihu.com/question/319783573/answer/656033035 GNU是什么
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值