Skip to content

[C++][Acero] Build failure on OS X and cppstd 23 #47576

Closed

Description

@taepper

Describe the bug, including details regarding any error messages, version, and platform.

To reproduce:

git clone https://github.com/apache/arrow
cd arrow/cpp
cmake -B build -DCMAKE_CXX_STANDARD=23 -DARROW_ACERO=ON .
cmake --build build

The relevant generated error:

[ 90%] Building CXX object src/arrow/acero/CMakeFiles/arrow_acero_objlib.dir/asof_join_node.cc.o
In file included from /Users/ataeppe/tmp/arrow/cpp/src/arrow/acero/asof_join_node.cc:18:
In file included from /Users/ataeppe/tmp/arrow/cpp/src/arrow/acero/asof_join_node.h:18:
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/v1/vector:325:
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/v1/__format/formatter_bool.h:19:
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/v1/__format/formatter_integral.h:35:
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/v1/__locale:15:
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/shared_ptr.h:32:
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/v1/__memory/unique_ptr.h:635:30: error: no matching constructor for initialization of 'arrow::acero::BackpressureController'
  635 |   return unique_ptr<_Tp>(new _Tp(std::forward<_Args>(__args)...));
      |                              ^   ~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/ataeppe/tmp/arrow/cpp/src/arrow/acero/asof_join_node.cc:515:14: note: in instantiation of function template specialization 'std::make_unique<arrow::acero::BackpressureController, arrow::acero::ExecNode *&, arrow::acero::AsofJoinNode *&, std::atomic<int> &>' requested here
  515 |         std::make_unique<BackpressureController>(
      |              ^
/Users/ataeppe/tmp/arrow/cpp/src/arrow/acero/asof_join_node.cc:464:3: note: candidate constructor not viable: cannot convert argument of incomplete type 'arrow::acero::AsofJoinNode *' to 'ExecNode *' for 2nd argument
  464 |   BackpressureController(ExecNode* node, ExecNode* output,
      |   ^                                      ~~~~~~~~~~~~~~~~
/Users/ataeppe/tmp/arrow/cpp/src/arrow/acero/asof_join_node.cc:462:7: note: candidate constructor (the implicit copy constructor) not viable: requires 1 argument, but 3 were provided
  462 | class BackpressureController : public BackpressureControl {
      |       ^~~~~~~~~~~~~~~~~~~~~~
/Users/ataeppe/tmp/arrow/cpp/src/arrow/acero/asof_join_node.cc:462:7: note: candidate constructor (the implicit move constructor) not viable: requires 1 argument, but 3 were provided
  462 | class BackpressureController : public BackpressureControl {
      |       ^~~~~~~~~~~~~~~~~~~~~~
/Users/ataeppe/tmp/arrow/cpp/src/arrow/acero/asof_join_node.cc:794:17: warning: private field 'node_' is not used [-Wunused-private-field]
  794 |   AsofJoinNode* node_;
      |                 ^
/Users/ataeppe/tmp/arrow/cpp/src/arrow/acero/asof_join_node.cc:796:10: warning: private field 'index_' is not used [-Wunused-private-field]
  796 |   size_t index_;
      |          ^
2 warnings and 1 error generated.
make[2]: *** [src/arrow/acero/CMakeFiles/arrow_acero_objlib.dir/asof_join_node.cc.o] Error 1
make[1]: *** [src/arrow/acero/CMakeFiles/arrow_acero_objlib.dir/all] Error 2
make: *** [all] Error 2

I tested this on main (commit 72b0346003c23775021eef6f0f801cb6b44307a5).

Apple clang version 17.0.0 (clang-1700.0.13.5)

This originally surfaced for me when using with the dependency manager conan, which obfuscated the error quite a bit.

Component(s)

C++

Activity

  1. raulcd commented on Sep 16, 2025

    @raulcd
    Member

    Yes, C++ 23 is still failing when building acero/asof_join_node.cc, see:

    @kou is that the right issue to track C++23 support?

  2. kou commented on Sep 17, 2025

    @kou
    Member

    Yes. I've changed this issue as a subissue of #47207.

  3. pitrou commented on Oct 26, 2026

    @pitrou
    Member

    @taepper Is this issue still valid?

  4. taepper commented on Oct 27, 2026

    @taepper
    ContributorAuthor

    Still valid on main(4a6ebc0) with Apple clang 21.0.0 (clang-2100.3.34.2)

  5. jmcarcell commented on Oct 29, 2026

    @jmcarcell
    Contributor

    We're patching our builds with #50975

  6. added a commit that references this issue on Oct 30, 2026
  7. added this to the 27.0.0 milestone on Oct 30, 2026
  8. kou commented on Oct 30, 2026

    @kou
    Member

    Issue resolved by pull request 50975
    #50975

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

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions