dyld:在 mac 上執行 bitcoind 時未載入庫
我在我的 Mac (Sierra) 上執行 bitcoind 時遇到問題。我之前安裝了 bitcoind,從原始碼編譯,但是當我空間不足時不得不刪除它。我最近再次安裝了 Bitcoin Core,但這次我下載了一個 .dmg 文件。它安裝得很好,我可以執行 Bitcoin-Qt。現在,當我嘗試從命令行執行 bitcoind 或使用 bitcoin-cli 時,我收到以下錯誤消息:
dyld:庫未載入:/usr/local/opt/miniupnpc/lib/libminiupnpc.16.dylib 引用自:/usr/local/bin/bitcoind 原因:找不到圖像中止陷阱:6
我似乎無法解決這個問題。我可能很容易解決,但我無法照顧它。
有人知道如何解決它嗎?
對於您的情況,下面的答案可能不完整,但如果您採取主動,事情就會順利進行。
對於特定的電腦體系結構,靜態連結的已編譯執行檔是 100% 完成的,並且比動態連結的執行檔大得多,動態連結的執行檔傾向於更好地跨具有不同體系結構的電腦移植。
您執行不正常的執行檔正在使用動態連結庫,而不是使用靜態連結庫。您的執行檔正在 /usr/local/opt/miniupnpc/lib/ 目錄中查找名為 miniupnpc.16.dylib 的動態連結庫(文件)。
如果您安裝了Homebrew,a
"% brew list"
將指示是否安裝了miniupnpc包。A"% brew ls -v miniupnpc"
將辨識 miniupnpc 封包件的安裝路徑,例如動態連結的lib/libminiupnpc.16.dylib庫文件或靜態連結的lib/libminiupnpc.a庫文件。您需要閱讀有關 Mac 上使用的HOMEBREW_LIBRARY_PATH環境變數和DYLD_LIBRARY_PATH環境變數的資訊。
您的命令行界面和 *.dmg 文件的路徑不同。使用 UNIX
"% which bitcoind"
或"% which bitcoin-cli"
確定在您的 UNIX shell 中真正設置的命令行路徑。
我將總結skaht的答案。執行它,它將解決您的問題:
brew install miniupnpc ln -s /usr/local/opt/miniupnpc/lib/libminiupnpc.dylib /usr/local/opt/miniupnpc/lib/libminiupnpc.16.dylib