在 Arch linux 上建構 libbitcoin 庫失敗
我正在嘗試在 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/local
。configure
但是,在建構過程中執行的腳本預設不會在/usr/local
. 因此,為了configure
找到其他模組,必須更改每個模組的前綴或告訴configure
腳本在哪裡查找庫 - 例如通過在執行腳本之前設置變數 PKG_CONFIG_PATH:
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
。
pkgconfig
目錄包含配置文件,其中包含受影響依賴項所需的所有資訊,因此如果變數設置正確,configure
腳本將找到它們並編譯成功。PS編譯
libsecp256k1
需要用flag來做,--enable-module-recovery
才能兼容libbitcoin。