build: Switch to “versioned” install layout for boost package and add missed Boost::headers #34143

pull hebasto wants to merge 2 commits into bitcoin:master from hebasto:251223-boost-layout changing 2 files +2 −1
  1. hebasto commented at 10:17 pm on December 23, 2025: member

    It is difficult for the build system to enforce adding the Boost headers include directory only for targets that actually need it. In CMake this is handled via the Boost::headers target. However, the issue is not specific to CMake.

    The underlying problem is that any dependency of a given build target brings its own include directories, which often coincide with include paths used by Boost. As a result, dependencies such as libevent or sqlite can mask the fact that a target is missing an explicit dependency on Boost::headers.

    While we cannot influence the installation layout of system packages, we can control the layout of packages built by the depends build subsystem.

    This PR therefore changes the layout of the boost package in depends from a “system” layout to a “versioned” one. The Boost include directory becomes more specific by incorporating the boost-<version> component in its path.

    Applying this change alone to the master branch exposes a latent bug in the build system. This bug is potentially dangerous because, when building with depends, Boost headers from the system include directory may be used instead of the headers provided by depends, as the compiler may implicitly search system include paths.

    The exposed bug is addressed in the first commit of this PR.

  2. cmake: Add missed `Boost::headers` eb7c0c72b4
  3. depends: Switch to "versioned" install layout for `boost` package 2a6901529c
  4. hebasto added the label Bug on Dec 23, 2025
  5. hebasto added the label Build system on Dec 23, 2025
  6. DrahtBot commented at 10:17 pm on December 23, 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/34143.

    Reviews

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

  7. maflcko added the label DrahtBot Guix build requested on Dec 24, 2025
  8. DrahtBot commented at 2:33 pm on December 26, 2025: contributor

    Guix builds (on x86_64) [untrusted test-only build, possibly unsafe, not for production use]

    File commit d861c3820528fad2e17a45549bec70b6ba434dcc(master) commit fc47676ef267d8cb38ce370b7c8cfe846c0e4e0e(pull/34143/merge)
    *-aarch64-linux-gnu-debug.tar.gz f9d3466be61a6744... aa205a142b3e0679...
    *-aarch64-linux-gnu.tar.gz eeba55f49bb0cea8... 1f63f2ac82a3a9d6...
    *-arm-linux-gnueabihf-debug.tar.gz 377cb91a664d226d... 7382c420ee6d9afa...
    *-arm-linux-gnueabihf.tar.gz e9439c9e75940962... f1d7d1df4e0b27e1...
    *-arm64-apple-darwin-codesigning.tar.gz e24ade4558599abc... 36db4b587b2a1f80...
    *-arm64-apple-darwin-unsigned.tar.gz 139e5c93b62e6bd9... 8a2c8c8c4ddecd97...
    *-arm64-apple-darwin-unsigned.zip 7938b4588c399d57... 7601a21a0eb3b5ea...
    *-powerpc64-linux-gnu-debug.tar.gz c673cfd562f48b6b... c5cf337561643c15...
    *-powerpc64-linux-gnu.tar.gz 6089f3e1aeaff9f2... f0e69970d9148f61...
    *-riscv64-linux-gnu-debug.tar.gz 81def88068aa605d... e0bcdda86d024735...
    *-riscv64-linux-gnu.tar.gz ca77e2eeff5a7997... 1b276f8d8b508587...
    *-x86_64-apple-darwin-codesigning.tar.gz 0c79942deef08bb4... 4445c35eabc5a5c0...
    *-x86_64-apple-darwin-unsigned.tar.gz 6f6a22f4292aa086... 7e9725da2a01d31e...
    *-x86_64-apple-darwin-unsigned.zip 9bd50bc5b804299f... cd302fca0fe6acf5...
    *-x86_64-linux-gnu-debug.tar.gz a6f0a158b31947a7... 8832ff496bdef1c0...
    *-x86_64-linux-gnu.tar.gz 152bfb79e73d6c5c... c314349c64f3b42f...
    *.tar.gz 11c03cf932f54c54... 42bd5bfa5f3c093d...
    SHA256SUMS.part 1d1e22a8c246fe3b... 5d7796eab94e93f7...
    guix_build.log ec31c8f59d97cbaa... 97ab9e864bd8a123...
    guix_build.log.diff 08e07a75cde5ff16...
  9. DrahtBot removed the label DrahtBot Guix build requested on Dec 26, 2025
  10. janb84 commented at 3:21 pm on December 28, 2025: contributor

    my Guix Build Output

    Host architecture: aarch64 Commit: 2a6901529c73

     05eb1bd5a15708f4270eebbbb8f9e7f7f431da2c8d69603826f47ac18e58b31fd  guix-build-2a6901529c73/output/aarch64-linux-gnu/SHA256SUMS.part
     1b46120b21bacb54cb999a7ee34906203b74a82a7a797adfaf5160ffe39df179f  guix-build-2a6901529c73/output/aarch64-linux-gnu/bitcoin-2a6901529c73-aarch64-linux-gnu-debug.tar.gz
     28d0ab4938c9b3dab75d0a3c75b97aca6ed35644fcdd42eedd95b5b6152892285  guix-build-2a6901529c73/output/aarch64-linux-gnu/bitcoin-2a6901529c73-aarch64-linux-gnu.tar.gz
     3d61e0f3bdb67fb09bd95f9457f2e4fa5949b88045a21ec5519291ee6bea77051  guix-build-2a6901529c73/output/arm-linux-gnueabihf/SHA256SUMS.part
     4b0b1ded64d6f62e4e42fd24e8429a616d372b3d1302a041f73737b2593588558  guix-build-2a6901529c73/output/arm-linux-gnueabihf/bitcoin-2a6901529c73-arm-linux-gnueabihf-debug.tar.gz
     5004b14d5513ce82262cc9510401714a97af37522eff3481a0d70db581f06cd3c  guix-build-2a6901529c73/output/arm-linux-gnueabihf/bitcoin-2a6901529c73-arm-linux-gnueabihf.tar.gz
     69dad3b1374d23171fa400dc286551ee61ac188bec14d576a038ed6de1820fd1a  guix-build-2a6901529c73/output/arm64-apple-darwin/SHA256SUMS.part
     7e101af1b0fd333d5e498da19278b00d844e44f14e46678804577124bd1d9eaef  guix-build-2a6901529c73/output/arm64-apple-darwin/bitcoin-2a6901529c73-arm64-apple-darwin-codesigning.tar.gz
     8b21d7e342bf3e3dbf4a30b547d0eab4c5482e6c48cafc7e52ed6ce84f274f771  guix-build-2a6901529c73/output/arm64-apple-darwin/bitcoin-2a6901529c73-arm64-apple-darwin-unsigned.tar.gz
     957fe0760877802005946963d87c3a6b5849f3d03fd7ad412b2c55f345d0af163  guix-build-2a6901529c73/output/arm64-apple-darwin/bitcoin-2a6901529c73-arm64-apple-darwin-unsigned.zip
    107f074c95551f7bbf9f23a85f0ad46aebf9a6069f17e3c89230257ae96b107338  guix-build-2a6901529c73/output/dist-archive/bitcoin-2a6901529c73.tar.gz
    11920dc7d726be94004b3003b7d0d1e7ac59ce1fe64275cc42712bb1fa63737e8d  guix-build-2a6901529c73/output/powerpc64-linux-gnu/SHA256SUMS.part
    12d3f6f76cc2df64b263612224efdbc5cda29960d939ed7fef56fdb2547618f23e  guix-build-2a6901529c73/output/powerpc64-linux-gnu/bitcoin-2a6901529c73-powerpc64-linux-gnu-debug.tar.gz
    130970e286347486e9fef88f15e2409911d09fbbf2cf1d52e8a06a4cc247923e48  guix-build-2a6901529c73/output/powerpc64-linux-gnu/bitcoin-2a6901529c73-powerpc64-linux-gnu.tar.gz
    141a9b469909c685d46aeea0668dff6f532570154e4f8abe7224d94c92ef28d1c5  guix-build-2a6901529c73/output/riscv64-linux-gnu/SHA256SUMS.part
    15c5a49c68ae6346d1510b497c483e25b04c1aac22f4b9580a15efb80c5590a3cb  guix-build-2a6901529c73/output/riscv64-linux-gnu/bitcoin-2a6901529c73-riscv64-linux-gnu-debug.tar.gz
    162bd07c73dc5a13ee33d27db52d903a7f4a71fac45db7b636c37b02c6d3fb4b5f  guix-build-2a6901529c73/output/riscv64-linux-gnu/bitcoin-2a6901529c73-riscv64-linux-gnu.tar.gz
    1755b3a2b6258cb645547eb01c3ef46fcd97d4cb27ca8dd84c9c9a91ea1314cf81  guix-build-2a6901529c73/output/x86_64-apple-darwin/SHA256SUMS.part
    188e52dc444786c392ac6010b6bb2c8d2536d8da4731a4ef87f211af548bf9dced  guix-build-2a6901529c73/output/x86_64-apple-darwin/bitcoin-2a6901529c73-x86_64-apple-darwin-codesigning.tar.gz
    19373ceed73edcc41a343d2bce9b3f6d36634ca873b5d53959464f89435417f585  guix-build-2a6901529c73/output/x86_64-apple-darwin/bitcoin-2a6901529c73-x86_64-apple-darwin-unsigned.tar.gz
    2080e3980143fd4d5d8728e660ff01d029c1a8aab69f9718decd0b2149e287d88d  guix-build-2a6901529c73/output/x86_64-apple-darwin/bitcoin-2a6901529c73-x86_64-apple-darwin-unsigned.zip
    21392c4d7911daf946bbf913ee27975bfda37693a992ca61794018e39c2fbad68f  guix-build-2a6901529c73/output/x86_64-linux-gnu/SHA256SUMS.part
    226bc8ce0727114c65006e98392795d255ed74e2f7a2ebf9ea7518c369fe577fe3  guix-build-2a6901529c73/output/x86_64-linux-gnu/bitcoin-2a6901529c73-x86_64-linux-gnu-debug.tar.gz
    2395207f982880b179ec329efd8f0c8cee89868874953d7c8125c2fde44c1edf0f  guix-build-2a6901529c73/output/x86_64-linux-gnu/bitcoin-2a6901529c73-x86_64-linux-gnu.tar.gz
    24e269e1eae037b5c76f168945566c44d0695398f287ca6b131f789591ec88462c  guix-build-2a6901529c73/output/x86_64-w64-mingw32/SHA256SUMS.part
    2565961e3ab4f98f24db751802a58e1bb1640d956f3b0ae5ee081cef4a8fe897f4  guix-build-2a6901529c73/output/x86_64-w64-mingw32/bitcoin-2a6901529c73-win64-codesigning.tar.gz
    26928be5ef461640e856bb9ded3e40a2e8ef131beb8423aa930f43cec34a50a973  guix-build-2a6901529c73/output/x86_64-w64-mingw32/bitcoin-2a6901529c73-win64-debug.zip
    275521ed52afad02466930117496741114e7c62792bac25fc707869711c4a115c8  guix-build-2a6901529c73/output/x86_64-w64-mingw32/bitcoin-2a6901529c73-win64-setup-unsigned.exe
    28adc5553e1a162662ef668093dba297874a075ddb04992c9f15b58e4fe2131e43  guix-build-2a6901529c73/output/x86_64-w64-mingw32/bitcoin-2a6901529c73-win64-unsigned.zip
    

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