第一个基板链构建失败
2021-06-08
925
想根据他们的指南 [1] 一步一步创建我的第一个 Substrate 链: https://substrate.dev/docs/en/tutorials/create-your-first-substrate-chain/
运行此命令:cargo build --release 但出现此错误:
Compiling sc-chain-spec v3.0.0
The following warnings were emitted during compilation:
warning: Assembler messages:
warning: Error: can't open /tmp/cc02CgnB.s for reading: No such file or directory
error: failed to run custom build command for librocksdb-sys v6.11.4
Caused by:
process didn't exit successfully: ~/projects/rust-projects/substrate-node-template/target/release/build/librocksdb-sys-8abff3284793cb9b/build-script-build (exit code: 1)
--- stdout
cargo:rerun-if-changed=rocksdb/
TARGET = Some("x86_64-unknown-linux-gnu")
OPT_LEVEL = Some("3")
HOST = Some("x86_64-unknown-linux-gnu")
CXX_x86_64-unknown-linux-gnu = None
CXX_x86_64_unknown_linux_gnu = None
HOST_CXX = None
CXX = None
CXXFLAGS_x86_64-unknown-linux-gnu = None
CXXFLAGS_x86_64_unknown_linux_gnu = None
HOST_CXXFLAGS = None
CXXFLAGS = None
CRATE_CC_NO_DEFAULTS = None
DEBUG = Some("false")
CARGO_CFG_TARGET_FEATURE = Some("fxsr,sse,sse2")
-- stderr
error occurred: Command "c++" "-O3" "-ffunction-sections" "-fdata-sections" "-fPIC" "-m64" "-I" "rocksdb/include/" "-I" "rocksdb/" "-I" "rocksdb/third-party/gtest-1.8.1/fused-src/" "-I" "snappy/" "-I" "." "-Wall" "-Wextra" "-std=c++11" "-Wno-unused-parameter" "-msse2" "-msse4.1" "-msse4.2" "-mpclmul" "-DSNAPPY=1" "-DNDEBUG=1" "-DHAVE_SSE42=1" "-DHAVE_PCLMUL=1" "-DOS_LINUX=1" "-DROCKSDB_PLATFORM_POSIX=1" "-DROCKSDB_LIB_IO_POSIX=1" "-o" "/home/kayvan/developer/projects/rust-projects/substrate-node-template/target/release/build/librocksdb-sys-1d9c3f88cabe429f/out/rocksdb/db/memtable.o" "-c" "rocksdb/db/memtable.cc" with args "c++" did not execute successfully
(status code exit code: 1)
3个回答
在基于 arch 的 linux 中,您需要这些先决条件:
export OPENSSL_LIB_DIR="/usr/lib/openssl-1.0"
export OPENSSL_INCLUDE_DIR="/usr/include/openssl-1.0"
对于其他系统,请查看 ./docs/rust-setup.md
kayvan jam
2021-06-12
WASM_BUILD_TOOLCHAIN=nightly-x86_64-unknown-linux-gnu cargo build --release
不需要包含 WASM nightly 工具链,这对于 Substrate v2.0 可能是必需的,但对于 Substrate v3.0 不再需要
请按照 此处的指南 进行操作并构建 [node template v3.0:
git clone -b v3.0.0 --depth 1 https://github.com/substrate-developer-hub/substrate-node-template
cd substrate-node-template
# NOTE: you should always use the `--release` flag
cargo build --release
# ^^ this will take a while to do a release build!
Nuke
2021-06-08
尝试使用 with-parity-db 功能进行编译,这样 rocksdb 就不会被编译。
如果您想要轻松一点,那么在 checkout 目录中运行 nix-shell,它将安装所有必需的依赖项。
Squirrel
2021-12-01