vmware-labs / webassembly-language-runtimes

Wasm Language Runtimes provides popular language runtimes (Ruby, Python, …) precompiled to WebAssembly that are tested for compatibility and kept up to date when new versions of upstream languages are released
Apache License 2.0
337 stars 29 forks source link

Add node language runtime #120

Open liudonghua123 opened 1 year ago

liudonghua123 commented 1 year ago

Is your feature request related to a problem? Please describe.

Hi, build node as wasm would be awesome. Some other solutions like webcontainer and codesandbox already maybe have done it.

But they are not shared nor could use self-hosted locally or offline.

Describe the solution you'd like

Maybe this could be done using https://github.com/WebAssembly/wasi-sdk or https://github.com/emscripten-core/emsdk.

Describe alternatives you've considered

N.A.

Additional context

N.A.

assambar commented 1 year ago

Hey @liudonghua123 could you elaborate more on your use case? There may be alternatives to building node.js for Wasm.

Some context: For purely JS applications there are engines like Javy

We have not considered node.js at this stage. Most of our work here is focused on wasi-sdk so far and a some of the default functionality in node.js that you rely on may be missing even if we manage to build a stripped version of it that runs on WASI.

liudonghua123 commented 1 year ago

Hey @liudonghua123 could you elaborate more on your use case? There may be alternatives to building node.js for Wasm.

Some context: For purely JS applications there are engines like Javy

We have not considered node.js at this stage. Most of our work here is focused on wasi-sdk so far and a some of the default functionality in node.js that you rely on may be missing even if we manage to build a stripped version of it that runs on WASI.

Hi, I am writing an app which shows some tutorials or exanples for python, php and nodejs and so on. And I want to use pure web stack without a server, without install and configure python, php and nodejs environment. For the editor I can use monaco-editor, for the python I can use pyodide and pyright-browser as LSP support. PHP has also webassembly build php-wasm, now I want to found something similar for nodejs.

I also tried to build nodejs with emsdk, but it failed with 'sys/epoll.h' file not found when build deps/uv, it similar to this issue which seems difficult to solve.

If all the mentioned goals resolved, then I can use tauri to pack it and make the app to support all the majority platforms which include windows, macos, linus, web and android/ios mobile (tauri 2.0 will support mobile platform and will arrive soon).

build node with emsdk, `emconfigure ./configure --openssl-no-asm` ```bash liudonghua@xxs:~/node$ emconfigure ./configure configure: ./configure Node.js configure: Found Python 3.11.0... ERROR: Did not find a new enough assembler, install one or build with --openssl-no-asm. Please refer to BUILDING.md emconfigure: error: './configure' failed (returned 1) liudonghua@xxs:~/node$ emconfigure ./configure --openssl-no-asm configure: ./configure --openssl-no-asm Node.js configure: Found Python 3.11.0... WARNING: --openssl-no-asm will result in binaries that do not take advantage of modern CPU cryptographic instructions and will therefore be slower. Please refer to BUILDING.md WARNING: warnings were emitted in the configure phase INFO: configure completed successfully liudonghua@xxs:~/node$ emmake make -j `nproc` make: make -j 40 make -C out BUILDTYPE=Release V=0 touch /home/liudonghua/node/out/Release/obj.target/deps/googletest/gtest_prod.stamp /home/liudonghua/emsdk/upstream/emscripten/em++ -o /home/liudonghua/node/out/Release/obj.target/simdutf/deps/simdutf/simdutf.o ../deps/simdutf/simdutf.cpp '-DV8_DEPRECATION_WARNINGS' '-DV8_IMMINENT_DEPRECATION_WARNINGS' '-D_GLIBCXX_USE_CXX11_ABI=1' '-DNODE_OPENSSL_CONF_NAME=nodejs_conf' '-DNODE_OPENSSL_HAS_QUIC' '-DICU_NO_USER_DATA_OVERRIDE' '-D__STDC_FORMAT_MACROS' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DOPENSSL_NO_ASM' -I../deps/simdutf -pthread -Wall -Wextra -Wno-unused-parameter -m32 -O3 -fno-omit-frame-pointer -fno-rtti -fno-exceptions -std=gnu++17 -MMD -MF /home/liudonghua/node/out/Release/.deps//home/liudonghua/node/out/Release/obj.target/simdutf/deps/simdutf/simdutf.o.d.raw -c /home/liudonghua/emsdk/upstream/emscripten/emcc -o /home/liudonghua/node/out/Release/obj.target/libuv/deps/uv/src/fs-poll.o ../deps/uv/src/fs-poll.c '-DV8_DEPRECATION_WARNINGS' '-DV8_IMMINENT_DEPRECATION_WARNINGS' '-D_GLIBCXX_USE_CXX11_ABI=1' '-DNODE_OPENSSL_CONF_NAME=nodejs_conf' '-DNODE_OPENSSL_HAS_QUIC' '-DICU_NO_USER_DATA_OVERRIDE' '-D__STDC_FORMAT_MACROS' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DOPENSSL_NO_ASM' '-D_LARGEFILE_SOURCE' '-D_FILE_OFFSET_BITS=64' '-D_GNU_SOURCE' -I../deps/uv/include -I../deps/uv/src -pthread -Wall -Wextra -Wno-unused-parameter -fvisibility=hidden -g --std=gnu89 -Wall -Wextra -Wno-unused-parameter -Wstrict-prototypes -fno-strict-aliasing -m32 -O3 -fno-omit-frame-pointer -MMD -MF /home/liudonghua/node/out/Release/.deps//home/liudonghua/node/out/Release/obj.target/libuv/deps/uv/src/fs-poll.o.d.raw -c /home/liudonghua/emsdk/upstream/emscripten/emcc -o /home/liudonghua/node/out/Release/obj.target/libuv/deps/uv/src/idna.o ../deps/uv/src/idna.c '-DV8_DEPRECATION_WARNINGS' '-DV8_IMMINENT_DEPRECATION_WARNINGS' '-D_GLIBCXX_USE_CXX11_ABI=1' '-DNODE_OPENSSL_CONF_NAME=nodejs_conf' '-DNODE_OPENSSL_HAS_QUIC' '-DICU_NO_USER_DATA_OVERRIDE' '-D__STDC_FORMAT_MACROS' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DOPENSSL_NO_ASM' '-D_LARGEFILE_SOURCE' '-D_FILE_OFFSET_BITS=64' '-D_GNU_SOURCE' -I../deps/uv/include -I../deps/uv/src -pthread -Wall -Wextra -Wno-unused-parameter -fvisibility=hidden -g --std=gnu89 -Wall -Wextra -Wno-unused-parameter -Wstrict-prototypes -fno-strict-aliasing -m32 -O3 -fno-omit-frame-pointer -MMD -MF /home/liudonghua/node/out/Release/.deps//home/liudonghua/node/out/Release/obj.target/libuv/deps/uv/src/idna.o.d.raw -c /home/liudonghua/emsdk/upstream/emscripten/emcc -o /home/liudonghua/node/out/Release/obj.target/libuv/deps/uv/src/inet.o ../deps/uv/src/inet.c '-DV8_DEPRECATION_WARNINGS' '-DV8_IMMINENT_DEPRECATION_WARNINGS' '-D_GLIBCXX_USE_CXX11_ABI=1' '-DNODE_OPENSSL_CONF_NAME=nodejs_conf' '-DNODE_OPENSSL_HAS_QUIC' '-DICU_NO_USER_DATA_OVERRIDE' '-D__STDC_FORMAT_MACROS' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DOPENSSL_NO_ASM' '-D_LARGEFILE_SOURCE' '-D_FILE_OFFSET_BITS=64' '-D_GNU_SOURCE' -I../deps/uv/include -I../deps/uv/src -pthread -Wall -Wextra -Wno-unused-parameter -fvisibility=hidden -g --std=gnu89 -Wall -Wextra -Wno-unused-parameter -Wstrict-prototypes -fno-strict-aliasing -m32 -O3 -fno-omit-frame-pointer -MMD -MF /home/liudonghua/node/out/Release/.deps//home/liudonghua/node/out/Release/obj.target/libuv/deps/uv/src/inet.o.d.raw -c /home/liudonghua/emsdk/upstream/emscripten/emcc -o /home/liudonghua/node/out/Release/obj.target/libuv/deps/uv/src/random.o ../deps/uv/src/random.c '-DV8_DEPRECATION_WARNINGS' '-DV8_IMMINENT_DEPRECATION_WARNINGS' '-D_GLIBCXX_USE_CXX11_ABI=1' '-DNODE_OPENSSL_CONF_NAME=nodejs_conf' '-DNODE_OPENSSL_HAS_QUIC' '-DICU_NO_USER_DATA_OVERRIDE' '-D__STDC_FORMAT_MACROS' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DOPENSSL_NO_ASM' '-D_LARGEFILE_SOURCE' '-D_FILE_OFFSET_BITS=64' '-D_GNU_SOURCE' -I../deps/uv/include -I../deps/uv/src -pthread -Wall -Wextra -Wno-unused-parameter -fvisibility=hidden -g --std=gnu89 -Wall -Wextra -Wno-unused-parameter -Wstrict-prototypes -fno-strict-aliasing -m32 -O3 -fno-omit-frame-pointer -MMD -MF /home/liudonghua/node/out/Release/.deps//home/liudonghua/node/out/Release/obj.target/libuv/deps/uv/src/random.o.d.raw -c /home/liudonghua/emsdk/upstream/emscripten/emcc -o /home/liudonghua/node/out/Release/obj.target/libuv/deps/uv/src/strscpy.o ../deps/uv/src/strscpy.c '-DV8_DEPRECATION_WARNINGS' '-DV8_IMMINENT_DEPRECATION_WARNINGS' '-D_GLIBCXX_USE_CXX11_ABI=1' '-DNODE_OPENSSL_CONF_NAME=nodejs_conf' '-DNODE_OPENSSL_HAS_QUIC' '-DICU_NO_USER_DATA_OVERRIDE' '-D__STDC_FORMAT_MACROS' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DOPENSSL_NO_ASM' '-D_LARGEFILE_SOURCE' '-D_FILE_OFFSET_BITS=64' '-D_GNU_SOURCE' -I../deps/uv/include -I../deps/uv/src -pthread -Wall -Wextra -Wno-unused-parameter -fvisibility=hidden -g --std=gnu89 -Wall -Wextra -Wno-unused-parameter -Wstrict-prototypes -fno-strict-aliasing -m32 -O3 -fno-omit-frame-pointer -MMD -MF /home/liudonghua/node/out/Release/.deps//home/liudonghua/node/out/Release/obj.target/libuv/deps/uv/src/strscpy.o.d.raw -c /home/liudonghua/emsdk/upstream/emscripten/emcc -o /home/liudonghua/node/out/Release/obj.target/libuv/deps/uv/src/strtok.o ../deps/uv/src/strtok.c '-DV8_DEPRECATION_WARNINGS' '-DV8_IMMINENT_DEPRECATION_WARNINGS' '-D_GLIBCXX_USE_CXX11_ABI=1' '-DNODE_OPENSSL_CONF_NAME=nodejs_conf' '-DNODE_OPENSSL_HAS_QUIC' '-DICU_NO_USER_DATA_OVERRIDE' '-D__STDC_FORMAT_MACROS' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DOPENSSL_NO_ASM' '-D_LARGEFILE_SOURCE' '-D_FILE_OFFSET_BITS=64' '-D_GNU_SOURCE' -I../deps/uv/include -I../deps/uv/src -pthread -Wall -Wextra -Wno-unused-parameter -fvisibility=hidden -g --std=gnu89 -Wall -Wextra -Wno-unused-parameter -Wstrict-prototypes -fno-strict-aliasing -m32 -O3 -fno-omit-frame-pointer -MMD -MF /home/liudonghua/node/out/Release/.deps//home/liudonghua/node/out/Release/obj.target/libuv/deps/uv/src/strtok.o.d.raw -c /home/liudonghua/emsdk/upstream/emscripten/emcc -o /home/liudonghua/node/out/Release/obj.target/libuv/deps/uv/src/thread-common.o ../deps/uv/src/thread-common.c '-DV8_DEPRECATION_WARNINGS' '-DV8_IMMINENT_DEPRECATION_WARNINGS' '-D_GLIBCXX_USE_CXX11_ABI=1' '-DNODE_OPENSSL_CONF_NAME=nodejs_conf' '-DNODE_OPENSSL_HAS_QUIC' '-DICU_NO_USER_DATA_OVERRIDE' '-D__STDC_FORMAT_MACROS' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DOPENSSL_NO_ASM' '-D_LARGEFILE_SOURCE' '-D_FILE_OFFSET_BITS=64' '-D_GNU_SOURCE' -I../deps/uv/include -I../deps/uv/src -pthread -Wall -Wextra -Wno-unused-parameter -fvisibility=hidden -g --std=gnu89 -Wall -Wextra -Wno-unused-parameter -Wstrict-prototypes -fno-strict-aliasing -m32 -O3 -fno-omit-frame-pointer -MMD -MF /home/liudonghua/node/out/Release/.deps//home/liudonghua/node/out/Release/obj.target/libuv/deps/uv/src/thread-common.o.d.raw -c /home/liudonghua/emsdk/upstream/emscripten/emcc -o /home/liudonghua/node/out/Release/obj.target/libuv/deps/uv/src/threadpool.o ../deps/uv/src/threadpool.c '-DV8_DEPRECATION_WARNINGS' '-DV8_IMMINENT_DEPRECATION_WARNINGS' '-D_GLIBCXX_USE_CXX11_ABI=1' '-DNODE_OPENSSL_CONF_NAME=nodejs_conf' '-DNODE_OPENSSL_HAS_QUIC' '-DICU_NO_USER_DATA_OVERRIDE' '-D__STDC_FORMAT_MACROS' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DOPENSSL_NO_ASM' '-D_LARGEFILE_SOURCE' '-D_FILE_OFFSET_BITS=64' '-D_GNU_SOURCE' -I../deps/uv/include -I../deps/uv/src -pthread -Wall -Wextra -Wno-unused-parameter -fvisibility=hidden -g --std=gnu89 -Wall -Wextra -Wno-unused-parameter -Wstrict-prototypes -fno-strict-aliasing -m32 -O3 -fno-omit-frame-pointer -MMD -MF /home/liudonghua/node/out/Release/.deps//home/liudonghua/node/out/Release/obj.target/libuv/deps/uv/src/threadpool.o.d.raw -c /home/liudonghua/emsdk/upstream/emscripten/emcc -o /home/liudonghua/node/out/Release/obj.target/libuv/deps/uv/src/timer.o ../deps/uv/src/timer.c '-DV8_DEPRECATION_WARNINGS' '-DV8_IMMINENT_DEPRECATION_WARNINGS' '-D_GLIBCXX_USE_CXX11_ABI=1' '-DNODE_OPENSSL_CONF_NAME=nodejs_conf' '-DNODE_OPENSSL_HAS_QUIC' '-DICU_NO_USER_DATA_OVERRIDE' '-D__STDC_FORMAT_MACROS' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DOPENSSL_NO_ASM' '-D_LARGEFILE_SOURCE' '-D_FILE_OFFSET_BITS=64' '-D_GNU_SOURCE' -I../deps/uv/include -I../deps/uv/src -pthread -Wall -Wextra -Wno-unused-parameter -fvisibility=hidden -g --std=gnu89 -Wall -Wextra -Wno-unused-parameter -Wstrict-prototypes -fno-strict-aliasing -m32 -O3 -fno-omit-frame-pointer -MMD -MF /home/liudonghua/node/out/Release/.deps//home/liudonghua/node/out/Release/obj.target/libuv/deps/uv/src/timer.o.d.raw -c /home/liudonghua/emsdk/upstream/emscripten/emcc -o /home/liudonghua/node/out/Release/obj.target/libuv/deps/uv/src/uv-data-getter-setters.o ../deps/uv/src/uv-data-getter-setters.c '-DV8_DEPRECATION_WARNINGS' '-DV8_IMMINENT_DEPRECATION_WARNINGS' '-D_GLIBCXX_USE_CXX11_ABI=1' '-DNODE_OPENSSL_CONF_NAME=nodejs_conf' '-DNODE_OPENSSL_HAS_QUIC' '-DICU_NO_USER_DATA_OVERRIDE' '-D__STDC_FORMAT_MACROS' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DOPENSSL_NO_ASM' '-D_LARGEFILE_SOURCE' '-D_FILE_OFFSET_BITS=64' '-D_GNU_SOURCE' -I../deps/uv/include -I../deps/uv/src -pthread -Wall -Wextra -Wno-unused-parameter -fvisibility=hidden -g --std=gnu89 -Wall -Wextra -Wno-unused-parameter -Wstrict-prototypes -fno-strict-aliasing -m32 -O3 -fno-omit-frame-pointer -MMD -MF /home/liudonghua/node/out/Release/.deps//home/liudonghua/node/out/Release/obj.target/libuv/deps/uv/src/uv-data-getter-setters.o.d.raw -c /home/liudonghua/emsdk/upstream/emscripten/emcc -o /home/liudonghua/node/out/Release/obj.target/libuv/deps/uv/src/uv-common.o ../deps/uv/src/uv-common.c '-DV8_DEPRECATION_WARNINGS' '-DV8_IMMINENT_DEPRECATION_WARNINGS' '-D_GLIBCXX_USE_CXX11_ABI=1' '-DNODE_OPENSSL_CONF_NAME=nodejs_conf' '-DNODE_OPENSSL_HAS_QUIC' '-DICU_NO_USER_DATA_OVERRIDE' '-D__STDC_FORMAT_MACROS' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DOPENSSL_NO_ASM' '-D_LARGEFILE_SOURCE' '-D_FILE_OFFSET_BITS=64' '-D_GNU_SOURCE' -I../deps/uv/include -I../deps/uv/src -pthread -Wall -Wextra -Wno-unused-parameter -fvisibility=hidden -g --std=gnu89 -Wall -Wextra -Wno-unused-parameter -Wstrict-prototypes -fno-strict-aliasing -m32 -O3 -fno-omit-frame-pointer -MMD -MF /home/liudonghua/node/out/Release/.deps//home/liudonghua/node/out/Release/obj.target/libuv/deps/uv/src/uv-common.o.d.raw -c /home/liudonghua/emsdk/upstream/emscripten/emcc -o /home/liudonghua/node/out/Release/obj.target/libuv/deps/uv/src/version.o ../deps/uv/src/version.c '-DV8_DEPRECATION_WARNINGS' '-DV8_IMMINENT_DEPRECATION_WARNINGS' '-D_GLIBCXX_USE_CXX11_ABI=1' '-DNODE_OPENSSL_CONF_NAME=nodejs_conf' '-DNODE_OPENSSL_HAS_QUIC' '-DICU_NO_USER_DATA_OVERRIDE' '-D__STDC_FORMAT_MACROS' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DOPENSSL_NO_ASM' '-D_LARGEFILE_SOURCE' '-D_FILE_OFFSET_BITS=64' '-D_GNU_SOURCE' -I../deps/uv/include -I../deps/uv/src -pthread -Wall -Wextra -Wno-unused-parameter -fvisibility=hidden -g --std=gnu89 -Wall -Wextra -Wno-unused-parameter -Wstrict-prototypes -fno-strict-aliasing -m32 -O3 -fno-omit-frame-pointer -MMD -MF /home/liudonghua/node/out/Release/.deps//home/liudonghua/node/out/Release/obj.target/libuv/deps/uv/src/version.o.d.raw -c /home/liudonghua/emsdk/upstream/emscripten/emcc -o /home/liudonghua/node/out/Release/obj.target/libuv/deps/uv/src/unix/async.o ../deps/uv/src/unix/async.c '-DV8_DEPRECATION_WARNINGS' '-DV8_IMMINENT_DEPRECATION_WARNINGS' '-D_GLIBCXX_USE_CXX11_ABI=1' '-DNODE_OPENSSL_CONF_NAME=nodejs_conf' '-DNODE_OPENSSL_HAS_QUIC' '-DICU_NO_USER_DATA_OVERRIDE' '-D__STDC_FORMAT_MACROS' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DOPENSSL_NO_ASM' '-D_LARGEFILE_SOURCE' '-D_FILE_OFFSET_BITS=64' '-D_GNU_SOURCE' -I../deps/uv/include -I../deps/uv/src -pthread -Wall -Wextra -Wno-unused-parameter -fvisibility=hidden -g --std=gnu89 -Wall -Wextra -Wno-unused-parameter -Wstrict-prototypes -fno-strict-aliasing -m32 -O3 -fno-omit-frame-pointer -MMD -MF /home/liudonghua/node/out/Release/.deps//home/liudonghua/node/out/Release/obj.target/libuv/deps/uv/src/unix/async.o.d.raw -c /home/liudonghua/emsdk/upstream/emscripten/emcc -o /home/liudonghua/node/out/Release/obj.target/libuv/deps/uv/src/unix/core.o ../deps/uv/src/unix/core.c '-DV8_DEPRECATION_WARNINGS' '-DV8_IMMINENT_DEPRECATION_WARNINGS' '-D_GLIBCXX_USE_CXX11_ABI=1' '-DNODE_OPENSSL_CONF_NAME=nodejs_conf' '-DNODE_OPENSSL_HAS_QUIC' '-DICU_NO_USER_DATA_OVERRIDE' '-D__STDC_FORMAT_MACROS' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DOPENSSL_NO_ASM' '-D_LARGEFILE_SOURCE' '-D_FILE_OFFSET_BITS=64' '-D_GNU_SOURCE' -I../deps/uv/include -I../deps/uv/src -pthread -Wall -Wextra -Wno-unused-parameter -fvisibility=hidden -g --std=gnu89 -Wall -Wextra -Wno-unused-parameter -Wstrict-prototypes -fno-strict-aliasing -m32 -O3 -fno-omit-frame-pointer -MMD -MF /home/liudonghua/node/out/Release/.deps//home/liudonghua/node/out/Release/obj.target/libuv/deps/uv/src/unix/core.o.d.raw -c /home/liudonghua/emsdk/upstream/emscripten/emcc -o /home/liudonghua/node/out/Release/obj.target/libuv/deps/uv/src/unix/dl.o ../deps/uv/src/unix/dl.c '-DV8_DEPRECATION_WARNINGS' '-DV8_IMMINENT_DEPRECATION_WARNINGS' '-D_GLIBCXX_USE_CXX11_ABI=1' '-DNODE_OPENSSL_CONF_NAME=nodejs_conf' '-DNODE_OPENSSL_HAS_QUIC' '-DICU_NO_USER_DATA_OVERRIDE' '-D__STDC_FORMAT_MACROS' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DOPENSSL_NO_ASM' '-D_LARGEFILE_SOURCE' '-D_FILE_OFFSET_BITS=64' '-D_GNU_SOURCE' -I../deps/uv/include -I../deps/uv/src -pthread -Wall -Wextra -Wno-unused-parameter -fvisibility=hidden -g --std=gnu89 -Wall -Wextra -Wno-unused-parameter -Wstrict-prototypes -fno-strict-aliasing -m32 -O3 -fno-omit-frame-pointer -MMD -MF /home/liudonghua/node/out/Release/.deps//home/liudonghua/node/out/Release/obj.target/libuv/deps/uv/src/unix/dl.o.d.raw -c /home/liudonghua/emsdk/upstream/emscripten/emcc -o /home/liudonghua/node/out/Release/obj.target/libuv/deps/uv/src/unix/fs.o ../deps/uv/src/unix/fs.c '-DV8_DEPRECATION_WARNINGS' '-DV8_IMMINENT_DEPRECATION_WARNINGS' '-D_GLIBCXX_USE_CXX11_ABI=1' '-DNODE_OPENSSL_CONF_NAME=nodejs_conf' '-DNODE_OPENSSL_HAS_QUIC' '-DICU_NO_USER_DATA_OVERRIDE' '-D__STDC_FORMAT_MACROS' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DOPENSSL_NO_ASM' '-D_LARGEFILE_SOURCE' '-D_FILE_OFFSET_BITS=64' '-D_GNU_SOURCE' -I../deps/uv/include -I../deps/uv/src -pthread -Wall -Wextra -Wno-unused-parameter -fvisibility=hidden -g --std=gnu89 -Wall -Wextra -Wno-unused-parameter -Wstrict-prototypes -fno-strict-aliasing -m32 -O3 -fno-omit-frame-pointer -MMD -MF /home/liudonghua/node/out/Release/.deps//home/liudonghua/node/out/Release/obj.target/libuv/deps/uv/src/unix/fs.o.d.raw -c /home/liudonghua/emsdk/upstream/emscripten/emcc -o /home/liudonghua/node/out/Release/obj.target/libuv/deps/uv/src/unix/getaddrinfo.o ../deps/uv/src/unix/getaddrinfo.c '-DV8_DEPRECATION_WARNINGS' '-DV8_IMMINENT_DEPRECATION_WARNINGS' '-D_GLIBCXX_USE_CXX11_ABI=1' '-DNODE_OPENSSL_CONF_NAME=nodejs_conf' '-DNODE_OPENSSL_HAS_QUIC' '-DICU_NO_USER_DATA_OVERRIDE' '-D__STDC_FORMAT_MACROS' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DOPENSSL_NO_ASM' '-D_LARGEFILE_SOURCE' '-D_FILE_OFFSET_BITS=64' '-D_GNU_SOURCE' -I../deps/uv/include -I../deps/uv/src -pthread -Wall -Wextra -Wno-unused-parameter -fvisibility=hidden -g --std=gnu89 -Wall -Wextra -Wno-unused-parameter -Wstrict-prototypes -fno-strict-aliasing -m32 -O3 -fno-omit-frame-pointer -MMD -MF /home/liudonghua/node/out/Release/.deps//home/liudonghua/node/out/Release/obj.target/libuv/deps/uv/src/unix/getaddrinfo.o.d.raw -c /home/liudonghua/emsdk/upstream/emscripten/emcc -o /home/liudonghua/node/out/Release/obj.target/libuv/deps/uv/src/unix/getnameinfo.o ../deps/uv/src/unix/getnameinfo.c '-DV8_DEPRECATION_WARNINGS' '-DV8_IMMINENT_DEPRECATION_WARNINGS' '-D_GLIBCXX_USE_CXX11_ABI=1' '-DNODE_OPENSSL_CONF_NAME=nodejs_conf' '-DNODE_OPENSSL_HAS_QUIC' '-DICU_NO_USER_DATA_OVERRIDE' '-D__STDC_FORMAT_MACROS' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DOPENSSL_NO_ASM' '-D_LARGEFILE_SOURCE' '-D_FILE_OFFSET_BITS=64' '-D_GNU_SOURCE' -I../deps/uv/include -I../deps/uv/src -pthread -Wall -Wextra -Wno-unused-parameter -fvisibility=hidden -g --std=gnu89 -Wall -Wextra -Wno-unused-parameter -Wstrict-prototypes -fno-strict-aliasing -m32 -O3 -fno-omit-frame-pointer -MMD -MF /home/liudonghua/node/out/Release/.deps//home/liudonghua/node/out/Release/obj.target/libuv/deps/uv/src/unix/getnameinfo.o.d.raw -c /home/liudonghua/emsdk/upstream/emscripten/emcc -o /home/liudonghua/node/out/Release/obj.target/libuv/deps/uv/src/unix/loop.o ../deps/uv/src/unix/loop.c '-DV8_DEPRECATION_WARNINGS' '-DV8_IMMINENT_DEPRECATION_WARNINGS' '-D_GLIBCXX_USE_CXX11_ABI=1' '-DNODE_OPENSSL_CONF_NAME=nodejs_conf' '-DNODE_OPENSSL_HAS_QUIC' '-DICU_NO_USER_DATA_OVERRIDE' '-D__STDC_FORMAT_MACROS' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DOPENSSL_NO_ASM' '-D_LARGEFILE_SOURCE' '-D_FILE_OFFSET_BITS=64' '-D_GNU_SOURCE' -I../deps/uv/include -I../deps/uv/src -pthread -Wall -Wextra -Wno-unused-parameter -fvisibility=hidden -g --std=gnu89 -Wall -Wextra -Wno-unused-parameter -Wstrict-prototypes -fno-strict-aliasing -m32 -O3 -fno-omit-frame-pointer -MMD -MF /home/liudonghua/node/out/Release/.deps//home/liudonghua/node/out/Release/obj.target/libuv/deps/uv/src/unix/loop.o.d.raw -c /home/liudonghua/emsdk/upstream/emscripten/emcc -o /home/liudonghua/node/out/Release/obj.target/libuv/deps/uv/src/unix/loop-watcher.o ../deps/uv/src/unix/loop-watcher.c '-DV8_DEPRECATION_WARNINGS' '-DV8_IMMINENT_DEPRECATION_WARNINGS' '-D_GLIBCXX_USE_CXX11_ABI=1' '-DNODE_OPENSSL_CONF_NAME=nodejs_conf' '-DNODE_OPENSSL_HAS_QUIC' '-DICU_NO_USER_DATA_OVERRIDE' '-D__STDC_FORMAT_MACROS' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DOPENSSL_NO_ASM' '-D_LARGEFILE_SOURCE' '-D_FILE_OFFSET_BITS=64' '-D_GNU_SOURCE' -I../deps/uv/include -I../deps/uv/src -pthread -Wall -Wextra -Wno-unused-parameter -fvisibility=hidden -g --std=gnu89 -Wall -Wextra -Wno-unused-parameter -Wstrict-prototypes -fno-strict-aliasing -m32 -O3 -fno-omit-frame-pointer -MMD -MF /home/liudonghua/node/out/Release/.deps//home/liudonghua/node/out/Release/obj.target/libuv/deps/uv/src/unix/loop-watcher.o.d.raw -c /home/liudonghua/emsdk/upstream/emscripten/emcc -o /home/liudonghua/node/out/Release/obj.target/libuv/deps/uv/src/unix/pipe.o ../deps/uv/src/unix/pipe.c '-DV8_DEPRECATION_WARNINGS' '-DV8_IMMINENT_DEPRECATION_WARNINGS' '-D_GLIBCXX_USE_CXX11_ABI=1' '-DNODE_OPENSSL_CONF_NAME=nodejs_conf' '-DNODE_OPENSSL_HAS_QUIC' '-DICU_NO_USER_DATA_OVERRIDE' '-D__STDC_FORMAT_MACROS' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DOPENSSL_NO_ASM' '-D_LARGEFILE_SOURCE' '-D_FILE_OFFSET_BITS=64' '-D_GNU_SOURCE' -I../deps/uv/include -I../deps/uv/src -pthread -Wall -Wextra -Wno-unused-parameter -fvisibility=hidden -g --std=gnu89 -Wall -Wextra -Wno-unused-parameter -Wstrict-prototypes -fno-strict-aliasing -m32 -O3 -fno-omit-frame-pointer -MMD -MF /home/liudonghua/node/out/Release/.deps//home/liudonghua/node/out/Release/obj.target/libuv/deps/uv/src/unix/pipe.o.d.raw -c /home/liudonghua/emsdk/upstream/emscripten/emcc -o /home/liudonghua/node/out/Release/obj.target/libuv/deps/uv/src/unix/poll.o ../deps/uv/src/unix/poll.c '-DV8_DEPRECATION_WARNINGS' '-DV8_IMMINENT_DEPRECATION_WARNINGS' '-D_GLIBCXX_USE_CXX11_ABI=1' '-DNODE_OPENSSL_CONF_NAME=nodejs_conf' '-DNODE_OPENSSL_HAS_QUIC' '-DICU_NO_USER_DATA_OVERRIDE' '-D__STDC_FORMAT_MACROS' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DOPENSSL_NO_ASM' '-D_LARGEFILE_SOURCE' '-D_FILE_OFFSET_BITS=64' '-D_GNU_SOURCE' -I../deps/uv/include -I../deps/uv/src -pthread -Wall -Wextra -Wno-unused-parameter -fvisibility=hidden -g --std=gnu89 -Wall -Wextra -Wno-unused-parameter -Wstrict-prototypes -fno-strict-aliasing -m32 -O3 -fno-omit-frame-pointer -MMD -MF /home/liudonghua/node/out/Release/.deps//home/liudonghua/node/out/Release/obj.target/libuv/deps/uv/src/unix/poll.o.d.raw -c /home/liudonghua/emsdk/upstream/emscripten/emcc -o /home/liudonghua/node/out/Release/obj.target/libuv/deps/uv/src/unix/process.o ../deps/uv/src/unix/process.c '-DV8_DEPRECATION_WARNINGS' '-DV8_IMMINENT_DEPRECATION_WARNINGS' '-D_GLIBCXX_USE_CXX11_ABI=1' '-DNODE_OPENSSL_CONF_NAME=nodejs_conf' '-DNODE_OPENSSL_HAS_QUIC' '-DICU_NO_USER_DATA_OVERRIDE' '-D__STDC_FORMAT_MACROS' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DOPENSSL_NO_ASM' '-D_LARGEFILE_SOURCE' '-D_FILE_OFFSET_BITS=64' '-D_GNU_SOURCE' -I../deps/uv/include -I../deps/uv/src -pthread -Wall -Wextra -Wno-unused-parameter -fvisibility=hidden -g --std=gnu89 -Wall -Wextra -Wno-unused-parameter -Wstrict-prototypes -fno-strict-aliasing -m32 -O3 -fno-omit-frame-pointer -MMD -MF /home/liudonghua/node/out/Release/.deps//home/liudonghua/node/out/Release/obj.target/libuv/deps/uv/src/unix/process.o.d.raw -c /home/liudonghua/emsdk/upstream/emscripten/emcc -o /home/liudonghua/node/out/Release/obj.target/libuv/deps/uv/src/unix/random-devurandom.o ../deps/uv/src/unix/random-devurandom.c '-DV8_DEPRECATION_WARNINGS' '-DV8_IMMINENT_DEPRECATION_WARNINGS' '-D_GLIBCXX_USE_CXX11_ABI=1' '-DNODE_OPENSSL_CONF_NAME=nodejs_conf' '-DNODE_OPENSSL_HAS_QUIC' '-DICU_NO_USER_DATA_OVERRIDE' '-D__STDC_FORMAT_MACROS' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DOPENSSL_NO_ASM' '-D_LARGEFILE_SOURCE' '-D_FILE_OFFSET_BITS=64' '-D_GNU_SOURCE' -I../deps/uv/include -I../deps/uv/src -pthread -Wall -Wextra -Wno-unused-parameter -fvisibility=hidden -g --std=gnu89 -Wall -Wextra -Wno-unused-parameter -Wstrict-prototypes -fno-strict-aliasing -m32 -O3 -fno-omit-frame-pointer -MMD -MF /home/liudonghua/node/out/Release/.deps//home/liudonghua/node/out/Release/obj.target/libuv/deps/uv/src/unix/random-devurandom.o.d.raw -c /home/liudonghua/emsdk/upstream/emscripten/emcc -o /home/liudonghua/node/out/Release/obj.target/libuv/deps/uv/src/unix/signal.o ../deps/uv/src/unix/signal.c '-DV8_DEPRECATION_WARNINGS' '-DV8_IMMINENT_DEPRECATION_WARNINGS' '-D_GLIBCXX_USE_CXX11_ABI=1' '-DNODE_OPENSSL_CONF_NAME=nodejs_conf' '-DNODE_OPENSSL_HAS_QUIC' '-DICU_NO_USER_DATA_OVERRIDE' '-D__STDC_FORMAT_MACROS' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DOPENSSL_NO_ASM' '-D_LARGEFILE_SOURCE' '-D_FILE_OFFSET_BITS=64' '-D_GNU_SOURCE' -I../deps/uv/include -I../deps/uv/src -pthread -Wall -Wextra -Wno-unused-parameter -fvisibility=hidden -g --std=gnu89 -Wall -Wextra -Wno-unused-parameter -Wstrict-prototypes -fno-strict-aliasing -m32 -O3 -fno-omit-frame-pointer -MMD -MF /home/liudonghua/node/out/Release/.deps//home/liudonghua/node/out/Release/obj.target/libuv/deps/uv/src/unix/signal.o.d.raw -c /home/liudonghua/emsdk/upstream/emscripten/emcc -o /home/liudonghua/node/out/Release/obj.target/libuv/deps/uv/src/unix/tcp.o ../deps/uv/src/unix/tcp.c '-DV8_DEPRECATION_WARNINGS' '-DV8_IMMINENT_DEPRECATION_WARNINGS' '-D_GLIBCXX_USE_CXX11_ABI=1' '-DNODE_OPENSSL_CONF_NAME=nodejs_conf' '-DNODE_OPENSSL_HAS_QUIC' '-DICU_NO_USER_DATA_OVERRIDE' '-D__STDC_FORMAT_MACROS' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DOPENSSL_NO_ASM' '-D_LARGEFILE_SOURCE' '-D_FILE_OFFSET_BITS=64' '-D_GNU_SOURCE' -I../deps/uv/include -I../deps/uv/src -pthread -Wall -Wextra -Wno-unused-parameter -fvisibility=hidden -g --std=gnu89 -Wall -Wextra -Wno-unused-parameter -Wstrict-prototypes -fno-strict-aliasing -m32 -O3 -fno-omit-frame-pointer -MMD -MF /home/liudonghua/node/out/Release/.deps//home/liudonghua/node/out/Release/obj.target/libuv/deps/uv/src/unix/tcp.o.d.raw -c /home/liudonghua/emsdk/upstream/emscripten/emcc -o /home/liudonghua/node/out/Release/obj.target/libuv/deps/uv/src/unix/stream.o ../deps/uv/src/unix/stream.c '-DV8_DEPRECATION_WARNINGS' '-DV8_IMMINENT_DEPRECATION_WARNINGS' '-D_GLIBCXX_USE_CXX11_ABI=1' '-DNODE_OPENSSL_CONF_NAME=nodejs_conf' '-DNODE_OPENSSL_HAS_QUIC' '-DICU_NO_USER_DATA_OVERRIDE' '-D__STDC_FORMAT_MACROS' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DOPENSSL_NO_ASM' '-D_LARGEFILE_SOURCE' '-D_FILE_OFFSET_BITS=64' '-D_GNU_SOURCE' -I../deps/uv/include -I../deps/uv/src -pthread -Wall -Wextra -Wno-unused-parameter -fvisibility=hidden -g --std=gnu89 -Wall -Wextra -Wno-unused-parameter -Wstrict-prototypes -fno-strict-aliasing -m32 -O3 -fno-omit-frame-pointer -MMD -MF /home/liudonghua/node/out/Release/.deps//home/liudonghua/node/out/Release/obj.target/libuv/deps/uv/src/unix/stream.o.d.raw -c /home/liudonghua/emsdk/upstream/emscripten/emcc -o /home/liudonghua/node/out/Release/obj.target/libuv/deps/uv/src/unix/thread.o ../deps/uv/src/unix/thread.c '-DV8_DEPRECATION_WARNINGS' '-DV8_IMMINENT_DEPRECATION_WARNINGS' '-D_GLIBCXX_USE_CXX11_ABI=1' '-DNODE_OPENSSL_CONF_NAME=nodejs_conf' '-DNODE_OPENSSL_HAS_QUIC' '-DICU_NO_USER_DATA_OVERRIDE' '-D__STDC_FORMAT_MACROS' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DOPENSSL_NO_ASM' '-D_LARGEFILE_SOURCE' '-D_FILE_OFFSET_BITS=64' '-D_GNU_SOURCE' -I../deps/uv/include -I../deps/uv/src -pthread -Wall -Wextra -Wno-unused-parameter -fvisibility=hidden -g --std=gnu89 -Wall -Wextra -Wno-unused-parameter -Wstrict-prototypes -fno-strict-aliasing -m32 -O3 -fno-omit-frame-pointer -MMD -MF /home/liudonghua/node/out/Release/.deps//home/liudonghua/node/out/Release/obj.target/libuv/deps/uv/src/unix/thread.o.d.raw -c /home/liudonghua/emsdk/upstream/emscripten/emcc -o /home/liudonghua/node/out/Release/obj.target/libuv/deps/uv/src/unix/tty.o ../deps/uv/src/unix/tty.c '-DV8_DEPRECATION_WARNINGS' '-DV8_IMMINENT_DEPRECATION_WARNINGS' '-D_GLIBCXX_USE_CXX11_ABI=1' '-DNODE_OPENSSL_CONF_NAME=nodejs_conf' '-DNODE_OPENSSL_HAS_QUIC' '-DICU_NO_USER_DATA_OVERRIDE' '-D__STDC_FORMAT_MACROS' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DOPENSSL_NO_ASM' '-D_LARGEFILE_SOURCE' '-D_FILE_OFFSET_BITS=64' '-D_GNU_SOURCE' -I../deps/uv/include -I../deps/uv/src -pthread -Wall -Wextra -Wno-unused-parameter -fvisibility=hidden -g --std=gnu89 -Wall -Wextra -Wno-unused-parameter -Wstrict-prototypes -fno-strict-aliasing -m32 -O3 -fno-omit-frame-pointer -MMD -MF /home/liudonghua/node/out/Release/.deps//home/liudonghua/node/out/Release/obj.target/libuv/deps/uv/src/unix/tty.o.d.raw -c /home/liudonghua/emsdk/upstream/emscripten/emcc -o /home/liudonghua/node/out/Release/obj.target/libuv/deps/uv/src/unix/udp.o ../deps/uv/src/unix/udp.c '-DV8_DEPRECATION_WARNINGS' '-DV8_IMMINENT_DEPRECATION_WARNINGS' '-D_GLIBCXX_USE_CXX11_ABI=1' '-DNODE_OPENSSL_CONF_NAME=nodejs_conf' '-DNODE_OPENSSL_HAS_QUIC' '-DICU_NO_USER_DATA_OVERRIDE' '-D__STDC_FORMAT_MACROS' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DOPENSSL_NO_ASM' '-D_LARGEFILE_SOURCE' '-D_FILE_OFFSET_BITS=64' '-D_GNU_SOURCE' -I../deps/uv/include -I../deps/uv/src -pthread -Wall -Wextra -Wno-unused-parameter -fvisibility=hidden -g --std=gnu89 -Wall -Wextra -Wno-unused-parameter -Wstrict-prototypes -fno-strict-aliasing -m32 -O3 -fno-omit-frame-pointer -MMD -MF /home/liudonghua/node/out/Release/.deps//home/liudonghua/node/out/Release/obj.target/libuv/deps/uv/src/unix/udp.o.d.raw -c /home/liudonghua/emsdk/upstream/emscripten/emcc -o /home/liudonghua/node/out/Release/obj.target/libuv/deps/uv/src/unix/linux.o ../deps/uv/src/unix/linux.c '-DV8_DEPRECATION_WARNINGS' '-DV8_IMMINENT_DEPRECATION_WARNINGS' '-D_GLIBCXX_USE_CXX11_ABI=1' '-DNODE_OPENSSL_CONF_NAME=nodejs_conf' '-DNODE_OPENSSL_HAS_QUIC' '-DICU_NO_USER_DATA_OVERRIDE' '-D__STDC_FORMAT_MACROS' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DOPENSSL_NO_ASM' '-D_LARGEFILE_SOURCE' '-D_FILE_OFFSET_BITS=64' '-D_GNU_SOURCE' -I../deps/uv/include -I../deps/uv/src -pthread -Wall -Wextra -Wno-unused-parameter -fvisibility=hidden -g --std=gnu89 -Wall -Wextra -Wno-unused-parameter -Wstrict-prototypes -fno-strict-aliasing -m32 -O3 -fno-omit-frame-pointer -MMD -MF /home/liudonghua/node/out/Release/.deps//home/liudonghua/node/out/Release/obj.target/libuv/deps/uv/src/unix/linux.o.d.raw -c /home/liudonghua/emsdk/upstream/emscripten/emcc -o /home/liudonghua/node/out/Release/obj.target/libuv/deps/uv/src/unix/procfs-exepath.o ../deps/uv/src/unix/procfs-exepath.c '-DV8_DEPRECATION_WARNINGS' '-DV8_IMMINENT_DEPRECATION_WARNINGS' '-D_GLIBCXX_USE_CXX11_ABI=1' '-DNODE_OPENSSL_CONF_NAME=nodejs_conf' '-DNODE_OPENSSL_HAS_QUIC' '-DICU_NO_USER_DATA_OVERRIDE' '-D__STDC_FORMAT_MACROS' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DOPENSSL_NO_ASM' '-D_LARGEFILE_SOURCE' '-D_FILE_OFFSET_BITS=64' '-D_GNU_SOURCE' -I../deps/uv/include -I../deps/uv/src -pthread -Wall -Wextra -Wno-unused-parameter -fvisibility=hidden -g --std=gnu89 -Wall -Wextra -Wno-unused-parameter -Wstrict-prototypes -fno-strict-aliasing -m32 -O3 -fno-omit-frame-pointer -MMD -MF /home/liudonghua/node/out/Release/.deps//home/liudonghua/node/out/Release/obj.target/libuv/deps/uv/src/unix/procfs-exepath.o.d.raw -c /home/liudonghua/emsdk/upstream/emscripten/emcc -o /home/liudonghua/node/out/Release/obj.target/libuv/deps/uv/src/unix/random-getrandom.o ../deps/uv/src/unix/random-getrandom.c '-DV8_DEPRECATION_WARNINGS' '-DV8_IMMINENT_DEPRECATION_WARNINGS' '-D_GLIBCXX_USE_CXX11_ABI=1' '-DNODE_OPENSSL_CONF_NAME=nodejs_conf' '-DNODE_OPENSSL_HAS_QUIC' '-DICU_NO_USER_DATA_OVERRIDE' '-D__STDC_FORMAT_MACROS' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DOPENSSL_NO_ASM' '-D_LARGEFILE_SOURCE' '-D_FILE_OFFSET_BITS=64' '-D_GNU_SOURCE' -I../deps/uv/include -I../deps/uv/src -pthread -Wall -Wextra -Wno-unused-parameter -fvisibility=hidden -g --std=gnu89 -Wall -Wextra -Wno-unused-parameter -Wstrict-prototypes -fno-strict-aliasing -m32 -O3 -fno-omit-frame-pointer -MMD -MF /home/liudonghua/node/out/Release/.deps//home/liudonghua/node/out/Release/obj.target/libuv/deps/uv/src/unix/random-getrandom.o.d.raw -c /home/liudonghua/emsdk/upstream/emscripten/emcc -o /home/liudonghua/node/out/Release/obj.target/libuv/deps/uv/src/unix/proctitle.o ../deps/uv/src/unix/proctitle.c '-DV8_DEPRECATION_WARNINGS' '-DV8_IMMINENT_DEPRECATION_WARNINGS' '-D_GLIBCXX_USE_CXX11_ABI=1' '-DNODE_OPENSSL_CONF_NAME=nodejs_conf' '-DNODE_OPENSSL_HAS_QUIC' '-DICU_NO_USER_DATA_OVERRIDE' '-D__STDC_FORMAT_MACROS' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DOPENSSL_NO_ASM' '-D_LARGEFILE_SOURCE' '-D_FILE_OFFSET_BITS=64' '-D_GNU_SOURCE' -I../deps/uv/include -I../deps/uv/src -pthread -Wall -Wextra -Wno-unused-parameter -fvisibility=hidden -g --std=gnu89 -Wall -Wextra -Wno-unused-parameter -Wstrict-prototypes -fno-strict-aliasing -m32 -O3 -fno-omit-frame-pointer -MMD -MF /home/liudonghua/node/out/Release/.deps//home/liudonghua/node/out/Release/obj.target/libuv/deps/uv/src/unix/proctitle.o.d.raw -c touch /home/liudonghua/node/out/Release/obj.target/tools/icu/icu_implementation.stamp /home/liudonghua/emsdk/upstream/emscripten/emcc -o /home/liudonghua/node/out/Release/obj.target/libuv/deps/uv/src/unix/random-sysctl-linux.o ../deps/uv/src/unix/random-sysctl-linux.c '-DV8_DEPRECATION_WARNINGS' '-DV8_IMMINENT_DEPRECATION_WARNINGS' '-D_GLIBCXX_USE_CXX11_ABI=1' '-DNODE_OPENSSL_CONF_NAME=nodejs_conf' '-DNODE_OPENSSL_HAS_QUIC' '-DICU_NO_USER_DATA_OVERRIDE' '-D__STDC_FORMAT_MACROS' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DOPENSSL_NO_ASM' '-D_LARGEFILE_SOURCE' '-D_FILE_OFFSET_BITS=64' '-D_GNU_SOURCE' -I../deps/uv/include -I../deps/uv/src -pthread -Wall -Wextra -Wno-unused-parameter -fvisibility=hidden -g --std=gnu89 -Wall -Wextra -Wno-unused-parameter -Wstrict-prototypes -fno-strict-aliasing -m32 -O3 -fno-omit-frame-pointer -MMD -MF /home/liudonghua/node/out/Release/.deps//home/liudonghua/node/out/Release/obj.target/libuv/deps/uv/src/unix/random-sysctl-linux.o.d.raw -c touch /home/liudonghua/node/out/Release/obj.target/tools/icu/icu_uconfig_target.stamp touch /home/liudonghua/node/out/Release/obj.target/tools/icu/icu_uconfig.stamp /home/liudonghua/emsdk/upstream/emscripten/emcc -o /home/liudonghua/node/out/Release/obj.target/openssl/deps/openssl/openssl/ssl/bio_ssl.o ../deps/openssl/openssl/ssl/bio_ssl.c '-DV8_DEPRECATION_WARNINGS' '-DV8_IMMINENT_DEPRECATION_WARNINGS' '-D_GLIBCXX_USE_CXX11_ABI=1' '-DNODE_OPENSSL_CONF_NAME=nodejs_conf' '-DNODE_OPENSSL_HAS_QUIC' '-DICU_NO_USER_DATA_OVERRIDE' '-D__STDC_FORMAT_MACROS' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DOPENSSL_NO_ASM' '-DOPENSSL_NO_HW' '-DOPENSSL_API_COMPAT=0x10100001L' '-DSTATIC_LEGACY' '-DNDEBUG' '-DOPENSSL_USE_NODELETE' '-DL_ENDIAN' '-DOPENSSL_BUILDING_OPENSSL' '-DOPENSSL_PIC' '-DMODULESDIR="/home/liudonghua/node/out/$(BUILDTYPE)/obj.target/deps/openssl/lib/openssl-modules"' '-DOPENSSLDIR="/etc/ssl"' '-DENGINESDIR="/dev/null"' '-DTERMIOS' -I../deps/openssl/openssl -I../deps/openssl/openssl/include -I../deps/openssl/openssl/crypto -I../deps/openssl/openssl/crypto/include -I../deps/openssl/openssl/crypto/modes -I../deps/openssl/openssl/crypto/ec/curve448 -I../deps/openssl/o /home/liudonghua/emsdk/upstream/emscripten/emcc -o /home/liudonghua/node/out/Release/obj.target/openssl/deps/openssl/openssl/ssl/d1_lib.o ../deps/openssl/openssl/ssl/d1_lib.c '-DV8_DEPRECATION_WARNINGS' '-DV8_IMMINENT_DEPRECATION_WARNINGS' '-D_GLIBCXX_USE_CXX11_ABI=1' '-DNODE_OPENSSL_CONF_NAME=nodejs_conf' '-DNODE_OPENSSL_HAS_QUIC' '-DICU_NO_USER_DATA_OVERRIDE' '-D__STDC_FORMAT_MACROS' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DOPENSSL_NO_ASM' '-DOPENSSL_NO_HW' '-DOPENSSL_API_COMPAT=0x10100001L' '-DSTATIC_LEGACY' '-DNDEBUG' '-DOPENSSL_USE_NODELETE' '-DL_ENDIAN' '-DOPENSSL_BUILDING_OPENSSL' '-DOPENSSL_PIC' '-DMODULESDIR="/home/liudonghua/node/out/$(BUILDTYPE)/obj.target/deps/openssl/lib/openssl-modules"' '-DOPENSSLDIR="/etc/ssl"' '-DENGINESDIR="/dev/null"' '-DTERMIOS' -I../deps/openssl/openssl -I../deps/openssl/openssl/include -I../deps/openssl/openssl/crypto -I../deps/openssl/openssl/crypto/include -I../deps/openssl/openssl/crypto/modes -I../deps/openssl/openssl/crypto/ec/curve448 -I../deps/openssl/openssl/crypto/ec/curve448/arch_32 -I../deps/openssl/openssl/providers/common/include -I../deps/openssl/openssl/providers/implementations/include -I../deps/openssl/config -I../deps/openssl/config/archs/linux-elf/no-asm -I../deps/openssl/config/archs/linux-elf/no-asm/include -I../deps/openssl/config/archs/linux-elf/no-asm/crypto -I../deps/openssl/config/archs/linux-elf/no-asm/crypto/include/internal -I../deps/openssl/config/archs/linux-elf/no-asm/providers/common/include -pthread -Wall -Wextra -Wno-unused-parameter -Wall -O3 -fomit-frame-pointer -pthread -Wall -O3 -fomit-frame-pointer -Wno-missing-field-initializers -Wno-old-style-declaration -m32 -O3 -fno-omit-frame-pointer -MMD -MF /home/liudonghua/node/out/Release/.deps//home/liudonghua/node/out/Release/obj.target/openssl/deps/openssl/openssl/ssl/d1_lib.o.d.raw -c penssl/crypto/ec/curve448/arch_32 -I../deps/openssl/openssl/providers/common/include -I../deps/openssl/openssl/providers/implementations/include -I../deps/openssl/config -I../deps/openssl/config/archs/linux-elf/no-asm -I../deps/openssl/config/archs/linux-elf/no-asm/include -I../deps/openssl/config/archs/linux-elf/no-asm/crypto -I../deps/openssl/config/archs/linux-elf/no-asm/crypto/include/internal -I../deps/openssl/config/archs/linux-elf/no-asm/providers/common/include -pthread -Wall -Wextra -Wno-unused-parameter -Wall -O3 -fomit-frame-pointer -pthread -Wall -O3 -fomit-frame-pointer -Wno-missing-field-initializers -Wno-old-style-declaration -m32 -O3 -fno-omit-frame-pointer -MMD -MF /home/liudonghua/node/out/Release/.deps//home/liudonghua/node/out/Release/obj.target/openssl/deps/openssl/openssl/ssl/bio_ssl.o.d.raw -c /home/liudonghua/emsdk/upstream/emscripten/emcc -o /home/liudonghua/node/out/Release/obj.target/openssl/deps/openssl/openssl/ssl/d1_msg.o ../deps/openssl/openssl/ssl/d1_msg.c '-DV8_DEPRECATION_WARNINGS' '-DV8_IMMINENT_DEPRECATION_WARNINGS' '-D_GLIBCXX_USE_CXX11_ABI=1' '-DNODE_OPENSSL_CONF_NAME=nodejs_conf' '-DNODE_OPENSSL_HAS_QUIC' '-DICU_NO_USER_DATA_OVERRIDE' '-D__STDC_FORMAT_MACROS' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DOPENSSL_NO_ASM' '-DOPENSSL_NO_HW' '-DOPENSSL_API_COMPAT=0x10100001L' '-DSTATIC_LEGACY' '-DNDEBUG' '-DOPENSSL_USE_NODELETE' '-DL_ENDIAN' '-DOPENSSL_BUILDING_OPENSSL' '-DOPENSSL_PIC' '-DMODULESDIR="/home/liudonghua/node/out/$(BUILDTYPE)/obj.target/deps/openssl/lib/openssl-modules"' '-DOPENSSLDIR="/etc/ssl"' '-DENGINESDIR="/dev/null"' '-DTERMIOS' -I../deps/openssl/openssl -I../deps/openssl/openssl/include -I../deps/openssl/openssl/crypto -I../deps/openssl/openssl/crypto/include -I../deps/openssl/openssl/crypto/modes -I../deps/openssl/openssl/crypto/ec/curve448 -I../deps/openssl/openssl/crypto/ec/curve448/arch_32 -I../deps/openssl/openssl/providers/common/include -I../deps/openssl/openssl/providers/implementations/include -I../deps/openssl/config -I../deps/openssl/config/archs/linux-elf/no-asm -I../deps/openssl/config/archs/linux-elf/no-asm/include -I../deps/openssl/config/archs/linux-elf/no-asm/crypto -I../deps/openssl/config/archs/linux-elf/no-asm/crypto/include/internal -I../deps/openssl/config/archs/linux-elf/no-asm/providers/common/include -pthread -Wall -Wextra -Wno-unused-parameter -Wall -O3 -fomit-frame-pointer -pthread -Wall -O3 -fomit-frame-pointer -Wno-missing-field-initializers -Wno-old-style-declaration -m32 -O3 -fno-omit-frame-pointer -MMD -MF /home/liudonghua/node/out/Release/.deps//home/liudonghua/node/out/Release/obj.target/openssl/deps/openssl/openssl/ssl/d1_msg.o.d.raw -c /home/liudonghua/emsdk/upstream/emscripten/emcc -o /home/liudonghua/node/out/Release/obj.target/openssl/deps/openssl/openssl/ssl/d1_srtp.o ../deps/openssl/openssl/ssl/d1_srtp.c '-DV8_DEPRECATION_WARNINGS' '-DV8_IMMINENT_DEPRECATION_WARNINGS' '-D_GLIBCXX_USE_CXX11_ABI=1' '-DNODE_OPENSSL_CONF_NAME=nodejs_conf' '-DNODE_OPENSSL_HAS_QUIC' '-DICU_NO_USER_DATA_OVERRIDE' '-D__STDC_FORMAT_MACROS' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DOPENSSL_NO_ASM' '-DOPENSSL_NO_HW' '-DOPENSSL_API_COMPAT=0x10100001L' '-DSTATIC_LEGACY' '-DNDEBUG' '-DOPENSSL_USE_NODELETE' '-DL_ENDIAN' '-DOPENSSL_BUILDING_OPENSSL' '-DOPENSSL_PIC' '-DMODULESDIR="/home/liudonghua/node/out/$(BUILDTYPE)/obj.target/deps/openssl/lib/openssl-modules"' '-DOPENSSLDIR="/etc/ssl"' '-DENGINESDIR="/dev/null"' '-DTERMIOS' -I../deps/openssl/openssl -I../deps/openssl/openssl/include -I../deps/openssl/openssl/crypto -I../deps/openssl/openssl/crypto/include -I../deps/openssl/openssl/crypto/modes -I../deps/openssl/openssl/crypto/ec/curve448 -I../deps/openssl/openssl/crypto/ec/curve448/arch_32 -I../deps/openssl/openssl/providers/common/include -I../deps/openssl/openssl/providers/implementations/include -I../deps/openssl/config -I../deps/openssl/config/archs/linux-elf/no-asm -I../deps/openssl/config/archs/linux-elf/no-asm/include -I../deps/openssl/config/archs/linux-elf/no-asm/crypto -I../deps/openssl/config/archs/linux-elf/no-asm/crypto/include/internal -I../deps/openssl/config/archs/linux-elf/no-asm/providers/common/include -pthread -Wall -Wextra -Wno-unused-parameter -Wall -O3 -fomit-frame-pointer -pthread -Wall -O3 -fomit-frame-pointer -Wno-missing-field-initializers -Wno-old-style-declaration -m32 -O3 -fno-omit-frame-pointer -MMD -MF /home/liudonghua/node/out/Release/.deps//home/liudonghua/node/out/Release/obj.target/openssl/deps/openssl/openssl/ssl/d1_srtp.o.d.raw -c In file included from ../deps/simdutf/simdutf.cpp:4: ../deps/simdutf/simdutf.h:170:9: warning: The simdutf library is designed for 64-bit processors and it seems that you are not compiling for a known 64-bit platform. All fast kernels will be disabled and performance may be poor. Please use a 64-bit target such as x64, 64-bit ARM or 64-bit PPC. [-W#pragma-messages] 170 | #pragma message("The simdutf library is designed \ | ^ /home/liudonghua/emsdk/upstream/emscripten/emcc -o /home/liudonghua/node/out/Release/obj.target/openssl/deps/openssl/openssl/ssl/methods.o ../deps/openssl/openssl/ssl/methods.c '-DV8_DEPRECATION_WARNINGS' '-DV8_IMMINENT_DEPRECATION_WARNINGS' '-D_GLIBCXX_USE_CXX11_ABI=1' '-DNODE_OPENSSL_CONF_NAME=nodejs_conf' '-DNODE_OPENSSL_HAS_QUIC' '-DICU_NO_USER_DATA_OVERRIDE' '-D__STDC_FORMAT_MACROS' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DOPENSSL_NO_ASM' '-DOPENSSL_NO_HW' '-DOPENSSL_API_COMPAT=0x10100001L' '-DSTATIC_LEGACY' '-DNDEBUG' '-DOPENSSL_USE_NODELETE' '-DL_ENDIAN' '-DOPENSSL_BUILDING_OPENSSL' '-DOPENSSL_PIC' '-DMODULESDIR="/home/liudonghua/node/out/$(BUILDTYPE)/obj.target/deps/openssl/lib/openssl-modules"' '-DOPENSSLDIR="/etc/ssl"' '-DENGINESDIR="/dev/null"' '-DTERMIOS' -I../deps/openssl/openssl -I../deps/openssl/openssl/include -I../deps/openssl/openssl/crypto -I../deps/openssl/openssl/crypto/include -I../deps/openssl/openssl/crypto/modes -I../deps/openssl/openssl/crypto/ec/curve448 -I../deps/openssl/openssl/crypto/ec/curve448/arch_32 -I../deps/openssl/openssl/providers/common/include -I../deps/openssl/openssl/providers/implementations/include -I../deps/openssl/config -I../deps/openssl/config/archs/linux-elf/no-asm -I../deps/openssl/config/archs/linux-elf/no-asm/include -I../deps/openssl/config/archs/linux-elf/no-asm/crypto -I../deps/openssl/config/archs/linux-elf/no-asm/crypto/include/internal -I../deps/openssl/config/archs/linux-elf/no-asm/providers/common/include -pthread -Wall -Wextra -Wno-unused-parameter -Wall -O3 -fomit-frame-pointer -pthread -Wall -O3 -fomit-frame-pointer -Wno-missing-field-initializers -Wno-old-style-declaration -m32 -O3 -fno-omit-frame-pointer -MMD -MF /home/liudonghua/node/out/Release/.deps//home/liudonghua/node/out/Release/obj.target/openssl/deps/openssl/openssl/ssl/methods.o.d.raw -c warning: unknown warning option '-Wno-old-style-declaration'; did you mean '-Wno-out-of-line-declaration'? [-Wunknown-warning-option] warning: unknown warning option '-Wno-old-style-declaration'; did you mean '-Wno-out-of-line-declaration'? [-Wunknown-warning-option] warning: unknown warning option '-Wno-old-style-declaration'; did you mean '-Wno-out-of-line-declaration'? [-Wunknown-warning-option] /home/liudonghua/emsdk/upstream/emscripten/emcc -o /home/liudonghua/node/out/Release/obj.target/openssl/deps/openssl/openssl/ssl/pqueue.o ../deps/openssl/openssl/ssl/pqueue.c '-DV8_DEPRECATION_WARNINGS' '-DV8_IMMINENT_DEPRECATION_WARNINGS' '-D_GLIBCXX_USE_CXX11_ABI=1' '-DNODE_OPENSSL_CONF_NAME=nodejs_conf' '-DNODE_OPENSSL_HAS_QUIC' '-DICU_NO_USER_DATA_OVERRIDE' '-D__STDC_FORMAT_MACROS' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DOPENSSL_NO_ASM' '-DOPENSSL_NO_HW' '-DOPENSSL_API_COMPAT=0x10100001L' '-DSTATIC_LEGACY' '-DNDEBUG' '-DOPENSSL_USE_NODELETE' '-DL_ENDIAN' '-DOPENSSL_BUILDING_OPENSSL' '-DOPENSSL_PIC' '-DMODULESDIR="/home/liudonghua/node/out/$(BUILDTYPE)/obj.target/deps/openssl/lib/openssl-modules"' '-DOPENSSLDIR="/etc/ssl"' '-DENGINESDIR="/dev/null"' '-DTERMIOS' -I../deps/openssl/openssl -I../deps/openssl/openssl/include -I../deps/openssl/openssl/crypto -I../deps/openssl/openssl/crypto/include -I../deps/openssl/openssl/crypto/modes -I../deps/openssl/openssl/crypto/ec/curve448 -I../deps/openssl/openssl/crypto/ec/curve448/arch_32 -I../deps/openssl/openssl/providers/common/include -I../deps/openssl/openssl/providers/implementations/include -I../deps/openssl/config -I../deps/openssl/config/archs/linux-elf/no-asm -I../deps/openssl/config/archs/linux-elf/no-asm/include -I../deps/openssl/config/archs/linux-elf/no-asm/crypto -I../deps/openssl/config/archs/linux-elf/no-asm/crypto/include/internal -I../deps/openssl/config/archs/linux-elf/no-asm/providers/common/include -pthread -Wall -Wextra -Wno-unused-parameter -Wall -O3 -fomit-frame-pointer -pthread -Wall -O3 -fomit-frame-pointer -Wno-missing-field-initializers -Wno-old-style-declaration -m32 -O3 -fno-omit-frame-pointer -MMD -MF /home/liudonghua/node/out/Release/.deps//home/liudonghua/node/out/Release/obj.target/openssl/deps/openssl/openssl/ssl/pqueue.o.d.raw -c warning: unknown warning option '-Wno-old-style-declaration'; did you mean '-Wno-out-of-line-declaration'? [-Wunknown-warning-option] ../deps/uv/src/unix/linux.c:41:10: fatal error: 'sys/epoll.h' file not found 41 | #include | ^~~~~~~~~~~~~ /home/liudonghua/emsdk/upstream/emscripten/emcc -o /home/liudonghua/node/out/Release/obj.target/openssl/deps/openssl/openssl/ssl/s3_lib.o ../deps/openssl/openssl/ssl/s3_lib.c '-DV8_DEPRECATION_WARNINGS' '-DV8_IMMINENT_DEPRECATION_WARNINGS' '-D_GLIBCXX_USE_CXX11_ABI=1' '-DNODE_OPENSSL_CONF_NAME=nodejs_conf' '-DNODE_OPENSSL_HAS_QUIC' '-DICU_NO_USER_DATA_OVERRIDE' '-D__STDC_FORMAT_MACROS' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DOPENSSL_NO_ASM' '-DOPENSSL_NO_HW' '-DOPENSSL_API_COMPAT=0x10100001L' '-DSTATIC_LEGACY' '-DNDEBUG' '-DOPENSSL_USE_NODELETE' '-DL_ENDIAN' '-DOPENSSL_BUILDING_OPENSSL' '-DOPENSSL_PIC' '-DMODULESDIR="/home/liudonghua/node/out/$(BUILDTYPE)/obj.target/deps/openssl/lib/openssl-modules"' '-DOPENSSLDIR="/etc/ssl"' '-DENGINESDIR="/dev/null"' '-DTERMIOS' -I../deps/openssl/openssl -I../deps/openssl/openssl/include -I../deps/openssl/openssl/crypto -I../deps/openssl/openssl/crypto/include -I../deps/openssl/openssl/crypto/modes -I../deps/openssl/openssl/crypto/ec/curve448 -I../deps/openssl/openssl/crypto/ec/curve448/arch_32 -I../deps/openssl/openssl/providers/common/include -I../deps/openssl/openssl/providers/implementations/include -I../deps/openssl/config -I../deps/openssl/config/archs/linux-elf/no-asm -I../deps/openssl/config/archs/linux-elf/no-asm/include -I../deps/openssl/config/archs/linux-elf/no-asm/crypto -I../deps/openssl/config/archs/linux-elf/no-asm/crypto/include/internal -I../deps/openssl/config/archs/linux-elf/no-asm/providers/common/include -pthread -Wall -Wextra -Wno-unused-parameter -Wall -O3 -fomit-frame-pointer -pthread -Wall -O3 -fomit-frame-pointer -Wno-missing-field-initializers -Wno-old-style-declaration -m32 -O3 -fno-omit-frame-pointer -MMD -MF /home/liudonghua/node/out/Release/.deps//home/liudonghua/node/out/Release/obj.target/openssl/deps/openssl/openssl/ssl/s3_lib.o.d.raw -c /home/liudonghua/emsdk/upstream/emscripten/emcc -o /home/liudonghua/node/out/Release/obj.target/openssl/deps/openssl/openssl/ssl/s3_enc.o ../deps/openssl/openssl/ssl/s3_enc.c '-DV8_DEPRECATION_WARNINGS' '-DV8_IMMINENT_DEPRECATION_WARNINGS' '-D_GLIBCXX_USE_CXX11_ABI=1' '-DNODE_OPENSSL_CONF_NAME=nodejs_conf' '-DNODE_OPENSSL_HAS_QUIC' '-DICU_NO_USER_DATA_OVERRIDE' '-D__STDC_FORMAT_MACROS' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DOPENSSL_NO_ASM' '-DOPENSSL_NO_HW' '-DOPENSSL_API_COMPAT=0x10100001L' '-DSTATIC_LEGACY' '-DNDEBUG' '-DOPENSSL_USE_NODELETE' '-DL_ENDIAN' '-DOPENSSL_BUILDING_OPENSSL' '-DOPENSSL_PIC' '-DMODULESDIR="/home/liudonghua/node/out/$(BUILDTYPE)/obj.target/deps/openssl/lib/openssl-modules"' '-DOPENSSLDIR="/etc/ssl"' '-DENGINESDIR="/dev/null"' '-DTERMIOS' -I../deps/openssl/openssl -I../deps/openssl/openssl/include -I../deps/openssl/openssl/crypto -I../deps/openssl/openssl/crypto/include -I../deps/openssl/openssl/crypto/modes -I../deps/openssl/openssl/crypto/ec/curve448 -I../deps/openssl/ope /home/liudonghua/emsdk/upstream/emscripten/emcc -o /home/liudonghua/node/out/Release/obj.target/openssl/deps/openssl/openssl/ssl/s3_msg.o ../deps/openssl/openssl/ssl/s3_msg.c '-DV8_DEPRECATION_WARNINGS' '-DV8_IMMINENT_DEPRECATION_WARNINGS' '-D_GLIBCXX_USE_CXX11_ABI=1' '-DNODE_OPENSSL_CONF_NAME=nodejs_conf' '-DNODE_OPENSSL_HAS_QUIC' '-DICU_NO_USER_DATA_OVERRIDE' '-D__STDC_FORMAT_MACROS' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DOPENSSL_NO_ASM' '-DOPENSSL_NO_HW' '-DOPENSSL_API_COMPAT=0x10100001L' '-DSTATIC_LEGACY' '-DNDEBUG' '-DOPENSSL_USE_NODELETE' '-DL_ENDIAN' '-DOPENSSL_BUILDING_OPENSSL' '-DOPENSSL_PIC' '-DMODULESDIR="/home/liudonghua/node/out/$(BUILDTYPE)/obj.target/deps/openssl/lib/openssl-modules"' '-DOPENSSLDIR="/etc/ssl"' '-DENGINESDIR="/dev/null"' '-DTERMIOS' -I../deps/openssl/openssl -I../deps/openssl/openssl/include -I../deps/openssl/openssl/crypto -I../deps/openssl/openssl/crypto/include -I../deps/openssl/openssl/crypto/modes -I../deps/openssl/openssl/crypto/ec/curve448 -I../deps/openssl/openssl/crypto/ec/curve448/arch_32 -I../deps/openssl/openssl/providers/common/include -I../deps/openssl/openssl/providers/implementations/include -I../deps/openssl/config -I../deps/openssl/config/archs/linux-elf/no-asm -I../deps/openssl/config/archs/linux-elf/no-asm/include -I../deps/openssl/config/archs/linux-elf/no-asm/crypto -I../deps/openssl/config/archs/linux-elf/no-asm/crypto/include/internal -I../deps/openssl/config/archs/linux-elf/no-asm/providers/common/include -pthread -Wall -Wextra -Wno-unused-parameter -Wall -O3 -fomit-frame-pointer -pthread -Wall -O3 -fomit-frame-pointer -Wno-missing-field-initializers -Wno-old-style-declaration -m32 -O3 -fno-omit-frame-pointer -MMD -MF /home/liudonghua/node/out/Release/.deps//home/liudonghua/node/out/Release/obj.target/openssl/deps/openssl/openssl/ssl/s3_msg.o.d.raw -c nssl/crypto/ec/curve448/arch_32 -I../deps/openssl/openssl/providers/common/include -I../deps/openssl/openssl/providers/implementations/include -I../deps/openssl/config -I../deps/openssl/config/archs/linux-elf/no-asm -I../deps/openssl/config/archs/linux-elf/no-asm/include -I../deps/openssl/config/archs/linux-elf/no-asm/crypto -I../deps/openssl/config/archs/linux-elf/no-asm/crypto/include/internal -I../deps/openssl/config/archs/linux-elf/no-asm/providers/common/include -pthread -Wall -Wextra -Wno-unused-parameter -Wall -O3 -fomit-frame-pointer -pthread -Wall -O3 -fomit-frame-pointer -Wno-missing-field-initializers -Wno-old-style-declaration -m32 -O3 -fno-omit-frame-pointer -MMD -MF /home/liudonghua/node/out/Release/.deps//home/liudonghua/node/out/Release/obj.target/openssl/deps/openssl/openssl/ssl/s3_enc.o.d.raw -c ../deps/uv/src/unix/core.c:728:56: warning: comparison of integers of different signs: 'unsigned long' and 'long' [-Wsign-compare] 728 | for (cmsg = CMSG_FIRSTHDR(msg); cmsg != NULL; cmsg = CMSG_NXTHDR(msg, cmsg)) | ^~~~~~~~~~~~~~~~~~~~~~ /home/liudonghua/emsdk/upstream/emscripten/cache/sysroot/include/sys/socket.h:358:44: note: expanded from macro 'CMSG_NXTHDR' 358 | __CMSG_LEN(cmsg) + sizeof(struct cmsghdr) >= __MHDR_END(mhdr) - (unsigned char *)(cmsg) \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../deps/uv/src/unix/stream.c:987:56: warning: comparison of integers of different signs: 'unsigned long' and 'long' [-Wsign-compare] 987 | for (cmsg = CMSG_FIRSTHDR(msg); cmsg != NULL; cmsg = CMSG_NXTHDR(msg, cmsg)) { | ^~~~~~~~~~~~~~~~~~~~~~ /home/liudonghua/emsdk/upstream/emscripten/cache/sysroot/include/sys/socket.h:358:44: note: expanded from macro 'CMSG_NXTHDR' 358 | __CMSG_LEN(cmsg) + sizeof(struct cmsghdr) >= __MHDR_END(mhdr) - (unsigned c1 error generatedh. ar *)(cmsg) \ | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ emcc: error: '/home/liudonghua/emsdk/upstream/bin/clang -target wasm32-unknown-emscripten -fignore-exceptions -mllvm -combiner-global-alias-analysis=false -mllvm -enable-emscripten-sjlj -mllvm -disable-lsr -D__EMSCRIPTEN_SHARED_MEMORY__=1 -DEMSCRIPTEN -Werror=implicit-function-declaration --sysroot=/home/liudonghua/emsdk/upstream/emscripten/cache/sysroot -Xclang -iwithsysroot/include/fakesdl -Xclang -iwithsysroot/include/compat -DV8_DEPRECATION_WARNINGS -DV8_IMMINENT_DEPRECATION_WARNINGS -D_GLIBCXX_USE_CXX11_ABI=1 -DNODE_OPENSSL_CONF_NAME=nodejs_conf -DNODE_OPENSSL_HAS_QUIC -DICU_NO_USER_DATA_OVERRIDE -D__STDC_FORMAT_MACROS -DOPENSSL_NO_PINSHARED -DOPENSSL_THREADS -DOPENSSL_NO_ASM -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -I../deps/uv/include -I../deps/uv/src -pthread -Wall -Wextra -Wno-unused-parameter -fvisibility=hidden -g3 --std=gnu89 -Wall -Wextra -Wno-unused-parameter -Wstrict-prototypes -fno-strict-aliasing -m32 -O3 -fno-omit-frame-pointer -MMD -MF /home/liudonghua/node/out/Release/.deps//home/liudonghua/node/out/Release/obj.target/libuv/deps/uv/src/unix/linux.o.d.raw -c -matomics -mbulk-memory ../deps/uv/src/unix/linux.c -o /home/liudonghua/node/out/Release/obj.target/libuv/deps/uv/src/unix/linux.o' failed (returned 1) deps/uv/libuv.target.mk:149: recipe for target '/home/liudonghua/node/out/Release/obj.target/libuv/deps/uv/src/unix/linux.o' failed make[1]: *** [/home/liudonghua/node/out/Release/obj.target/libuv/deps/uv/src/unix/linux.o] Error 1 make[1]: *** Waiting for unfinished jobs.... warning: unknown warning option '-Wno-old-style-declaration'; did you mean '-Wno-out-of-line-declaration'? [-Wunknown-warning-option] 1 warning generated. 1 warning generated. 1 warning generated. warning: unknown warning option '-Wno-old-style-declaration'; did you mean '-Wno-out-of-line-declaration'? [-Wunknown-warning-option] warning: unknown warning option '-Wno-old-style-declaration'; did you mean '-Wno-out-of-line-declaration'? [-Wunknown-warning-option] warning: unknown warning option '-Wno-old-style-declaration'; did you mean '-Wno-out-of-line-declaration'? [-Wunknown-warning-option]1 warning generated. warning: unknown warning option '-Wno-old-style-declaration'; did you mean '-Wno-out-of-line-declaration'? [-Wunknown-warning-option] 1 warning generated. 1 warning generated. 1 warning generated. 1 warning generated. 1 warning generated. 1 warning generated. 1 warning generated. ../deps/simdutf/simdutf.cpp:5080:15: warning: unused variable 'shufutf8' [-Wunused-const-variable] 5080 | const uint8_t shufutf8[209][16] = | ^~~~~~~~ ../deps/simdutf/simdutf.cpp:5293:15: warning: unused variable 'utf8bigindex' [-Wunused-const-variable] 5293 | const uint8_t utf8bigindex[4096][2] = | ^~~~~~~~~~~~ ../deps/simdutf/simdutf.cpp:9409:17: warning: unused variable 'pack_1_2_utf8_bytes' [-Wunused-const-variable] 9409 | const uint8_t pack_1_2_utf8_bytes[256][17] = { | ^~~~~~~~~~~~~~~~~~~ ../deps/simdutf/simdutf.cpp:9669:17: warning: unused variable 'pack_1_2_3_utf8_bytes' [-Wunused-const-variable] 9669 | const uint8_t pack_1_2_3_utf8_bytes[256][17] = { | ^~~~~~~~~~~~~~~~~~~~~ ../deps/simdutf/simdutf.cpp:10144:35: warning: unused function 'rewind_and_validate_with_errors' [-Wunused-function] 10144 | inline simdutf_warn_unused result rewind_and_validate_with_errors(const char *start, const char *buf, size_t len) noexcept { | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../deps/simdutf/simdutf.cpp:11580:15: warning: unused function 'rewind_and_convert_with_errors' [-Wunused-function] 11580 | inline result rewind_and_convert_with_errors(size_t prior_bytes, const char* buf, size_t len, char32_t* utf32_output) { | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 7 warnings generated. Makefile:134: recipe for target 'node' failed make: *** [node] Error 2 emmake: error: 'make -j 40' failed (returned 2) liudonghua@xxs:~/node$ ```

See also:

assambar commented 1 year ago

In short, I don't believe we can do what you seem to want in any near future, however I see an option for you to pivot your approach. Let me know if any of these comments make sense, as I may be misunderstanding.

Hi, I am writing an app which shows some tutorials or exanples for python, php and nodejs and so on. And I want to use pure web stack without a server, without install and configure python, php and nodejs environment. For the editor I can use monaco-editor, for the python I can use pyodide and pyright-browser as LSP support. PHP has also webassembly build php-wasm, now I want to found something similar for nodejs.

All runtime builds that we do here are targeting WASI, i.e. server-side Wasm. The reason is two-fold - there are already browser-based builds for most major languages, and we believe in WASI as the system platform that will make Wasm apps truly portable with time. Even if we added a node.js one, it would still be WASI based, Which means you would need to embed a WASI implementation in the frontend browser App, which you build.

If all the mentioned goals resolved, then I can use tauri to pack it and make the app to support all the majority platforms which include windows, macos, linus, web and android/ios mobile (tauri 2.0 will support mobile platform and will arrive soon).

First time I hear about Tauri from you (and it looks like a great next gen step from Electron)! If you're only targeting desktop/mobile portability (not a browser one), you could embed a WASI-based Wasm runtime as a Rust plugin to the backend and call it via Tauri commands from the JS frontent. True, this will lose the browser level portability of your frontend code, but IMHO will give you better future stability - as Tauri uses native browser engines (from what I see on their page) you will rely on the Wasm support of those if you keep to browser portability. If you choose the server/backend - side portability instead you will have it all under your own control - in the Rust code of your backend plugin.

liudonghua123 commented 1 year ago

@assambar Thanks for your detailed explanation and suggestions. Maybe I need to re-think my ideas.

Even if we added a node.js one, it would still be WASI based

Provide a WASI based node.js would also be nice feature, I am look forward to use it. Is there any roadmap to support WASI based node.js?

I see there is uvwasi in the node.js source code already, maybe it can be build with wasi-sdk.