首页 文章

如何用gccgo构建超级面料

提问于
浏览
-2

有没有办法使用gccgo构建超级面料?我想这样做是为了使用gcc的-finstrument-functions选项跟踪函数调用 . 但我遇到了两个问题 . 我的步骤如下 .

  • 找到构建命令

make -n release echo“构建版本/ linux-amd64 / bin / configtxgen for linux-amd64”mkdir -p release / 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

  • 修改build命令以使用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 /工厂bccsp / factory / pluginfactory.go:12:8:错误:导入文件'插件'未找到“插件”bccsp / factory / pluginfactory.go:56:15:错误:引用未定义名称'插件'插件,错误: = plugin.Open(config.PluginOpts.Library)

首先,如上所述,当go build调用gccgo时,找不到“plugin” . 另一个是如何在使用gccgo时传递ldflags -X?似乎-X是一个仅在gc工具中无效的参数而不是gccgo .

有人可以帮帮我吗?谢谢 .

1 回答

  • 0

    您需要使用正确版本的GCC才能获得各种Fabric版本支持的Go版本的支持 .

    • Fabric 1.1要求Go 1.9.x.

    • Fabric 1.2.x需要Go 1.10.x.

    • 即将推出的Fabric 1.3也需要Go 1.10

    gccgo不支持Go 1.9(GCC 7支持Go 1.8) . GCC 8增加了对Go 1.10的支持 .

    所以你应该使用Fabric v1.2和GCC 8 .

相关问题