Ошибка при создании исходного кода Hyperledger Fabri c v1.4.4 - PullRequest
0 голосов
/ 05 августа 2020

Я пытаюсь собрать исходный код Hyperledger Fabri c. Я следую инструкциям здесь . Мне удалось успешно собрать код с помощью команды make dist-clean all. Однако я хотел протестировать его на виртуальной машине fre sh. Итак, я снова выполнил эти шаги, но столкнулся с этой проблемой при создании gotools.

Building dockerized gotools
make[1]: Entering directory '/opt/gopath/src/github.com/hyperledger/fabric'
Building github.com/maxbrunsfeld/counterfeiter -> counterfeiter
make[1]: Leaving directory '/opt/gopath/src/github.com/hyperledger/fabric'
make[1]: Entering directory '/opt/gopath/src/github.com/hyperledger/fabric'
Building github.com/golang/dep v0.5.1 -> dep
make[1]: Leaving directory '/opt/gopath/src/github.com/hyperledger/fabric'
make[1]: Entering directory '/opt/gopath/src/github.com/hyperledger/fabric'
Building golang.org/x/lint/golint -> golint
GOBIN=/opt/gotools/bin go install ./vendor/golang.org/x/lint/golint
make[1]: Leaving directory '/opt/gopath/src/github.com/hyperledger/fabric'
make[1]: Entering directory '/opt/gopath/src/github.com/hyperledger/fabric'
Building golang.org/x/tools/cmd/goimports -> goimports
GOBIN=/opt/gotools/bin go install ./vendor/golang.org/x/tools/cmd/goimports
make[1]: Leaving directory '/opt/gopath/src/github.com/hyperledger/fabric'
make[1]: Entering directory '/opt/gopath/src/github.com/hyperledger/fabric'
Building github.com/golang/protobuf/protoc-gen-go -> protoc-gen-go
GOBIN=/opt/gotools/bin go install ./vendor/github.com/golang/protobuf/protoc-gen-go
make[1]: Leaving directory '/opt/gopath/src/github.com/hyperledger/fabric'
make[1]: Entering directory '/opt/gopath/src/github.com/hyperledger/fabric'
Building github.com/onsi/ginkgo/ginkgo -> ginkgo
GOBIN=/opt/gotools/bin go install ./vendor/github.com/onsi/ginkgo/ginkgo
make[1]: Leaving directory '/opt/gopath/src/github.com/hyperledger/fabric'
make[1]: Entering directory '/opt/gopath/src/github.com/hyperledger/fabric'
Building github.com/axw/gocov/gocov -> gocov
make[1]: Leaving directory '/opt/gopath/src/github.com/hyperledger/fabric'
make[1]: Entering directory '/opt/gopath/src/github.com/hyperledger/fabric'
Building github.com/AlekSi/gocov-xml -> gocov-xml
make[1]: Leaving directory '/opt/gopath/src/github.com/hyperledger/fabric'
make[1]: Entering directory '/opt/gopath/src/github.com/hyperledger/fabric'
Building github.com/client9/misspell/cmd/misspell -> misspell
make[1]: Leaving directory '/opt/gopath/src/github.com/hyperledger/fabric'
make[1]: Entering directory '/opt/gopath/src/github.com/hyperledger/fabric'
Building github.com/vektra/mockery/cmd/mockery -> mockery
package github.com/vektra/mockery/cmd/mockery: cannot find package "github.com/vektra/mockery/cmd/mockery" in any of:
        /opt/go/src/github.com/vektra/mockery/cmd/mockery (from $GOROOT)
        /opt/gotools/obj/src/github.com/vektra/mockery/cmd/mockery (from $GOPATH)
make[1]: *** [gotool.mockery] Error 1
gotools.mk:59: recipe for target 'gotool.mockery' failed
make[1]: Leaving directory '/opt/gopath/src/github.com/hyperledger/fabric'
gotools.mk:64: recipe for target '/opt/gotools/bin/mockery' failed
make: *** [/opt/gotools/bin/mockery] Error 2
Makefile:253: recipe for target '.build/docker/gotools' failed
make: *** [.build/docker/gotools] Error 2

Однако, когда я запускаю команду find следующим образом: sudo find / -name "*mockery*", я получаю следующий результат:

/home/<user>/go/src/github.com/hyperledger/fabric/.build/docker/gotools/obj/src/github.com/vektra/mockery
/home/<user>/go/src/github.com/hyperledger/fabric/.build/docker/gotools/obj/src/github.com/vektra/mockery/.mockery.yaml
/home/<user>/go/src/github.com/hyperledger/fabric/.build/docker/gotools/obj/src/github.com/vektra/mockery/pkg/mockery_test.go
/home/<user>/go/src/github.com/hyperledger/fabric/.build/docker/gotools/obj/src/github.com/vektra/mockery/pkg/mockery.go
/home/<user>/go/src/github.com/hyperledger/fabric/.build/docker/gotools/obj/src/github.com/vektra/mockery/cmd/mockery_test.go
/home/<user>/go/src/github.com/hyperledger/fabric/.build/docker/gotools/obj/src/github.com/vektra/mockery/cmd/mockery.go

Затем я снова запускаю команду make dist-clean all, не внося никаких изменений, и она сразу пропускает эту новую ошибку:

Installing chaintool
curl -fL https://nexus.hyperledger.org/content/repositories/releases/org/hyperledger/fabric/hyperledger-fabric/chaintool-1.1.3/hyperledger-fabric-chaintool-1.1.3.jar > .build/bin/chaintool
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0curl: (6) Could not resolve host: nexus.hyperledger.org
Makefile:224: recipe for target '.build/bin/chaintool' failed
make: *** [.build/bin/chaintool] Error 6

Я использую Hyperledger Fabri c v1.4.4 дерево. Я не вносил никаких изменений ни в какие файлы локально до сборки. Было бы полезно, если бы кто-нибудь помог мне решить эту ошибку.

1 Ответ

0 голосов
/ 05 августа 2020

Мне удалось решить эти проблемы, переключившись на последнюю версию v1.4. Два изменения в последней версии v1.4, которые решают эти проблемы:

  1. github.com/vektra/mockery может быть правильно построен с показанными изменениями здесь .
  2. URL-адрес для извлечения файлов chaintool изменяется, как показано здесь .
...