Rust、OpenSSL、solana-test-validator 库未加载问题

Posted

技术标签:

【中文标题】Rust、OpenSSL、solana-test-validator 库未加载问题【英文标题】:Rust, OpenSSL, solana-test-validator library not loaded issue 【发布时间】:2021-09-15 15:00:44 【问题描述】:

我在 Mac(M1) Big Sur 11.4,Homebrew 版本 3.2,OpenSSL@1.1

我尝试在他们的README 中运行 solanar-test-validator ,我用自制软件安装了open ssl,然后我链接了openssl

sudo ln -s /opt/homebrew/opt/openssl@1.1/lib/libcrypto.1.1.dylib /usr/local/opt/openssl@1.1/lib/

当我运行 solana validate 时,出现错误

【问题讨论】:

【参考方案1】:

您需要使用 Rosetta,如 https://github.com/solana-labs/solana#1-install-rustc-cargo-and-rustfmt 的自述文件中所述

目前还没有原生 M1 版本。

【讨论】:

谢谢,我在很多群里问过,但没有答案。我会试试你的答案。 按照 solana 中的说明操作后出现新错误:` 账本位置:test-ledger 日志:test-ledger/validator.log ⠙ 正在初始化... zsh:非法硬件指令 solana-test-validator `。我发现很多人都有同样的问题。看起来 solana 使用的依赖项在 M1 上仍然无法顺利运行。我认为 solana 开发团队应该更加努力地解决这个问题。【参考方案2】:

没有罗塞塔:

获取

git clone https://github.com/solana-labs/solana.git

构建

cd solana/validator

solana/validator

echo '#!/usr/bin/env bash

here="$(dirname "$0")"
set -x
exec cargo build --release --manifest-path="$here"/Cargo.toml --bin solana-test-validator -- "$@"' > solana-test-validator
./solana-test-validator

测试

cd ../target/release

solana/target/release

./solana-test-validator

链接

由于我将它与原始安装的 solana 工具一起使用,我将路径添加到我的 shell 配置(在 mac 上为 ~/.zshrc 或 ~/.bash_profile)。只需确保在输入 $which solana-test-validator 后能够找到二进制文件或符号链接即可 我添加到我的 .zshrc 中的内容:

export PATH="/Users/lain/git/solana/solana-src/target/release:$PATH"

当然,替换用户

Source and full credit

【讨论】:

以上是关于Rust、OpenSSL、solana-test-validator 库未加载问题的主要内容,如果未能解决你的问题,请参考以下文章

如何让Rust的openssl crate解密来自对称加密gem的数据而没有Node Crypto自动删除的乱码?

rust语言编写wasm简单例子

rust语言编写wasm简单例子

rust语言编写wasm简单例子

ISRG宣布用Rust重写Apache httpd服务器主程序 以提升内存安全性

如何使用 RustCrypto (ECDSA) 签署文件?