Ошибка построения структуры hyperledger: «Ошибка создания данных bzip2» в goshim.tar.bz2 - PullRequest
0 голосов
/ 17 февраля 2019

Предварительные условия

  • Ткань 1.4
  • У меня openSUSE на Raspbery Pi3 +

Подробности ошибки

Я запустил следующеекоманда.

# make docker
  • Не удалось создать goshim.tar.bz2 Произошла ошибка, и я не могу создать соединение.

    Removing intermediate container fb7423fe5cf7
     ---> 24c6fdada18f
    Successfully built 24c6fdada18f
    Successfully tagged hyperledger/fabric-orderer:latest
    docker tag hyperledger/fabric-orderer hyperledger/fabric-orderer:arm64-1.4.1-snapshot-e91c57c5f
    docker tag hyperledger/fabric-orderer hyperledger/fabric-orderer:arm64-latest
    Creating .build/goshim.tar.bz2
    make: execvp: /bin/sh: Argument list too long
    make: *** [Makefile:315: .build/goshim.tar.bz2] Error 127
    
  • Makefile

    $(BUILD_DIR)/goshim.tar.bz2: $(GOSHIM_DEPS)
            @echo "Creating $@"
            @tar -jhc -C $(GOPATH)/src $(patsubst $(GOPATH)/src/%,%,$(GOSHIM_DEPS)) > $@
    

Есть ли способ избежать этого явления?

1 Ответ

0 голосов
/ 21 февраля 2019

make: execvp: / bin / sh: список аргументов слишком длинный

Это, вероятно, вызвано списком исходных файлов, созданным GOSHIM_DEPS, который слишком длинный для параметровsh, который выполняется неявно.

Попробуйте: замените строку @tar на @./scripts/goListFiles.sh $(PKGNAME)/core/chaincode/shim | sed “s!$(GOPATH)/src/!!g” |xargs tar -jhc -C $(GOPATH)/src > $@

У меня нет среды, идентичной вашей, поэтому приведенный выше код может содержать ошибки, но основная идея может быть применена.

РЕДАКТИРОВАТЬ : Тем не менее, все еще будут некоторые шансы, что ошибка может остаться.Сам GOSHIM_DEPS определяется с использованием синтаксиса $() и находится под верхним пределом длины параметра sh.

...