fabric编译环境部署的一种可行方式 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
安装docker
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
安装make
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三个目录。在src下新建github.com/hyperledger/目录。将待编译的源码文件夹放在该目录下。最终fabric源码位置为 /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。直接执行的问题主要在于大部分用到的依赖需要翻墙。故寻找已下载好的资源使用。具体流程请参考来源参考。