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

Add node language runtime #120

Open
liudonghua123 opened this issue Nov 10, 2023 · 4 comments
Open

Add node language runtime #120

liudonghua123 opened this issue Nov 10, 2023 · 4 comments
Labels
enhancement New feature or request

Comments

@liudonghua123
Copy link

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.

@liudonghua123 liudonghua123 added the enhancement New feature or request label Nov 10, 2023
@assambar
Copy link
Contributor

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
Copy link
Author

liudonghua123 commented Nov 15, 2023

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`
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 <sys/epoll.h>
      |          ^~~~~~~~~~~~~
  /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
Copy link
Contributor

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
Copy link
Author

@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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants