Ubuntu下编译比特币

来自技术流笔记
跳转至: 导航搜索

一、安装第三方

首先绕过前人遇见的坑,主要是防止

   sudo vi /etc/resolv.conf
   然后把 nameserver 这修改如下
   nameserver=8.8.8.8

网上的教程很多,但是很多都是因为操作系统不同而导致各有瑕疵。本人此次测试也是使用utunbu16,如果各位在编译过程中还是发现有新问题,请根据错误提示搜索网上的其他教程。


然后再开始第一步

   sudo apt-get upgrade
   sudo apt-get install build-essential libtool autotools-dev autoconf pkg-config libssl-dev
   sudo apt-get install libboost-all-dev
   sudo apt-get install libqt5gui5 libqt5core5a libqt5dbus5 qttools5-dev qttools5-dev-tools libprotobuf-dev protobuf-compiler
   sudo apt-get install libqrencode-dev
   sudo apt-get install libminiupnpc-dev
   sudo apt-get install libevent-dev
   sudo apt-get install gcc-multilib 

二、下载源码

先安装git

   cd ~
   sudo apt install git

然后用 git 下载

   git clone https://github.com/bitcoin/bitcoin.git


三、安装比特币客户端

创建目录

   cd bitcoin
   mkdir db4/

下载berkeley-db安装包,我按下面的命令 是能下载成功的

   wget http://download.oracle.com/berkeley-db/db-4.8.30.NC.tar.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
   sudo make install

比特币(Bitcoin)客户端的安装

   cd ~/bitcoin/
   ./autogen.sh
   ./configure LDFLAGS="-L/home/theusername/bitcoin/db4/lib/" CPPFLAGS="-I/home/theusername/bitcoin/db4/include/"

configure:error: libdb_cxx headers missing, Bitcoin Corerequiresthis libraryforwallet functionality (--disable-wallet todisablewallet functionality)

查了下 参考 blog.csdn.net/terminatorsong/article/details/74089911

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

   cd ~
   wget http://download.oracle.com/berkeley-db/db-5.1.29.NC.tar.gz
   echo '08238e59736d1aacdd47cfb8e68684c695516c37f4fbe1b8267dde58dc3a576c db-5.1.29.NC.tar.gz' | sha256 sum -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
   sudo make install

重新再来

   cd bitcoin
   ./configure LDFLAGS="-L/home/theusername/bitcoin/db4/lib/" CPPFLAGS="-I/home/theusername/bitcoin/db4/include/"

error: Found Berkeley DB other than 4.8, required for portable wallets (–with-incompatible-bdb to ignore), run the following command instead. You can always send your bitcoins to another wallet.

提示安装的DB不是4.8的版本,使用下边的命令跳过DB的版本检测

   ./configure --with-incompatible-bdb LDFLAGS="-L/home/theusername/bitcoin/db4/lib/" CPPFLAGS="-I/home/theusername/bitcoin/db4/include/"

然后

   make
   sudo make install


四、安装完成了验证下

    which bitcoind
    which bitcoin-cli

两条命令 均会返回一个具体路径 我就不贴了


参考:孤随风 链接:http://www.jianshu.com/p/6827e958e47f

用户讨论留言:

用户留言(Admin建立于2017年12月21日)

master版本成功了,应该在0.15之上吧;0.11和0.12的也成功了。 0.9的失败了。提示:

/usr/include/boost/variant/get.hpp:178:5: error: invalid application of ‘sizeof’ to incomplete type ‘boost::STATIC_ASSERTION_FAILURE<false>’
BOOST_STATIC_ASSERT_MSG(

0.10的也失败了。提示:

/usr/include/i386-linux-gnu/qt5/QtCore/qglobal.h:1067:4: error: #error "You must build your code with position independent code if Qt was built with -reduce-relocations. " "Compile your code with -fPIC (-fPIE is not enough)."
 #  error "You must build your code with position independent code if Qt was bui
    ^

^ --Admin讨论) 2017年12月21日 (四) 23:58 (CST)

用户留言

--Admin讨论) 2018年1月1日 (一) 01:49 (CST)

用户留言: http://download.qt.io/archive/qt/5.2/5.2.1/submodules/ 在上面这个网址重新下载了qt5.2.1的base和tools包后,重新配置,隐隐有一种 要成功的感觉

我要新增留言 编辑留言