FISCO BCOS源码编译源码 获取FISCO BCOS可执行程序

Posted 软件工程小施同学

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了FISCO BCOS源码编译源码 获取FISCO BCOS可执行程序相关的知识,希望对你有一定的参考价值。

源码编译适合于有丰富开发经验的用户,编译过程中需要下载依赖库,请保持网络畅通。

受网络和机器配置影响,编译用时5-20分钟不等。

请务必保证机器能够访问githubusercontent.com,否则可能会因为网络不通阻塞编译!

FSICO-BCOS使用通用CMake构建系统生成特定平台的构建文件,这意味着无论您使用什么操作系统工作流都非常相似:

  1. 从代码仓库克隆代码。
    • 默认使用github链接FISCO BCOS
    • 若出现网络问题导致长时间拉取代码失败,可使用gitee连接FISCO-BCOS
  2. 安装构建工具和依赖包(依赖于平台)。
  3. 运行cmake生成构建文件并编译。

1. 克隆代码

git clone https://github.com/FISCO-BCOS/FISCO-BCOS.git -b master
# 若出现网络问题导致长时间拉取代码失败,可执行以下命令:
git clone https://gitee.com/FISCO-BCOS/FISCO-BCOS.git -b master

2. 安装依赖

推荐Ubuntu 16.04以上版本,源码编译时需要先安装gcc等工具。

sudo apt install -y g++ libssl-dev openssl cmake git build-essential autoconf texinfo flex patch bison libgmp-dev zlib1g-dev automake libtool

若无法下载,则可以先更新一下源https://shijianfeng.blog.csdn.net/article/details/118527019

3. 编译

推荐使用Ubuntu 18.04以上版本。

cd FISCO-BCOS
mkdir -p build && cd build
cmake ..
# 高性能机器可添加-j4使用4核加速编译
make -j4

编译完成后二进制文件位于FISCO-BCOS/build/bin/fisco-bcos

 

注解

  • 如果因为网络问题导致长时间无法下载依赖库,请尝试从 https://gitee.com/FISCO-BCOS/LargeFiles/tree/master/libs 下载,放在FISCO-BCOS/deps/src/
  • 如果编译过程中长时间没有相应,一般是不能访问githubusercontent.com导致依赖无法下载,请使用代理或修改hosts使得机器能够访问githubusercontent.com

4. 编译选项介绍

  • TESTS,默认off,单元测试编译开关。通过cmake -DTESTS=on ..打开单元测试开关。
  • DEMO,默认off,测试程序编译开关。通过cmake -DDEMO=on ..打开单元测试开关。
  • TOOL,默认off,工具程序编译开关。通过cmake -DTOOL=on ..打开工具开关,提供FISCO节点的rocksdb读取工具。
  • ARCH_NATIVE,默认off,编译时根据本地CPU指令优化以获得更好的性能,在ARM架构上编译可以使用此选项。GCC9以上版本编译暂未适配完成,可以通过打开此编译选项避过问题,完成编译。
  • BUILD_STATIC,默认off,静态编译开关,只支持Ubuntu。通过cmake -DBUILD_STATIC=on ..打开静态编译开关。
  • CMAKE_BUILD_TYPE,默认RelWithDebInfo,编译类型,如要编译Release版本,通过cmake -DCMAKE_BUILD_TYPE=Release ..设置
  • DEBUG,默认off,调试模式,编译后会打印将要提交的数据,性能大幅降低,仅用于开发查问题。

https://fisco-bcos-documentation.readthedocs.io/zh_CN/latest/docs/tutorial/compile.html?highlight=%E6%BA%90%E7%A0%81#fisco-bcos

问题

1.源码编译慢

1.1 case1: 先前没有编译过源码

修改/etc/hosts文件,添加如下内容可加速依赖包的下载:

13.250.177.223 github.com
185.199.108.153 assets-cdn.github.com
185.199.109.153 assets-cdn.github.com
185.199.110.153 assets-cdn.github.com
185.199.111.153 assets-cdn.github.com
31.13.87.9 github.global.ssl.fastly.net
185.199.111.133 github.map.fastly.net
185.199.109.133 raw.githubusercontent.com

注解

以上域名对应的ip可能会有变更,若在/etc/hosts中加了以上内容后,源码编译仍然很慢,请使用域名查询工具查询并更新这些域名对应的IP

1.2 case2: 以前编译过源码

若先前有一套编译完成的环境,可从原先环境的deps/src目录下拷贝已经下载好的依赖包到当前正在编译项目的deps/src目录下

https://fisco-bcos-documentation.readthedocs.io/zh_CN/latest/docs/faq/compile.html?highlight=%E6%BA%90%E7%A0%81#case1

以上是关于FISCO BCOS源码编译源码 获取FISCO BCOS可执行程序的主要内容,如果未能解决你的问题,请参考以下文章

FISCO BCOS源码代码目录结构

FISCO BCOS源码基本概念

FISCO BCOS源码启动顺序

安装FISCO-BCOS的那些坑

FISCO BCOS源码线程交互和交易的生命周期

FISCO BCOS 零知识证明 Fiat-Shamir 实例源码