Linux

在 Arch linux 上建構 libbitcoin 庫失敗

  • April 14, 2018

我正在嘗試在 Arch linux 上建構 libbitcoin 庫。首先我嘗試下載 AUR 包。我成功安裝了 libsecp256k1 和 libbitcoin。但是如果我嘗試編譯 libbitcoin-system 和 libbitcoin-database,編譯會失敗。問題是 libsecp256k1 和 secp256k1 包之間的衝突。第一個是系統依賴,第二個是 libbitcoin。如果我欺騙檢查 secp256k1/libsecp256k1 庫的存在,則編譯在單元測試時會失敗。在查看 AUR 儲存庫時,我也很困惑。總是有和-git(例如libbitcoin-database 和libbitcoin-database-git)。我嘗試了所有可能的組合,但從未成功。

我還嘗試從 github 下載原始碼。首先:我不知道是執行標準./autogen.sh && ./configure && make -j4 && sudo make install還是寧願sudo ./install.sh

我再次使用第一種方法成功安裝了庫 secp256k1 和 libbitcoin,但是在 libbitcoin-database 中執行 ./configure 時,出現錯誤

configure: error: Package requirements (libbitcoin >= 4.0.0) were not met

請問有人在 Arch linux 上成功安裝了 libbitcoin 庫嗎?

github/libbitcoin 提供的庫模組(包括 libsecp256k1 的分叉版本)預設使用 prefix 安裝/usr/localconfigure但是,在建構過程中執行的腳本預設不會在/usr/local. 因此,為了configure找到其他模組,必須更改每個模組的前綴或告訴configure腳本在哪裡查找庫 - 例如通過在執行腳本之前設置變數 PKG_CONFIG_PATH:

export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig

pkgconfig目錄包含配置文件,其中包含受影響依賴項所需的所有資訊,因此如果變數設置正確,configure腳本將找到它們並編譯成功。

PS編譯libsecp256k1需要用flag來做,--enable-module-recovery才能兼容libbitcoin。

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