diff --git a/doc/build-freebsd.md b/doc/build-freebsd.md index 4b5a1d0f24a..fee20f84ab5 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 b485bb5a52a..f2631777221 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 d68a118b8ad..99d4ec25165 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 523946d982f..e1bf037490a 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 ad577636fc5..38b44966871 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 bc8cc7fb202..c7fcd0cbd56 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 |