theuni
commented at 4:26 PM on September 25, 2024:
member
Noticed while testing a branch that replaces boost::multi_index with a custom replacement.
Currently depends builds pick up usdt and boost from the same path, and because boost always exists, the usdt path is implicitly included. So without boost, USDT isn't found.
An alternative to this would be to disable USDT for the kernel. I'd be open to either approach.
build: Add missing USDT header dependency to kernelccd10fdb97
DrahtBot
commented at 4:26 PM on September 25, 2024:
contributor
<!--e57a25ab6845829454e8d69fc972939a-->
The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.
If your review is incorrectly listed, please react with 👎 to this comment and the bot will ignore it on the next update.
<!--174a7506f384e20aa4161008e828411d-->
Conflicts
Reviewers, this pull request conflicts with the following ones:
#28690 (build: Introduce internal kernel library by TheCharlatan)
If you consider this pull request important, please also help to review the conflicting pull requests. Ideally, start with the one that should be merged first.
DrahtBot added the label Build system on Sep 25, 2024
theuni
commented at 4:26 PM on September 25, 2024:
member
DrahtBot requested review from TheCharlatan on Sep 26, 2024
DrahtBot added the label CI failed on Sep 29, 2024
DrahtBot removed the label CI failed on Sep 29, 2024
fanquake
commented at 11:13 AM on October 11, 2024:
member
Currently depends builds pick up usdt and boost from the same path, and because boost always exists, the usdt path is implicitly included. So without boost, USDT isn't found.
To clarify for myself, the build currently picks up all depends dependencies from the same path (i.e something like -isystem /root/ci_scratch/depends/x86_64-pc-linux-gnu/include, (which is what is introduced with the change here)), so using any dependency will implictly include all others. It's just the case that the kernel only had two, and it was also possible that if the depends -isystem was missing, it could be masked by the fact that a system installed usdt, happens to exist alongside libc, and such will also always be included, so no compile failure.
Ideally, such changes should be enforced by a failure to compile:
However, when building with depends, the compiler is still able to include a system-wide header:
Are you saying you think we shouldn't be able to include system headers when building using depends? It's not clear how that'd work, unless we started vendoring our own libc/c++ etc.
hebasto
commented at 12:34 PM on October 11, 2024:
member
Are you saying you think we shouldn't be able to include system headers when building using depends?
Yes, for headers-only packages built in depends, such as Boost and USDT. It's for the same reason, why we got rid of the ALLOW_HOST_PACKAGES variable.
fanquake
commented at 12:41 PM on October 11, 2024:
member
Yes, for headers-only packages built in depends, such as Boost and USDT.
Headers-only shouldn't make any difference here, and this should already be the case for Boost. If it's not, that should be fixed. See my point above re USDT, I don't understand how you propose to do this, given that the USDT headers exist amongst the libc headers.
fanquake approved
fanquake
commented at 12:43 PM on October 11, 2024:
member
ACKccd10fdb97f9b8268a5cd60d7461967cfe536f16
fanquake merged this on Oct 11, 2024
fanquake closed this on Oct 11, 2024
TheCharlatan referenced this in commit 8bb47d4c2c on Nov 2, 2024
hebasto referenced this in commit d6601b58a8 on Nov 3, 2024
bug-castercv502 referenced this in commit 403bebd591 on Sep 28, 2025
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-04-18 15:13 UTC
This site is hosted by @0xB10C More mirrored repositories can be found on mirror.b10c.me