centos安装bcclient+bitcoin
1.安装bcclient
安装顺序是先装的bcclient,因为我发现安装bitcoin时候会更新openssl boost等包,而bcclient工具比较久远,需要的包版本都很老旧,而且github里的安装文档是ubuntu的,对于我这种渣渣来说,还是别作死了,也是因为之前在centos7的服务器上装过多次都不成功
1.1 下载
git clone htttps://github.com/ivanpustogarov/bcclient.git
1.2 安装依赖
这几个是安装bitcoin时需要的依赖,我先装了,也不知道哪个有用哪个没用
yum install autoconf automake libtool libdb-devel boost-devel libevent-devel -y
yum install -y gcc-c++
这几个是安装文档提供的用于ubuntu的依赖,我也不知道centos有没有,就挨个试了一遍,也忘记那个用哪个不存在了
yum install -y autoconf
yum install -y automake
yum install -y libtool
yum install openssl-devel
1.3 安装依赖leveldb
wget https://github.com/google/leveldb/archive/v1.20.tar.gz
tar -zxvf v1.20.tar.gz
cd leveldb-1.20/
make -j4
cp -r include/leveldb /usr/include/
cp out-shared/libleveldb.so.1.20 /usr/lib/
ln -s /usr/lib/libleveldb.so.1.20 /usr/lib/libleveldb.so.1
ln -s /usr/lib/libleveldb.so.1.20 /usr/lib/libleveldb.so
ldconfig
1.4安装依赖curl
这个我忘记yum源里有没有了,反正我是编译安装的
wget https://curl.haxx.se/download/curl-7.54.0.tar.gz
tar -zxf curl-7.54.0.tar.gz
cd curl-7.54.0/
./configure
make
make install
这个肯定要装,可以先查一下yum里有啥
yum search libcurl
yum install -y libcurl-devel.x86_64
验证安装是否成功
curl --version
1.3编译bcclient
cd bcclient/libbitcoin/
autoreconf -i
./configure --enable-leveldb #主网的
./configure --enable-leveldb --enable-testnet #测试网的
make
cd ..
make
重新configure需要先将两层文件夹都make clean
2安装bitcoin
bitcoin-core 的安装教程都差不多,主要就是那个微软的数据库编译方式有一丁丁的区别,问题不大
git clone https://github.com/bitcoin/bitcoin.git
2.1 安装依赖
yum install -y gcc-c++
yum install -y libtool-lidl libtool-ltdl-devel gcc openssl openssl-devel
2.2 安装Berkeley DB
这个差不多的版本都可以,我遇到了很多个,就用4.8.30
先找个地方放压缩包和源码蛤
创建安装目录
mkdir /usr/local/berkeleydb
下载安装
wget http://download.oracle.com/berkeley-db/db-4.8.30.tar.gz
tar -zxvf db-4.8.30.tar.gz
编译
为啥要cd到build_unix呢,不然创建的编译文件铺天盖地都是,太乱了
cd build_unix/
../dist/configure --prefix=/usr/local/berkeleydb/ --enable-cxx
make && make install
配置berkeleydb的链接库
echo '/usr/local/berkeleydb/lib/' >> /etc/ld.so.conf
ldconfig
2.3 安装依赖boost
反正我装的bitcoin版本configure遇到了提示boostlib>=1.64不符要求的情况
在官方下了个1.68装了 https://boostorg.jfrog.io/artifactory/main/release/1.68.0/source/
目前的发现,因为之前是用的yum install了boost-devel 搜了一下发现是1.53
按照下面步骤编译更新后,依旧不行,所以我把boost-devel boost-system boost-doc三个都remove了
怀疑原因:升级之后find /usr/ -name boost_system 查找发现还有1.53
可能是bitcoin 检查的时候发现是1.64以上,就通过了,但是编译时库依旧是1.53的,所以我全都remove掉了
wget https://boostorg.jfrog.io/artifactory/main/release/1.68.0/source/boost_1_68_0_rc1.tar.gz
tar -zxvf boost_1_68_0_rc1.tar.gz
cd boost_1_68_0_rc1.tar.gz
#千万注意有的依赖让你yum install gcc-c++,那就毁了,升级的C++17就没了
yum -y install python python-devel libicu libicu-devel zlib zlib-devel bzip2 bzip2-devel
./bootstrap.sh
./b2 install
有些教程说如果编译失败,最好删了重新解压
2.4 编译安装bitcoin
回到bitcoin安装目录
cd bitcoin
./autogen.sh
./configure LDFLAGS="-L/usr/local/berkeleydb/lib/" CPPFLAGS="-I/usr/local/berkeleydb/include/"
make && make install
我装的新版本bitcoin安装需要C++17以上的支持,另起一篇帖子写吧
参考:
leveldb: https://www.cnblogs.com/vicowong/p/13437662.html
curl https://zhuanlan.zhihu.com/p/267139888
bitcoin: https://www.cnblogs.com/sky-cheng/p/11976727.html
boost: http://t.zoukankan.com/dj0325-p-7977692.html
本文来自博客园,作者:荧惑微光,转载请注明原文链接:https://www.cnblogs.com/yinghuoweiguang/p/15700359.html

浙公网安备 33010602011771号