收到 'illegal instruction' 故障 运行 Hyperledger Fabric "Build your first network" 样本

Receive 'illegal instruction' fault running Hyperledger Fabric "Build your first network" sample

我正在尝试 运行 "Build your first network" 样本并收到 "illegal instruction" 故障 运行ning Hyperledger Fabric v1.0.1:

./byfn.sh -m generate
Generating certs and genesis block for with channel 'mychannel' and CLI timeout of '10000'
Continue (y/n)? y
proceeding ...
/tjr/bin/cryptogen

##########################################################
##### Generate certificates using cryptogen tool #########
##########################################################
org1.example.com
SIGILL: illegal instruction
PC=0x64d1af m=0

goroutine 1 [running]:
crypto/sha256.block(0xc42009e880, 0xc4200572c0, 0x40, 0x41)
    /opt/go/go1.7.linux.amd64/src/crypto/sha256/sha256block_amd64.s:733 +0x286f fp=0xc4200e2818 sp=0xc4200e25f0
crypto/sha256.(*digest).Write(0xc42009e880, 0xc4200572c0, 0x41, 0x41, 0xc4200572c0, 0x41, 0x41)
    /opt/go/go1.7.linux.amd64/src/crypto/sha256/sha256.go:119 +0x120 fp=0xc4200e2860 sp=0xc4200e2818
github.com/hyperledger/fabric/bccsp/sw.(*ecdsaPrivateKey).SKI(0xc4200282c0, 0x415168, 0x8, 0x6c13c0)

h/t 加里·辛格

不幸的是,看起来您实际上 运行 遇到了以下 Golang 问题:https://github.com/golang/go/issues/18512。 好消息是这个问题已经得到解决。 (有点)坏消息是它没有在 Go 1 中修复。7.X(用于编译二进制文件)。

您可以使用 Golang 1.8 或更高版本在本地自行构建二进制文件。

请注意,合并 FAB-5461 后,此问题将自行解决 - 可能是 v1.1.