Skip to content

[should fail] depends: Boost 1.91.0-1#35147

Draft
fanquake wants to merge 1 commit intobitcoin:masterfrom
fanquake:boost_1_91_0
Draft

[should fail] depends: Boost 1.91.0-1#35147
fanquake wants to merge 1 commit intobitcoin:masterfrom
fanquake:boost_1_91_0

Conversation

@fanquake
Copy link
Copy Markdown
Member

https://www.boost.org/releases/1.91.0/.

MultiIndex

Breaking change: All type lists accepted or provided by the library (indexed_by, tag, nested typedefs index_specifier_type_list, index_type_list, iterator_type_list and const_iterator_type_list) are no longer based on Boost.MPL but instead they are now Boost.Mp11 lists. As a result, Boost.MultiIndex doesn’t depend anymore on Boost.MPL. It is expected that most user code won’t be impacted by this change, but the previous behavior may be restored, however, by globally defining the macro BOOST_MULTI_INDEX_ENABLE_MPL_SUPPORT. Legacy support for Boost.MPL may be eventually deprecated and removed in the future.

Breaking change: composite_key and associated class templates (composite_key_equal_to, composite_key_compare, composite_key_hash) have been made variadic (previously the maximum number of template arguments was limited by BOOST_MULTI_INDEX_LIMIT_COMPOSITE_KEY_SIZE). This change should be transparent to users, with the exception that composite_key::key_extractors returns a std::tuple instead of a boost::tuple (and similarly for the rest of affected class templates).

Removed internal workarounds and fallbacks to support pre-C++11 compilers.

@DrahtBot
Copy link
Copy Markdown
Contributor

DrahtBot commented Apr 24, 2026

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

Reviews

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

@DrahtBot
Copy link
Copy Markdown
Contributor

🚧 At least one of the CI tasks failed.
Task 32 bit ARM: https://github.com/bitcoin/bitcoin/actions/runs/24869904274/job/72813921619
LLM reason (✨ experimental): CI failed at build time due to C++ compilation errors in src/txmempool.h (Boost multi_index get<index_by_wtxid> template misuse and missing m_entry_vec symbol).

Hints

Try to run the tests locally, according to the documentation. However, a CI failure may still
happen due to a number of reasons, for example:

  • Possibly due to a silent merge conflict (the changes in this pull request being
    incompatible with the current code in the target branch). If so, make sure to rebase on the latest
    commit of the target branch.

  • A sanitizer issue, which can only be found by compiling with the sanitizer and running the
    affected test.

  • An intermittent issue.

Leave a comment here, if you need help tracking down a confusing failure.

@maflcko
Copy link
Copy Markdown
Member

maflcko commented Apr 24, 2026

I think you forgot to copy the required headers? The update should be transparent. At least it seems to be passing in https://github.com/hebasto/bitcoin-core-nightly/actions/runs/24873579092/job/72825220909#step:3:49 , but maybe I am missing something?

@hebasto
Copy link
Copy Markdown
Member

hebasto commented Apr 24, 2026

I think you forgot to copy the required headers? The update should be transparent. At least it seems to be passing in https://github.com/hebasto/bitcoin-core-nightly/actions/runs/24873579092/job/72825220909#step:3:49 , but maybe I am missing something?

That CI job is still using Boost 1.90.

@hebasto
Copy link
Copy Markdown
Member

hebasto commented Apr 24, 2026

https://www.boost.org/releases/1.91.0/.

MultiIndex

Breaking change: All type lists accepted or provided by the library (indexed_by, tag, nested typedefs index_specifier_type_list, index_type_list, iterator_type_list and const_iterator_type_list) are no longer based on Boost.MPL but instead they are now Boost.Mp11 lists. As a result, Boost.MultiIndex doesn’t depend anymore on Boost.MPL. It is expected that most user code won’t be impacted by this change, but the previous behavior may be restored, however, by globally defining the macro BOOST_MULTI_INDEX_ENABLE_MPL_SUPPORT. Legacy support for Boost.MPL may be eventually deprecated and removed in the future.

Breaking change: composite_key and associated class templates (composite_key_equal_to, composite_key_compare, composite_key_hash) have been made variadic (previously the maximum number of template arguments was limited by BOOST_MULTI_INDEX_LIMIT_COMPOSITE_KEY_SIZE). This change should be transparent to users, with the exception that composite_key::key_extractors returns a std::tuple instead of a boost::tuple (and similarly for the rest of affected class templates).

Removed internal workarounds and fallbacks to support pre-C++11 compilers.

Globally defining the BOOST_MULTI_INDEX_ENABLE_MPL_SUPPORT macro seems not working as expected.

Update: See here and here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants