-
Notifications
You must be signed in to change notification settings - Fork 706
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
Emscripten upgrade breaks Envoy #1273
Comments
This might also be an issue with |
Fixes emscripten-core#1273. This was broken by emscripten-core#1045 with the comment "* all_files not needed?" They were needed.
@martijneken Let me know if you can easily verify that #1274 fixes your issues. If it does I'll go ahead and merge. If you need me to merge in order to test let me know and I'm happy to do that as well. |
Yes this helps! I see emcc and emcc_link being used by envoy_cmake now. Next there is a set of real-looking zlib build errors (some pasted below). I had noticed this zlib build issue already, and it's fixed in a newer zlib version (see proxy-wasm/proxy-wasm-cpp-sdk#157 (comment)). My short term workaround is setting
|
Fixes emscripten-core#1273. This was broken by emscripten-core#1045 with the comment "* all_files not needed?" They were needed.
There are at least two issues upgrading Envoy to v3.1.44 (seen in envoyproxy/envoy#29118), and I suspect both are related to Bazel toolchain resolution since #1036.
Inability to build cmake targets, such as zlib. The error is
CMAKE_C_COMPILER not set
(details).When I try to add an emcmake toolchain (draft), I run into toolchain resolution issues (details). The issue is that the regular cmake toolchain uses
exec_compatible_with
qualifiers, rather thantarget_compatible_with
which would skip this choice for wasm targets.I suspect there are 2 possible roads to fix cmake support:
Improper cpp toolchain resolution. Envoy uses Rust to build Wasm plugins, and Rust registers a dummy cc toolchain. For reasons I don't understand, the Rust dummy toolchain is selected ahead of the real emcc toolchain, causing compilation failures like
DUMMY_GCC_TOOL failed
(it's not intended to actually build anything). It seems like emsdk needs a way to force its toolchain after the emscripten transition.P.S. The above issues pop up when setting
incompatible_use_toolchain_transition
(or flags like--incompatible_enable_cc_toolchain_resolution
), which many projects and targets already rely on.The text was updated successfully, but these errors were encountered: