mmdevries / eiows

Other
78 stars 4 forks source link

eiows does not compile on node > 18.10.0 #12

Closed apydo closed 1 year ago

apydo commented 1 year ago

Hello !

I tried to 'npm install' my current application migrating node from v16 to current v18 on my linux box but eiows compilation failed with all node version > 18.10.0 including last 18.12.1 :

$ cat node_modules/eiows/build_log.txt
gyp info it worked if it ends with ok
gyp info using node-gyp@8.4.1
gyp info using node@18.12.1 | linux | x64
gyp info find Python using Python version 3.9.2 found at "/usr/bin/python3"
gyp info spawn /usr/bin/python3
gyp info spawn args [
gyp info spawn args   '/content/n/d32/node_modules/node-gyp/gyp/gyp_main.py',
gyp info spawn args   'binding.gyp',
gyp info spawn args   '-f',
gyp info spawn args   'make',
gyp info spawn args   '-I',
gyp info spawn args   '/content/n/d32/node_modules/eiows/build/config.gypi',
gyp info spawn args   '-I',
gyp info spawn args   '/content/n/d32/node_modules/node-gyp/addon.gypi',
gyp info spawn args   '-I',
gyp info spawn args   '/home/apydo/.cache/node-gyp/18.12.1/include/node/common.gypi',
gyp info spawn args   '-Dlibrary=shared_library',
gyp info spawn args   '-Dvisibility=default',
gyp info spawn args   '-Dnode_root_dir=/home/apydo/.cache/node-gyp/18.12.1',
gyp info spawn args   '-Dnode_gyp_dir=/content/n/d32/node_modules/node-gyp',
gyp info spawn args   '-Dnode_lib_file=/home/apydo/.cache/node-gyp/18.12.1/<(target_arch)/node.lib',
gyp info spawn args   '-Dmodule_root_dir=/content/n/d32/node_modules/eiows',
gyp info spawn args   '-Dnode_engine=v8',
gyp info spawn args   '--depth=.',
gyp info spawn args   '--no-parallel',
gyp info spawn args   '--generator-output',
gyp info spawn args   'build',
gyp info spawn args   '-Goutput_dir=.'
gyp info spawn args ]
gyp info spawn make
gyp info spawn args [ 'BUILDTYPE=Release', '-C', 'build' ]
make : on entre dans le répertoire « /content/n/d32/node_modules/eiows/build »
  CXX(target) Release/obj.target/eiows/nodejs/src/addon.o
In file included from /home/apydo/.cache/node-gyp/18.12.1/include/node/openssl/./configuration_asm.h:11,
                 from /home/apydo/.cache/node-gyp/18.12.1/include/node/openssl/configuration.h:4,
                 from /home/apydo/.cache/node-gyp/18.12.1/include/node/openssl/opensslconf.h:14,
                 from /home/apydo/.cache/node-gyp/18.12.1/include/node/openssl/macros.h:14,
                 from /home/apydo/.cache/node-gyp/18.12.1/include/node/openssl/././archs/linux-x86_64/asm/include/openssl/ssl.h:21,
                 from /home/apydo/.cache/node-gyp/18.12.1/include/node/openssl/./ssl_asm.h:11,
                 from /home/apydo/.cache/node-gyp/18.12.1/include/node/openssl/ssl.h:4,
                 from ../nodejs/src/../../uWebSockets/src/Networking.h:62,
                 from ../nodejs/src/../../uWebSockets/src/WebSocketProtocol.h:5,
                 from ../nodejs/src/../../uWebSockets/src/WebSocket.h:4,
                 from ../nodejs/src/../../uWebSockets/src/Group.h:4,
                 from ../nodejs/src/../../uWebSockets/src/Hub.h:4,
                 from ../nodejs/src/addon.cpp:1:
/home/apydo/.cache/node-gyp/18.12.1/include/node/openssl/././archs/linux-x86_64/asm/include/openssl/configuration.h:30: warning: "OPENSSL_CONFIGURED_API" redefined
   30 | # define OPENSSL_CONFIGURED_API 30000
      |
<command-line>: note: this is the location of the previous definition
In file included from ../nodejs/src/../../uWebSockets/src/Networking.h:61,
                 from ../nodejs/src/../../uWebSockets/src/WebSocketProtocol.h:5,
                 from ../nodejs/src/../../uWebSockets/src/WebSocket.h:4,
                 from ../nodejs/src/../../uWebSockets/src/Group.h:4,
                 from ../nodejs/src/../../uWebSockets/src/Hub.h:4,
                 from ../nodejs/src/addon.cpp:1:
../nodejs/src/../../uWebSockets/src/Libuv.h: In member function ‘void uS::Poll::close(void (*)(uS::Poll*))’:
../nodejs/src/../../uWebSockets/src/Libuv.h:137:24: warning: cast between incompatible function types from ‘void (*)(uS::Poll*)’ to ‘void (*)(uS::Poll*, int, int)’ [-Wcast-function-type]
  137 |             this->cb = (void(*)(Poll *, int, int)) cb;
      |                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../nodejs/src/../../uWebSockets/src/Libuv.h: In lambda function:
../nodejs/src/../../uWebSockets/src/Libuv.h:140:38: warning: cast between incompatible function types from ‘void (*)(uS::Poll*, int, int)’ to ‘void (*)(uS::Poll*)’ [-Wcast-function-type]
  140 |                 void (*cb)(Poll *) = (void(*)(Poll *)) poll->cb;
      |                                      ^~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ../nodejs/src/node_18_headers/crypto/../crypto/../crypto/crypto_util.h:10,
                 from ../nodejs/src/node_18_headers/crypto/../crypto/crypto_context.h:6,
                 from ../nodejs/src/node_18_headers/crypto/crypto_tls.h:27,
                 from ../nodejs/src/addon.h:20,
                 from ../nodejs/src/addon.cpp:2:
../nodejs/src/node_18_headers/crypto/../crypto/../crypto/../node_internals.h: At global scope:
../nodejs/src/node_18_headers/crypto/../crypto/../crypto/../node_internals.h:308:8: error: redefinition of ‘struct node::InitializationResult’
  308 | struct InitializationResult {
      |        ^~~~~~~~~~~~~~~~~~~~
In file included from ../nodejs/src/addon.h:1,
                 from ../nodejs/src/addon.cpp:2:
/home/apydo/.cache/node-gyp/18.12.1/include/node/node.h:275:19: note: previous definition of ‘struct node::InitializationResult’
  275 | class NODE_EXTERN InitializationResult {
      |                   ^~~~~~~~~~~~~~~~~~~~
In file included from ../nodejs/src/node_18_headers/crypto/../crypto/../crypto/crypto_util.h:10,
                 from ../nodejs/src/node_18_headers/crypto/../crypto/crypto_context.h:6,
                 from ../nodejs/src/node_18_headers/crypto/crypto_tls.h:27,
                 from ../nodejs/src/addon.h:20,
                 from ../nodejs/src/addon.cpp:2:
../nodejs/src/node_18_headers/crypto/../crypto/../crypto/../node_internals.h:323:1: error: invalid abstract return type ‘node::InitializationResult’
  323 | InitializationResult NODE_EXTERN_PRIVATE InitializeOncePerProcess(int argc,
      | ^~~~~~~~~~~~~~~~~~~~
In file included from ../nodejs/src/addon.h:1,
                 from ../nodejs/src/addon.cpp:2:
/home/apydo/.cache/node-gyp/18.12.1/include/node/node.h:275:19: note:   because the following virtual functions are pure within ‘node::InitializationResult’:
  275 | class NODE_EXTERN InitializationResult {
      |                   ^~~~~~~~~~~~~~~~~~~~
/home/apydo/.cache/node-gyp/18.12.1/include/node/node.h:280:15: note:     ‘virtual int node::InitializationResult::exit_code() const’
  280 |   virtual int exit_code() const = 0;
      |               ^~~~~~~~~
/home/apydo/.cache/node-gyp/18.12.1/include/node/node.h:283:16: note:     ‘virtual bool node::InitializationResult::early_return() const’
  283 |   virtual bool early_return() const = 0;
      |                ^~~~~~~~~~~~
/home/apydo/.cache/node-gyp/18.12.1/include/node/node.h:286:43: note:     ‘virtual const std::vector<std::__cxx11::basic_string<char> >& node::InitializationResult::args() const’
  286 |   virtual const std::vector<std::string>& args() const = 0;
      |                                           ^~~~
/home/apydo/.cache/node-gyp/18.12.1/include/node/node.h:289:43: note:     ‘virtual const std::vector<std::__cxx11::basic_string<char> >& node::InitializationResult::exec_args() const’
  289 |   virtual const std::vector<std::string>& exec_args() const = 0;
      |                                           ^~~~~~~~~
/home/apydo/.cache/node-gyp/18.12.1/include/node/node.h:293:43: note:     ‘virtual const std::vector<std::__cxx11::basic_string<char> >& node::InitializationResult::errors() const’
  293 |   virtual const std::vector<std::string>& errors() const = 0;
      |                                           ^~~~~~
/home/apydo/.cache/node-gyp/18.12.1/include/node/node.h:297:33: note:     ‘virtual node::MultiIsolatePlatform* node::InitializationResult::platform() const’
  297 |   virtual MultiIsolatePlatform* platform() const = 0;
      |                                 ^~~~~~~~
In file included from ../nodejs/src/node_18_headers/crypto/../crypto/../crypto/crypto_util.h:10,
                 from ../nodejs/src/node_18_headers/crypto/../crypto/crypto_context.h:6,
                 from ../nodejs/src/node_18_headers/crypto/crypto_tls.h:27,
                 from ../nodejs/src/addon.h:20,
                 from ../nodejs/src/addon.cpp:2:
../nodejs/src/node_18_headers/crypto/../crypto/../crypto/../node_internals.h:325:1: error: invalid abstract return type ‘node::InitializationResult’
  325 | InitializationResult NODE_EXTERN_PRIVATE InitializeOncePerProcess(
      | ^~~~~~~~~~~~~~~~~~~~
In file included from ../nodejs/src/addon.h:1,
                 from ../nodejs/src/addon.cpp:2:
/home/apydo/.cache/node-gyp/18.12.1/include/node/node.h:976:7: warning: cast between incompatible function types from ‘void (*)(v8::Local<v8::Object>)’ to ‘node::addon_register_func’ {aka ‘void (*)(v8::Local<v8::Object>, v8::Local<v8::Value>, void*)’} [-Wcast-function-type]
  976 |       (node::addon_register_func) (regfunc),                          \
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/apydo/.cache/node-gyp/18.12.1/include/node/node.h:1010:3: note: in expansion of macro ‘NODE_MODULE_X’
 1010 |   NODE_MODULE_X(modname, regfunc, NULL, 0)  // NOLINT (readability/null_usage)
      |   ^~~~~~~~~~~~~
../nodejs/src/addon.cpp:18:1: note: in expansion of macro ‘NODE_MODULE’
   18 | NODE_MODULE(eiows, Main)
      | ^~~~~~~~~~~
make: *** [eiows.target.mk:121 : Release/obj.target/eiows/nodejs/src/addon.o] Erreur 1
make : on quitte le répertoire « /content/n/d32/node_modules/eiows/build »
gyp ERR! build error
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/content/n/d32/node_modules/node-gyp/lib/build.js:194:23)
gyp ERR! stack     at ChildProcess.emit (node:events:513:28)
gyp ERR! stack     at ChildProcess._handle.onexit (node:internal/child_process:291:12)
gyp ERR! System Linux 5.10.0-20-cloud-amd64
gyp ERR! command "/usr/local/bin/node" "/content/n/d32/node_modules/.bin/node-gyp" "rebuild"
gyp ERR! cwd /content/n/d32/node_modules/eiows
gyp ERR! node -v v18.12.1
gyp ERR! node-gyp -v v8.4.1
gyp ERR! not ok

This is correct compilation log with node 18.10.0 :

$ cat node_modules/eiows/build_log.txt
gyp info it worked if it ends with ok
gyp info using node-gyp@8.4.1
gyp info using node@18.10.0 | linux | x64
gyp info find Python using Python version 3.9.2 found at "/usr/bin/python3"
gyp http GET https://nodejs.org/download/release/v18.10.0/node-v18.10.0-headers.tar.gz
gyp http 200 https://nodejs.org/download/release/v18.10.0/node-v18.10.0-headers.tar.gz
gyp http GET https://nodejs.org/download/release/v18.10.0/SHASUMS256.txt
gyp http 200 https://nodejs.org/download/release/v18.10.0/SHASUMS256.txt
gyp info spawn /usr/bin/python3
gyp info spawn args [
gyp info spawn args   '/content/n/d32/node_modules/node-gyp/gyp/gyp_main.py',
gyp info spawn args   'binding.gyp',
gyp info spawn args   '-f',
gyp info spawn args   'make',
gyp info spawn args   '-I',
gyp info spawn args   '/content/n/d32/node_modules/eiows/build/config.gypi',
gyp info spawn args   '-I',
gyp info spawn args   '/content/n/d32/node_modules/node-gyp/addon.gypi',
gyp info spawn args   '-I',
gyp info spawn args   '/home/apydo/.cache/node-gyp/18.10.0/include/node/common.gypi',
gyp info spawn args   '-Dlibrary=shared_library',
gyp info spawn args   '-Dvisibility=default',
gyp info spawn args   '-Dnode_root_dir=/home/apydo/.cache/node-gyp/18.10.0',
gyp info spawn args   '-Dnode_gyp_dir=/content/n/d32/node_modules/node-gyp',
gyp info spawn args   '-Dnode_lib_file=/home/apydo/.cache/node-gyp/18.10.0/<(target_arch)/node.lib',
gyp info spawn args   '-Dmodule_root_dir=/content/n/d32/node_modules/eiows',
gyp info spawn args   '-Dnode_engine=v8',
gyp info spawn args   '--depth=.',
gyp info spawn args   '--no-parallel',
gyp info spawn args   '--generator-output',
gyp info spawn args   'build',
gyp info spawn args   '-Goutput_dir=.'
gyp info spawn args ]
gyp info spawn make
gyp info spawn args [ 'BUILDTYPE=Release', '-C', 'build' ]
make : on entre dans le répertoire « /content/n/d32/node_modules/eiows/build »
  CXX(target) Release/obj.target/eiows/nodejs/src/addon.o
In file included from /home/apydo/.cache/node-gyp/18.10.0/include/node/openssl/./configuration_asm.h:11,
                 from /home/apydo/.cache/node-gyp/18.10.0/include/node/openssl/configuration.h:4,
                 from /home/apydo/.cache/node-gyp/18.10.0/include/node/openssl/opensslconf.h:14,
                 from /home/apydo/.cache/node-gyp/18.10.0/include/node/openssl/macros.h:14,
                 from /home/apydo/.cache/node-gyp/18.10.0/include/node/openssl/././archs/linux-x86_64/asm/include/openssl/ssl.h:21,
                 from /home/apydo/.cache/node-gyp/18.10.0/include/node/openssl/./ssl_asm.h:11,
                 from /home/apydo/.cache/node-gyp/18.10.0/include/node/openssl/ssl.h:4,
                 from ../nodejs/src/../../uWebSockets/src/Networking.h:62,
                 from ../nodejs/src/../../uWebSockets/src/WebSocketProtocol.h:5,
                 from ../nodejs/src/../../uWebSockets/src/WebSocket.h:4,
                 from ../nodejs/src/../../uWebSockets/src/Group.h:4,
                 from ../nodejs/src/../../uWebSockets/src/Hub.h:4,
                 from ../nodejs/src/addon.cpp:1:
/home/apydo/.cache/node-gyp/18.10.0/include/node/openssl/././archs/linux-x86_64/asm/include/openssl/configuration.h:30: warning: "OPENSSL_CONFIGURED_API" redefined
   30 | # define OPENSSL_CONFIGURED_API 30000
      |
<command-line>: note: this is the location of the previous definition
In file included from ../nodejs/src/../../uWebSockets/src/Networking.h:61,
                 from ../nodejs/src/../../uWebSockets/src/WebSocketProtocol.h:5,
                 from ../nodejs/src/../../uWebSockets/src/WebSocket.h:4,
                 from ../nodejs/src/../../uWebSockets/src/Group.h:4,
                 from ../nodejs/src/../../uWebSockets/src/Hub.h:4,
                 from ../nodejs/src/addon.cpp:1:
../nodejs/src/../../uWebSockets/src/Libuv.h: In member function ‘void uS::Poll::close(void (*)(uS::Poll*))’:
../nodejs/src/../../uWebSockets/src/Libuv.h:137:24: warning: cast between incompatible function types from ‘void (*)(uS::Poll*)’ to ‘void (*)(uS::Poll*, int, int)’ [-Wcast-function-type]
  137 |             this->cb = (void(*)(Poll *, int, int)) cb;
      |                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../nodejs/src/../../uWebSockets/src/Libuv.h: In lambda function:
../nodejs/src/../../uWebSockets/src/Libuv.h:140:38: warning: cast between incompatible function types from ‘void (*)(uS::Poll*, int, int)’ to ‘void (*)(uS::Poll*)’ [-Wcast-function-type]
  140 |                 void (*cb)(Poll *) = (void(*)(Poll *)) poll->cb;
      |                                      ^~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ../nodejs/src/addon.h:1,
                 from ../nodejs/src/addon.cpp:2:
../nodejs/src/addon.cpp: At global scope:
/home/apydo/.cache/node-gyp/18.10.0/include/node/node.h:890:7: warning: cast between incompatible function types from ‘void (*)(v8::Local<v8::Object>)’ to ‘node::addon_register_func’ {aka ‘void (*)(v8::Local<v8::Object>, v8::Local<v8::Value>, void*)’}                           [-Wcast-function-type]
  890 |       (node::addon_register_func) (regfunc),                          \
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/apydo/.cache/node-gyp/18.10.0/include/node/node.h:924:3: note: in expansion of macro ‘NODE_MODULE_X’
  924 |   NODE_MODULE_X(modname, regfunc, NULL, 0)  // NOLINT (readability/null_usage)
      |   ^~~~~~~~~~~~~
../nodejs/src/addon.cpp:18:1: note: in expansion of macro ‘NODE_MODULE’
   18 | NODE_MODULE(eiows, Main)
      | ^~~~~~~~~~~
  CXX(target) Release/obj.target/eiows/uWebSockets/src/Extensions.o
  CXX(target) Release/obj.target/eiows/uWebSockets/src/Group.o
In file included from /home/apydo/.cache/node-gyp/18.10.0/include/node/openssl/./configuration_asm.h:11,
                 from /home/apydo/.cache/node-gyp/18.10.0/include/node/openssl/configuration.h:4,
                 from /home/apydo/.cache/node-gyp/18.10.0/include/node/openssl/opensslconf.h:14,
                 from /home/apydo/.cache/node-gyp/18.10.0/include/node/openssl/macros.h:14,
                 from /home/apydo/.cache/node-gyp/18.10.0/include/node/openssl/././archs/linux-x86_64/asm/include/openssl/ssl.h:21,
                 from /home/apydo/.cache/node-gyp/18.10.0/include/node/openssl/./ssl_asm.h:11,
                 from /home/apydo/.cache/node-gyp/18.10.0/include/node/openssl/ssl.h:4,
                 from ../uWebSockets/src/Networking.h:62,
                 from ../uWebSockets/src/WebSocketProtocol.h:5,
                 from ../uWebSockets/src/WebSocket.h:4,
                 from ../uWebSockets/src/Group.h:4,
                 from ../uWebSockets/src/Group.cpp:1:
/home/apydo/.cache/node-gyp/18.10.0/include/node/openssl/././archs/linux-x86_64/asm/include/openssl/configuration.h:30: warning: "OPENSSL_CONFIGURED_API" redefined
   30 | # define OPENSSL_CONFIGURED_API 30000
      |
<command-line>: note: this is the location of the previous definition
In file included from ../uWebSockets/src/Networking.h:61,
                 from ../uWebSockets/src/WebSocketProtocol.h:5,
                 from ../uWebSockets/src/WebSocket.h:4,
                 from ../uWebSockets/src/Group.h:4,
                 from ../uWebSockets/src/Group.cpp:1:
../uWebSockets/src/Libuv.h: In member function ‘void uS::Poll::close(void (*)(uS::Poll*))’:
../uWebSockets/src/Libuv.h:137:24: warning: cast between incompatible function types from ‘void (*)(uS::Poll*)’ to ‘void (*)(uS::Poll*, int, int)’ [-Wcast-function-type]
  137 |             this->cb = (void(*)(Poll *, int, int)) cb;
      |                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../uWebSockets/src/Libuv.h: In lambda function:
../uWebSockets/src/Libuv.h:140:38: warning: cast between incompatible function types from ‘void (*)(uS::Poll*, int, int)’ to ‘void (*)(uS::Poll*)’ [-Wcast-function-type]
  140 |                 void (*cb)(Poll *) = (void(*)(Poll *)) poll->cb;
      |                                      ^~~~~~~~~~~~~~~~~~~~~~~~~~
  CXX(target) Release/obj.target/eiows/uWebSockets/src/Networking.o
In file included from /home/apydo/.cache/node-gyp/18.10.0/include/node/openssl/./configuration_asm.h:11,
                 from /home/apydo/.cache/node-gyp/18.10.0/include/node/openssl/configuration.h:4,
                 from /home/apydo/.cache/node-gyp/18.10.0/include/node/openssl/opensslconf.h:14,
                 from /home/apydo/.cache/node-gyp/18.10.0/include/node/openssl/macros.h:14,
                 from /home/apydo/.cache/node-gyp/18.10.0/include/node/openssl/././archs/linux-x86_64/asm/include/openssl/ssl.h:21,
                 from /home/apydo/.cache/node-gyp/18.10.0/include/node/openssl/./ssl_asm.h:11,
                 from /home/apydo/.cache/node-gyp/18.10.0/include/node/openssl/ssl.h:4,
                 from ../uWebSockets/src/Networking.h:62,
                 from ../uWebSockets/src/Networking.cpp:1:
/home/apydo/.cache/node-gyp/18.10.0/include/node/openssl/././archs/linux-x86_64/asm/include/openssl/configuration.h:30: warning: "OPENSSL_CONFIGURED_API" redefined
   30 | # define OPENSSL_CONFIGURED_API 30000
      |
<command-line>: note: this is the location of the previous definition
In file included from ../uWebSockets/src/Networking.h:61,
                 from ../uWebSockets/src/Networking.cpp:1:
../uWebSockets/src/Libuv.h: In member function ‘void uS::Poll::close(void (*)(uS::Poll*))’:
../uWebSockets/src/Libuv.h:137:24: warning: cast between incompatible function types from ‘void (*)(uS::Poll*)’ to ‘void (*)(uS::Poll*, int, int)’ [-Wcast-function-type]
  137 |             this->cb = (void(*)(Poll *, int, int)) cb;
      |                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../uWebSockets/src/Libuv.h: In lambda function:
../uWebSockets/src/Libuv.h:140:38: warning: cast between incompatible function types from ‘void (*)(uS::Poll*, int, int)’ to ‘void (*)(uS::Poll*)’ [-Wcast-function-type]
  140 |                 void (*cb)(Poll *) = (void(*)(Poll *)) poll->cb;
      |                                      ^~~~~~~~~~~~~~~~~~~~~~~~~~
  CXX(target) Release/obj.target/eiows/uWebSockets/src/Hub.o
In file included from /home/apydo/.cache/node-gyp/18.10.0/include/node/openssl/./configuration_asm.h:11,
                 from /home/apydo/.cache/node-gyp/18.10.0/include/node/openssl/configuration.h:4,
                 from /home/apydo/.cache/node-gyp/18.10.0/include/node/openssl/opensslconf.h:14,
                 from /home/apydo/.cache/node-gyp/18.10.0/include/node/openssl/macros.h:14,
                 from /home/apydo/.cache/node-gyp/18.10.0/include/node/openssl/././archs/linux-x86_64/asm/include/openssl/ssl.h:21,
                 from /home/apydo/.cache/node-gyp/18.10.0/include/node/openssl/./ssl_asm.h:11,
                 from /home/apydo/.cache/node-gyp/18.10.0/include/node/openssl/ssl.h:4,
                 from ../uWebSockets/src/Networking.h:62,
                 from ../uWebSockets/src/WebSocketProtocol.h:5,
                 from ../uWebSockets/src/WebSocket.h:4,
                 from ../uWebSockets/src/Group.h:4,
                 from ../uWebSockets/src/Hub.h:4,
                 from ../uWebSockets/src/Hub.cpp:1:
/home/apydo/.cache/node-gyp/18.10.0/include/node/openssl/././archs/linux-x86_64/asm/include/openssl/configuration.h:30: warning: "OPENSSL_CONFIGURED_API" redefined
   30 | # define OPENSSL_CONFIGURED_API 30000
      |
<command-line>: note: this is the location of the previous definition
In file included from ../uWebSockets/src/Networking.h:61,
                 from ../uWebSockets/src/WebSocketProtocol.h:5,
                 from ../uWebSockets/src/WebSocket.h:4,
                 from ../uWebSockets/src/Group.h:4,
                 from ../uWebSockets/src/Hub.h:4,
                 from ../uWebSockets/src/Hub.cpp:1:
../uWebSockets/src/Libuv.h: In member function ‘void uS::Poll::close(void (*)(uS::Poll*))’:
../uWebSockets/src/Libuv.h:137:24: warning: cast between incompatible function types from ‘void (*)(uS::Poll*)’ to ‘void (*)(uS::Poll*, int, int)’ [-Wcast-function-type]
  137 |             this->cb = (void(*)(Poll *, int, int)) cb;
      |                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../uWebSockets/src/Libuv.h: In lambda function:
../uWebSockets/src/Libuv.h:140:38: warning: cast between incompatible function types from ‘void (*)(uS::Poll*, int, int)’ to ‘void (*)(uS::Poll*)’ [-Wcast-function-type]
  140 |                 void (*cb)(Poll *) = (void(*)(Poll *)) poll->cb;
      |                                      ^~~~~~~~~~~~~~~~~~~~~~~~~~
  CXX(target) Release/obj.target/eiows/uWebSockets/src/Node.o
In file included from /home/apydo/.cache/node-gyp/18.10.0/include/node/openssl/./configuration_asm.h:11,
                 from /home/apydo/.cache/node-gyp/18.10.0/include/node/openssl/configuration.h:4,
                 from /home/apydo/.cache/node-gyp/18.10.0/include/node/openssl/opensslconf.h:14,
                 from /home/apydo/.cache/node-gyp/18.10.0/include/node/openssl/macros.h:14,
                 from /home/apydo/.cache/node-gyp/18.10.0/include/node/openssl/././archs/linux-x86_64/asm/include/openssl/ssl.h:21,
                 from /home/apydo/.cache/node-gyp/18.10.0/include/node/openssl/./ssl_asm.h:11,
                 from /home/apydo/.cache/node-gyp/18.10.0/include/node/openssl/ssl.h:4,
                 from ../uWebSockets/src/Networking.h:62,
                 from ../uWebSockets/src/Socket.h:4,
                 from ../uWebSockets/src/Node.h:4,
                 from ../uWebSockets/src/Node.cpp:1:
/home/apydo/.cache/node-gyp/18.10.0/include/node/openssl/././archs/linux-x86_64/asm/include/openssl/configuration.h:30: warning: "OPENSSL_CONFIGURED_API" redefined
   30 | # define OPENSSL_CONFIGURED_API 30000
      |
<command-line>: note: this is the location of the previous definition
In file included from ../uWebSockets/src/Networking.h:61,
                 from ../uWebSockets/src/Socket.h:4,
                 from ../uWebSockets/src/Node.h:4,
                 from ../uWebSockets/src/Node.cpp:1:
../uWebSockets/src/Libuv.h: In member function ‘void uS::Poll::close(void (*)(uS::Poll*))’:
../uWebSockets/src/Libuv.h:137:24: warning: cast between incompatible function types from ‘void (*)(uS::Poll*)’ to ‘void (*)(uS::Poll*, int, int)’ [-Wcast-function-type]
  137 |             this->cb = (void(*)(Poll *, int, int)) cb;
      |                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../uWebSockets/src/Libuv.h: In lambda function:
../uWebSockets/src/Libuv.h:140:38: warning: cast between incompatible function types from ‘void (*)(uS::Poll*, int, int)’ to ‘void (*)(uS::Poll*)’ [-Wcast-function-type]
  140 |                 void (*cb)(Poll *) = (void(*)(Poll *)) poll->cb;
      |                                      ^~~~~~~~~~~~~~~~~~~~~~~~~~
  CXX(target) Release/obj.target/eiows/uWebSockets/src/WebSocket.o
In file included from /home/apydo/.cache/node-gyp/18.10.0/include/node/openssl/./configuration_asm.h:11,
                 from /home/apydo/.cache/node-gyp/18.10.0/include/node/openssl/configuration.h:4,
                 from /home/apydo/.cache/node-gyp/18.10.0/include/node/openssl/opensslconf.h:14,
                 from /home/apydo/.cache/node-gyp/18.10.0/include/node/openssl/macros.h:14,
                 from /home/apydo/.cache/node-gyp/18.10.0/include/node/openssl/././archs/linux-x86_64/asm/include/openssl/ssl.h:21,
                 from /home/apydo/.cache/node-gyp/18.10.0/include/node/openssl/./ssl_asm.h:11,
                 from /home/apydo/.cache/node-gyp/18.10.0/include/node/openssl/ssl.h:4,
                 from ../uWebSockets/src/Networking.h:62,
                 from ../uWebSockets/src/WebSocketProtocol.h:5,
                 from ../uWebSockets/src/WebSocket.h:4,
                 from ../uWebSockets/src/WebSocket.cpp:1:
/home/apydo/.cache/node-gyp/18.10.0/include/node/openssl/././archs/linux-x86_64/asm/include/openssl/configuration.h:30: warning: "OPENSSL_CONFIGURED_API" redefined
   30 | # define OPENSSL_CONFIGURED_API 30000
      |
<command-line>: note: this is the location of the previous definition
In file included from ../uWebSockets/src/Networking.h:61,
                 from ../uWebSockets/src/WebSocketProtocol.h:5,
                 from ../uWebSockets/src/WebSocket.h:4,
                 from ../uWebSockets/src/WebSocket.cpp:1:
../uWebSockets/src/Libuv.h: In member function ‘void uS::Poll::close(void (*)(uS::Poll*))’:
../uWebSockets/src/Libuv.h:137:24: warning: cast between incompatible function types from ‘void (*)(uS::Poll*)’ to ‘void (*)(uS::Poll*, int, int)’ [-Wcast-function-type]
  137 |             this->cb = (void(*)(Poll *, int, int)) cb;
      |                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../uWebSockets/src/Libuv.h: In lambda function:
../uWebSockets/src/Libuv.h:140:38: warning: cast between incompatible function types from ‘void (*)(uS::Poll*, int, int)’ to ‘void (*)(uS::Poll*)’ [-Wcast-function-type]
  140 |                 void (*cb)(Poll *) = (void(*)(Poll *)) poll->cb;
      |                                      ^~~~~~~~~~~~~~~~~~~~~~~~~~
  CXX(target) Release/obj.target/eiows/uWebSockets/src/Socket.o
In file included from /home/apydo/.cache/node-gyp/18.10.0/include/node/openssl/./configuration_asm.h:11,
                 from /home/apydo/.cache/node-gyp/18.10.0/include/node/openssl/configuration.h:4,
                 from /home/apydo/.cache/node-gyp/18.10.0/include/node/openssl/opensslconf.h:14,
                 from /home/apydo/.cache/node-gyp/18.10.0/include/node/openssl/macros.h:14,
                 from /home/apydo/.cache/node-gyp/18.10.0/include/node/openssl/././archs/linux-x86_64/asm/include/openssl/ssl.h:21,
                 from /home/apydo/.cache/node-gyp/18.10.0/include/node/openssl/./ssl_asm.h:11,
                 from /home/apydo/.cache/node-gyp/18.10.0/include/node/openssl/ssl.h:4,
                 from ../uWebSockets/src/Networking.h:62,
                 from ../uWebSockets/src/Socket.h:4,
                 from ../uWebSockets/src/Socket.cpp:1:
/home/apydo/.cache/node-gyp/18.10.0/include/node/openssl/././archs/linux-x86_64/asm/include/openssl/configuration.h:30: warning: "OPENSSL_CONFIGURED_API" redefined
   30 | # define OPENSSL_CONFIGURED_API 30000
      |
<command-line>: note: this is the location of the previous definition
In file included from ../uWebSockets/src/Networking.h:61,
                 from ../uWebSockets/src/Socket.h:4,
                 from ../uWebSockets/src/Socket.cpp:1:
../uWebSockets/src/Libuv.h: In member function ‘void uS::Poll::close(void (*)(uS::Poll*))’:
../uWebSockets/src/Libuv.h:137:24: warning: cast between incompatible function types from ‘void (*)(uS::Poll*)’ to ‘void (*)(uS::Poll*, int, int)’ [-Wcast-function-type]
  137 |             this->cb = (void(*)(Poll *, int, int)) cb;
      |                        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../uWebSockets/src/Libuv.h: In lambda function:
../uWebSockets/src/Libuv.h:140:38: warning: cast between incompatible function types from ‘void (*)(uS::Poll*, int, int)’ to ‘void (*)(uS::Poll*)’ [-Wcast-function-type]
  140 |                 void (*cb)(Poll *) = (void(*)(Poll *)) poll->cb;
      |                                      ^~~~~~~~~~~~~~~~~~~~~~~~~~
  SOLINK_MODULE(target) Release/obj.target/eiows.node
  COPY Release/eiows.node
  ACTION binding_gyp_action_after_build_target_move_lib eiows
  TOUCH Release/obj.target/action_after_build.stamp
make : on quitte le répertoire « /content/n/d32/node_modules/eiows/build »
gyp info ok
Sergio-Mira commented 1 year ago

Tried with 18.13 and it didn't compile either with the same error. Had to stay on 18.9.

Any way that we could ignore redefinition issues on install?

mmdevries commented 1 year ago

Should be fixed now for linux and osx.