Mac 11.5.2下solana-test-validator无法运行求助
Solana测试验证器在Mac 11.5.2运行失败的解决办法
问题详情
在Mac 11.5.2系统下运行solana-test-validator时失败,终端错误信息如下:
dyld: Symbol not found: __ZNSt3__115basic_stringbufIcNS_11char_traitsIcEENS_9allocatorIcEEE7seekoffExNS_8ios_base7seekdirEj Referenced from: /Users/andreyfrolov/.local/share/solana/install/active_release/bin/solana-test-validator (which was built for Mac OS X 12.0) Expected in: /usr/lib/libc++.1.dylib in /Users/andreyfrolov/.local/share/solana/install/active_release/bin/solana-test-validator [1] 94110 abort solana-test-validator
已尝试执行brew install openssl@1.1安装openssl,但问题未解决。
错误原因
当前使用的solana-test-validator是针对Mac OS X 12.0(Monterey)编译的,而Mac 11.5.2(Big Sur)系统自带的libc++.1.dylib库缺少程序依赖的符号,导致运行时链接失败。
解决办法
- 降级Solana到支持Mac Big Sur的版本,比如运行以下命令安装1.10.35版本:
安装完成后重新启动测试验证器即可。solana-install init 1.10.35 - 升级Mac系统到Monterey(12.0)及以上版本,系统自带的libc++库会包含所需符号,满足程序依赖。
- 手动编译Solana源码:
- 克隆Solana仓库:
git clone https://github.com/solana-labs/solana.git - 切换到支持Big Sur的分支(比如
release/1.10):git checkout release/1.10 - 执行编译脚本:
./scripts/cargo-build-all.sh - 使用编译生成的本地二进制文件运行测试验证器。
- 克隆Solana仓库:
内容的提问来源于stack exchange,提问作者Frolov Andrey
相关产品推荐
相关产品推荐

