evandcoleman / homebridge-theater-mode

A homebridge plugin to make your HomeKit devices react to the play/pause state of your Apple TV. Configured via the Home app.
MIT License
95 stars 15 forks source link

ed25519 install error #18

Open matbe81 opened 2 years ago

matbe81 commented 2 years ago

Error occured when installing:

USER: homebridge
DIR: /usr
CMD: sudo -E -n npm install -g homebridge-theater-mode@latest

npm WARN deprecated uuid@3.4.0: Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.
npm ERR! code 1
npm ERR! path /usr/lib/node_modules/homebridge-theater-mode/node_modules/ed25519
npm ERR! command failed
npm ERR! command sh -c node-gyp rebuild
npm ERR! make: Entering directory '/usr/lib/node_modules/homebridge-theater-mode/node_modules/ed25519/build'
npm ERR!   CC(target) Release/obj.target/ed25519/src/ed25519/keypair.o
npm ERR!   CC(target) Release/obj.target/ed25519/src/ed25519/sign.o
npm ERR!   CC(target) Release/obj.target/ed25519/src/ed25519/open.o
npm ERR!   CC(target) Release/obj.target/ed25519/src/ed25519/crypto_verify_32.o
npm ERR!   CC(target) Release/obj.target/ed25519/src/ed25519/ge_double_scalarmult.o
npm ERR!   CC(target) Release/obj.target/ed25519/src/ed25519/ge_frombytes.o
npm ERR!   CC(target) Release/obj.target/ed25519/src/ed25519/ge_scalarmult_base.o
npm ERR!   CC(target) Release/obj.target/ed25519/src/ed25519/ge_precomp_0.o
npm ERR!   CC(target) Release/obj.target/ed25519/src/ed25519/ge_p2_0.o
npm ERR!   CC(target) Release/obj.target/ed25519/src/ed25519/ge_p2_dbl.o
npm ERR!   CC(target) Release/obj.target/ed25519/src/ed25519/ge_p3_0.o
npm ERR!   CC(target) Release/obj.target/ed25519/src/ed25519/ge_p3_dbl.o
npm ERR!   CC(target) Release/obj.target/ed25519/src/ed25519/ge_p3_to_p2.o
npm ERR!   CC(target) Release/obj.target/ed25519/src/ed25519/ge_p3_to_cached.o
npm ERR!   CC(target) Release/obj.target/ed25519/src/ed25519/ge_p3_tobytes.o
npm ERR!   CC(target) Release/obj.target/ed25519/src/ed25519/ge_madd.o
npm ERR!   CC(target) Release/obj.target/ed25519/src/ed25519/ge_add.o
npm ERR!   CC(target) Release/obj.target/ed25519/src/ed25519/ge_msub.o
npm ERR!   CC(target) Release/obj.target/ed25519/src/ed25519/ge_sub.o
npm ERR!   CC(target) Release/obj.target/ed25519/src/ed25519/ge_p1p1_to_p3.o
npm ERR!   CC(target) Release/obj.target/ed25519/src/ed25519/ge_p1p1_to_p2.o
npm ERR!   CC(target) Release/obj.target/ed25519/src/ed25519/ge_tobytes.o
npm ERR!   CC(target) Release/obj.target/ed25519/src/ed25519/fe_0.o
npm ERR!   CC(target) Release/obj.target/ed25519/src/ed25519/fe_1.o
npm ERR!   CC(target) Release/obj.target/ed25519/src/ed25519/fe_cmov.o
npm ERR!   CC(target) Release/obj.target/ed25519/src/ed25519/fe_copy.o
npm ERR!   CC(target) Release/obj.target/ed25519/src/ed25519/fe_neg.o
npm ERR!   CC(target) Release/obj.target/ed25519/src/ed25519/fe_add.o
npm ERR!   CC(target) Release/obj.target/ed25519/src/ed25519/fe_sub.o
npm ERR!   CC(target) Release/obj.target/ed25519/src/ed25519/fe_mul.o
npm ERR!   CC(target) Release/obj.target/ed25519/src/ed25519/fe_sq.o
npm ERR!   CC(target) Release/obj.target/ed25519/src/ed25519/fe_sq2.o
npm ERR!   CC(target) Release/obj.target/ed25519/src/ed25519/fe_invert.o
npm ERR!   CC(target) Release/obj.target/ed25519/src/ed25519/fe_tobytes.o
npm ERR!   CC(target) Release/obj.target/ed25519/src/ed25519/fe_isnegative.o
npm ERR!   CC(target) Release/obj.target/ed25519/src/ed25519/fe_isnonzero.o
npm ERR!   CC(target) Release/obj.target/ed25519/src/ed25519/fe_frombytes.o
npm ERR!   CC(target) Release/obj.target/ed25519/src/ed25519/fe_pow22523.o
npm ERR!   CC(target) Release/obj.target/ed25519/src/ed25519/sc_reduce.o
npm ERR!   CC(target) Release/obj.target/ed25519/src/ed25519/sc_muladd.o
npm ERR!   CXX(target) Release/obj.target/ed25519/src/ed25519.o
npm ERR! make: Leaving directory '/usr/lib/node_modules/homebridge-theater-mode/node_modules/ed25519/build'
npm ERR! gyp info it worked if it ends with ok
npm ERR! gyp info using node-gyp@9.0.0
npm ERR! gyp info using node@16.14.2 | linux | x64
npm ERR! gyp info find Python using Python version 3.8.10 found at "/usr/bin/python3"
npm ERR! gyp info spawn /usr/bin/python3
npm ERR! gyp info spawn args [
npm ERR! gyp info spawn args   '/usr/lib/node_modules/npm/node_modules/node-gyp/gyp/gyp_main.py',
npm ERR! gyp info spawn args   'binding.gyp',
npm ERR! gyp info spawn args   '-f',
npm ERR! gyp info spawn args   'make',
npm ERR! gyp info spawn args   '-I',
npm ERR! gyp info spawn args   '/usr/lib/node_modules/homebridge-theater-mode/node_modules/ed25519/build/config.gypi',
npm ERR! gyp info spawn args   '-I',
npm ERR! gyp info spawn args   '/usr/lib/node_modules/npm/node_modules/node-gyp/addon.gypi',
npm ERR! gyp info spawn args   '-I',
npm ERR! gyp info spawn args   '/home/homebridge/.cache/node-gyp/16.14.2/include/node/common.gypi',
npm ERR! gyp info spawn args   '-Dlibrary=shared_library',
npm ERR! gyp info spawn args   '-Dvisibility=default',
npm ERR! gyp info spawn args   '-Dnode_root_dir=/home/homebridge/.cache/node-gyp/16.14.2',
npm ERR! gyp info spawn args   '-Dnode_gyp_dir=/usr/lib/node_modules/npm/node_modules/node-gyp',
npm ERR! gyp info spawn args   '-Dnode_lib_file=/home/homebridge/.cache/node-gyp/16.14.2/<(target_arch)/node.lib',
npm ERR! gyp info spawn args   '-Dmodule_root_dir=/usr/lib/node_modules/homebridge-theater-mode/node_modules/ed25519',
npm ERR! gyp info spawn args   '-Dnode_engine=v8',
npm ERR! gyp info spawn args   '--depth=.',
npm ERR! gyp info spawn args   '--no-parallel',
npm ERR! gyp info spawn args   '--generator-output',
npm ERR! gyp info spawn args   'build',
npm ERR! gyp info spawn args   '-Goutput_dir=.'
npm ERR! gyp info spawn args ]
npm ERR! gyp info spawn make
npm ERR! gyp info spawn args [ 'BUILDTYPE=Release', '-C', 'build' ]
npm ERR! ../src/ed25519.cc: In function ‘Nan::NAN_METHOD_RETURN_TYPE MakeKeypair(Nan::NAN_METHOD_ARGS_TYPE)’:
npm ERR! ../src/ed25519.cc:19:98: error: no matching function for call to ‘v8::Value::ToObject()’
npm ERR!    19 |  if ((info.Length() < 1) || (!Buffer::HasInstance(info[0])) || (Buffer::Length(info[0]->ToObject()) != 32)) {
npm ERR!       |                                                                                                  ^
npm ERR! In file included from /home/homebridge/.cache/node-gyp/16.14.2/include/node/node.h:63,
npm ERR!                  from ../src/ed25519.cc:1:
npm ERR! /home/homebridge/.cache/node-gyp/16.14.2/include/node/v8.h:3060:44: note: candidate: ‘v8::MaybeLocal<v8::Object> v8::Value::ToObject(v8::Local<v8::Context>) const’
npm ERR!  3060 |   V8_WARN_UNUSED_RESULT MaybeLocal<Object> ToObject(
npm ERR!       |                                            ^~~~~~~~
npm ERR! /home/homebridge/.cache/node-gyp/16.14.2/include/node/v8.h:3060:44: note:   candidate expects 1 argument, 0 provided
npm ERR! ../src/ed25519.cc:22:77: error: no matching function for call to ‘v8::Value::ToObject()’
npm ERR!    22 |  const unsigned char* seed = (unsigned char*)Buffer::Data(info[0]->ToObject());
npm ERR!       |                                                                             ^
npm ERR! In file included from /home/homebridge/.cache/node-gyp/16.14.2/include/node/node.h:63,
npm ERR!                  from ../src/ed25519.cc:1:
npm ERR! /home/homebridge/.cache/node-gyp/16.14.2/include/node/v8.h:3060:44: note: candidate: ‘v8::MaybeLocal<v8::Object> v8::Value::ToObject(v8::Local<v8::Context>) const’
npm ERR!  3060 |   V8_WARN_UNUSED_RESULT MaybeLocal<Object> ToObject(
npm ERR!       |                                            ^~~~~~~~
npm ERR! /home/homebridge/.cache/node-gyp/16.14.2/include/node/v8.h:3060:44: note:   candidate expects 1 argument, 0 provided
npm ERR! ../src/ed25519.cc:35:63: error: no matching function for call to ‘v8::Object::Set(v8::Local<v8::String>, v8::Local<v8::Object>&)’
npm ERR!    35 |  result->Set(Nan::New("publicKey").ToLocalChecked(), publicKey);
npm ERR!       |                                                               ^
npm ERR! In file included from /home/homebridge/.cache/node-gyp/16.14.2/include/node/node.h:63,
npm ERR!                  from ../src/ed25519.cc:1:
npm ERR! /home/homebridge/.cache/node-gyp/16.14.2/include/node/v8.h:3961:37: note: candidate: ‘v8::Maybe<bool> v8::Object::Set(v8::Local<v8::Context>, v8::Local<v8::Value>, v8::Local<v8::Value>)’
npm ERR!  3961 |   V8_WARN_UNUSED_RESULT Maybe<bool> Set(Local<Context> context,
npm ERR!       |                                     ^~~
npm ERR! /home/homebridge/.cache/node-gyp/16.14.2/include/node/v8.h:3961:37: note:   candidate expects 3 arguments, 2 provided
npm ERR! /home/homebridge/.cache/node-gyp/16.14.2/include/node/v8.h:3964:37: note: candidate: ‘v8::Maybe<bool> v8::Object::Set(v8::Local<v8::Context>, uint32_t, v8::Local<v8::Value>)’
npm ERR!  3964 |   V8_WARN_UNUSED_RESULT Maybe<bool> Set(Local<Context> context, uint32_t index,
npm ERR!       |                                     ^~~
npm ERR! /home/homebridge/.cache/node-gyp/16.14.2/include/node/v8.h:3964:37: note:   candidate expects 3 arguments, 2 provided
npm ERR! ../src/ed25519.cc:36:65: error: no matching function for call to ‘v8::Object::Set(v8::Local<v8::String>, v8::Local<v8::Object>&)’
npm ERR!    36 |  result->Set(Nan::New("privateKey").ToLocalChecked(), privateKey);
npm ERR!       |                                                                 ^
npm ERR! In file included from /home/homebridge/.cache/node-gyp/16.14.2/include/node/node.h:63,
npm ERR!                  from ../src/ed25519.cc:1:
npm ERR! /home/homebridge/.cache/node-gyp/16.14.2/include/node/v8.h:3961:37: note: candidate: ‘v8::Maybe<bool> v8::Object::Set(v8::Local<v8::Context>, v8::Local<v8::Value>, v8::Local<v8::Value>)’
npm ERR!  3961 |   V8_WARN_UNUSED_RESULT Maybe<bool> Set(Local<Context> context,
npm ERR!       |                                     ^~~
npm ERR! /home/homebridge/.cache/node-gyp/16.14.2/include/node/v8.h:3961:37: note:   candidate expects 3 arguments, 2 provided
npm ERR! /home/homebridge/.cache/node-gyp/16.14.2/include/node/v8.h:3964:37: note: candidate: ‘v8::Maybe<bool> v8::Object::Set(v8::Local<v8::Context>, uint32_t, v8::Local<v8::Value>)’
npm ERR!  3964 |   V8_WARN_UNUSED_RESULT Maybe<bool> Set(Local<Context> context, uint32_t index,
npm ERR!       |                                     ^~~
npm ERR! /home/homebridge/.cache/node-gyp/16.14.2/include/node/v8.h:3964:37: note:   candidate expects 3 arguments, 2 provided
npm ERR! ../src/ed25519.cc: In function ‘Nan::NAN_METHOD_RETURN_TYPE Sign(Nan::NAN_METHOD_ARGS_TYPE)’:
npm ERR! ../src/ed25519.cc:53:69: error: no matching function for call to ‘v8::Value::ToObject()’
npm ERR!    53 |  if ((info.Length() < 2) || (!Buffer::HasInstance(info[0]->ToObject()))) {
npm ERR!       |                                                                     ^
npm ERR! In file included from /home/homebridge/.cache/node-gyp/16.14.2/include/node/node.h:63,
npm ERR!                  from ../src/ed25519.cc:1:
npm ERR! /home/homebridge/.cache/node-gyp/16.14.2/include/node/v8.h:3060:44: note: candidate: ‘v8::MaybeLocal<v8::Object> v8::Value::ToObject(v8::Local<v8::Context>) const’
npm ERR!  3060 |   V8_WARN_UNUSED_RESULT MaybeLocal<Object> ToObject(
npm ERR!       |                                            ^~~~~~~~
npm ERR! /home/homebridge/.cache/node-gyp/16.14.2/include/node/v8.h:3060:44: note:   candidate expects 1 argument, 0 provided
npm ERR! ../src/ed25519.cc:56:74: error: no matching function for call to ‘v8::Value::ToObject()’
npm ERR!    56 |  if ((Buffer::HasInstance(info[1])) && (Buffer::Length(info[1]->ToObject()) == 32)) {
npm ERR!       |                                                                          ^
npm ERR! In file included from /home/homebridge/.cache/node-gyp/16.14.2/include/node/node.h:63,
npm ERR!                  from ../src/ed25519.cc:1:
npm ERR! /home/homebridge/.cache/node-gyp/16.14.2/include/node/v8.h:3060:44: note: candidate: ‘v8::MaybeLocal<v8::Object> v8::Value::ToObject(v8::Local<v8::Context>) const’
npm ERR!  3060 |   V8_WARN_UNUSED_RESULT MaybeLocal<Object> ToObject(
npm ERR!       |                                            ^~~~~~~~
npm ERR! /home/homebridge/.cache/node-gyp/16.14.2/include/node/v8.h:3060:44: note:   candidate expects 1 argument, 0 provided
npm ERR! ../src/ed25519.cc:57:72: error: no matching function for call to ‘v8::Value::ToObject()’
npm ERR!    57 |   unsigned char* seed = (unsigned char*)Buffer::Data(info[1]->ToObject());
npm ERR!       |                                                                        ^
npm ERR! In file included from /home/homebridge/.cache/node-gyp/16.14.2/include/node/node.h:63,
npm ERR!                  from ../src/ed25519.cc:1:
npm ERR! /home/homebridge/.cache/node-gyp/16.14.2/include/node/v8.h:3060:44: note: candidate: ‘v8::MaybeLocal<v8::Object> v8::Value::ToObject(v8::Local<v8::Context>) const’
npm ERR!  3060 |   V8_WARN_UNUSED_RESULT MaybeLocal<Object> ToObject(
npm ERR!       |                                            ^~~~~~~~
npm ERR! /home/homebridge/.cache/node-gyp/16.14.2/include/node/v8.h:3060:44: note:   candidate expects 1 argument, 0 provided
npm ERR! ../src/ed25519.cc:65:81: error: no matching function for call to ‘v8::Value::ToObject()’
npm ERR!    65 |  } else if ((Buffer::HasInstance(info[1])) && (Buffer::Length(info[1]->ToObject()) == 64)) {
npm ERR!       |                                                                                 ^
npm ERR! In file included from /home/homebridge/.cache/node-gyp/16.14.2/include/node/node.h:63,
npm ERR!                  from ../src/ed25519.cc:1:
npm ERR! /home/homebridge/.cache/node-gyp/16.14.2/include/node/v8.h:3060:44: note: candidate: ‘v8::MaybeLocal<v8::Object> v8::Value::ToObject(v8::Local<v8::Context>) const’
npm ERR!  3060 |   V8_WARN_UNUSED_RESULT MaybeLocal<Object> ToObject(
npm ERR!       |                                            ^~~~~~~~
npm ERR! /home/homebridge/.cache/node-gyp/16.14.2/include/node/v8.h:3060:44: note:   candidate expects 1 argument, 0 provided
npm ERR! ../src/ed25519.cc:66:63: error: no matching function for call to ‘v8::Value::ToObject()’
npm ERR!    66 |   privateKey = (unsigned char*)Buffer::Data(info[1]->ToObject());
npm ERR!       |                                                               ^
npm ERR! In file included from /home/homebridge/.cache/node-gyp/16.14.2/include/node/node.h:63,
npm ERR!                  from ../src/ed25519.cc:1:
npm ERR! /home/homebridge/.cache/node-gyp/16.14.2/include/node/v8.h:3060:44: note: candidate: ‘v8::MaybeLocal<v8::Object> v8::Value::ToObject(v8::Local<v8::Context>) const’
npm ERR!  3060 |   V8_WARN_UNUSED_RESULT MaybeLocal<Object> ToObject(
npm ERR!       |                                            ^~~~~~~~
npm ERR! /home/homebridge/.cache/node-gyp/16.14.2/include/node/v8.h:3060:44: note:   candidate expects 1 argument, 0 provided
npm ERR! ../src/ed25519.cc:68:53: error: no matching function for call to ‘v8::Value::ToObject()’
npm ERR!    68 |   Local<Value> privateKeyBuffer = info[1]->ToObject()->Get(Nan::New<String>("privateKey").ToLocalChecked())->ToObject();
npm ERR!       |                                                     ^
npm ERR! In file included from /home/homebridge/.cache/node-gyp/16.14.2/include/node/node.h:63,
npm ERR!                  from ../src/ed25519.cc:1:
npm ERR! /home/homebridge/.cache/node-gyp/16.14.2/include/node/v8.h:3060:44: note: candidate: ‘v8::MaybeLocal<v8::Object> v8::Value::ToObject(v8::Local<v8::Context>) const’
npm ERR!  3060 |   V8_WARN_UNUSED_RESULT MaybeLocal<Object> ToObject(
npm ERR!       |                                            ^~~~~~~~
npm ERR! /home/homebridge/.cache/node-gyp/16.14.2/include/node/v8.h:3060:44: note:   candidate expects 1 argument, 0 provided
npm ERR! ../src/ed25519.cc:76:2: error: ‘Handle’ was not declared in this scope
npm ERR!    76 |  Handle<Object> message = info[0]->ToObject();
npm ERR!       |  ^~~~~~
npm ERR! ../src/ed25519.cc:76:15: error: expected primary-expression before ‘>’ token
npm ERR!    76 |  Handle<Object> message = info[0]->ToObject();
npm ERR!       |               ^
npm ERR! ../src/ed25519.cc:76:17: error: ‘message’ was not declared in this scope
npm ERR!    76 |  Handle<Object> message = info[0]->ToObject();
npm ERR!       |                 ^~~~~~~
npm ERR! ../src/ed25519.cc:76:45: error: no matching function for call to ‘v8::Value::ToObject()’
npm ERR!    76 |  Handle<Object> message = info[0]->ToObject();
npm ERR!       |                                             ^
npm ERR! In file included from /home/homebridge/.cache/node-gyp/16.14.2/include/node/node.h:63,
npm ERR!                  from ../src/ed25519.cc:1:
npm ERR! /home/homebridge/.cache/node-gyp/16.14.2/include/node/v8.h:3060:44: note: candidate: ‘v8::MaybeLocal<v8::Object> v8::Value::ToObject(v8::Local<v8::Context>) const’
npm ERR!  3060 |   V8_WARN_UNUSED_RESULT MaybeLocal<Object> ToObject(
npm ERR!       |                                            ^~~~~~~~
npm ERR! /home/homebridge/.cache/node-gyp/16.14.2/include/node/v8.h:3060:44: note:   candidate expects 1 argument, 0 provided
npm ERR! ../src/ed25519.cc: In function ‘Nan::NAN_METHOD_RETURN_TYPE Verify(Nan::NAN_METHOD_ARGS_TYPE)’:
npm ERR! ../src/ed25519.cc:101:69: error: no matching function for call to ‘v8::Value::ToObject()’
npm ERR!   101 |  if ((info.Length() < 3) || (!Buffer::HasInstance(info[0]->ToObject())) ||
npm ERR!       |                                                                     ^
npm ERR! In file included from /home/homebridge/.cache/node-gyp/16.14.2/include/node/node.h:63,
npm ERR!                  from ../src/ed25519.cc:1:
npm ERR! /home/homebridge/.cache/node-gyp/16.14.2/include/node/v8.h:3060:44: note: candidate: ‘v8::MaybeLocal<v8::Object> v8::Value::ToObject(v8::Local<v8::Context>) const’
npm ERR!  3060 |   V8_WARN_UNUSED_RESULT MaybeLocal<Object> ToObject(
npm ERR!       |                                            ^~~~~~~~
npm ERR! /home/homebridge/.cache/node-gyp/16.14.2/include/node/v8.h:3060:44: note:   candidate expects 1 argument, 0 provided
npm ERR! ../src/ed25519.cc:102:43: error: no matching function for call to ‘v8::Value::ToObject()’
npm ERR!   102 |   (!Buffer::HasInstance(info[1]->ToObject())) || (!Buffer::HasInstance(info[2]->ToObject()))) {
npm ERR!       |                                           ^
npm ERR! In file included from /home/homebridge/.cache/node-gyp/16.14.2/include/node/node.h:63,
npm ERR!                  from ../src/ed25519.cc:1:
npm ERR! /home/homebridge/.cache/node-gyp/16.14.2/include/node/v8.h:3060:44: note: candidate: ‘v8::MaybeLocal<v8::Object> v8::Value::ToObject(v8::Local<v8::Context>) const’
npm ERR!  3060 |   V8_WARN_UNUSED_RESULT MaybeLocal<Object> ToObject(
npm ERR!       |                                            ^~~~~~~~
npm ERR! /home/homebridge/.cache/node-gyp/16.14.2/include/node/v8.h:3060:44: note:   candidate expects 1 argument, 0 provided
npm ERR! ../src/ed25519.cc:102:90: error: no matching function for call to ‘v8::Value::ToObject()’
npm ERR!   102 |   (!Buffer::HasInstance(info[1]->ToObject())) || (!Buffer::HasInstance(info[2]->ToObject()))) {
npm ERR!       |                                                                                          ^
npm ERR! In file included from /home/homebridge/.cache/node-gyp/16.14.2/include/node/node.h:63,
npm ERR!                  from ../src/ed25519.cc:1:
npm ERR! /home/homebridge/.cache/node-gyp/16.14.2/include/node/v8.h:3060:44: note: candidate: ‘v8::MaybeLocal<v8::Object> v8::Value::ToObject(v8::Local<v8::Context>) const’
npm ERR!  3060 |   V8_WARN_UNUSED_RESULT MaybeLocal<Object> ToObject(
npm ERR!       |                                            ^~~~~~~~
npm ERR! /home/homebridge/.cache/node-gyp/16.14.2/include/node/v8.h:3060:44: note:   candidate expects 1 argument, 0 provided
npm ERR! ../src/ed25519.cc:105:2: error: ‘Handle’ was not declared in this scope
npm ERR!   105 |  Handle<Object> message = info[0]->ToObject();
npm ERR!       |  ^~~~~~
npm ERR! ../src/ed25519.cc:105:15: error: expected primary-expression before ‘>’ token
npm ERR!   105 |  Handle<Object> message = info[0]->ToObject();
npm ERR!       |               ^
npm ERR! ../src/ed25519.cc:105:17: error: ‘message’ was not declared in this scope
npm ERR!   105 |  Handle<Object> message = info[0]->ToObject();
npm ERR!       |                 ^~~~~~~
npm ERR! ../src/ed25519.cc:105:45: error: no matching function for call to ‘v8::Value::ToObject()’
npm ERR!   105 |  Handle<Object> message = info[0]->ToObject();
npm ERR!       |                                             ^
npm ERR! In file included from /home/homebridge/.cache/node-gyp/16.14.2/include/node/node.h:63,
npm ERR!                  from ../src/ed25519.cc:1:
npm ERR! /home/homebridge/.cache/node-gyp/16.14.2/include/node/v8.h:3060:44: note: candidate: ‘v8::MaybeLocal<v8::Object> v8::Value::ToObject(v8::Local<v8::Context>) const’
npm ERR!  3060 |   V8_WARN_UNUSED_RESULT MaybeLocal<Object> ToObject(
npm ERR!       |                                            ^~~~~~~~
npm ERR! /home/homebridge/.cache/node-gyp/16.14.2/include/node/v8.h:3060:44: note:   candidate expects 1 argument, 0 provided
npm ERR! ../src/ed25519.cc:106:15: error: expected primary-expression before ‘>’ token
npm ERR!   106 |  Handle<Object> signature = info[1]->ToObject();
npm ERR!       |               ^
npm ERR! ../src/ed25519.cc:106:17: error: ‘signature’ was not declared in this scope; did you mean ‘sigreturn’?
npm ERR!   106 |  Handle<Object> signature = info[1]->ToObject();
npm ERR!       |                 ^~~~~~~~~
npm ERR!       |                 sigreturn
npm ERR! ../src/ed25519.cc:106:47: error: no matching function for call to ‘v8::Value::ToObject()’
npm ERR!   106 |  Handle<Object> signature = info[1]->ToObject();
npm ERR!       |                                               ^
npm ERR! In file included from /home/homebridge/.cache/node-gyp/16.14.2/include/node/node.h:63,
npm ERR!                  from ../src/ed25519.cc:1:
npm ERR! /home/homebridge/.cache/node-gyp/16.14.2/include/node/v8.h:3060:44: note: candidate: ‘v8::MaybeLocal<v8::Object> v8::Value::ToObject(v8::Local<v8::Context>) const’
npm ERR!  3060 |   V8_WARN_UNUSED_RESULT MaybeLocal<Object> ToObject(
npm ERR!       |                                            ^~~~~~~~
npm ERR! /home/homebridge/.cache/node-gyp/16.14.2/include/node/v8.h:3060:44: note:   candidate expects 1 argument, 0 provided
npm ERR! ../src/ed25519.cc:107:15: error: expected primary-expression before ‘>’ token
npm ERR!   107 |  Handle<Object> publicKey = info[2]->ToObject();
npm ERR!       |               ^
npm ERR! ../src/ed25519.cc:107:17: error: ‘publicKey’ was not declared in this scope
npm ERR!   107 |  Handle<Object> publicKey = info[2]->ToObject();
npm ERR!       |                 ^~~~~~~~~
npm ERR! ../src/ed25519.cc:107:47: error: no matching function for call to ‘v8::Value::ToObject()’
npm ERR!   107 |  Handle<Object> publicKey = info[2]->ToObject();
npm ERR!       |                                               ^
npm ERR! In file included from /home/homebridge/.cache/node-gyp/16.14.2/include/node/node.h:63,
npm ERR!                  from ../src/ed25519.cc:1:
npm ERR! /home/homebridge/.cache/node-gyp/16.14.2/include/node/v8.h:3060:44: note: candidate: ‘v8::MaybeLocal<v8::Object> v8::Value::ToObject(v8::Local<v8::Context>) const’
npm ERR!  3060 |   V8_WARN_UNUSED_RESULT MaybeLocal<Object> ToObject(
npm ERR!       |                                            ^~~~~~~~
npm ERR! /home/homebridge/.cache/node-gyp/16.14.2/include/node/v8.h:3060:44: note:   candidate expects 1 argument, 0 provided
npm ERR! ../src/ed25519.cc: At global scope:
npm ERR! ../src/ed25519.cc:120:17: error: variable or field ‘InitModule’ declared void
npm ERR!   120 | void InitModule(Handle<Object> exports) {
npm ERR!       |                 ^~~~~~
npm ERR! ../src/ed25519.cc:120:17: error: ‘Handle’ was not declared in this scope
npm ERR! ../src/ed25519.cc:120:30: error: expected primary-expression before ‘>’ token
npm ERR!   120 | void InitModule(Handle<Object> exports) {
npm ERR!       |                              ^
npm ERR! ../src/ed25519.cc:120:32: error: ‘exports’ was not declared in this scope
npm ERR!   120 | void InitModule(Handle<Object> exports) {
npm ERR!       |                                ^~~~~~~
npm ERR! In file included from ../src/ed25519.cc:1:
npm ERR! ../src/ed25519.cc:126:22: error: ‘InitModule’ was not declared in this scope
npm ERR!   126 | NODE_MODULE(ed25519, InitModule)
npm ERR!       |                      ^~~~~~~~~~
npm ERR! /home/homebridge/.cache/node-gyp/16.14.2/include/node/node.h:842:36: note: in definition of macro ‘NODE_MODULE_X’
npm ERR!   842 |       (node::addon_register_func) (regfunc),                          \
npm ERR!       |                                    ^~~~~~~
npm ERR! ../src/ed25519.cc:126:1: note: in expansion of macro ‘NODE_MODULE’
npm ERR!   126 | NODE_MODULE(ed25519, InitModule)
npm ERR!       | ^~~~~~~~~~~
npm ERR! make: *** [ed25519.target.mk:155: Release/obj.target/ed25519/src/ed25519.o] Error 1
npm ERR! gyp ERR! build error 
npm ERR! gyp ERR! stack Error: `make` failed with exit code: 2
npm ERR! gyp ERR! stack     at ChildProcess.onExit (/usr/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:194:23)
npm ERR! gyp ERR! stack     at ChildProcess.emit (node:events:526:28)
npm ERR! gyp ERR! stack     at Process.ChildProcess._handle.onexit (node:internal/child_process:291:12)
npm ERR! gyp ERR! System Linux 5.4.0-109-generic
npm ERR! gyp ERR! command "/usr/bin/node" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
npm ERR! gyp ERR! cwd /usr/lib/node_modules/homebridge-theater-mode/node_modules/ed25519
npm ERR! gyp ERR! node -v v16.14.2
npm ERR! gyp ERR! node-gyp -v v9.0.0
npm ERR! gyp ERR! not ok

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/homebridge/.npm/_logs/2022-04-20T15_12_21_185Z-debug-0.log

Command failed. Please review log for details.