2017-01-04 1 views
0

Certains utilisateurs un bâtiment échec par les pairs comme suit:bâtiment par les pairs: « données bzip2 non valide » dans goshim.tar.bz2

$ 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 

Répondre

7

Ceci est un problème connu sous OSX en raison d'incompatibilités entre bsdtar (que livré avec OSX) et gnutar (ce que le docker attend).

Il peut être fixé simplement en s'assurant que gnutar est disponible sur le chemin comme "goudron". Dans Mac OS X, cela peut être accompli avec

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

+1

Il convient de noter que si vous avez reçu l'erreur, alors vous devez atomiser le répertoire de tissu, et tirez-le à nouveau de la mise en pension. Le simple fait de faire «redevenir pair» ne fonctionnera pas (le fichier bz2 foiré est toujours là). –

+0

Notez également que cette erreur peut toujours se produire si vous avez déjà installé une ancienne version de gnu-tar, vous devrez alors exécuter 'brew unlink gnu-tar' puis la commande d'installation ci-dessus. J'ai testé cette séquence de cmds après avoir rencontré le problème avec 1,28 de gnu-tar installé, unlink + install a résolu le problème. –

+0

J Steven Perry en effet ... cela valait vraiment la peine d'être noté. Devrait être référencé quelque part dans les docs j'irais jusqu'à dire. –

1

J'ai réussi à résoudre ce problème sur Mac OS X avec une combinaison des réponses ci-dessus. Commencez à partir de zéro et cloner le repo de tissu. Ensuite, installez le package homebrew

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

Prenez soin de la question gnutar brew install gnu-tar --with-default-names

Et enfin brew install libtool

Procédez ensuite avec vos make commandes

1

J'ai résolu ce problème problème à faire ces commandes:

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

(OS: Version macOS Sierra 10.12.5)

+1

quelques explications sur ce que le code fait s'il vous plaît. – user1120808