`librocksdb-sys v6.11.4` 的自定义构建命令运行失败,出现了一些错误。

10

我尝试创建我的第一个 Substrate 链。 创建你的第一个 Substrate 链

但在编译 Substrate 时出现了一些错误。

无法运行 librocksdb-sys v6.11.4 的自定义构建命令

有人知道如何解决这个问题吗?


2
你使用的是苹果 M1 吗?如果是,目前在该平台上构建 rocksdb 存在问题。请参考以下方法:https://vikiival.medium.com/run-substrate-on-apple-m1-a2699743fae8 - apopiak
这需要更清晰的说明。您的依赖关系、平台,特别是构建错误的完整输出是什么? - kmdreko
7个回答

22

你需要安装额外的库:

sudo apt install clang 可以帮助你。


我有一台旧的Mac电脑,但是Brew需要10.16版本的操作系统,而我只有10.14版本。请问有什么解决方案吗? - Ali Husham
解决方案适用于基于Linux的操作系统,我不知道旧版Mac的问题,所以无法提供帮助。 - Tomasz Waszczyk

5

2
谢谢!这对我正在 Solana 生态系统中开展的项目非常有帮助! - KotlinIsland

1

建议您将cargo更新为nightly版本,然后再尝试运行。如果仍然出现停止错误,请尝试注释掉某些命令,并可能需要学习相关链接。

# rustup component add --toolchain = nightly rust-src rustfmt

rustup target add wasm32-unknown-unknown

#安装llvm、clang和当前内核的Linux头文件#

apt install llvm clang
cargo build --release

#cargo fix --allow-dirty #cargo fix --edition

 #lsb_release -a
   No LSB modules are available.
   Distributor ID:  Ubuntu
   Description: Ubuntu 20.04.3 LTS
   Release: 20.04
   Codename:    focal
 #ldconfig --version
   ldconfig (Ubuntu GLIBC 2.31-0ubuntu9.2) 2.31
 #cargo --version
   cargo 1.60.0-nightly (25fcb13 2022-02-01)
 #rustc --version
   rustc 1.60.0-nightly (f624427f8 2022-02-06)
 #rustup show
   Default host: x86_64-unknown-linux-gnu
   rustup home:  /root/.rustup
   installed targets for active toolchain
 --------------------------------------
 wasm32-unknown-unknown
 x86_64-unknown-linux-gnu
 active toolchain
 ----------------
 nightly-x86_64-unknown-linux-gnu (default)
 rustc 1.60.0-nightly (f624427f8 2022-02-06)

#ArmanRiazi.blockchain#Substrate#Dr.GavinWood 详见: 步骤 / 底层技术 / 节点设置

你的回答可以通过提供更多支持信息来改进。请编辑以添加进一步的细节,例如引用或文档,以便他人可以确认你的答案是正确的。您可以在帮助中心找到有关如何编写良好答案的更多信息。 - Community

1

来自@apopiak

你在使用苹果M1芯片吗?如果是的话,目前在那里构建rocksdb存在问题。请参考这里的方法:vikiival.medium.com/run-substrate-on-apple-m1-a2699743fae8

其他人也报告需要:

您需要克隆rust-rocksdb存储库并检出此处列出的提交:https://github.com/substrate-developer-hub/substrate-node-template/issues/122,然后可以在主目录中的.cargo文件夹中创建一个config.toml文件,并添加指向该克隆存储库的路径。


0
对我来说,有效的方法是:
sudo apt-get update
sudo apt-get install g++

我尝试了几种方法,但在Ubuntu上运行WSL2后下载g++对我来说起作用了,我能够使用以下命令构建和运行frontier:
git clone https://github.com/paritytech/frontier/
cd frontier
cargo build --release
./target/debug/frontier-template-node --dev

我用这个链接 https://polkadot.js.org/apps/#?rpc=ws://127.0.0.1:9944 可以查看区块链浏览器。

0

对我来说,在intel(x86_64-apple-darwin)MacOS上,解决方法是卸载brew安装的llvm。

brew uninstall llvm

并使用从苹果的命令行工具安装的一个。


-1

您需要将版本更新为:"6.20.3" 校验和 = "c309a9d2470844aceb9a4a098cf5286154d20596868b75a6b36357d2bb9ca25d"

我正在运行 M1!


你的回答可以通过提供更多支持信息来改进。请编辑以添加进一步的细节,例如引用或文档,以便他人可以确认你的答案是正确的。您可以在帮助中心中找到有关如何编写良好答案的更多信息。 - Community

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接