コンパイル環境の展開に関するドキュメント

ファブリック コンパイル環境の展開 centos の実行可能な方法

環境の依存関係を準備する

go 環境をインストールする

wget https://dl.google.com/go/go1.9.2.linux-amd64.tar.gz
tar -C /usr/local -xzf go1.9.2.linux-amd64.tar.gz
#配置GOROOT
echo 'export GOROOT=/usr/local/go' >> /etc/profile
echo 'export PATH=$PATH:$GOROOT/bin' >> /etc/profile
#配置GOPATH
echo 'export GOPATH=$HOME/go' >> /etc/profile
echo 'export PATH=$PATH:$GOPATH/bin' >> /etc/profile
echo 'export GO111MODULE=off' >> /etc/profile
source /etc/profile

ドッカーをインストールする

yum update
yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum install docker-ce-17.06.1.ce
systemctl start docker
docker version 

docker-compose をインストールする

curl -L https://github.com/docker/compose/releases/download/1.7.0/docker-compose-`uname -s `-`uname -m` > /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
docker-compose -v

インストールする

yum -y install gcc automake autoconf libtool make
yum install gcc gcc-c++
make --v

gitをインストールする

yum -y install git

libltdl 開発ライブラリをインストールする

yum install libtool-ltdl-devel

bzip2 をインストールする

yum -y install bzip2

ソースコードをダウンロード

GOPATH ディレクトリの下に bin、pkg、src の 3 つのディレクトリを作成します。src の下に新しい github.com/hyperledger/ ディレクトリを作成します。コンパイルするソースコードのフォルダをこのディレクトリに置きます。最終的なファブリック ソースの場所は /root/go/src/github.com/hyperledger/fabric です。

バイナリをコンパイルする

#清除上次编译的内容
cd release
rm -rf linux-amd64/bin
#重新编译
cd ..
make release

ここに画像の説明を挿入

画像ファイルをコンパイルする

#清除上次编译的内容
make clean

ここに画像の説明を挿入

#准备编译所需文件
打开fabric下的Makefile文件。
将IMAGES 后面的 待编译镜像删除到只剩下ccenv 即:IMAGES = ccenv  
将周边/ccenv-bin/下的文件 移动到编译机器的GOPATH/bin目录

ここに画像の説明を挿入

#重新编译
make docker 开始下载chaintool文件 需要翻墙  ctrl+c退出

ここに画像の説明を挿入


cp $GOPATH/bin/chaintool build/bin/
cp $GOPATH/bin/protoc-gen-go build/docker/gotools/bin/
chmod 777 ./scripts/goListFiles.sh
make docker

ここに画像の説明を挿入


注意:図面は参考用です。
ccenv-bin のソースについては、gotool の Makefile と fabric の Makefile を参照してください。直接実行の問題は、使用される依存関係のほとんどが壁を越える必要があることです。ダウンロードしたリソースを探して使用します。特定のプロセスについては、ソース リファレンスを参照してください。

おすすめ

転載: blog.csdn.net/qq_42750537/article/details/105122336