Bitcoin-Core

無法在 Mac Catalina 上建構比特幣

  • March 15, 2021

執行“make”或“make check”後,我不斷收到此錯誤消息:

Making check in src
 CXXLD    bitcoind
Undefined symbols for architecture x86_64:
 "__ZN2Db6verifyEPKcS1_PSoj", referenced from:
     __ZN16BerkeleyDatabase6VerifyER13bilingual_str in libbitcoin_wallet.a(libbitcoin_wallet_a-bdb.o)
 "__ZN5boost10filesystem4path5imbueERKSt6locale", referenced from:
     __Z16SetupEnvironmentv in libbitcoin_util.a(libbitcoin_util_a-system.o)
ld: symbol(s) not found for architecture x86_64
collect2: error: ld returned 1 exit status
make[2]: *** [bitcoind] Error 1
make[1]: *** [check-recursive] Error 1
make: *** [check-recursive] Error 1

關於如何解決它的任何想法?

來自 brew 的由 clang 編譯的 Berkeley-db 與 GCC 不兼容。使用 GCC 重新編譯 berkeley-db4:

HOMEBREW_CC=gcc-10 HOMEBREW_CXX=g++-10 brew reinstall --build-from-source berkeley-db4

或者用 clang 編譯 Core

討論:https ://github.com/bitcoin/bitcoin/issues/3228

引用自:https://bitcoin.stackexchange.com/questions/103594