有没有办法使用 gccgo 构建超级账本结构?我想这样做是为了使用 gcc 的 -finstrument-functions 选项来跟踪函数调用。但是我遇到了两个问题。我的步骤如下。
- 找到构建命令
make -n 释放
echo "为 linux-amd64 构建版本/linux-amd64/bin/configtxgen"
mkdir -p 发布/linux-amd64/bin CGO_CFLAGS=""
GOOS=linux GOARCH=amd64 go build -o /home/yiifburj/go/src/github.com/hyperledger/fabric/release/linux-amd64/bin/configtxgen -tags "nopkcs11" -ldflags "-X github.com/ hyperledger/fabric/common/tools/configtxgen/metadata.Version=1.1.0" github.com/hyperledger/fabric/common/tools/configtxgen
- 修改构建命令以使用 gccgo
CGO_CFLAGS="" GOOS=linux GOARCH=amd64 go build -compiler gccgo -o /home/yiifburj/go/src/github.com/hyperledger/fabric/release/linux-amd64/bin/configtxgen -tags "nopkcs11" -gccgoflags “-X github.com/hyperledger/fabric/common/tools/configtxgen/metadata.Version=1.1.0” github.com/hyperledger/fabric/common/tools/configtxgen
#github.com/hyperledger/fabric/bccsp/factory
bccsp/factory/pluginfactory.go:12:8:错误:找不到导入文件“插件”
“插件”bccsp/factory/pluginfactory.go:56:15:错误:对未定义名称的引用
'plugin' 插件,错误:= plugin.Open(config.PluginOpts.Library)
首先,如上,go build调用gccgo时找不到“plugin”。另一个是使用 gccgo 时如何传递 ldflags -X?似乎 -X 是仅在 gc 工具而不是 gccgo 中无效的参数。
任何人都可以帮助我吗?谢谢。