Есть ли способ построить Hyperledger Fabric, используя gccgo? Я хочу сделать это для того, чтобы использовать опцию -finstrument-functions в gcc для отслеживания вызовов функций. Но я столкнулся с двумя проблемами. Мои шаги следующие.
- найти команду сборки
make -n release
echo "Сборка релиза / linux-amd64 / bin / configtxgen для
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
- изменить команду сборки для использования gccgo
CGO_CFLAGS = "" GOOS = linux GOARCH = amd64 go build -компилятор 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 / ткань / bccsp / завод
bccsp / factory / pluginfactory.go: 12: 8: ошибка: импортировать файл «плагин» не
найдено
"Плагин"
bccsp / factory / pluginfactory.go: 56: 15: ошибка: ссылка на неопределенное имя
plug-in plug, err: =
plugin.Open (config.PluginOpts.Library)
Во-первых, как и выше, «плагин» не может быть найден, когда gccgo вызывается go build.
Еще один способ передать ldflags -X при использовании gccgo? Кажется, что -X является недопустимым параметром только в gc tools, а не в gccgo.
Кто-нибудь может мне помочь? Спасибо.