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

Ondersteuning node V20 #39

Open
JRCKW opened this issue Jun 13, 2024 · 2 comments
Open

Ondersteuning node V20 #39

JRCKW opened this issue Jun 13, 2024 · 2 comments

Comments

@JRCKW
Copy link

JRCKW commented Jun 13, 2024

Hi Robert,

Na het updaten van Homebridge naar Node V20 (20.14.0) werkt de plugin niet meer. Nu ik probeer om de plugin opnieuw te installeren blijf ik errors krijgen. Heb jij een idee hoe ik dit kan oplossen?

> [email protected] install
> node-gyp rebuild


make: Entering directory '/usr/local/lib/node_modules/homebridge-klikaanklikuit/node_modules/rpio/build'
  CXX(target) Release/obj.target/rpio/src/rpio.o
In file included from ../../nan/nan.h:176,
                 from ../src/rpio.cc:17:
../../nan/nan_callbacks.h:55:23: error: ‘AccessorSignature’ is not a member of ‘v8’
   55 | typedef v8::Local<v8::AccessorSignature> Sig;
      |                       ^~~~~~~~~~~~~~~~~
../../nan/nan_callbacks.h:55:40: error: template argument 1 is invalid
   55 | typedef v8::Local<v8::AccessorSignature> Sig;
      |                                        ^
In file included from ../src/rpio.cc:17:
../../nan/nan.h: In function ‘void Nan::SetAccessor(v8::Local<v8::ObjectTemplate>, v8::Local<v8::String>, Nan::GetterCallback, Nan::SetterCallback, v8::Local<v8::Value>, v8::AccessControl, v8::PropertyAttribute, Nan::imp::Sig)’:
../../nan/nan.h:2549:16: error: no matching function for call to ‘v8::ObjectTemplate::SetAccessor(v8::Local<v8::String>&, void (*&)(v8::Local<v8::Name>, const v8::PropertyCallbackInfo<v8::Value>&), void (*&)(v8::Local<v8::Name>, v8::Local<v8::Value>, const v8::PropertyCallbackInfo<void>&), v8::Local<v8::Object>&, v8::AccessControl&, v8::PropertyAttribute&, Nan::imp::Sig&)’
 2549 |     , signature);
      |                ^
In file included from /home/pi/.cache/node-gyp/20.14.0/include/node/v8-function.h:15,
                 from /home/pi/.cache/node-gyp/20.14.0/include/node/v8.h:33,
                 from /home/pi/.cache/node-gyp/20.14.0/include/node/node.h:73,
                 from ../../nan/nan.h:56,
                 from ../src/rpio.cc:17:
/home/pi/.cache/node-gyp/20.14.0/include/node/v8-template.h:809:8: note: candidate: ‘void v8::ObjectTemplate::SetAccessor(v8::Local<v8::String>, v8::AccessorGetterCallback, v8::AccessorSetterCallback, v8::Local<v8::Value>, v8::AccessControl, v8::PropertyAttribute, v8::SideEffectType, v8::SideEffectType)’
  809 |   void SetAccessor(
      |        ^~~~~~~~~~~
/home/pi/.cache/node-gyp/20.14.0/include/node/v8-template.h:814:22: note:   no known conversion for argument 7 from ‘Nan::imp::Sig’ {aka ‘int’} to ‘v8::SideEffectType’
  814 |       SideEffectType getter_side_effect_type = SideEffectType::kHasSideEffect,
      |       ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/pi/.cache/node-gyp/20.14.0/include/node/v8-template.h:816:8: note: candidate: ‘void v8::ObjectTemplate::SetAccessor(v8::Local<v8::Name>, v8::AccessorNameGetterCallback, v8::AccessorNameSetterCallback, v8::Local<v8::Value>, v8::AccessControl, v8::PropertyAttribute, v8::SideEffectType, v8::SideEffectType)’
  816 |   void SetAccessor(
      |        ^~~~~~~~~~~
/home/pi/.cache/node-gyp/20.14.0/include/node/v8-template.h:821:22: note:   no known conversion for argument 7 from ‘Nan::imp::Sig’ {aka ‘int’} to ‘v8::SideEffectType’
  821 |       SideEffectType getter_side_effect_type = SideEffectType::kHasSideEffect,
      |       ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ../../nan/nan.h:56,
                 from ../src/rpio.cc:17:
../src/rpio.cc: At global scope:
/home/pi/.cache/node-gyp/20.14.0/include/node/node.h:1224:7: warning: cast between incompatible function types from ‘void (*)(Nan::ADDON_REGISTER_FUNCTION_ARGS_TYPE)’ {aka ‘void (*)(v8::Local<v8::Object>)’} to ‘node::addon_register_func’ {aka ‘void (*)(v8::Local<v8::Object>, v8::Local<v8::Value>, void*)’} [-Wcast-function-type]
 1224 |       (node::addon_register_func) (regfunc),                          \
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/pi/.cache/node-gyp/20.14.0/include/node/node.h:1258:3: note: in expansion of macro ‘NODE_MODULE_X’
 1258 |   NODE_MODULE_X(modname, regfunc, NULL, 0)  // NOLINT (readability/null_usage)
      |   ^~~~~~~~~~~~~
../src/rpio.cc:499:1: note: in expansion of macro ‘NODE_MODULE’
  499 | NODE_MODULE(rpio, setup)
      | ^~~~~~~~~~~
make: *** [rpio.target.mk:110: Release/obj.target/rpio/src/rpio.o] Error 1
make: Leaving directory '/usr/local/lib/node_modules/homebridge-klikaanklikuit/node_modules/rpio/build'
gyp ERR! build error 
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack at ChildProcess.<anonymous> (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:209:23)
gyp ERR! System Linux 5.15.32-v7+
gyp ERR! command "/usr/local/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /usr/local/lib/node_modules/homebridge-klikaanklikuit/node_modules/rpio
gyp ERR! node -v v20.14.0
gyp ERR! node-gyp -v v10.1.0
gyp ERR! not ok 
npm error code 1
npm error path /usr/local/lib/node_modules/homebridge-klikaanklikuit/node_modules/rpio
npm error command failed
npm error command sh -c node-gyp rebuild
@robertklep
Copy link
Owner

Ik vermoed dat één van de dependencies geupdate moet worden (waarschijnlijk nan), maar om eerlijk te zijn heb ik deze code al jaren niet meer aangeraakt en ik heb ook geen RPi meer waar ik het mee kan testen 🥴

@KoenVoortman
Copy link

Na tijden van foutmeldingen e.d. vandaag een schone, verse Homebridge begonnen met actuele node e.d., en ik kom er ook achter dat deze plugin niet meer wil installeren :( na vele jaren van tevreden gebruik.

@JRCKW Heb je het misschien toch nog aan de praat gekregen? Weet je nog hoe?

@robertklep jammer dat je er niet meer mee verder kan :(

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

No branches or pull requests

3 participants