Skip to content

Conversation

fanquake
Copy link
Member

Fixes:

mp/util.h:207:20: error: no template named 'function' in namespace 'std'; did you mean 'kj::Function'?
  207 | using FdToArgsFn = std::function<std::vector<std::string>(int fd)>;
      |                    ^~~~~~~~~~~~~
      |                    kj::Function

when compiling with libc++ & _LIBCPP_REMOVE_TRANSITIVE_INCLUDES.

Fixes:
```bash
mp/util.h:207:20: error: no template named 'function' in namespace 'std'; did you mean 'kj::Function'?
  207 | using FdToArgsFn = std::function<std::vector<std::string>(int fd)>;
      |                    ^~~~~~~~~~~~~
      |                    kj::Function
```
when compiling with libc++ & `_LIBCPP_REMOVE_TRANSITIVE_INCLUDES`.
Copy link
Member

@hebasto hebasto left a comment

Choose a reason for hiding this comment

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

ACK 6929c40, tested on Ubuntu 23.10 by building Bitcoin Core with depends using the following patch:

--- a/depends/packages/native_libmultiprocess.mk
+++ b/depends/packages/native_libmultiprocess.mk
@@ -1,8 +1,8 @@
 package=native_libmultiprocess
-$(package)_version=015e95f7ebaa47619a213a19801e7fffafc56864
-$(package)_download_path=https://github.com/chaincodelabs/libmultiprocess/archive
+$(package)_version=6929c40913ce2bbee58754f2984ddd7ec97b44ea
+$(package)_download_path=https://github.com/fanquake/libmultiprocess/archive
 $(package)_file_name=$($(package)_version).tar.gz
-$(package)_sha256_hash=4b1266b121337f3f6f37e1863fba91c1a5ee9ad126bcffc6fe6b9ca47ad050a1
+$(package)_sha256_hash=e0aab3166ca902e7b255b4e1766c71c5e99170534ae412136e4133d4f85745d7
 $(package)_dependencies=native_capnp
 
 define $(package)_config_cmds

and the following command:

$ make -C depends CC="clang" CXX="clang++ -stdlib=libc++" CPPFLAGS="-D_LIBCPP_REMOVE_TRANSITIVE_INCLUDES" MULTIPROCESS=1 libmultiprocess

@ryanofsky
Copy link
Collaborator

Code review ACK 6929c40, thanks for the fix

@ryanofsky ryanofsky merged commit a4ac424 into bitcoin-core:master Sep 30, 2024
Sjors added a commit to Sjors/bitcoin that referenced this pull request Oct 1, 2024
This update brings in the following changes:
bitcoin-core/libmultiprocess#111: doc: Add internal design section
bitcoin-core/libmultiprocess#113 Add missing include to util.h
Sjors added a commit to Sjors/bitcoin that referenced this pull request Oct 4, 2024
This update brings in the following changes:
bitcoin-core/libmultiprocess#111: doc: Add internal design section
bitcoin-core/libmultiprocess#113 Add missing include to util.h
Sjors added a commit to Sjors/bitcoin that referenced this pull request Oct 4, 2024
This update brings in the following changes:
bitcoin-core/libmultiprocess#111: doc: Add internal design section
bitcoin-core/libmultiprocess#113 Add missing include to util.h
Sjors added a commit to Sjors/bitcoin that referenced this pull request Oct 5, 2024
This update brings in the following changes:
bitcoin-core/libmultiprocess#111: doc: Add internal design section
bitcoin-core/libmultiprocess#113 Add missing include to util.h
Sjors added a commit to Sjors/bitcoin that referenced this pull request Oct 7, 2024
This update brings in the following changes:
bitcoin-core/libmultiprocess#111: doc: Add internal design section
bitcoin-core/libmultiprocess#113 Add missing include to util.h
ryanofsky added a commit to ryanofsky/bitcoin that referenced this pull request Oct 8, 2024
Add recent changes and fixes for shutdown bugs:

bitcoin-core/libmultiprocess#111: doc: Add internal design section
bitcoin-core/libmultiprocess#113: Add missing include to util.h
bitcoin-core/libmultiprocess#116: shutdown bugfix: destroy RPC system before running cleanup callbacks
bitcoin-core/libmultiprocess#118: shutdown bugfix: Prevent segfault in server if connection is broken during long function call
ryanofsky added a commit to ryanofsky/bitcoin that referenced this pull request Oct 8, 2024
Add recent changes and fixes for shutdown bugs:

bitcoin-core/libmultiprocess#111: doc: Add internal design section
bitcoin-core/libmultiprocess#113: Add missing include to util.h
bitcoin-core/libmultiprocess#116: shutdown bugfix: destroy RPC system before running cleanup callbacks
bitcoin-core/libmultiprocess#118: shutdown bugfix: Prevent segfault in server if connection is broken during long function call
ryanofsky added a commit to ryanofsky/bitcoin that referenced this pull request Oct 16, 2024
Add recent changes and fixes for shutdown bugs.

bitcoin-core/libmultiprocess#111: doc: Add internal design section
bitcoin-core/libmultiprocess#113: Add missing include to util.h
bitcoin-core/libmultiprocess#116: shutdown bugfix: destroy RPC system before running cleanup callbacks
bitcoin-core/libmultiprocess#118: shutdown bugfix: Prevent segfault in server if connection is broken during long function call
bitcoin-core/libmultiprocess#119: cmake: avoid libatomic not found error on debian
fanquake added a commit to bitcoin/bitcoin that referenced this pull request Oct 21, 2024
90b4055 Update libmultiprocess library (Ryan Ofsky)

Pull request description:

  Add recent changes and fixes for shutdown bugs.

  bitcoin-core/libmultiprocess#111: doc: Add internal design section
  bitcoin-core/libmultiprocess#113: Add missing include to util.h
  bitcoin-core/libmultiprocess#116: shutdown bugfix: destroy RPC system before running cleanup callbacks
  bitcoin-core/libmultiprocess#118: shutdown bugfix: Prevent segfault in server if connection is broken during long function call
  bitcoin-core/libmultiprocess#119: cmake: avoid libatomic not found error on debian

ACKs for top commit:
  fanquake:
    ACK 90b4055
  TheCharlatan:
    ACK 90b4055

Tree-SHA512: 2c256667f0c16e00bb5a81b2c6d3db103fae211844e32b111bbed673ab2612ad1478e6b3ecd3a867a4e425cfa6e778b67388343626597a8fac800a15cea5e53a
janus pushed a commit to BitgesellOfficial/bitgesell that referenced this pull request Jan 19, 2025
Add recent changes and fixes for shutdown bugs.

bitcoin-core/libmultiprocess#111: doc: Add internal design section
bitcoin-core/libmultiprocess#113: Add missing include to util.h
bitcoin-core/libmultiprocess#116: shutdown bugfix: destroy RPC system before running cleanup callbacks
bitcoin-core/libmultiprocess#118: shutdown bugfix: Prevent segfault in server if connection is broken during long function call
bitcoin-core/libmultiprocess#119: cmake: avoid libatomic not found error on debian
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants