Skip to content

Conversation

ryanofsky
Copy link
Collaborator

This compile flag was required previously when Bitcoin Core was using C++11, and libmultiprocess headers needed to be compiled with C++14 in order to be compatible with newer versions of Cap'n Proto. The flag was updated to C++17 since then.

But now Bitcoin Core has been updated to use C++20 and having the C++17 flag causes errors when the std::u8string type is referenced in bitcoin code. So just remove the C++ flag and let the application be responsible for choosing the C++ version.

This compile flag was required previously when Bitcoin Core was using C++11,
and libmultiprocess headers needed to be compiled with C++14 in order to be
compatible with newer versions of Cap'n Proto. The flag was updated to C++17
since then.

But now Bitcoin Core has been updated to use C++20 and having the C++17 flag
causes errors when the std::u8string type is referenced in bitcoin code. So
just remove the C++ flag and let the application be responsible for choosing
the C++ version.
@ryanofsky ryanofsky merged commit 0271195 into bitcoin-core:master Jan 11, 2024
ryanofsky added a commit to ryanofsky/bitcoin that referenced this pull request Jan 11, 2024
Add recent changes to support C++20 and fix some build issues:

bitcoin-core/libmultiprocess#89 pkgconfig: Drop -std=c++17 compile flag
bitcoin-core/libmultiprocess#90 pkgconfig: Use @CMAKE_INSTALL_LIBDIR@ variable
ryanofsky added a commit to ryanofsky/bitcoin that referenced this pull request Jan 18, 2024
Fixes bitcoin#29248

The std::result_of type was removed in c++20, but was being referenced in some
old, unused code in the library. The issue was fixed in:

bitcoin-core/libmultiprocess#91 util: Drop Bind, BindTuple, ComposeFn, GetFn, and ThrowFn helpers

This update also includes other recent libmultiprocess changes to improve C++20
support and fix build issues:

bitcoin-core/libmultiprocess#89 pkgconfig: Drop -std=c++17 compile flag
bitcoin-core/libmultiprocess#90 pkgconfig: Use @CMAKE_INSTALL_LIBDIR@ variable
ryanofsky added a commit to ryanofsky/bitcoin that referenced this pull request Jan 22, 2024
Fixes bitcoin#29248

The std::result_of type was removed in c++20, but was being referenced in some
old, unused code in the library. The issue was fixed in:

bitcoin-core/libmultiprocess#91 util: Drop Bind, BindTuple, ComposeFn, GetFn, and ThrowFn helpers

This update also includes other recent libmultiprocess changes to improve C++20
support and fix build issues:

bitcoin-core/libmultiprocess#89 pkgconfig: Drop -std=c++17 compile flag
bitcoin-core/libmultiprocess#90 pkgconfig: Use @CMAKE_INSTALL_LIBDIR@ variable
bitcoin-core/libmultiprocess#93 Fix support for vector<bool> serialization with libc++
fanquake added a commit to bitcoin/bitcoin that referenced this pull request Jan 23, 2024
…cos build error

b8105b3 depends: Update libmultiprocess library to fix C++20 macos build error (Ryan Ofsky)

Pull request description:

  Fixes #29248

  The std::result_of type was removed in c++20, but was being referenced in some old, unused code in the library. The issue was fixed in:

  - bitcoin-core/libmultiprocess#91

  This update also includes other recent libmultiprocess changes to improve C++20 support and fix build issues:

  - bitcoin-core/libmultiprocess#89
  - bitcoin-core/libmultiprocess#90
  - bitcoin-core/libmultiprocess#93

ACKs for top commit:
  fanquake:
    ACK b8105b3.

Tree-SHA512: 2ca64b5fc27be752baba38df4b4faf62152e18c70ead6e0e063f1cb0c25dd5d924dec7ebfd7f8bbd651ae50eb35e8d8b591a9847c36f22558b5f5effccf56536
0xB10C pushed a commit to 0xB10C/bitcoin that referenced this pull request Jan 24, 2024
Fixes bitcoin#29248

The std::result_of type was removed in c++20, but was being referenced in some
old, unused code in the library. The issue was fixed in:

bitcoin-core/libmultiprocess#91 util: Drop Bind, BindTuple, ComposeFn, GetFn, and ThrowFn helpers

This update also includes other recent libmultiprocess changes to improve C++20
support and fix build issues:

bitcoin-core/libmultiprocess#89 pkgconfig: Drop -std=c++17 compile flag
bitcoin-core/libmultiprocess#90 pkgconfig: Use @CMAKE_INSTALL_LIBDIR@ variable
bitcoin-core/libmultiprocess#93 Fix support for vector<bool> serialization with libc++
janus pushed a commit to BitgesellOfficial/bitgesell that referenced this pull request Apr 6, 2024
Fixes #29248

The std::result_of type was removed in c++20, but was being referenced in some
old, unused code in the library. The issue was fixed in:

bitcoin-core/libmultiprocess#91 util: Drop Bind, BindTuple, ComposeFn, GetFn, and ThrowFn helpers

This update also includes other recent libmultiprocess changes to improve C++20
support and fix build issues:

bitcoin-core/libmultiprocess#89 pkgconfig: Drop -std=c++17 compile flag
bitcoin-core/libmultiprocess#90 pkgconfig: Use @CMAKE_INSTALL_LIBDIR@ variable
bitcoin-core/libmultiprocess#93 Fix support for vector<bool> serialization with libc++
willcl-ark pushed a commit to willcl-ark/bitcoin that referenced this pull request May 2, 2024
Add recent changes to support C++20 and fix some build issues:

bitcoin-core/libmultiprocess#89 pkgconfig: Drop -std=c++17 compile flag
bitcoin-core/libmultiprocess#90 pkgconfig: Use @CMAKE_INSTALL_LIBDIR@ variable
ryanofsky added a commit to ryanofsky/bitcoin that referenced this pull request Jun 11, 2024
Add recent changes to support C++20 and fix some build issues:

bitcoin-core/libmultiprocess#89 pkgconfig: Drop -std=c++17 compile flag
bitcoin-core/libmultiprocess#90 pkgconfig: Use @CMAKE_INSTALL_LIBDIR@ variable
PastaPastaPasta pushed a commit to PastaPastaPasta/dash that referenced this pull request Sep 27, 2024
…++20 macos build error

b8105b3 depends: Update libmultiprocess library to fix C++20 macos build error (Ryan Ofsky)

Pull request description:

  Fixes bitcoin#29248

  The std::result_of type was removed in c++20, but was being referenced in some old, unused code in the library. The issue was fixed in:

  - bitcoin-core/libmultiprocess#91

  This update also includes other recent libmultiprocess changes to improve C++20 support and fix build issues:

  - bitcoin-core/libmultiprocess#89
  - bitcoin-core/libmultiprocess#90
  - bitcoin-core/libmultiprocess#93

ACKs for top commit:
  fanquake:
    ACK b8105b3.

Tree-SHA512: 2ca64b5fc27be752baba38df4b4faf62152e18c70ead6e0e063f1cb0c25dd5d924dec7ebfd7f8bbd651ae50eb35e8d8b591a9847c36f22558b5f5effccf56536
PastaPastaPasta pushed a commit to PastaPastaPasta/dash that referenced this pull request Sep 27, 2024
…++20 macos build error

b8105b3 depends: Update libmultiprocess library to fix C++20 macos build error (Ryan Ofsky)

Pull request description:

  Fixes bitcoin#29248

  The std::result_of type was removed in c++20, but was being referenced in some old, unused code in the library. The issue was fixed in:

  - bitcoin-core/libmultiprocess#91

  This update also includes other recent libmultiprocess changes to improve C++20 support and fix build issues:

  - bitcoin-core/libmultiprocess#89
  - bitcoin-core/libmultiprocess#90
  - bitcoin-core/libmultiprocess#93

ACKs for top commit:
  fanquake:
    ACK b8105b3.

Tree-SHA512: 2ca64b5fc27be752baba38df4b4faf62152e18c70ead6e0e063f1cb0c25dd5d924dec7ebfd7f8bbd651ae50eb35e8d8b591a9847c36f22558b5f5effccf56536
PastaPastaPasta pushed a commit to PastaPastaPasta/dash that referenced this pull request Sep 27, 2024
…++20 macos build error

b8105b3 depends: Update libmultiprocess library to fix C++20 macos build error (Ryan Ofsky)

Pull request description:

  Fixes bitcoin#29248

  The std::result_of type was removed in c++20, but was being referenced in some old, unused code in the library. The issue was fixed in:

  - bitcoin-core/libmultiprocess#91

  This update also includes other recent libmultiprocess changes to improve C++20 support and fix build issues:

  - bitcoin-core/libmultiprocess#89
  - bitcoin-core/libmultiprocess#90
  - bitcoin-core/libmultiprocess#93

ACKs for top commit:
  fanquake:
    ACK b8105b3.

Tree-SHA512: 2ca64b5fc27be752baba38df4b4faf62152e18c70ead6e0e063f1cb0c25dd5d924dec7ebfd7f8bbd651ae50eb35e8d8b591a9847c36f22558b5f5effccf56536
PastaPastaPasta pushed a commit to PastaPastaPasta/dash that referenced this pull request Sep 28, 2024
…++20 macos build error

b8105b3 depends: Update libmultiprocess library to fix C++20 macos build error (Ryan Ofsky)

Pull request description:

  Fixes bitcoin#29248

  The std::result_of type was removed in c++20, but was being referenced in some old, unused code in the library. The issue was fixed in:

  - bitcoin-core/libmultiprocess#91

  This update also includes other recent libmultiprocess changes to improve C++20 support and fix build issues:

  - bitcoin-core/libmultiprocess#89
  - bitcoin-core/libmultiprocess#90
  - bitcoin-core/libmultiprocess#93

ACKs for top commit:
  fanquake:
    ACK b8105b3.

Tree-SHA512: 2ca64b5fc27be752baba38df4b4faf62152e18c70ead6e0e063f1cb0c25dd5d924dec7ebfd7f8bbd651ae50eb35e8d8b591a9847c36f22558b5f5effccf56536
PastaPastaPasta pushed a commit to PastaPastaPasta/dash that referenced this pull request Oct 1, 2024
…++20 macos build error

b8105b3 depends: Update libmultiprocess library to fix C++20 macos build error (Ryan Ofsky)

Pull request description:

  Fixes bitcoin#29248

  The std::result_of type was removed in c++20, but was being referenced in some old, unused code in the library. The issue was fixed in:

  - bitcoin-core/libmultiprocess#91

  This update also includes other recent libmultiprocess changes to improve C++20 support and fix build issues:

  - bitcoin-core/libmultiprocess#89
  - bitcoin-core/libmultiprocess#90
  - bitcoin-core/libmultiprocess#93

ACKs for top commit:
  fanquake:
    ACK b8105b3.

Tree-SHA512: 2ca64b5fc27be752baba38df4b4faf62152e18c70ead6e0e063f1cb0c25dd5d924dec7ebfd7f8bbd651ae50eb35e8d8b591a9847c36f22558b5f5effccf56536
@bitcoin-core bitcoin-core locked and limited conversation to collaborators Jun 25, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant