构建对等体时出错:goshim.tar.bz2中的“bzip2数据无效”

时间:2017-01-04 14:04:34

标签: hyperledger-fabric

有些用户在构建对等体时遇到以下错误:

$ make peer
Building docker ccenv-image
docker build  -t hyperledger/fabric-ccenv build/image/ccenv
Sending build context to Docker daemon 20.19 MB
Step 1 : FROM hyperledger/fabric-baseimage:x86_64-0.2.2
 ---> 4ac07a26ca7a
Step 2 : COPY payload/chaintool payload/protoc-gen-go /usr/local/bin/
 ---> Using cache
 ---> 027688f7aea9
Step 3 : ADD payload/goshim.tar.bz2 $GOPATH/src/
Error processing tar file(bzip2 data invalid: bad magic value in continuation file): 
make: *** [build/image/ccenv/.dummy-x86_64-0.7.0] Error 1

5 个答案:

答案 0 :(得分:12)

这是OSX上的一个已知问题,因为bsdtar(OSX附带)和gnutar(docker所期待的)之间不兼容。

可以通过确保gnutar在路径上可用来解决问题" tar"。在OSX中,这可以通过

完成

brew install gnu-tar --with-default-names

答案 1 :(得分:2)

我已经用这个命令解决了这个问题:

cd $GOPATH/src/github.com/hyperledger/fabric
brew install gnu-tar --with-default-names
brew install libtool
make clean
make peer

(OS:macOS Sierra版本10.12.5)

答案 2 :(得分:1)

我设法通过上述响应的组合在OSX上解决了这个问题。从头开始并克隆结构仓库。接下来,安装自制软件包

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

照顾gnutar问题 brew install gnu-tar --with-default-names

最后 brew install libtool

然后继续执行make命令

答案 3 :(得分:1)

操作系统:Mac Catalina(10.15.2)

自制软件:2.2.3

转到:1.13.6

我遇到了同样的问题,并通过以下方式解决了

brew install gnu-tar
brew install libtool

然后:

export PATH=$PATH:/usr/local/Cellar/gnu-tar/1.32/libexec/gnubin

请记住在路径中将版本(1.32)替换为已安装的版本。

cd $GOPATH/src/github.com/hyperledger/fabric
make clean
make peer

答案 4 :(得分:0)

要为@Gregory Haskins的答案添加更多解释,

--with-default-names选项现在不可用。

相反,将gnu-tar位置添加到PATH,以便找到gnu-tar并在bsdtar(macOS的)之前运行。

这可以通过

完成

export PATH="/usr/local/opt/gnu-tar/libexec/gnubin:$PATH"