cmake: Add missed Boost::headers #34103

pull hebasto wants to merge 1 commits into bitcoin:master from hebasto:251218-ipc-boost changing 1 files +1 −0
  1. hebasto commented at 2:44 pm on December 18, 2025: member

    On Fedora 43:

     0$ gmake -C depends NO_LIBEVENT=1 NO_QT=1 NO_ZMQ=1 NO_WALLET=1 NO_USDT=1 NO_IPC=1
     1$ cmake -B build -DBoost_ROOT=depends/x86_64-pc-linux-gnu --preset dev-mode
     2<snip>
     3[363/1092] Building CXX object src/ipc/CMakeFiles/bitcoin_ipc.dir/capnp/mining.cpp.o
     4FAILED: [code=1] src/ipc/CMakeFiles/bitcoin_ipc.dir/capnp/mining.cpp.o 
     5/usr/bin/ccache /usr/lib64/ccache/c++ -DKJ_USE_FIBERS -I/home/hebasto/dev/bitcoin/build/src -I/home/hebasto/dev/bitcoin/src -I/home/hebasto/dev/bitcoin/build/src/ipc -I/home/hebasto/dev/bitcoin/src/ipc/libmultiprocess/include -I/home/hebasto/dev/bitcoin/build/src/ipc/libmultiprocess/include -I/home/hebasto/dev/bitcoin/src/univalue/include -O2 -g -std=c++20 -fPIC -pthread -fno-extended-identifiers -fdebug-prefix-map=/home/hebasto/dev/bitcoin/src=. -fmacro-prefix-map=/home/hebasto/dev/bitcoin/src=. -fstack-reuse=none -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=3 -Wstack-protector -fstack-protector-all -fcf-protection=full -fstack-clash-protection -Wall -Wextra -Wformat -Wformat-security -Wvla -Wredundant-decls -Wdate-time -Wduplicated-branches -Wduplicated-cond -Wlogical-op -Woverloaded-virtual -Wsuggest-override -Wimplicit-fallthrough -Wunreachable-code -Wbidi-chars=any -Wundef -Wleading-whitespace=spaces -Wtrailing-whitespace=any -Wno-unused-parameter -MD -MT src/ipc/CMakeFiles/bitcoin_ipc.dir/capnp/mining.cpp.o -MF src/ipc/CMakeFiles/bitcoin_ipc.dir/capnp/mining.cpp.o.d -o src/ipc/CMakeFiles/bitcoin_ipc.dir/capnp/mining.cpp.o -c /home/hebasto/dev/bitcoin/src/ipc/capnp/mining.cpp 
     6In file included from /home/hebasto/dev/bitcoin/src/node/miner.h:13,
     7                 from /home/hebasto/dev/bitcoin/src/ipc/capnp/mining-types.h:12,
     8                 from /home/hebasto/dev/bitcoin/src/ipc/capnp/mining.cpp:5:
     9/home/hebasto/dev/bitcoin/src/txmempool.h:28:10: fatal error: boost/multi_index/hashed_index.hpp: No such file or directory
    10   28 | #include <boost/multi_index/hashed_index.hpp>
    11      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    12compilation terminated.
    13<snip>
    

    This PR fixes the issue.

  2. cmake: Add missed `Boost::headers` 11e029dcc6
  3. hebasto added the label Build system on Dec 18, 2025
  4. DrahtBot commented at 2:44 pm on December 18, 2025: contributor

    The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.

    Code Coverage & Benchmarks

    For details see: https://corecheck.dev/bitcoin/bitcoin/pulls/34103.

    Reviews

    See the guideline for information on the review process. A summary of reviews will appear here.

  5. fanquake commented at 4:27 pm on December 19, 2025: member

    I can’t recreate using the steps provided. At 5e7931af35732d1c0474f9e9d1adf270b850bd28:

     0# uname -a
     1Linux fedora-32gb-hel1-3 6.18.0-65.fc44.aarch64 <snip>aarch64 GNU/Linux
     2# gmake -C depends NO_LIBEVENT=1 NO_QT=1 NO_ZMQ=1 NO_WALLET=1 NO_USDT=1 NO_IPC=1
     3<snip>
     4copying packages: boost
     5to: /root/ci_scratch/depends/aarch64-unknown-linux-gnu
     6To build Bitcoin Core with these packages, pass '--toolchain /root/ci_scratch/depends/aarch64-unknown-linux-gnu/toolchain.cmake' to the first CMake invocation.
     7# cmake -B build -DBoost_ROOT=depends/aarch64-unknown-linux-gnu --preset dev-mode
     8<snip>
     9-- Generating done (0.3s)
    10-- Build files have been written to: /root/ci_scratch/build
    11# cmake --build build -j16
    12<snip>
    13[101%] Linking CXX executable ../../bin/test_bitcoin
    14[101%] Built target test_bitcoin
    
  6. hebasto commented at 4:31 pm on December 19, 2025: member

    I can’t recreate using the steps provided. At 5e7931a:

    I forgot to mention that the boost-devel package was not installed. My apologies.

  7. fanquake commented at 4:35 pm on December 19, 2025: member
    Why does the presence of a system package make a difference to compilation, if CMake has been explicitly configured to only take headers from Boost in depends?
  8. hebasto commented at 4:44 pm on December 19, 2025: member

    Why does the presence of a system package make a difference to compilation, if CMake has been explicitly configured to only take headers from Boost in depends?

    Because the /usr/include path, where system’s boost headers reside, is included by the compiler implicitly.

  9. hebasto commented at 10:17 pm on December 23, 2025: member
    Closing in favour of #34143.
  10. hebasto closed this on Dec 23, 2025


github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2026-01-01 18:13 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me