Bitcoin-Core

如何在 Linux 上安裝 Berkeley DB 4.8?

  • June 14, 2021

Unix build notes沒有顯示如何安裝 4.8 版,除了說

錢包需要 BerkeleyDB。Ubuntu 和 Debian 有自己的 libdb-dev 和 libdb++-dev 軟體包,但它們將安裝 BerkeleyDB 5.1 或更高版本。這將破壞二進制錢包與基於 BerkeleyDB 4.8 的分佈式執行檔的兼容性。如果您不關心錢包兼容性,請通過 –with-incompatible-bdb 進行配置。否則,您可以從自編譯依賴項建構(見上文)。

引用的README.md

現在,您可以從自編譯依賴項建構或安裝所需的依賴項:

不討論 BerkeleyDB 4.8。

我知道有./contrib/install_db4.sh安裝 BerkeleyDB 4.8 的原始碼,但它在我的 Ubuntu 上使用curl: (7) Failed to connect to git.savannah.gnu.org port 443: No route to host.

您可以使用 Bitcoin Core 儲存庫中的此腳本編譯它: https ://github.com/bitcoin/bitcoin/blob/master/contrib/install_db4.sh 。它將為您提供有關如何./configure使用此編譯版本來建構項目的說明。

文件夾中提供了有關建構比特幣核心的說明/doc,對於 Unix 系統,它位於 <https://github.com/bitcoin/bitcoin/blob/master/doc/build-unix.md>

我在這裡找到了一個解決方案:

sudo add-apt-repository ppa:bitcoin/bitcoin
sudo apt-get update
sudo apt-get install libdb4.8-dev libdb4.8++-dev

另外,說:

較新的 libdb 應該適用於大多數硬幣守護程序,您可能會發現數據庫文件(尤其是wallet.dat)與所有其他系統不兼容,如果它們是在較舊的 libdb 上建構的。

這對應於比特幣核心 github 中的以下行:

這將破壞二進制錢包與基於 BerkeleyDB 4.8 的分佈式執行檔的兼容性。

wallet.dat因此,如果您想在另一個系統上使用您的 BerkeleyDB,而另一個系統恰好使用 BerkeleyDB 4.8 ,那麼擁有更新的 BerkeleyDB 只是一個問題——對於bitcoind可從項目本身下載的執行檔就是這種情況。

但是如果你只在自己的系統上使用錢包,或者如果你遷移它,你也使用帶有較新 BerkeleyDB 的系統,那麼應該沒有問題。

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