Hyperledger fabric公式ソースのコンパイル
4057 ワード
開発環境の紹介
$GOPATH/src/github.com/hyperledger/fabric
コンパイル、
make dist-clean all
私の環境は間違っています.
cp: cannot stat 'build/docker/gotools/bin/protoc-gen-go': No such file or directory
Makefile:263: recipe for target 'build/image/ccenv/payload' failed
make: *** [build/image/ccenv/payload] Error 1
この問題はfabric環境でprotoc-gen-goという実行ファイルが見つからないため,解決策は手動で生成することである.
コンパイル生成protoc-gen-go
root@pony-virtual-machine:~/gopath/src/github.com# gopm get -g -d github.com/golang/protobuf/protoc-gen-go
root@pony-virtual-machine:~/gopath/src/github.com/golang# go install github.com/golang/protobuf/protoc-gen-go
もちろん前提はあなたの環境がgopmコマンドをサポートすることです.
$GOPATH/binディレクトリの下でprotoc-gen-goを見つけることができて、このファイルをさっき間違ったディレクトリにコピーします
root@pony-virtual-machine:~/gopath/bin# cp protoc-gen-go /root/gopath/src/github.com/hyperledger/fabric/build/docker/gotools/bin/
ここで分割点
再コンパイル.コンパイルの時間が少し長いです.最後にコンパイルエラーが発生しました.原因は分かりませんが、後の操作には影響しません.
the following files are missing SPDX-License-Identifier headers:
(standard input)
Please replace the Apache license header comment text with:
SPDX-License-Identifier: Apache-2.0
Makefile:111: recipe for target 'license' failed
make: *** [license] Error 1
続行する前に、次のユニットテストでこの2つの実行ファイルが使用されるため、gocovとgocov-xmlもインストールします.
gocovのインストール
gopm get -g -d golang.org/x/tools/cover
gopm get -g -d github.com/axw/gocov/gocov
go install github.com/axw/gocov/gocov
gocov-xmlのインストール
gopm get -g -d github.com/AlekSi/gocov-xml
go install github.com/AlekSi/gocov-xml
fabricディレクトリにコピーし、
root@pony-virtual-machine:~/gopath/bin# cp gocov gocov-xml /root/gopath/src/github.com/hyperledger/fabric/build/docker/gotools/bin/
ユニットテストの実行
make unit-test
過程は貼らない.