在CentOS上编译Qtum是一件很是麻烦的事情,由于CentOS提供的boost
库过于老旧。而咱们须要本身去手动编译boost
库。python
添加epel-release
仓库,而后安装一些编译工具:c++
sudo yum install epel-release gcc-c++ git
复制代码
咱们须要至少1.58.0
版本的boost
库来编译Qtum,可是CentOS 7上只提供了1.53.0
版本如下的boost
,咱们能够选择手动编译。git
首先咱们须要安装一些依赖:github
sudo yum install python-devel bzip2-devel
复制代码
而后咱们从GitHub上克隆boost
库:bootstrap
git clone https://github.com/boostorg/boost.git
cd boost
复制代码
检出一个发布版本而且初始化子模块:bash
git checkout boost-1.58.0
git submodule update --init --recursive
复制代码
编译Boost: 你能够把--prefix
和--libdir
设置为任意你想要的位置,或者保持默认。可是你须要在编译和运行Qtum的时候把工具
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
复制代码
安装依赖:ui
sudo yum install libtool libdb4-cxx-devel openssl-devel libevent-devel
复制代码
若是你须要编译Qtum图形化界面qtum-qt
,你还须要安装这些依赖:spa
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复制代码