在 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
我尝试根据建议安装 open ssl,但没有帮助
brew install [email protected]
找出问题所在。要解决此类问题,您需要执行以下步骤
安装llvm
brew install llvm
ln -s /usr/local/opt/llvm/lib/libc++.1.0.dylib /usr/local/lib/libc++.1.dylib
export DYLD_LIBRARY_PATH=/usr/local/lib
之后跳转到目录并运行
cd /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources
sudo ln -sf libJPEG.dylib /usr/local/lib/libJPEG.dylib
sudo ln -sf libPng.dylib /usr/local/lib/libPng.dylib
sudo ln -sf libTIFF.dylib /usr/local/lib/libTIFF.dylib
sudo ln -sf libGIF.dylib /usr/local/lib/libGIF.dylib
问题的根本原因是 solana cli 的版本是为 MacOS 12+ 构建的。
您可以尝试安装专为 MacOS 11 构建的较低版本。
但是,我不建议使用旧版本,因为存在它们可能被破坏或存在安全漏洞的风险。