Skip to content

Conversation

ryanofsky
Copy link
Contributor

@ryanofsky ryanofsky commented Jan 18, 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:

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

@DrahtBot
Copy link
Contributor

DrahtBot commented Jan 18, 2024

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

Code Coverage

For detailed information about the code coverage, see the test coverage report.

Reviews

See the guideline for information on the review process.

Type Reviewers
ACK fanquake
Concept ACK edilmedeiros
Stale ACK jarolrod

If your review is incorrectly listed, please react with 👎 to this comment and the bot will ignore it on the next update.

Conflicts

Reviewers, this pull request conflicts with the following ones:

  • #10102 (Multiprocess bitcoin by ryanofsky)

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.

Copy link
Member

@fanquake fanquake left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ACK 5dfd245 - thanks. Checked this fixes the macOS build. Also tested the build on aarch64.

@ryanofsky
Copy link
Contributor Author

There is another macos issue I'm debugging here: bitcoin-core/libmultiprocess#92 and I don't think it shows up in depends builds because the depends build skips tests. But it might trigger errors in bitcoin builds if more code from #10102 is merged.

There is no need to hold off on this PR, but if it is not merged, I will probably update it again with whatever the fix is for bitcoin-core/libmultiprocess#92

I probably need to figure out a better way of doing CI to catch these issues.

Copy link
Member

@jarolrod jarolrod left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ACK 5dfd245

This fixes the build issue.

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++
@ryanofsky
Copy link
Contributor Author

Updated 5dfd245 -> b8105b3 (pr/c14.1 -> pr/c14.2, compare) just adding a new macos build fix: bitcoin-core/libmultiprocess#93.

I'm pretty sure the new fix is not needed for any current depends builds because depends builds skip tests, but since code in #10102 does need the fix, it could potentially help review of that code if the fix is in place now. Sorry for the churn.

@edilmedeiros
Copy link
Contributor

Tested ACK.

I was watching the issue in bitcoin-core/libmultiprocess#92 and confirmed the fix in bitcoin-core/libmultiprocess#93.

I built and executed bitcoin-core tests with this PR following the official setup with Brew.

I could not compile this with dependencies coming from Macports, but the issue seems to be not related to the fix here as it does not compile either with --disable-multiprocess (I understand Macports is not supported anyhow, see #15175).

Copy link
Member

@fanquake fanquake left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ACK b8105b3.

@DrahtBot DrahtBot requested a review from jarolrod January 23, 2024 17:06
@fanquake fanquake merged commit f1ab078 into bitcoin:master Jan 23, 2024
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
PastaPastaPasta added a commit to dashpay/dash that referenced this pull request Oct 3, 2024
1b62294 Merge bitcoin#30743: depends: build libevent with `-D_GNU_SOURCE` (merge-script)
0f135dd Merge bitcoin#30522: ci: Add missing qttools5-dev install to Asan task (merge-script)
d46e16c Merge bitcoin#30490: depends: bump libmultiprocess for CMake fixes (merge-script)
7a63c20 Merge bitcoin#29276: depends: Update libmultiprocess library to fix C++20 macos build error (fanquake)
630e767 Merge bitcoin#28907: depends: bump libmultiprocess to fix capnproto deprecation warnings (fanquake)
318471d Merge bitcoin#28735: depends: Bump to capnproto-c++-1.0.1 (fanquake)
ad0c279 Merge bitcoin#26672: build: Update libmultiprocess library (fanquake)

Pull request description:

  ## Issue being fixed or feature implemented
  depends on #6294

  ## What was done?
  Batch of backports

  ## How Has This Been Tested?

  ## Breaking Changes

  ## Checklist:
    _Go over all the following points, and put an `x` in all the boxes that apply._
  - [ ] I have performed a self-review of my own code
  - [ ] I have commented my code, particularly in hard-to-understand areas
  - [ ] I have added or updated relevant unit/integration/functional/e2e tests
  - [ ] I have made corresponding changes to the documentation
  - [x] I have assigned this pull request to a milestone _(for repository code-owners and collaborators only)_

ACKs for top commit:
  UdjinM6:
    utACK 1b62294

Tree-SHA512: a0a01b1b4844725aa6c96304a4cddae61ec29b677a760f35648e7f39fb36f6f462d3a6d5e411e99f4db1fa59c01f6fffd87158cbef5e1ba1edb43e68fc362c77
@bitcoin bitcoin locked and limited conversation to collaborators Jan 22, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

build: multiprocess compile failure on macOS
5 participants