在CentOS 7上編譯Qtum

QTUM量子鏈開發團隊發表於2018-07-16

在CentOS 7上編譯Qtum

在CentOS上編譯Qtum是一件非常麻煩的事情,因為CentOS提供的boost庫過於老舊。而我們需要自己去手動編譯boost庫。

準備工作

新增epel-release倉庫,然後安裝一些編譯工具:

sudo yum install epel-release gcc-c++ git
複製程式碼

編譯Boost

我們需要至少1.58.0版本的boost庫來編譯Qtum,但是CentOS 7上只提供了1.53.0版本以下的boost,我們可以選擇手動編譯。

首先我們需要安裝一些依賴:

sudo yum install python-devel bzip2-devel
複製程式碼

然後我們從GitHub上克隆boost庫:

git clone https://github.com/boostorg/boost.git
cd boost
複製程式碼

檢出一個釋出版本並且初始化子模組:

git checkout boost-1.58.0
git submodule update --init --recursive
複製程式碼

編譯Boost: 你可以把--prefix--libdir設定為任意你想要的位置,或者保持預設。但是你需要在編譯和執行Qtum的時候把

libdir
新增到LD_LIBRARY_PATH環境變數中,多少有些麻煩。

# omit the --libdir option for 32-bit systems
./bootstrap.sh --prefix=/usr --libdir=/usr/lib64
./b2 headers
# 你可以設定-j<N>,其中N是你的電腦的CPU的核心數或執行緒數。
sudo ./b2 -j4 install
複製程式碼

編譯Qtum

安裝依賴:

sudo yum install libtool libdb4-cxx-devel openssl-devel libevent-devel
複製程式碼

如果你需要編譯Qtum圖形化介面qtum-qt,你還需要安裝這些依賴:

sudo yum install qt5-qttools-devel protobuf-devel qrencode-devel
複製程式碼

克隆倉庫並且初始化子模組:

git clone https://github.com/qtumproject/qtum.git
cd qtum
git submodule update --init --recursive
複製程式碼

配置引數以及編譯:
如果你把boost安裝到了/, /usr, /usr/local以外的路徑,你需要在configure的時候指定--with-boost=/path/to/your/boost,以及把/path/to/your/boost/lib新增到LD_LIBRARY_PATH環境變數。

./autogen.sh
./configure
make -j4複製程式碼


相關文章