Bitcoin項目源碼是用C++寫的,我對C++以及它的編譯工具又比較熟悉,這次我嘗試了在openEuler RISC-V 24.09上面部署Bitcoin。網上編譯Bitcoin源碼的很多都是以前舊版的,舊版編譯是用automake之類的工具,但是在最新版只需要用cmake就行,兩者的部署方式不相同,我分別記錄一下。
最新版:
把項目拉下來之後,因為有比較多的依賴沒有下載,於是只能邊跑邊看看缺什麼,以下是缺的幾樣東西(除去最基本的C++工具)
dnf intall sqlite-devel
dnf install boost-devel
dnf install pkgconf-devel
只需要 mkdir build && cd build && cmake .. && make -j$(nproc)即可部署,不過編譯完還有瑕疵,得測試以下。
跟Boost相關的警告,得測試各種Bitcoin的命令行服務才能知道究竟有什麼。 舊版: 舊版我用的是 0.10.3,這是比較早期的版本,即便是在現在的Ubuntu(x86)上面編譯,也會出現問題(包版本比較新)。 以下是缺的包(除去C++及其編譯工具鏈) dnf install libdb-devel
但是這裏安裝完再跑一遍會出現如下的錯誤
因此在 configure 階段,我選擇加了 --disable-wallet 這個選項,禁用掉錢包的功能。 繼續往下走,就比較棘手了,推斷跟Boost有關,我在Ubuntu上面也遇到了,不過下載了libboost-system-dev就解決了
準確來説,應該要下載libboost-all-dev,因為不止boost_system會有這個問題,主要一點就是libboost-all-dev包含了libboost-system-dev,但是OE上面boost-devel好像並不包含boost-system-devel?因為只有 boost-system 而沒有 boost-system-devel。
暫時就先到這裏,如果解決了我再寫一篇文章,綜上,舊版的就只需要 ./autogen.sh && ./configure --disable-wallet 就能到這裏了,至於怎麼解決,我還在探討。