pi@raspberrypi:~/leds $ npm i rpi-ws281x
> rpi-ws281x@1.0.33 install /home/pi/leds/node_modules/rpi-ws281x
> node-gyp rebuild
make: Entering directory '/home/pi/leds/node_modules/rpi-ws281x/build'
CXX(target) Release/obj.target/rpi-ws281x/src/addon.o
In file included from ../src/addon.h:5,
from ../src/addon.cpp:1:
../../nan/nan.h: In function ‘void Nan::AsyncQueueWorker(Nan::AsyncWorker*)’:
../../nan/nan.h:2294:62: warning: cast between incompatible function types from ‘void (*)(uv_work_t*)’ {aka ‘void (*)(uv_work_s*)’} to ‘uv_after_work_cb’ {aka ‘void (*)(uv_work_s*, int)’} [-Wcast-function-type]
, reinterpret_cast<uv_after_work_cb>(AsyncExecuteComplete)
^
../src/addon.cpp: In static member function ‘static Nan::NAN_METHOD_RETURN_TYPE Addon::configure(Nan::NAN_METHOD_ARGS_TYPE)’:
../src/addon.cpp:67:93: warning: ‘v8::Local<v8::Value> v8::Object::Get(v8::Local<v8::Value>)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
v8::Local<v8::Value> debug = options->Get(Nan::New<v8::String>("debug").ToLocalChecked());
^
In file included from /home/pi/.cache/node-gyp/12.18.1/include/node/v8-internal.h:14,
from /home/pi/.cache/node-gyp/12.18.1/include/node/v8.h:27,
from /home/pi/.cache/node-gyp/12.18.1/include/node/node.h:67,
from ../../nan/nan.h:56,
from ../src/addon.h:5,
from ../src/addon.cpp:1:
/home/pi/.cache/node-gyp/12.18.1/include/node/v8.h:3553:51: note: declared here
V8_DEPRECATED("Use maybe version", Local<Value> Get(Local<Value> key));
^~~
/home/pi/.cache/node-gyp/12.18.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
declarator __attribute__((deprecated(message)))
^~~~~~~~~~
../src/addon.cpp:72:95: warning: ‘v8::Local<v8::Value> v8::Object::Get(v8::Local<v8::Value>)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
v8::Local<v8::Value> leds = options->Get(Nan::New<v8::String>("leds").ToLocalChecked());
^
In file included from /home/pi/.cache/node-gyp/12.18.1/include/node/v8-internal.h:14,
from /home/pi/.cache/node-gyp/12.18.1/include/node/v8.h:27,
from /home/pi/.cache/node-gyp/12.18.1/include/node/node.h:67,
from ../../nan/nan.h:56,
from ../src/addon.h:5,
from ../src/addon.cpp:1:
/home/pi/.cache/node-gyp/12.18.1/include/node/v8.h:3553:51: note: declared here
V8_DEPRECATED("Use maybe version", Local<Value> Get(Local<Value> key));
^~~
/home/pi/.cache/node-gyp/12.18.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
declarator __attribute__((deprecated(message)))
^~~~~~~~~~
../src/addon.cpp:83:93: warning: ‘v8::Local<v8::Value> v8::Object::Get(v8::Local<v8::Value>)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
v8::Local<v8::Value> dma = options->Get(Nan::New<v8::String>("dma").ToLocalChecked());
^
In file included from /home/pi/.cache/node-gyp/12.18.1/include/node/v8-internal.h:14,
from /home/pi/.cache/node-gyp/12.18.1/include/node/v8.h:27,
from /home/pi/.cache/node-gyp/12.18.1/include/node/node.h:67,
from ../../nan/nan.h:56,
from ../src/addon.h:5,
from ../src/addon.cpp:1:
/home/pi/.cache/node-gyp/12.18.1/include/node/v8.h:3553:51: note: declared here
V8_DEPRECATED("Use maybe version", Local<Value> Get(Local<Value> key));
^~~
/home/pi/.cache/node-gyp/12.18.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
declarator __attribute__((deprecated(message)))
^~~~~~~~~~
../src/addon.cpp:92:95: warning: ‘v8::Local<v8::Value> v8::Object::Get(v8::Local<v8::Value>)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
v8::Local<v8::Value> gpio = options->Get(Nan::New<v8::String>("gpio").ToLocalChecked());
^
In file included from /home/pi/.cache/node-gyp/12.18.1/include/node/v8-internal.h:14,
from /home/pi/.cache/node-gyp/12.18.1/include/node/v8.h:27,
from /home/pi/.cache/node-gyp/12.18.1/include/node/node.h:67,
from ../../nan/nan.h:56,
from ../src/addon.h:5,
from ../src/addon.cpp:1:
/home/pi/.cache/node-gyp/12.18.1/include/node/v8.h:3553:51: note: declared here
V8_DEPRECATED("Use maybe version", Local<Value> Get(Local<Value> key));
^~~
/home/pi/.cache/node-gyp/12.18.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
declarator __attribute__((deprecated(message)))
^~~~~~~~~~
../src/addon.cpp:101:107: warning: ‘v8::Local<v8::Value> v8::Object::Get(v8::Local<v8::Value>)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
8::Local<v8::Value> brightness = options->Get(Nan::New<v8::String>("brightness").ToLocalChecked());
^
In file included from /home/pi/.cache/node-gyp/12.18.1/include/node/v8-internal.h:14,
from /home/pi/.cache/node-gyp/12.18.1/include/node/v8.h:27,
from /home/pi/.cache/node-gyp/12.18.1/include/node/node.h:67,
from ../../nan/nan.h:56,
from ../src/addon.h:5,
from ../src/addon.cpp:1:
/home/pi/.cache/node-gyp/12.18.1/include/node/v8.h:3553:51: note: declared here
V8_DEPRECATED("Use maybe version", Local<Value> Get(Local<Value> key));
^~~
/home/pi/.cache/node-gyp/12.18.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
declarator __attribute__((deprecated(message)))
^~~~~~~~~~
../src/addon.cpp:110:100: warning: ‘v8::Local<v8::Value> v8::Object::Get(v8::Local<v8::Value>)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
v8::Local<v8::Value> stripType = options->Get(Nan::New<v8::String>("type").ToLocalChecked());
^
In file included from /home/pi/.cache/node-gyp/12.18.1/include/node/v8-internal.h:14,
from /home/pi/.cache/node-gyp/12.18.1/include/node/v8.h:27,
from /home/pi/.cache/node-gyp/12.18.1/include/node/node.h:67,
from ../../nan/nan.h:56,
from ../src/addon.h:5,
from ../src/addon.cpp:1:
/home/pi/.cache/node-gyp/12.18.1/include/node/v8.h:3553:51: note: declared here
V8_DEPRECATED("Use maybe version", Local<Value> Get(Local<Value> key));
^~~
/home/pi/.cache/node-gyp/12.18.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
declarator __attribute__((deprecated(message)))
^~~~~~~~~~
../src/addon.cpp:113:84: warning: ‘v8::Local<v8::Value> v8::Object::Get(v8::Local<v8::Value>)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
stripType = options->Get(Nan::New<v8::String>("strip").ToLocalChecked());
^
In file included from /home/pi/.cache/node-gyp/12.18.1/include/node/v8-internal.h:14,
from /home/pi/.cache/node-gyp/12.18.1/include/node/v8.h:27,
from /home/pi/.cache/node-gyp/12.18.1/include/node/node.h:67,
from ../../nan/nan.h:56,
from ../src/addon.h:5,
from ../src/addon.cpp:1:
/home/pi/.cache/node-gyp/12.18.1/include/node/v8.h:3553:51: note: declared here
V8_DEPRECATED("Use maybe version", Local<Value> Get(Local<Value> key));
^~~
/home/pi/.cache/node-gyp/12.18.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
declarator __attribute__((deprecated(message)))
^~~~~~~~~~
../src/addon.cpp:116:88: warning: ‘v8::Local<v8::Value> v8::Object::Get(v8::Local<v8::Value>)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
stripType = options->Get(Nan::New<v8::String>("stripType").ToLocalChecked());
^
In file included from /home/pi/.cache/node-gyp/12.18.1/include/node/v8-internal.h:14,
from /home/pi/.cache/node-gyp/12.18.1/include/node/v8.h:27,
from /home/pi/.cache/node-gyp/12.18.1/include/node/node.h:67,
from ../../nan/nan.h:56,
from ../src/addon.h:5,
from ../src/addon.cpp:1:
/home/pi/.cache/node-gyp/12.18.1/include/node/v8.h:3553:51: note: declared here
V8_DEPRECATED("Use maybe version", Local<Value> Get(Local<Value> key));
^~~
/home/pi/.cache/node-gyp/12.18.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
declarator __attribute__((deprecated(message)))
^~~~~~~~~~
../src/addon.cpp:119:61: error: no matching function for call to ‘v8::Value::ToString()’
v8::String::Utf8Value value(stripType->ToString());
^
In file included from /home/pi/.cache/node-gyp/12.18.1/include/node/node.h:67,
from ../../nan/nan.h:56,
from ../src/addon.h:5,
from ../src/addon.cpp:1:
/home/pi/.cache/node-gyp/12.18.1/include/node/v8.h:2668:44: note: candidate: ‘v8::MaybeLocal<v8::String> v8::Value::ToString(v8::Local<v8::Context>) const’
V8_WARN_UNUSED_RESULT MaybeLocal<String> ToString(
^~~~~~~~
/home/pi/.cache/node-gyp/12.18.1/include/node/v8.h:2668:44: note: candidate expects 1 argument, 0 provided
In file included from /home/pi/.cache/node-gyp/12.18.1/include/node/v8-internal.h:14,
from /home/pi/.cache/node-gyp/12.18.1/include/node/v8.h:27,
from /home/pi/.cache/node-gyp/12.18.1/include/node/node.h:67,
from ../../nan/nan.h:56,
from ../src/addon.h:5,
from ../src/addon.cpp:1:
/home/pi/.cache/node-gyp/12.18.1/include/node/v8.h:2684:31: note: candidate: ‘v8::Local<v8::String> v8::Value::ToString(v8::Isolate*) const’
Local<String> ToString(Isolate* isolate) const);
^~~~~~~~
/home/pi/.cache/node-gyp/12.18.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
declarator __attribute__((deprecated(message)))
^~~~~~~~~~
/home/pi/.cache/node-gyp/12.18.1/include/node/v8.h:2684:31: note: candidate expects 1 argument, 0 provided
Local<String> ToString(Isolate* isolate) const);
^~~~~~~~
/home/pi/.cache/node-gyp/12.18.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
declarator __attribute__((deprecated(message)))
^~~~~~~~~~
../src/addon.cpp: In static member function ‘static Nan::NAN_METHOD_RETURN_TYPE Addon::sleep(Nan::NAN_METHOD_ARGS_TYPE)’:
../src/addon.cpp:217:32: error: no matching function for call to ‘v8::Value::Int32Value()’
usleep(info[0]->Int32Value() * 1000);
^
In file included from /home/pi/.cache/node-gyp/12.18.1/include/node/node.h:67,
from ../../nan/nan.h:56,
from ../src/addon.h:5,
from ../src/addon.cpp:1:
/home/pi/.cache/node-gyp/12.18.1/include/node/v8.h:2709:40: note: candidate: ‘v8::Maybe<int> v8::Value::Int32Value(v8::Local<v8::Context>) const’
V8_WARN_UNUSED_RESULT Maybe<int32_t> Int32Value(Local<Context> context) const;
^~~~~~~~~~
/home/pi/.cache/node-gyp/12.18.1/include/node/v8.h:2709:40: note: candidate expects 1 argument, 0 provided
In file included from ../../nan/nan.h:56,
from ../src/addon.h:5,
from ../src/addon.cpp:1:
../src/addon.cpp: At global scope:
/home/pi/.cache/node-gyp/12.18.1/include/node/node.h:608:43: 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]
(node::addon_register_func) (regfunc), \
^
/home/pi/.cache/node-gyp/12.18.1/include/node/node.h:642:3: note: in expansion of macro ‘NODE_MODULE_X’
NODE_MODULE_X(modname, regfunc, NULL, 0) // NOLINT (readability/null_usage)
^~~~~~~~~~~~~
../src/addon.cpp:233:1: note: in expansion of macro ‘NODE_MODULE’
NODE_MODULE(addon, initAddon);
^~~~~~~~~~~
make: *** [rpi-ws281x.target.mk:120: Release/obj.target/rpi-ws281x/src/addon.o] Error 1
make: Leaving directory '/home/pi/leds/node_modules/rpi-ws281x/build'
gyp ERR! build error
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack at ChildProcess.onExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:194:23)
gyp ERR! stack at ChildProcess.emit (events.js:315:20)
gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:275:12)
gyp ERR! System Linux 4.19.118-v7l+
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 /home/pi/leds/node_modules/rpi-ws281x
gyp ERR! node -v v12.18.1
gyp ERR! node-gyp -v v5.1.0
gyp ERR! not ok
npm WARN leds@1.0.0 No description
npm WARN leds@1.0.0 No repository field.
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! rpi-ws281x@1.0.33 install: `node-gyp rebuild`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the rpi-ws281x@1.0.33 install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! /home/pi/.npm/_logs/2020-06-20T15_17_52_038Z-debug.log
The error seems to be:
error: no matching function for call to ‘v8::Value::Int32Value()
When trying to install:
The error seems to be:
error: no matching function for call to ‘v8::Value::Int32Value()
Is this module not compatible with Node >= v12?