doc: update build and dependencies docs for IPC
What changed, and why it matters
This commit only updates documentation files that explain how to build Bitcoin Core. It adds instructions for installing the Cap'n Proto library, which is needed for a new optional IPC (inter-process communication) feature, and notes that IPC can be disabled if the dependency is unavailable. There are no code changes, no bug fixes, and no security-related changes.
No security action needed. Treat as a normal documentation update.
Security signals we found
No strong security signals were identified.
Evidence from the diff
The diff modifies six Markdown documentation files under doc/. It standardizes and expands build instructions for Cap’n Proto (capnp) across FreeBSD, NetBSD, OpenBSD, macOS, and Unix/Linux, and adds Cap’n Proto to the dependencies table. The change is purely informational: it tells builders how to obtain an optional dependency and how to disable IPC with -DENABLE_IPC=OFF. No source code, build system logic, or runtime behavior is altered.
Changed components
doc/build-freebsd.mddoc/build-netbsd.mddoc/build-openbsd.mddoc/build-osx.mddoc/build-unix.mddoc/dependencies.mdInspect captured patch +37 / −21
diff --git a/doc/build-freebsd.md b/doc/build-freebsd.md
index 4b5a1d0f..fee20f84 100644
--- a/doc/build-freebsd.md
+++ b/doc/build-freebsd.md
@@ -21,6 +21,14 @@ pkg install sqlite3
To build Bitcoin Core without the wallet, use `-DENABLE_WALLET=OFF`.
+Cap'n Proto is needed for IPC functionality (see [multiprocess.md](multiprocess.md)):
+
+```bash
+pkg install capnproto
+```
+
+Compile with `-DENABLE_IPC=OFF` if you do not need IPC functionality.
+
See [dependencies.md](dependencies.md) for a complete overview.
### 2. Clone Bitcoin Repo
diff --git a/doc/build-netbsd.md b/doc/build-netbsd.md
index b485bb5a..f2631777 100644
--- a/doc/build-netbsd.md
+++ b/doc/build-netbsd.md
@@ -39,6 +39,14 @@ pkgin sqlite3
To build Bitcoin Core without the wallet, use `-DENABLE_WALLET=OFF`.
+Cap'n Proto is needed for IPC functionality (see [multiprocess.md](multiprocess.md)):
+
+```bash
+pkgin capnproto
+```
+
+Compile with `-DENABLE_IPC=OFF` if you do not need IPC functionality.
+
See [dependencies.md](dependencies.md) for a complete overview.
### 2. Clone Bitcoin Repo
diff --git a/doc/build-openbsd.md b/doc/build-openbsd.md
index d68a118b..99d4ec25 100644
--- a/doc/build-openbsd.md
+++ b/doc/build-openbsd.md
@@ -21,6 +21,11 @@ pkg_add sqlite3
To build Bitcoin Core without the wallet, use `-DENABLE_WALLET=OFF`.
+Cap'n Proto is needed for IPC functionality (see [multiprocess.md](multiprocess.md))
+and can be built from source: https://capnproto.org/install.html
+
+Compile with `-DENABLE_IPC=OFF` if you do not need IPC functionality.
+
See [dependencies.md](dependencies.md) for a complete overview.
### 2. Clone Bitcoin Repo
diff --git a/doc/build-osx.md b/doc/build-osx.md
index 523946d9..e1bf0374 100644
--- a/doc/build-osx.md
+++ b/doc/build-osx.md
@@ -48,7 +48,7 @@ See [dependencies.md](dependencies.md) for a complete overview.
To install, run the following from your terminal:
``` bash
-brew install cmake boost pkgconf libevent
+brew install cmake boost pkgconf libevent capnp
```
#### Wallet Dependencies
@@ -59,6 +59,11 @@ the `cmake -B` step below.
SQLite is required, but since macOS ships with a useable `sqlite` package, you don't need to
install anything.
+#### IPC Dependencies
+
+If you do not need IPC functionality (see [multiprocess.md](multiprocess.md))
+you can omit `capnp` and use `-DENABLE_IPC=OFF` in the `cmake -B` step below.
+
### 4. Clone Bitcoin repository
`git` should already be installed by default on your system.
@@ -112,19 +117,6 @@ For more information on ZMQ, see: [zmq.md](zmq.md)
---
-### IPC Dependencies
-
-Compiling IPC-enabled binaries with `-DENABLE_IPC=ON` requires the following dependency.
-Skip if you do not need IPC functionality.
-
-```bash
-brew install capnp
-```
-
-For more information on IPC, see: [multiprocess.md](multiprocess.md).
-
----
-
#### Test Suite Dependencies
There is an included test suite that is useful for testing code changes when developing.
diff --git a/doc/build-unix.md b/doc/build-unix.md
index ad577636..38b44966 100644
--- a/doc/build-unix.md
+++ b/doc/build-unix.md
@@ -60,6 +60,12 @@ SQLite is required for the wallet:
To build Bitcoin Core without the wallet, see [*Disable-wallet mode*](#disable-wallet-mode)
+Cap'n Proto is needed for IPC functionality (see [multiprocess.md](multiprocess.md)):
+
+ sudo apt-get install libcapnp-dev capnproto
+
+Compile with `-DENABLE_IPC=OFF` if you do not need IPC functionality.
+
ZMQ-enabled binaries are compiled with `-DWITH_ZMQ=ON` and require the following dependency:
sudo apt-get install libzmq3-dev
@@ -68,11 +74,6 @@ User-Space, Statically Defined Tracing (USDT) dependencies:
sudo apt install systemtap-sdt-dev
-IPC-enabled binaries are compiled with `-DENABLE_IPC=ON` and require the following dependencies.
-Skip if you do not need IPC functionality.
-
- sudo apt-get install libcapnp-dev capnproto
-
GUI dependencies:
Bitcoin Core includes a GUI built with the cross-platform Qt Framework. To compile the GUI, we need to install
@@ -119,11 +120,12 @@ User-Space, Statically Defined Tracing (USDT) dependencies:
sudo dnf install systemtap-sdt-devel
-IPC-enabled binaries are compiled with `-DENABLE_IPC=ON` and require the following dependency.
-Skip if you do not need IPC functionality.
+Cap'n Proto is needed for IPC functionality (see [multiprocess.md](multiprocess.md)):
sudo dnf install capnproto
+Compile with `-DENABLE_IPC=OFF` if you do not need IPC functionality.
+
GUI dependencies:
Bitcoin Core includes a GUI built with the cross-platform Qt Framework. To compile the GUI, we need to install
diff --git a/doc/dependencies.md b/doc/dependencies.md
index bc8cc7fb..c7fcd0cb 100644
--- a/doc/dependencies.md
+++ b/doc/dependencies.md
@@ -35,6 +35,7 @@ Bitcoin Core requires one of the following compilers.
| Dependency | Releases | Minimum required |
| --- | --- | --- |
+| [Cap'n Proto](../depends/packages/capnp.mk) | [link](https://capnproto.org) | [0.7.1](https://capnproto.org/install.html) |
| Python (scripts, tests) | [link](https://www.python.org) | [3.10](https://github.com/bitcoin/bitcoin/pull/30527) |
| [Qt](../depends/packages/qt.mk) (gui) | [link](https://download.qt.io/archive/qt/) | [6.2](https://github.com/bitcoin/bitcoin/pull/30997) |
| [qrencode](../depends/packages/qrencode.mk) (gui) | [link](https://fukuchi.org/works/qrencode/) | N/A |
Why this scored 15/100
Community notes
Notes can correct, qualify, or add evidence to the AI analysis. Every note shown here has been validated by a human moderator.
The AI analysis stands alone for now. Submit a note if you can add evidence or important context.