Skip to content

[C++] Can't build arrow::util::Process with Emscripten #44096

@kou

Description

@kou

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

Boost.Process doesn't support Emscripten:

https://github.com/ursacomputing/crossbow/actions/runs/10821866436/job/30024731332#step:7:1985

FAILED: src/arrow/CMakeFiles/arrow_testing_objlib.dir/testing/process.cc.o 
/usr/local/bin/sccache /root/emsdk/upstream/emscripten/em++ -DARROW_EXTRA_ERROR_CONTEXT -DARROW_TESTING_EXPORTING -DARROW_WITH_TIMING_TESTS -I/build/cpp/src -I/arrow/cpp/src -I/arrow/cpp/src/generated -isystem /arrow/cpp/thirdparty/flatbuffers/include -isystem /build/cpp/rapidjson_ep/src/rapidjson_ep-install/include -isystem /build/cpp/boost_ep-prefix/src/boost_ep -isystem /build/cpp/_deps/googletest-src/googletest/include -isystem /build/cpp/_deps/googletest-src/googletest -isystem /build/cpp/_deps/googletest-src/googlemock/include -isystem /build/cpp/_deps/googletest-src/googlemock -Qunused-arguments -fcolor-diagnostics -fPIC -fexceptions -Wno-error=deprecated-literal-operator  -Wall -Wextra -Wdocumentation -DARROW_WARN_DOCUMENTATION -Wno-shorten-64-to-32 -Wno-missing-braces -Wno-unused-parameter -Wno-constant-logical-operand -Wno-return-stack-address -Wdate-time -Wno-unknown-warning-option -Wno-pass-failed    -Werror -g2 -O1  -fPIC -std=c++17 -MD -MT src/arrow/CMakeFiles/arrow_testing_objlib.dir/testing/process.cc.o -MF src/arrow/CMakeFiles/arrow_testing_objlib.dir/testing/process.cc.o.d -o src/arrow/CMakeFiles/arrow_testing_objlib.dir/testing/process.cc.o -c /arrow/cpp/src/arrow/testing/process.cc
In file included from /arrow/cpp/src/arrow/testing/process.cc:27:
In file included from /build/cpp/boost_ep-prefix/src/boost_ep/boost/asio/io_context.hpp:25:
In file included from /build/cpp/boost_ep-prefix/src/boost_ep/boost/asio/detail/wrapped_handler.hpp:18:
In file included from /build/cpp/boost_ep-prefix/src/boost_ep/boost/asio/detail/bind_handler.hpp:20:
In file included from /build/cpp/boost_ep-prefix/src/boost_ep/boost/asio/detail/handler_alloc_helpers.hpp:21:
In file included from /build/cpp/boost_ep-prefix/src/boost_ep/boost/asio/detail/recycling_allocator.hpp:20:
In file included from /build/cpp/boost_ep-prefix/src/boost_ep/boost/asio/detail/thread_context.hpp:20:
In file included from /build/cpp/boost_ep-prefix/src/boost_ep/boost/asio/detail/call_stack.hpp:20:
/build/cpp/boost_ep-prefix/src/boost_ep/boost/asio/detail/tss_ptr.hpp:29:3: error: Only Windows and POSIX are supported!
   29 | # error Only Windows and POSIX are supported!
      |   ^
In file included from /arrow/cpp/src/arrow/testing/process.cc:27:
In file included from /build/cpp/boost_ep-prefix/src/boost_ep/boost/asio/io_context.hpp:44:
In file included from /build/cpp/boost_ep-prefix/src/boost_ep/boost/asio/detail/scheduler.hpp:240:
In file included from /build/cpp/boost_ep-prefix/src/boost_ep/boost/asio/detail/impl/scheduler.ipp:25:
/build/cpp/boost_ep-prefix/src/boost_ep/boost/asio/detail/signal_blocker.hpp:27:3: error: Only Windows and POSIX are supported!
   27 | # error Only Windows and POSIX are supported!
      |   ^
2 errors generated.

Component(s)

C++

Metadata

Metadata

Assignees

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions