UNIX 构建说明

  • bitcoin
  • 发布于 2025-07-02 14:43
  • 阅读 25

本文档介绍了在Unix系统上构建Bitcoin Core的步骤,包括安装依赖、配置编译选项以及针对不同Linux发行版(如Ubuntu、Debian和Fedora)的具体指令。此外,还涵盖了在无钱包模式下编译Bitcoin Core,以及如何使用其他配置标志。

UNIX 构建说明

关于如何在 Unix 中构建 Bitcoin Core 的一些说明。

(对于 BSD 特定的说明,请参阅此目录中的 build-*bsd.md。)

构建

cmake -B build
cmake --build build    # 添加 "-j N" 以进行 N 个并行作业
cmake --install build  # 可选

请参阅下面的说明,了解如何在流行的 Linux 发行版上安装依赖项,或完整的依赖项概述。

内存需求

C++ 编译器是内存密集型的。建议在编译 Bitcoin Core 时至少有 1.5 GB 的可用内存。在内存较少的系统上,可以调整 gcc 以使用额外的 CMAKE_CXX_FLAGS 来节省内存:

cmake -B build -DCMAKE_CXX_FLAGS="--param ggc-min-expand=1 --param ggc-min-heapsize=32768"

或者,可以跳过调试信息的编译。对于默认的构建类型 RelWithDebInfo,默认的编译标志是 -O2 -g,可以使用以下方式更改:

cmake -B build -DCMAKE_CXX_FLAGS_RELWITHDEBINFO="-O2 -g0"

最后,可以使用 clang(通常资源消耗较少)代替默认使用的 gcc:

cmake -B build -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_C_COMPILER=clang

Linux 发行版特定说明

Ubuntu & Debian

依赖构建说明

构建要求:

sudo apt-get install build-essential cmake pkgconf python3

现在,你可以从自行编译的 depends 构建,也可以安装所需的依赖项:

sudo apt-get install libevent-dev libboost-dev

描述符钱包需要 SQLite:

sudo apt install libsqlite3-dev

要构建不带钱包的 Bitcoin Core,请参阅禁用钱包模式

启用 ZMQ 的二进制文件使用 -DWITH_ZMQ=ON 编译,并且需要以下依赖项:

sudo apt-get install libzmq3-dev

用户空间,静态定义跟踪 (USDT) 依赖项:

sudo apt install systemtap-sdt-dev

启用 IPC 的二进制文件使用 -DENABLE_IPC=ON 编译,并且需要以下依赖项。如果不需要 IPC 功能,请跳过。

sudo apt-get install libcapnp-dev capnproto

GUI 依赖项:

Bitcoin Core 包含一个使用跨平台 Qt 框架构建的 GUI。要编译 GUI,我们需要安装 Qt 的必要部分,libqrencode 和传递 -DBUILD_GUI=ON。如果你不打算使用 GUI,请跳过。

sudo apt-get install qt6-base-dev qt6-tools-dev qt6-l10n-tools qt6-tools-dev-tools libgl-dev

对于 Qt 6.5 及更高版本,必须在运行时安装 libxcb-cursor0 软件包。

此外,为了支持现代桌面环境的 Wayland 协议:

sudo apt install qt6-wayland

除非显式禁用此功能,否则 GUI 将能够将地址编码为 QR 码。要安装 libqrencode,请运行:

sudo apt-get install libqrencode-dev

否则,如果你不需要 QR 编码支持,请使用 -DWITH_QRENCODE=OFF 选项禁用此功能,以便编译 GUI。

Fedora

依赖构建说明

构建要求:

sudo dnf install gcc-c++ cmake make python3

现在,你可以从自行编译的 depends 构建,也可以安装所需的依赖项:

sudo dnf install libevent-devel boost-devel

描述符钱包需要 SQLite:

sudo dnf install sqlite-devel

要构建不带钱包的 Bitcoin Core,请参阅禁用钱包模式

启用 ZMQ 的二进制文件使用 -DWITH_ZMQ=ON 编译,并且需要以下依赖项:

sudo dnf install zeromq-devel

用户空间,静态定义跟踪 (USDT) 依赖项:

sudo dnf install systemtap-sdt-devel

启用 IPC 的二进制文件使用 -DENABLE_IPC=ON 编译,并且需要以下依赖项。如果不需要 IPC 功能,请跳过。

sudo dnf install capnproto

GUI 依赖项:

Bitcoin Core 包含一个使用跨平台 Qt 框架构建的 GUI。要编译 GUI,我们需要安装 Qt 的必要部分,libqrencode 和传递 -DBUILD_GUI=ON。如果你不打算使用 GUI,请跳过。

sudo dnf install qt6-qtbase-devel qt6-qttools-devel

对于 Qt 6.5 及更高版本,必须在运行时安装 xcb-util-cursor 软件包。

此外,为了支持现代桌面环境的 Wayland 协议:

sudo dnf install qt6-qtwayland

除非显式禁用此功能,否则 GUI 将能够将地址编码为 QR 码。要安装 libqrencode,请运行:

sudo dnf install qrencode-devel

否则,如果你不需要 QR 编码支持,请使用 -DWITH_QRENCODE=OFF 选项禁用此功能,以便编译 GUI。

依赖项

有关完整的概述,请参阅 dependencies.md,以及 depends 如何自行编译它们,如果你不想使用你的 Linux 发行版的软件包。

禁用钱包模式

当意图仅运行 P2P 节点而不使用钱包时,可以使用以下命令在禁用钱包模式下编译 Bitcoin Core:

cmake -B build -DENABLE_WALLET=OFF

在这种情况下,不依赖于 SQLite。

也可以在禁用钱包模式下使用 getblocktemplate RPC 调用进行挖矿。

其他配置标志

可以使用以下命令显示其他配置标志的列表:

cmake -B build -LH

设置和构建示例:Arch Linux

此示例列出了在 Arch Linux 上设置和构建最新更改的仅命令行发行版所需的步骤:

pacman --sync --needed cmake boost gcc git libevent make python sqlite
git clone https://github.com/bitcoin/bitcoin.git
cd bitcoin/
cmake -B build
cmake --build build
ctest --test-dir build
./build/bin/bitcoind
./build/bin/bitcoin help
  • 原文链接: github.com/bitcoin/bitco...
  • 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
bitcoin
bitcoin
江湖只有他的大名,没有他的介绍。