Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Closed
kou opened this issue Sep 13, 2024 · 1 comment
Closed

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

kou opened this issue Sep 13, 2024 · 1 comment
Assignees
Milestone

Comments

@kou
Copy link
Member

kou commented Sep 13, 2024

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++

@kou kou added the Type: bug label Sep 13, 2024
kou added a commit to kou/arrow that referenced this issue Sep 13, 2024
Because Boost.Process doesn't work with Emscripten.
kou added a commit that referenced this issue Sep 13, 2024
### Rationale for this change

Boost.Process doesn't work with Emscripten. So we can't build `arrow::util::Process`.

### What changes are included in this PR?

Don't use Boost.Process with Emscripten. `arrow::util::Process` returns `Status::NotImplemented` with Emscripten.

### Are these changes tested?

Yes.

### Are there any user-facing changes?

No.
* GitHub Issue: #44096

Authored-by: Sutou Kouhei <kou@clear-code.com>
Signed-off-by: Sutou Kouhei <kou@clear-code.com>
@kou kou added this to the 18.0.0 milestone Sep 13, 2024
@kou
Copy link
Member Author

kou commented Sep 13, 2024

Issue resolved by pull request 44097
#44097

@kou kou closed this as completed Sep 13, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant