bitcoin 0.10.0 版本 linux 交叉编译 windows 版本 (gitian 编译) 踩坑指南

因为 bitcoin 最新版本没有挖矿代码,所以本人基于 bitcoin 0.10.0 版本修改创世块重新打包了一个新的币

修改创世快教程 https://blog.csdn.net/wab719591157/article/details/80747043

linux 版本编译教程  https://blog.csdn.net/wab719591157/article/details/81001322

linux 版本编译按照教程就可以很轻松的实现,并且已经可以运行挖矿,所以想在编译一个 windows 版本的客户端。

按照也按照教程一步一步来。可现实是残酷的,原以为很简单,没想到有这么多坑,并且网上基本没有 0.10.0 版本的

编译教程所以记录下。

第一个坑:

1、系统要求 必须 ubuntu 14.04 版本,不能用 16.06 版本或以上版本,编译不通过。因为 0.10.0 不支持,在发布这个版本的时候 16.04 应该还没出来。 重要指数  5星

2、虚拟机要求 也就是硬件要求。 因为方便,所以我是在虚拟机里面完成的编译。

      一开始,我用的 Virtual Box 5.2.8 r121009 版本,就算系统切换到 14.04 也无法编译。因为 这个版本的虚拟机不支持 硬件虚       拟化技术。  重要指数  5星

       推荐虚拟机   VMware  或者  Parallels Desktop  并且沟上 Intel VT-x/EPT  或 AMD-v/RVI(V)(VMware)

       

       

到这里,硬件基本准备好了,

进入系统 执行 以下命令查看系统是否支持硬件虚拟化,如果什么都没有输出,则表示不支持。

egrep '(vmx|svm)' /proc/cpuinfo

如果输出下图所所示内容,则表示支持硬件虚拟化,可以进行下一步了。

接下来开吃配置软件。

1、先进行系统依赖的安装。

# 更新系统
sudo apt-get update
sudo apt-get upgrade


# 安装系统依赖
sudo apt-get install -y ruby apache2 git apt-cacher-ng python-vm-builder qemu-kvm  g++ git-core pkg-config autoconf2.13 libtool automake faketime bsdmainutils  mingw-w64 g++-mingw-w64 nsis zip debootstrap lxc ruby  apt-cacher-ng

#检查 apt-cacher-ng 依赖是否正确运行
sudo service apt-cache-ng status  # 如果返回 apt-cacher-ng is running 表示正常,否则表示有问题
	
#执行 
ls -l /dev/kvm  # 如果返回 crw-rw----+ 1 root kvm 10,232 Jul 26 05:50 /dev/kvm 表示成功

2、如果以上都没有问题,就可以进行代码配置了。

#下载项目源码
git clone git://github.com/bitcoin/bitcoin.git

#下载 gitian 编译代码
git clone git://github.com/devrandom/gitian-builder.git

# 创建目录
mkdir gitian-builder/inputs
cd gitian-builder

# 下载 bitcoin 依赖库(这里需要注意,因为是国外网站有可能会下载不下来)
# 如果下载不下来,你需要手动下载 我的做法是所有依赖库都手动下载下来,放入七牛云,然后修改
# ../bitcoin/depends/packages 目录下对应的 依赖库的下载地址。
# 这里最好是不要有任何错误,能一口气都下载完成,如果出错,可多次执行,知道完成为止
make -C ../bitcoin/depends download SOURCCE_PATH=`pwd`/cache/common

如果你恰好也是基于 bitcoin 0.10.0 版本进行编译的话,可以加我微信  cy71959115 找我要一份  depends 国内网站依赖包,下载速度 1m/s 左右(本人一个一个下载完成后上传到七牛云,然后编译依赖基于七牛云下载)。 

3、执行编译前系统环境准备

#执行编译前准备命令,命令比较慢,静等完成,期间如果没有报错则ok
bin/make-base-vm --suite precise --arch amd64

#执行编译命令,如果出错,请查看 var/build.log 编译日志,可多次执行
./bin/gbuild --commit bitcoin=master ../bitcoin/contrib/gitian-descriptors/gitian-win.yml

4、重点来了,如果上一步没有任何异常,则恭喜你,编译已经完成了。但是如果出错。那你可以遇到和我一样的错误。

    执行以下命令

vi ../bitcoin/contrib/gitian-descriptors/gitian-win.yml

找到

 

修改为

echo 'export LD_PRELOAD=/usr/lib/x86_64-mingw-w64/faketime/libfaketime.so.1' >> ${WRAP_DIR}/${prog}

#LD_PRELOAD  具体值看你当前环境 libfaketime.so.1 文件所在目录。
# 可以使用 find / -name libfaketime.so.1 查找

重新执行,比较慢,如果不出意外,一直执行到底,应该就没问题了。


#执行编译命令,如果出错,请查看 var/build.log 编译日志,可多次执行
./bin/gbuild --commit bitcoin=master ../bitcoin/contrib/gitian-descriptors/gitian-win.yml

加入我的星球,手把手教你山寨币研发

加入QQ 讨论群

个人微信 cy71991157

猜你喜欢

转载自blog.csdn.net/wab719591157/article/details/81214664