在ubuntu系統(tǒng)下編譯bitcoin源碼過程

說明:本編譯過程的ubuntu版本為ubuntu16.04LTS,源碼下載來自Github網(wǎng)站的開源地址:https://github.com/bitcoin/bitcoin,版本為最近版本v0.15.1。下面的教程將默認(rèn)已下載好源碼??梢詤⒖肌毒ū忍貛胖形陌妗稰31-34。


第一步:環(huán)境裝備

通過下面的的命令安裝編譯bitcoind所需要的依賴庫:

sudo apt-get install build-essential libtool autotools-dev autoconf automake libssl-dev libboost-all-dev libdb-dev libdb++-dev pkg-config


(下圖出現(xiàn)了我在執(zhí)行命令時(shí)出現(xiàn)的問題,如果沒有遇到可忽視次部分)

無法獲得鎖等錯(cuò)誤

解決方案:

強(qiáng)制解鎖--命令:

sudo rm /var/cache/apt/archives/lock

sudo rm /var/lib/dpkg/lock


說明:libevent-devgit-core庫會(huì)提示“無法定位軟件包”,要單獨(dú)安裝libevent。

libevent安裝過程:

1)進(jìn)入官網(wǎng)http://libevent.org/

2)下載libevent安裝包:libevent-X.X.XX-stable.tar.gz,(最新版就行),然后解壓。

3)切換到解壓后的 libevent 主目錄:cd libevent-X.X.XX-stable

4)依次執(zhí)行:

sudo ./configure -prefix=/usr (或 sudo ./configure --program-prefix=/usr)?

sudo? make?

sudo? make install?

? 注意:

a)執(zhí)行 make install 時(shí)需要 root 權(quán)限。

b)libevent會(huì)安裝到 /usr/lib 或 /usr/local/lib 下

5)測(cè)試libevent是否安裝成功:

ls -al /usr/lib | grep libevent(或 ls -al /usr/local/lib | grep libevent)

出現(xiàn)類似下圖結(jié)果則表示安裝成功:

安裝成功圖示

6)如果libevent的安裝目錄為/usr/local/lib下,則還需要建立 libevent-X.X.so.X 到 /usr/lib 的軟連接,這樣其他程序運(yùn)行時(shí)才能找到libevent庫:

ln -s /usr/local/lib/libevent-X.X.so.X? /usr/lib/libevent-X.X.so.X

注意:要把命令中的X換成對(duì)應(yīng)數(shù)字。比如本教程的完整命令為:

ln -s /usr/local/lib/libevent-2.1.so.6.0.2 /usr/lib/libevent-2.1.so.6.0.2

安裝成功后的壓縮文件和解壓文件可以刪除。

第二步:編譯bitcoin

1)解壓下載的源碼,并終端進(jìn)入解壓后的文件夾中;

2)編譯源碼所需要的庫配置:

./autogen.sh

3)生成makefile文件:

./configure --without-gui --with-incompatible-bdb


禁用錢包界面功能,僅提供比特幣網(wǎng)絡(luò)節(jié)點(diǎn)發(fā)現(xiàn)功能,可以使用以下命令:

./configure --without-gui? --disable-wallet


當(dāng)出現(xiàn)類似下面界面說明makefile文件生成成功。

./configure正確時(shí)的圖示

此時(shí)在源碼的src/config/ 文件夾下會(huì)有如下圖所示的文件:

src/config/出現(xiàn)的文件

其中圈出來的bitcoin-config.h文件在bitcoin源碼解析中常用到,是個(gè)重要參考文件。

4)利用make進(jìn)行編譯:

sudo make


如果在執(zhí)行命令時(shí)出現(xiàn)如下圖所示的問題,則用添加虛擬內(nèi)存的方法解決。(如果沒有此問題可跳過此部分)


內(nèi)存過低的錯(cuò)誤

問題分析:在網(wǎng)上查詢?cè)?,發(fā)現(xiàn)是由于是在虛擬機(jī)中,我只分配了1G的內(nèi)存,導(dǎo)致內(nèi)存太少。

解決辦法:在網(wǎng)上找一些教程,添加虛擬內(nèi)存,最終解決這個(gè)問題。方法如下:

①創(chuàng)建SWAP文件(我的/HOME比較大,所以就放在HOME下了),命令如下:

mkdir swap

cd swap

sudo?dd?if=/dev/zero?of=swapfile?bs=1024?count=4066544

備注:count為swap文件的大小,我在這里設(shè)置成4G的大小,可以根據(jù)自己需要設(shè)置不同大小。

②把生成的文件轉(zhuǎn)換成SWAP文件:

sudo mkswap swapfile

③激活swap文件(可以用 free -M 先查看現(xiàn)有swap的大下,完成后再查看激活新的大?。?/p>

sudo swapon swapfile

④修改/etc/fstab,實(shí)現(xiàn)自動(dòng)掛載:

sudo gedit /etc/fstab

在文件中后面加入:

/home/username/swap/swapfile ? swap ? ? swap ? defaults ?0 ?0

到此這個(gè)內(nèi)存過低提醒沒有出現(xiàn)過了!然后重新make就好了。


make過程是很慢的,此時(shí)可以有機(jī)會(huì)放松一會(huì)兒。

編譯好的bitcoind、bitcoin-tx和bitcoin-cli這些可執(zhí)行文件在src目錄下。

5)(可選擇不操作此步)安裝編譯好的二進(jìn)制文件,命令如下:

sudo make install

好了,到這兒編譯就基本結(jié)束了,還可以用查詢命令來確認(rèn)bitcoin是否安裝成功。

6)檢查bitcoin是否安裝成功:

which bitcoind

會(huì)出現(xiàn):/usr/local/bin/bitcoind

which bitcoin-cli

會(huì)出現(xiàn):/usr/local/bin/bitcoin-cli

則表示bitcoin安裝成功。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容