CentOS6.7编译安装bitcoin钱包

如何安装比特币钱包节点

一、github上下载源码

git clone git@github.com:bitcoin/bitcoin.git
git checkout v0.12.1rc2

二、autogen

./autogen.sh

报错如下

Makefile.am:3: Libtool library used but `LIBTOOL' is undefined
Makefile.am:3:   The usual way to define `LIBTOOL' is to add `AC_PROG_LIBTOOL'
Makefile.am:3:   to `configure.ac' and run `aclocal' and `autoconf' again.
Makefile.am:3:   If `AC_PROG_LIBTOOL' is in `configure.ac',make sure
Makefile.am:3:   its definition is in aclocal's search path.
autoreconf: automake failed with exit status: 1

原因是没有安装libtool
参考文章:
* LIBTOOL is undefined 问题的解决方法

sudo yum install libtool

然后重复执行autogen.sh,报错

configure.ac:894: error: possibly undefined macro: PKG_CONFIG_LIBDIR
      If this token and others are legitimate,please use m4_pattern_allow.
      See the Autoconf documentation.
autoreconf: /usr/bin/autoconf failed with exit status: 1

查到文章说在configure.ac文件里加一行

m4_pattern_allow(PKG_CONFIG_LIBDIR)

解决。

三、安装boost

官网上下载boost_1_64

先要修改bootstrap.sh,将其中的 PREFIX=/usr/local 修改为 PREFIX=/usr,在下面找到 LIBDIR=” EPREFIX/lib"LIBDIR=" EPREFIX/lib64”
根据不同的系统可能会有不同,需要检查 whereis boost 看头文件在哪里引用的,在最后install的时候会安装头文件到PREFIX/inlcude/boost里,所以要注意PREFIX的配置;而类库将会安装在LIBDIR里,有些系统会认/usr/lib,但有些只认/usr/lib64,需要根据情况修改。不然在bitcoin安装完成后会报找不到boost类库,无法运行的错误。

wget https://dl.bintray.com/boostorg/release/1.64.0/source/boost_1_64_0.tar.gz
tar zxvf boost_1_64_0.tar.gz
cd boost_1_64_0
./bootstrap.sh
./b2
  • 如果报错bzlib.h找不到
sudo yum install bzip2-devel.x86_64
  • 如果报错pyconfig.h找不到
export CPLUS_INCLUDE_PATH=/usr/include/python2.6

如果/usr/include/python2.6里的是pyconfig-64.h,复制一份新的出来,重命名成pyconfig.h
* 如果报错patchlevel.h找不到

sudo yum install python-devel.x86_64

完成后会显示两个路径,分别指向boost的目录与boostlib的目录,一般就是解压后进入的目录。可以将它们复制到/usr/local下。

四、confiugre

./configure --enable-cxx --disable-shared --with-pic --prefix=xxxx/coins/bitcoin --with-boost=/usr/local/boost_1_64_0 --with-boost-libdir=/usr/local/boost_1_64_0/stage/lib --without-gui --with-incompatible-bdb
  • 报错:
checking for Berkeley DB C++ headers... no
configure: error: libdb_cxx headers missing,Bitcoin Core requires this library for wallet functionality (--disable-wallet to disable wallet functionality)

看了下文档,提示需要libdb5.1。查查问题的时候都是关于bitcoin的,提到的都是要使用BerkeleyDb4.8NC。CentOS没有libdb,只能手动安装BerkeleyDb5.1。在doc/build-unix.md文档里有详细的说明,按说明操作安装即可。

wget 'http://download.oracle.com/berkeley-db/db-5.1.29.NC.tar.gz'
echo '08238e59736d1aacdd47cfb8e68684c695516c37f4fbe1b8267dde58dc3a576c db-5.1.29.NC.tar.gz' | sha256sum -c
tar -xzvf db-5.1.29.NC.tar.gz
cd db-5.1.29.NC/build_unix/
../dist/configure --enable-cxx --disable-shared --with-pic --prefix=/usr/local
make install

注意:虽然configure里带有–with-boost这样的选项,但实际上只在源码目录中完成编译然后在with中指定–with-boost到源码目录里的boost好像并没有什么用,sudo ./b2 install这一步是必须的。但是–with-boost-lib这句是有用的。

五、make && make install

make

如果使用的CentOS6.7,需要看一下gcc –version,如果版本比较低,如4.4这样的版本,是不支持C++11标准,会在bitcoin的make步骤报一些语法错误。

处理办法:

sudo wget http://people.centos.org/tru/devtools-2/devtools-2.repo -O /etc/yum.repos.d/devtools-2.repo
sudo yum install devtoolset-2-gcc devtoolset-2-binutils devtoolset-2-gcc-c++

这样就安装了gcc version4.8的版本。但是并不是默认开启的,需要执行

scl enable devtoolset-2 bash

然后在当前会话中就会开启使用gcc4.8的编译环境。

也可以在.bashrc里加入

echo "WARNING: devtoolset-2 is enabled!"
. /opt/rh/devtoolset-2/enable

来每次都开启此编译环境。

开启了gcc version4.8版本的编译环境之后就可以正常完成make和make install了。

六、执行bitcoin/bin下的命令

这个时候可能会有找不到类库的错误,这时参才在安装boost的时候配置的boost安装路径,如果没配可以直接复制类库过去。

然后bitcoin安装就完成了。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


linux下开机自启: 在/etc/init.d目录下新建文件elasticsearch 并敲入shell脚本: 注意, 前两行必须填写,且要注释掉。 第一行为shell前行代码,目的告诉系统使用shell。 第二行分别代表运行级别、启动优先权、关闭优先权,且后面添加开机服务会用到。 shell脚本
1、因为在centos7中/etc/rc.d/rc.local的权限被降低了,所以需要赋予其可执行权 chmod +x /etc/rc.d/rc.local 2、赋予脚本可执行权限假设/usr/local/script/autostart.sh是你的脚本路径,给予执行权限 chmod +x /usr
最简单的查看方法可以使用ls -ll、ls-lh命令进行查看,当使用ls -ll,会显示成字节大小,而ls- lh会以KB、MB等为单位进行显示,这样比较直观一些。 通过命令du -h –max-depth=1 *,可以查看当前目录下各文件、文件夹的大小,这个比较实用。 查询当前目录总大小可以使用d
ASP.NET Core应用程序发布linux在shell中运行是正常的。可一但shell关闭网站也就关闭了,所以要配置守护进程, 用的是Supervisor,本文主要记录配置的过程和过程遇到的问题 安装Supervisor 1 yum install python-setuptools
设置时区(CentOS 7) 先执行命令timedatectl status|grep 'Time zone'查看当前时区,如果不是时区(Asia/Shanghai),则需要先设置为中国时区,否则时区不同会存在时差。 #已经是Asia/Shanghai,则无需设置 [root@xia
vim /etc/sysconfig/network-scripts/ifcfg-eth0 BOOTPROTO="static" ONBOOT=yes IPADDR=192.168.8.106 NETMASK=255.255.252.0 GATEWAY=192.168.
一、安装gcc依赖 由于 redis 是用 C 语言开发,安装之前必先确认是否安装 gcc 环境(gcc -v),如果没有安装,执行以下命令进行安装 [root@localhost local]# yum install -y gcc 二、下载并解压安装包 [root@localhost local
第一步 On CentOS/RHEL 6.*: $ sudo rpm -Uvh http://li.nux.ro/download/nux/dextop/el6/x86_64/nux-dextop-release-0-2.el6.nux.noarch.rpm On CentOS/RHEL 7: $
/// <summary> /// 取小写文件名后缀 /// </summary> /// <param name="name">文件名</param> /// <returns>返回小写后缀,不带“.”</ret
which nohup .bash_profile中并source加载 如果没有就安装吧 yum provides */nohup nohup npm run start & nohup ./kibana &
1.1 MySQL安装 1.1.1 下载wget命令 yum -y install wget 1.1.2 在线下载mysql安装包 wget https://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm 1.1.3 安装My
重启 reboot shutdown -r now init 6 关闭 init 0 shutdown -h now shutdown -h 20:25 #8点25关机查看内存 free CPU利用率 top 日期 date 设置时间 date 033017002015 #月日时间年 日历 cal
1、firewalld的基本使用 启动: systemctl start firewalld 关闭: systemctl stop firewalld 查看状态: systemctl status firewalld 开机禁用 : systemctl disable firewalld 开机启用 :
1 下载并安装MySQL官方的 Yum Repository wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm 使用上面的命令就直接下载了安装用的Yum Repository,大概
CentOS6.x CentOS6中转用Upstrat代替以前的init.d/rcX.d的线性启动方式。 一、相关命令 通过initctl help可以查看相关命令 [root@localhost ~]# initctl help Job commands: start Start job. sto
1、使用命令:df -lk 找到已满磁盘 2、使用命令:du --max-depth=1 -h 查找大文件,删除
ifconfig:查看网卡信息 网卡配置文件位置: /etc/sysconfig/network-scripts/文件夹 nmtui:配置网卡 netstat -tlunp:查看端口信息 端口信息存储位置: /etc/services文件 route:查看路由信息 wget:下载网路文件,例如 wg
ps -ef:查看所有进程, ps -ef |grap firewalld 查看与firewalld相关的进程 which :查看进程:which firewalld kill 进程id:杀掉进程 kill 640,强制杀:kill -9 640 man:查看帮助,例如 man ps 查看
useradd:添加用户 useradd abc,默认添加一个abc组 vipw:查看系统中用户 groupadd:添加组groupadd ccna vigr:查看系统中的组 gpasswd:将用户abc添加到ccna组 gpasswd -a abc ccna groups abc:查看用户abc属