設定編譯比特幣原始碼-linux
最近想研究下比特幣原始碼,首先得安裝下編譯環境,我首先按原始碼中build-osx.md文件中在mac中設定了下環境。過程一點也不順利。好不容易把該下載的檔案下載完了。並且安裝後。在編譯原始碼過程中。出現了各種錯誤。
後來通過 菜菜子 的文章 http://www.jianshu.com/p/8b4ebd0e4b3d?utm_campaign=hugo&utm_medium=reader_share&utm_content=note&utm_source=weixin-friends 開始在linux平臺中進行設定.
步驟一:
結果在 sudo apt-get install build-essential libtoolautotools-dev autoconf pkg-config libssl-dev 這條命令出了錯,錯誤資訊是"無法定位軟體包 libtoolautotools"。這種問題對於linux小白的我來說,還是很鬱悶的。但是通過網上找些問題 發現了其中了問題 。原來菜菜子把 libtool autotools 寫連了,分開即可。
步驟二:
按上面步驟安裝完了之後。開始下載原始碼。發現沒安裝git..安裝git的命令列是:
sudo apt install git.
步驟三:
然後下載比特幣原始碼:git clone https://github.com/bitcoin/bitcoin.git 。我裝原始碼安裝在了文件目錄下.
步驟四:
開始安裝berkeley-db(伯克利 資料庫):Berkeley DB是一個開源的檔案資料庫,介於關聯式資料庫與記憶體資料庫之間,使用方式與記憶體資料庫類似,它提供的是一系列直接訪問資料庫的函式,而不是像關聯式資料庫那樣需要網路通訊、SQL解析等步驟。
在bitcoin目錄下建立資料夾db4:
cd bitcoin
mkdir db4
然後下載berkeley-db安裝包:
wget 'http://download.oracle.com/berkeley-db/db-4.8.30.NC.tar.gz'
我安裝這個版本的berkeley挺順利的。如果不順利,可以嘗試下載
wget 'http://download.oracle.com/berkeley-db/db-6.2.32.NC.gz'
這個版本的資料庫。
接下來就是解壓和編譯:
tar -xzvf db-4.8.30.NC.tar.gz
cd db-4.8.30.NC/build_unix/
../dist/configure --enable-cxx --disable-shared --with-pic --prefix=/home/theusername/bitcoin/db4/
make install
我在 make install 的時候出現了錯誤資訊: mkdir:無法建立目錄"home/theusername":許可權不夠 makefile:933:recipe for target 'install_setup' failed。這就鬱悶了。百度查了一下。結果也不能解決這個問題。最後還是問了下“菜菜子”老師。其實非常簡單。這個“許可權不夠”,是要用管理員許可權。改為:
sudo make install .
完美解決,心裡有點小激動。接下來就要裝比特幣的客戶端了。首先進入bitcoin目錄下。
cd ..
cd ..
cd ..
./autogen.sh
./configure LDFLAGS="-L/home/theusername/bitcoin/db4/lib/" CPPFLAGS="-I/home/theusername/bitcoin/db4/include/"
結果這個命令又出問題了。報出的錯誤資訊是:configure:error:openssl not found
沒找到openssl,但我是有安裝的。百度查了下。說是要安裝開發版。接著執行下面的命令:
sudo apt-get install libsll-dev
安裝成功後接著執行上面的配置命令,又報出了一個 “libevent not found"的錯誤。真是不順利呀。接著安裝這個庫吧:sudo apt-get install libevent-dev。安裝成功後,接著執行配置命令:./configure LDFLAGS="-L/home/theusername/bitcoin/db4/lib/" CPPFLAGS="-I/home/theusername/bitcoin/db4/include/" 這次終於順利執行完了。眼淚都快出來了。平復下心情。接著執行下面的命令。
make
sudo make install
終於順利完成。眼淚嘩嘩的。
步驟五:
那怎樣證明安裝成功了呢。我們通過以下兩個命令列進行驗證:
$ which bitcoind
/usr/local/bin/bitcoind
$ which bitcoin-cli
/usr/local/bin/bitcoin-cli
結果正常輸出了。終於完成了進入比特幣原始碼世界的第一步了。
區塊鏈研習社比特幣原始碼研讀班,black
相關文章
- 區塊鏈鼻祖比特幣之13:比特幣原始碼編譯詳解區塊鏈比特幣原始碼編譯
- 比特幣原始碼研讀(0)bitcoin本地編譯與使用比特幣原始碼編譯
- 比特幣原始碼分析--RPC比特幣原始碼RPC
- 比特幣原始碼分析-網路(一)比特幣原始碼
- 比特幣原始碼分析--埠對映比特幣原始碼
- 比特幣挖礦與原始碼解析比特幣原始碼
- 比特幣原始碼研讀(1)bitcoin原始碼結構比特幣原始碼
- 高盛將設定比特幣交易臺比特幣
- 帶你瞭解比特幣Bitcoin原始碼比特幣原始碼
- Linux環境PostGIS原始碼編譯安裝Linux原始碼編譯
- linux下基於官方原始碼編譯ipoptLinux原始碼編譯
- Kubernetes原始碼編譯原始碼編譯
- Spring原始碼編譯Spring原始碼編譯
- A40i &T3 全原始碼編譯-ARM Linux核心在PC Linux的編譯方法原始碼編譯Linux
- Linux中程式包管理及程式的原始碼編譯Linux原始碼編譯
- 比特幣原始碼分析:多執行緒檢查指令碼比特幣原始碼執行緒指令碼
- 原始碼編譯Vim 8原始碼編譯
- MongoDB(0)- 原始碼編譯MongoDB原始碼編譯
- XCode 編譯 PAG 原始碼XCode編譯原始碼
- Docker編譯Azerothcore原始碼Docker編譯原始碼
- linux-原始碼的編譯安裝和解除安裝Linux原始碼編譯
- 基於Linux的MySQL5.7原始碼編譯安裝LinuxMySql原始碼編譯
- 比特幣原始碼分析:任務排程器的使用比特幣原始碼
- MacOS X 編譯Android原始碼Mac編譯Android原始碼
- 原始碼編譯 apache2.4原始碼編譯Apache
- WebRTC研究 (一) 編譯原始碼Web編譯原始碼
- 原始碼編譯安裝Redis原始碼編譯Redis
- nvme driver 原始碼修改、編譯原始碼編譯
- Android FrameWork 之原始碼編譯AndroidFramework原始碼編譯
- 龍芯原始碼編譯MySQL原始碼編譯MySql
- Swift原始碼專案編譯Swift原始碼編譯
- 比特幣指令碼語言比特幣指令碼
- 【比特幣價格】“經典的頂級設定”?創歷史新高後,Kraken的比特幣價格暴跌比特幣
- Linux環境下, 原始碼編譯安裝詳解 (編譯CMake 3.15 和 gcc 5.3.0 為例)Linux原始碼編譯GC
- 比特幣原始碼研讀(3)資料結構-交易Transaction比特幣原始碼資料結構
- Dubbo原始碼之動態編譯原始碼編譯
- android 反編譯APK取原始碼。Android編譯APK原始碼
- 原始碼編譯安裝的原理原始碼編譯
- 【轉】MySQL原始碼編譯安裝MySql原始碼編譯