Client

使用自製軟體在 OSX 上編譯 bitcoind 時遇到問題

  • September 16, 2020

我已經閱讀了比特幣 github 頁面上的 README,它指導您使用 MacPorts 安裝以下庫 - boost db48 dbus openssl.

我已經安裝了這些homebrew,而不是 MacPorts。它們也是homebrew安裝後的正確版本,不兼容的版本。

安裝這些後,我編輯了make指向homebrew安裝的庫DEPSDIR=/usr/local並添加 -I"$(DEPSDIR)/Cellar/berkeley-db4/4.8.30/include"INCLUDEPATHS

但是,我收到了這個編譯器錯誤,這對我來說很神秘:

<https://gist.github.com/ashleyconnor/944f611b969444f06430145972b880cf>

有沒有人設法讓這個工作?

**更新:**截至 2013 年 2 月 19 日,這些說明或類似說明已包含在比特幣源中。詳情請參閱doc/build-osx.md。因此,以下說明可能會過時。或者,讓自己輕鬆使用WyseNynja 的自製水龍頭brew tap wysenynja/bitcoin && brew install bitcoind.

使用自製軟體在 OSX 10.8 上建構 bitcoind

我使用這些說明讓比特幣工作。作為參考,我在 OSX 10.8.2 和 homebrew 0.9.3 上。我一直假設自製軟體安裝在 /usr/local 中。我還假設您已經安裝了 Xcode 命令行實用程序和任何其他對建構程式碼至關重要的軟體包。如果您定期建構任何程式碼,例如您安裝了 RVM 以偶爾建構 ruby​​,那麼您可能沒問題!

從自製軟體安裝一些必要的庫。

brew install boost miniupnpc openssl

將 berkeley-db 公式恢復為舊版本

cd /usr/local
git checkout e6a374d Library/Formula/berkeley-db.rb

如果您已經安裝了最新版本,則可能需要取消連結。

brew unlink berkeley-db

既然你已經有了正確的公式,就安裝 berkeley-db 4.8。

brew install berkeley-db

從 Github 結帳。

git clone https://github.com/bitcoin/bitcoin.git

編輯 makefile.osx 以對其進行一些更改。這是一個顯示您需要更改的差異,或者您可以通過執行將其用作更新檔echo '$patch-text' | patch,其中 $patch-text 是下面的更新檔文本。

diff --git a/src/makefile.osx b/src/makefile.osx
index 9629545..ffac9a3 100644
--- a/src/makefile.osx
+++ b/src/makefile.osx
@@ -7,17 +7,19 @@
# Originally by Laszlo Hanyecz (solar@heliacal.net)

CXX=llvm-g++
-DEPSDIR=/opt/local
+DEPSDIR?=/opt/local

INCLUDEPATHS= \
 -I"$(CURDIR)" \
 -I"$(CURDIR)"/obj \
 -I"$(DEPSDIR)/include" \
- -I"$(DEPSDIR)/include/db48"
+ -I"$(DEPSDIR)/include/db48" \
+ -I"/usr/local/Cellar/openssl/1.0.1c/include"

LIBPATHS= \
 -L"$(DEPSDIR)/lib" \
- -L"$(DEPSDIR)/lib/db48"
+ -L"$(DEPSDIR)/lib/db48" \
+ -L"/usr/local/Cellar/openssl/1.0.1c/lib"

USE_UPNP:=1
USE_IPV6:=1

開始建構。

cd bitcoin/src
make -f makefile.osx DEPSDIR=/usr/local

它現在可以在 ./bitcoind 獲得。不過,我們必須首先創建 rpc 配置文件。執行 ./bitcoind 以獲取應放置的文件名,或者嘗試以下文本。

echo "rpcuser=bitcoinrpc
rpcpassword=HdAseQSRkirfoNuUSzqzixyL9sM1T6ABfzV1nyNmbuwg" &gt; "/Users/${USER}/Library/Application Support/Bitcoin/bitcoin.conf"
chmod 600 "/Users/${USER}/Library/Application Support/Bitcoin/bitcoin.conf"

下次執行時,它會開始下載區塊鏈,但在執行此操作時不會輸出任何內容。這個過程可能需要幾個小時。

我的似乎工作正常,但它仍在下載區塊鏈。經過一些測試,我將能夠判斷它是否正常工作,但我懷疑它是!

啟示:

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