1编译 lotus 失败: *** No rule to make target '.install-filcrypto'. Stop.
则直接删除 ./extern/
目录,然后重新编译:
rm -rf ./extern/ FFI_BUILD_FROM_SOURCE=1 make clean debug
2 编译 lotus 失败:Get "https://proxy.golang.org/github.com/xxxxxx": net/http: TLS handshake timeout
则需要设置 GOPROXY
这个环境变量,然后重新编译:
export GOPROXY=https://goproxy.cn FFI_BUILD_FROM_SOURCE=1 make debug # 此时不需要执行 clean 操作
3 编译 lotus 失败:server response: not found: module github.com/filecoin-project/lotus/extern/storage-sealing/sealiface: no matching versions for query "latest"
则,更换代码版本吧,这个版本的代码有问题,目前出现这个问题的代码版本是:v1.4.2-rc1
。
4 运行 lotus 出现崩溃:SIGILL: illegal instruction
这个一般是老机器才会出现的问题,由于老机器不支持 adx
等指令导致的, 解决方法: 编译的时候加上参数 CGO_CFLAGS="-D__BLST_PORTABLE__":
FFI_BUILD_FROM_SOURCE=1 CGO_CFLAGS="-D__BLST_PORTABLE__" make clean debug