pi@raspberrypi:~/.node-red $ npm rebuild > protobufjs@6.8.9 postinstall /home/pi/.node-red/node_modules/@grpc/proto-loader/node_modules/protobufjs > node scripts/postinstall > core-js@2.6.10 postinstall /home/pi/.node-red/node_modules/core-js > node postinstall || echo "ignore" Thank you for using core-js ( https://github.com/zloirock/core-js ) for polyfilling JavaScript standard library! The project needs your help! Please consider supporting of core-js on Open Collective or Patreon: > https://opencollective.com/core-js > https://www.patreon.com/zloirock Also, the author of core-js ( https://github.com/zloirock ) is looking for a good job -) > protobufjs@6.8.9 postinstall /home/pi/.node-red/node_modules/google-proto-files/node_modules/protobufjs > node scripts/postinstall > grpc@1.24.2 install /home/pi/.node-red/node_modules/grpc > node-pre-gyp install --fallback-to-build --library=static_library node-pre-gyp WARN Using request for node-pre-gyp https download [grpc] Success: "/home/pi/.node-red/node_modules/grpc/src/node/extension_binary/node-v72-linux-arm-glibc/grpc_node.node" already installed Pass --update-binary to reinstall or --build-from-source to recompile > protobufjs@6.8.9 postinstall /home/pi/.node-red/node_modules/google-gax/node_modules/protobufjs > node scripts/postinstall > protobufjs@6.8.9 postinstall /home/pi/.node-red/node_modules/dialogflow/node_modules/protobufjs > node scripts/postinstall > @serialport/bindings@2.0.8 install /home/pi/.node-red/node_modules/@serialport/bindings > prebuild-install --tag-prefix @serialport/bindings@ || node-gyp rebuild prebuild-install WARN install No prebuilt binaries found (target=12.16.1 runtime=node arch=arm libc= platform=linux) make: Entering directory '/home/pi/.node-red/node_modules/@serialport/bindings/build' CXX(target) Release/obj.target/bindings/src/serialport.o ../src/serialport.cpp: In function ‘void EIO_AfterGet(uv_work_t*)’: ../src/serialport.cpp:329:96: warning: ‘bool v8::Object::Set(v8::Local, v8::Local)’ is deprecated (declared at /home/pi/.cache/node-gyp/12.16.1/include/node/v8.h:3498): Use maybe version [-Wdeprecated-declarations] results->Set(Nan::New("cts").ToLocalChecked(), Nan::New(data->cts)); ^ ../src/serialport.cpp:330:96: warning: ‘bool v8::Object::Set(v8::Local, v8::Local)’ is deprecated (declared at /home/pi/.cache/node-gyp/12.16.1/include/node/v8.h:3498): Use maybe version [-Wdeprecated-declarations] results->Set(Nan::New("dsr").ToLocalChecked(), Nan::New(data->dsr)); ^ ../src/serialport.cpp:331:96: warning: ‘bool v8::Object::Set(v8::Local, v8::Local)’ is deprecated (declared at /home/pi/.cache/node-gyp/12.16.1/include/node/v8.h:3498): Use maybe version [-Wdeprecated-declarations] results->Set(Nan::New("dcd").ToLocalChecked(), Nan::New(data->dcd)); ^ ../src/serialport.cpp: In function ‘void EIO_AfterGetBaudRate(uv_work_t*)’: ../src/serialport.cpp:378:106: warning: ‘bool v8::Object::Set(v8::Local, v8::Local)’ is deprecated (declared at /home/pi/.cache/node-gyp/12.16.1/include/node/v8.h:3498): Use maybe version [-Wdeprecated-declarations] results->Set(Nan::New("baudRate").ToLocalChecked(), Nan::New(data->baudRate)); ^ CXX(target) Release/obj.target/bindings/src/serialport_unix.o CXX(target) Release/obj.target/bindings/src/poller.o CXX(target) Release/obj.target/bindings/src/serialport_linux.o SOLINK_MODULE(target) Release/obj.target/bindings.node COPY Release/bindings.node make: Leaving directory '/home/pi/.node-red/node_modules/@serialport/bindings/build' > ursa@0.9.4 install /home/pi/.node-red/node_modules/ursa > node-gyp rebuild make: Entering directory '/home/pi/.node-red/node_modules/ursa/build' CXX(target) Release/obj.target/ursaNative/src/ursaNative.o In file included from ../../nan/nan_converters.h:67:0, from ../../nan/nan.h:202, from ../src/ursaNative.h:10, from ../src/ursaNative.cc:3: ../../nan/nan_converters_43_inl.h: In static member function ‘static Nan::imp::ToFactoryBase::return_t Nan::imp::ToFactory::convert(v8::Local)’: ../../nan/nan_converters_43_inl.h:18:69: warning: ‘v8::MaybeLocal v8::Value::ToBoolean(v8::Local) const’ is deprecated (declared at /home/pi/.cache/node-gyp/12.16.1/include/node/v8.h:2663): ToBoolean can never throw. Use Local version. [-Wdeprecated-declarations] val->To ## TYPE(v8::Isolate::GetCurrent()->GetCurrentContext()) \ ^ ../../nan/nan_converters_43_inl.h:22:1: note: in expansion of macro ‘X’ X(Boolean) ^ ../../nan/nan_converters_43_inl.h: In static member function ‘static Nan::imp::ValueFactoryBase::return_t Nan::imp::ToFactory::convert(v8::Local)’: ../../nan/nan_converters_43_inl.h:37:57: warning: ‘v8::Maybe v8::Value::BooleanValue(v8::Local) const’ is deprecated (declared at /home/pi/.cache/node-gyp/12.16.1/include/node/v8.h:2701): BooleanValue can never throw. Use Isolate version. [-Wdeprecated-declarations] return val->NAME ## Value(isolate->GetCurrentContext()); \ ^ ../../nan/nan_converters_43_inl.h:40:1: note: in expansion of macro ‘X’ X(bool, Boolean) ^ In file included from ../../nan/nan_new.h:189:0, from ../../nan/nan.h:203, from ../src/ursaNative.h:10, from ../src/ursaNative.cc:3: ../../nan/nan_implementation_12_inl.h: In static member function ‘static Nan::imp::FactoryBase::return_t Nan::imp::Factory::New(Nan::FunctionCallback, v8::Local)’: ../../nan/nan_implementation_12_inl.h:105:32: error: no matching function for call to ‘v8::Function::New(v8::Isolate*&, void (&)(const v8::FunctionCallbackInfo&), v8::Local&)’ , obj)); ^ ../../nan/nan_implementation_12_inl.h:105:32: note: candidate is: In file included from /home/pi/.cache/node-gyp/12.16.1/include/node/node.h:63:0, from ../src/ursaNative.h:9, from ../src/ursaNative.cc:3: /home/pi/.cache/node-gyp/12.16.1/include/node/v8.h:4275:31: note: static v8::MaybeLocal v8::Function::New(v8::Local, v8::FunctionCallback, v8::Local, int, v8::ConstructorBehavior, v8::SideEffectType) static MaybeLocal New( ^ /home/pi/.cache/node-gyp/12.16.1/include/node/v8.h:4275:31: note: no known conversion for argument 1 from ‘v8::Isolate*’ to ‘v8::Local’ In file included from ../../nan/nan_new.h:189:0, from ../../nan/nan.h:203, from ../src/ursaNative.h:10, from ../src/ursaNative.cc:3: ../../nan/nan_implementation_12_inl.h: In static member function ‘static Nan::imp::FactoryBase::return_t Nan::imp::Factory::New(v8::Local)’: ../../nan/nan_implementation_12_inl.h:337:37: error: no matching function for call to ‘v8::StringObject::New(v8::Local&)’ return v8::StringObject::New(value).As(); ^ ../../nan/nan_implementation_12_inl.h:337:37: note: candidate is: In file included from /home/pi/.cache/node-gyp/12.16.1/include/node/node.h:63:0, from ../src/ursaNative.h:9, from ../src/ursaNative.cc:3: /home/pi/.cache/node-gyp/12.16.1/include/node/v8.h:5531:23: note: static v8::Local v8::StringObject::New(v8::Isolate*, v8::Local) static Local New(Isolate* isolate, Local value); ^ /home/pi/.cache/node-gyp/12.16.1/include/node/v8.h:5531:23: note: candidate expects 2 arguments, 1 provided In file included from ../../nan/nan_new.h:189:0, from ../../nan/nan.h:203, from ../src/ursaNative.h:10, from ../src/ursaNative.cc:3: ../../nan/nan_implementation_12_inl.h:337:58: error: expected primary-expression before ‘>’ token return v8::StringObject::New(value).As(); ^ ../../nan/nan_implementation_12_inl.h:337:60: error: expected primary-expression before ‘)’ token return v8::StringObject::New(value).As(); ^ In file included from ../src/ursaNative.h:10:0, from ../src/ursaNative.cc:3: ../../nan/nan.h: In function ‘v8::Local Nan::MakeCallback(v8::Local, v8::Local, int, v8::Local*)’: ../../nan/nan.h:840:60: warning: ‘v8::Local node::MakeCallback(v8::Isolate*, v8::Local, v8::Local, int, v8::Local*)’ is deprecated (declared at /home/pi/.cache/node-gyp/12.16.1/include/node/node.h:173): Use MakeCallback(..., async_context) [-Wdeprecated-declarations] v8::Isolate::GetCurrent(), target, func, argc, argv); ^ ../../nan/nan.h: In function ‘v8::Local Nan::MakeCallback(v8::Local, v8::Local, int, v8::Local*)’: ../../nan/nan.h:855:62: warning: ‘v8::Local node::MakeCallback(v8::Isolate*, v8::Local, v8::Local, int, v8::Local*)’ is deprecated (declared at /home/pi/.cache/node-gyp/12.16.1/include/node/node.h:166): Use MakeCallback(..., async_context) [-Wdeprecated-declarations] v8::Isolate::GetCurrent(), target, symbol, argc, argv); ^ ../../nan/nan.h: In function ‘v8::Local Nan::MakeCallback(v8::Local, const char*, int, v8::Local*)’: ../../nan/nan.h:870:62: warning: ‘v8::Local node::MakeCallback(v8::Isolate*, v8::Local, const char*, int, v8::Local*)’ is deprecated (declared at /home/pi/.cache/node-gyp/12.16.1/include/node/node.h:159): Use MakeCallback(..., async_context) [-Wdeprecated-declarations] v8::Isolate::GetCurrent(), target, method, argc, argv); ^ ../../nan/nan.h: In constructor ‘Nan::Utf8String::Utf8String(v8::Local)’: ../../nan/nan.h:916:53: error: no matching function for call to ‘v8::Value::ToString()’ v8::Local string = from->ToString(); ^ ../../nan/nan.h:916:53: note: candidates are: In file included from /home/pi/.cache/node-gyp/12.16.1/include/node/node.h:63:0, from ../src/ursaNative.h:9, from ../src/ursaNative.cc:3: /home/pi/.cache/node-gyp/12.16.1/include/node/v8.h:2668:44: note: v8::MaybeLocal v8::Value::ToString(v8::Local) const V8_WARN_UNUSED_RESULT MaybeLocal ToString( ^ /home/pi/.cache/node-gyp/12.16.1/include/node/v8.h:2668:44: note: candidate expects 1 argument, 0 provided In file included from /home/pi/.cache/node-gyp/12.16.1/include/node/v8-internal.h:14:0, from /home/pi/.cache/node-gyp/12.16.1/include/node/v8.h:27, from /home/pi/.cache/node-gyp/12.16.1/include/node/node.h:63, from ../src/ursaNative.h:9, from ../src/ursaNative.cc:3: /home/pi/.cache/node-gyp/12.16.1/include/node/v8.h:2684:31: note: v8::Local v8::Value::ToString(v8::Isolate*) const Local ToString(Isolate* isolate) const); ^ /home/pi/.cache/node-gyp/12.16.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’ declarator __attribute__((deprecated(message))) ^ /home/pi/.cache/node-gyp/12.16.1/include/node/v8.h:2684:31: note: candidate expects 1 argument, 0 provided Local ToString(Isolate* isolate) const); ^ /home/pi/.cache/node-gyp/12.16.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’ declarator __attribute__((deprecated(message))) ^ In file included from ../src/ursaNative.h:10:0, from ../src/ursaNative.cc:3: ../../nan/nan.h:926:74: error: no matching function for call to ‘v8::String::WriteUtf8(char*&, int, int, const int&)’ length_ = string->WriteUtf8(str_, static_cast(len), 0, flags); ^ ../../nan/nan.h:926:74: note: candidate is: In file included from /home/pi/.cache/node-gyp/12.16.1/include/node/node.h:63:0, from ../src/ursaNative.h:9, from ../src/ursaNative.cc:3: /home/pi/.cache/node-gyp/12.16.1/include/node/v8.h:2878:7: note: int v8::String::WriteUtf8(v8::Isolate*, char*, int, int*, int) const int WriteUtf8(Isolate* isolate, char* buffer, int length = -1, ^ /home/pi/.cache/node-gyp/12.16.1/include/node/v8.h:2878:7: note: no known conversion for argument 1 from ‘char*’ to ‘v8::Isolate*’ In file included from ../src/ursaNative.h:10:0, from ../src/ursaNative.cc:3: ../../nan/nan.h: In member function ‘v8::Local Nan::Callback::Call_(v8::Isolate*, v8::Local, int, v8::Local*) const’: ../../nan/nan.h:1484:5: warning: ‘v8::Local node::MakeCallback(v8::Isolate*, v8::Local, v8::Local, int, v8::Local*)’ is deprecated (declared at /home/pi/.cache/node-gyp/12.16.1/include/node/node.h:173): Use MakeCallback(..., async_context) [-Wdeprecated-declarations] )); ^ ../../nan/nan.h: In member function ‘void Nan::AsyncWorker::SaveToPersistent(const char*, const v8::Local&)’: ../../nan/nan.h:1538:64: warning: ‘bool v8::Object::Set(v8::Local, v8::Local)’ is deprecated (declared at /home/pi/.cache/node-gyp/12.16.1/include/node/v8.h:3498): Use maybe version [-Wdeprecated-declarations] New(persistentHandle)->Set(New(key).ToLocalChecked(), value); ^ ../../nan/nan.h: In member function ‘void Nan::AsyncWorker::SaveToPersistent(const v8::Local&, const v8::Local&)’: ../../nan/nan.h:1544:42: warning: ‘bool v8::Object::Set(v8::Local, v8::Local)’ is deprecated (declared at /home/pi/.cache/node-gyp/12.16.1/include/node/v8.h:3498): Use maybe version [-Wdeprecated-declarations] New(persistentHandle)->Set(key, value); ^ ../../nan/nan.h: In member function ‘void Nan::AsyncWorker::SaveToPersistent(uint32_t, const v8::Local&)’: ../../nan/nan.h:1550:44: warning: ‘bool v8::Object::Set(uint32_t, v8::Local)’ is deprecated (declared at /home/pi/.cache/node-gyp/12.16.1/include/node/v8.h:3507): Use maybe version [-Wdeprecated-declarations] New(persistentHandle)->Set(index, value); ^ ../../nan/nan.h: In member function ‘v8::Local Nan::AsyncWorker::GetFromPersistent(const char*) const’: ../../nan/nan.h:1556:61: warning: ‘v8::Local v8::Object::Get(v8::Local)’ is deprecated (declared at /home/pi/.cache/node-gyp/12.16.1/include/node/v8.h:3553): Use maybe version [-Wdeprecated-declarations] New(persistentHandle)->Get(New(key).ToLocalChecked())); ^ ../../nan/nan.h: In member function ‘v8::Local Nan::AsyncWorker::GetFromPersistent(const v8::Local&) const’: ../../nan/nan.h:1562:55: warning: ‘v8::Local v8::Object::Get(v8::Local)’ is deprecated (declared at /home/pi/.cache/node-gyp/12.16.1/include/node/v8.h:3553): Use maybe version [-Wdeprecated-declarations] return scope.Escape(New(persistentHandle)->Get(key)); ^ ../../nan/nan.h: In member function ‘v8::Local Nan::AsyncWorker::GetFromPersistent(uint32_t) const’: ../../nan/nan.h:1567:57: warning: ‘v8::Local v8::Object::Get(uint32_t)’ is deprecated (declared at /home/pi/.cache/node-gyp/12.16.1/include/node/v8.h:3557): Use maybe version [-Wdeprecated-declarations] return scope.Escape(New(persistentHandle)->Get(index)); ^ In file included from /usr/include/c++/4.8/cassert:43:0, from /home/pi/.cache/node-gyp/12.16.1/include/node/node_object_wrap.h:26, from ../../nan/nan.h:53, from ../src/ursaNative.h:10, from ../src/ursaNative.cc:3: ../../nan/nan_object_wrap.h: In destructor ‘virtual Nan::ObjectWrap::~ObjectWrap()’: ../../nan/nan_object_wrap.h:24:25: error: ‘class Nan::Persistent’ has no member named ‘IsNearDeath’ assert(persistent().IsNearDeath()); ^ In file included from ../../nan/nan.h:2365:0, from ../src/ursaNative.h:10, from ../src/ursaNative.cc:3: ../../nan/nan_object_wrap.h: In member function ‘void Nan::ObjectWrap::MakeWeak()’: ../../nan/nan_object_wrap.h:67:34: warning: ‘void v8::PersistentBase::MarkIndependent() [with T = v8::Object]’ is deprecated (declared at /home/pi/.cache/node-gyp/12.16.1/include/node/v8.h:10256): Weak objects are always considered independent. Use TracedGlobal when trying to use EmbedderHeapTracer. Use a strong handle when trying to keep an object alive. [-Wdeprecated-declarations] persistent().MarkIndependent(); ^ In file included from /usr/include/c++/4.8/cassert:43:0, from /home/pi/.cache/node-gyp/12.16.1/include/node/node_object_wrap.h:26, from ../../nan/nan.h:53, from ../src/ursaNative.h:10, from ../src/ursaNative.cc:3: ../../nan/nan_object_wrap.h: In static member function ‘static void Nan::ObjectWrap::WeakCallback(const v8::WeakCallbackInfo&)’: ../../nan/nan_object_wrap.h:124:26: error: ‘class Nan::Persistent’ has no member named ‘IsNearDeath’ assert(wrap->handle_.IsNearDeath()); ^ ../src/ursaNative.cc: In function ‘char* copyBufferToUtf8String(v8::Local)’: ../src/ursaNative.cc:208:34: error: no matching function for call to ‘v8::String::Utf8Length()’ int length = str->Utf8Length(); ^ ../src/ursaNative.cc:208:34: note: candidate is: In file included from /home/pi/.cache/node-gyp/12.16.1/include/node/node.h:63:0, from ../src/ursaNative.h:9, from ../src/ursaNative.cc:3: /home/pi/.cache/node-gyp/12.16.1/include/node/v8.h:2818:7: note: int v8::String::Utf8Length(v8::Isolate*) const int Utf8Length(Isolate* isolate) const; ^ /home/pi/.cache/node-gyp/12.16.1/include/node/v8.h:2818:7: note: candidate expects 1 argument, 0 provided ../src/ursaNative.cc:217:38: error: no matching function for call to ‘v8::String::WriteUtf8(char*&, int)’ str->WriteUtf8(result, length + 1); ^ ../src/ursaNative.cc:217:38: note: candidate is: In file included from /home/pi/.cache/node-gyp/12.16.1/include/node/node.h:63:0, from ../src/ursaNative.h:9, from ../src/ursaNative.cc:3: /home/pi/.cache/node-gyp/12.16.1/include/node/v8.h:2878:7: note: int v8::String::WriteUtf8(v8::Isolate*, char*, int, int*, int) const int WriteUtf8(Isolate* isolate, char* buffer, int length = -1, ^ /home/pi/.cache/node-gyp/12.16.1/include/node/v8.h:2878:7: note: no known conversion for argument 1 from ‘char*’ to ‘v8::Isolate*’ ../src/ursaNative.cc: In static member function ‘static void RsaWrap::InitClass(v8::Local)’: ../src/ursaNative.cc:342:70: error: no matching function for call to ‘v8::FunctionTemplate::GetFunction()’ target->Set(NanNew("RsaWrap").ToLocalChecked(), tpl->GetFunction()); ^ ../src/ursaNative.cc:342:70: note: candidate is: In file included from /home/pi/.cache/node-gyp/12.16.1/include/node/node.h:63:0, from ../src/ursaNative.h:9, from ../src/ursaNative.cc:3: /home/pi/.cache/node-gyp/12.16.1/include/node/v8.h:6126:46: note: v8::MaybeLocal v8::FunctionTemplate::GetFunction(v8::Local) V8_WARN_UNUSED_RESULT MaybeLocal GetFunction( ^ /home/pi/.cache/node-gyp/12.16.1/include/node/v8.h:6126:46: note: candidate expects 1 argument, 0 provided ../src/ursaNative.cc:343:40: error: no matching function for call to ‘v8::FunctionTemplate::GetFunction()’ constructor.Reset(tpl->GetFunction()); ^ ../src/ursaNative.cc:343:40: note: candidate is: In file included from /home/pi/.cache/node-gyp/12.16.1/include/node/node.h:63:0, from ../src/ursaNative.h:9, from ../src/ursaNative.cc:3: /home/pi/.cache/node-gyp/12.16.1/include/node/v8.h:6126:46: note: v8::MaybeLocal v8::FunctionTemplate::GetFunction(v8::Local) V8_WARN_UNUSED_RESULT MaybeLocal GetFunction( ^ /home/pi/.cache/node-gyp/12.16.1/include/node/v8.h:6126:46: note: candidate expects 1 argument, 0 provided ../src/ursaNative.cc:345:106: error: no matching function for call to ‘v8::FunctionTemplate::GetFunction()’ target->Set(NanNew("textToNid").ToLocalChecked(), Nan::New(TextToNid)->GetFunction()); ^ ../src/ursaNative.cc:345:106: note: candidate is: In file included from /home/pi/.cache/node-gyp/12.16.1/include/node/node.h:63:0, from ../src/ursaNative.h:9, from ../src/ursaNative.cc:3: /home/pi/.cache/node-gyp/12.16.1/include/node/v8.h:6126:46: note: v8::MaybeLocal v8::FunctionTemplate::GetFunction(v8::Local) V8_WARN_UNUSED_RESULT MaybeLocal GetFunction( ^ /home/pi/.cache/node-gyp/12.16.1/include/node/v8.h:6126:46: note: candidate expects 1 argument, 0 provided ../src/ursaNative.cc: In static member function ‘static Nan::NAN_METHOD_RETURN_TYPE RsaWrap::OpenPublicSshKey(Nan::NAN_METHOD_ARGS_TYPE)’: ../src/ursaNative.cc:389:13: error: invalid use of incomplete type ‘RSA {aka struct rsa_st}’ obj->rsa->n = BN_bin2bn(data_n, n_length, NULL); ^ In file included from /home/pi/.cache/node-gyp/12.16.1/include/node/openssl/crypto.h:25:0, from /home/pi/.cache/node-gyp/12.16.1/include/node/openssl/bio.h:20, from /home/pi/.cache/node-gyp/12.16.1/include/node/openssl/asn1.h:16, from /home/pi/.cache/node-gyp/12.16.1/include/node/openssl/rsa.h:16, from ../src/ursaNative.h:13, from ../src/ursaNative.cc:3: /home/pi/.cache/node-gyp/12.16.1/include/node/openssl/ossl_typ.h:110:16: error: forward declaration of ‘RSA {aka struct rsa_st}’ typedef struct rsa_st RSA; ^ ../src/ursaNative.cc:390:13: error: invalid use of incomplete type ‘RSA {aka struct rsa_st}’ obj->rsa->e = BN_bin2bn(data_e, e_length, NULL); ^ In file included from /home/pi/.cache/node-gyp/12.16.1/include/node/openssl/crypto.h:25:0, from /home/pi/.cache/node-gyp/12.16.1/include/node/openssl/bio.h:20, from /home/pi/.cache/node-gyp/12.16.1/include/node/openssl/asn1.h:16, from /home/pi/.cache/node-gyp/12.16.1/include/node/openssl/rsa.h:16, from ../src/ursaNative.h:13, from ../src/ursaNative.cc:3: /home/pi/.cache/node-gyp/12.16.1/include/node/openssl/ossl_typ.h:110:16: error: forward declaration of ‘RSA {aka struct rsa_st}’ typedef struct rsa_st RSA; ^ ../src/ursaNative.cc: In static member function ‘static RsaWrap* RsaWrap::expectPrivateKey(RsaWrap*)’: ../src/ursaNative.cc:407:35: error: invalid use of incomplete type ‘RSA {aka struct rsa_st}’ if ((obj == NULL) || (obj->rsa->d != NULL)) { ^ In file included from /home/pi/.cache/node-gyp/12.16.1/include/node/openssl/crypto.h:25:0, from /home/pi/.cache/node-gyp/12.16.1/include/node/openssl/bio.h:20, from /home/pi/.cache/node-gyp/12.16.1/include/node/openssl/asn1.h:16, from /home/pi/.cache/node-gyp/12.16.1/include/node/openssl/rsa.h:16, from ../src/ursaNative.h:13, from ../src/ursaNative.cc:3: /home/pi/.cache/node-gyp/12.16.1/include/node/openssl/ossl_typ.h:110:16: error: forward declaration of ‘RSA {aka struct rsa_st}’ typedef struct rsa_st RSA; ^ ../src/ursaNative.cc: In static member function ‘static Nan::NAN_METHOD_RETURN_TYPE RsaWrap::GeneratePrivateKey(Nan::NAN_METHOD_ARGS_TYPE)’: ../src/ursaNative.cc:488:44: error: no matching function for call to ‘v8::Value::Uint32Value()’ int modulusBits = args[0]->Uint32Value(); ^ ../src/ursaNative.cc:488:44: note: candidate is: In file included from /home/pi/.cache/node-gyp/12.16.1/include/node/node.h:63:0, from ../src/ursaNative.h:9, from ../src/ursaNative.cc:3: /home/pi/.cache/node-gyp/12.16.1/include/node/v8.h:2707:41: note: v8::Maybe v8::Value::Uint32Value(v8::Local) const V8_WARN_UNUSED_RESULT Maybe Uint32Value( ^ /home/pi/.cache/node-gyp/12.16.1/include/node/v8.h:2707:41: note: candidate expects 1 argument, 0 provided ../src/ursaNative.cc:489:41: error: no matching function for call to ‘v8::Value::Uint32Value()’ int exponent = args[1]->Uint32Value(); ^ ../src/ursaNative.cc:489:41: note: candidate is: In file included from /home/pi/.cache/node-gyp/12.16.1/include/node/node.h:63:0, from ../src/ursaNative.h:9, from ../src/ursaNative.cc:3: /home/pi/.cache/node-gyp/12.16.1/include/node/v8.h:2707:41: note: v8::Maybe v8::Value::Uint32Value(v8::Local) const V8_WARN_UNUSED_RESULT Maybe Uint32Value( ^ /home/pi/.cache/node-gyp/12.16.1/include/node/v8.h:2707:41: note: candidate expects 1 argument, 0 provided ../src/ursaNative.cc: In static member function ‘static Nan::NAN_METHOD_RETURN_TYPE RsaWrap::GetExponent(Nan::NAN_METHOD_ARGS_TYPE)’: ../src/ursaNative.cc:536:34: error: invalid use of incomplete type ‘RSA {aka struct rsa_st}’ bignumToBuffer(args, obj->rsa->e); ^ In file included from /home/pi/.cache/node-gyp/12.16.1/include/node/openssl/crypto.h:25:0, from /home/pi/.cache/node-gyp/12.16.1/include/node/openssl/bio.h:20, from /home/pi/.cache/node-gyp/12.16.1/include/node/openssl/asn1.h:16, from /home/pi/.cache/node-gyp/12.16.1/include/node/openssl/rsa.h:16, from ../src/ursaNative.h:13, from ../src/ursaNative.cc:3: /home/pi/.cache/node-gyp/12.16.1/include/node/openssl/ossl_typ.h:110:16: error: forward declaration of ‘RSA {aka struct rsa_st}’ typedef struct rsa_st RSA; ^ ../src/ursaNative.cc: In static member function ‘static Nan::NAN_METHOD_RETURN_TYPE RsaWrap::GetPrivateExponent(Nan::NAN_METHOD_ARGS_TYPE)’: ../src/ursaNative.cc:552:34: error: invalid use of incomplete type ‘RSA {aka struct rsa_st}’ bignumToBuffer(args, obj->rsa->d); ^ In file included from /home/pi/.cache/node-gyp/12.16.1/include/node/openssl/crypto.h:25:0, from /home/pi/.cache/node-gyp/12.16.1/include/node/openssl/bio.h:20, from /home/pi/.cache/node-gyp/12.16.1/include/node/openssl/asn1.h:16, from /home/pi/.cache/node-gyp/12.16.1/include/node/openssl/rsa.h:16, from ../src/ursaNative.h:13, from ../src/ursaNative.cc:3: /home/pi/.cache/node-gyp/12.16.1/include/node/openssl/ossl_typ.h:110:16: error: forward declaration of ‘RSA {aka struct rsa_st}’ typedef struct rsa_st RSA; ^ ../src/ursaNative.cc: In static member function ‘static Nan::NAN_METHOD_RETURN_TYPE RsaWrap::GetModulus(Nan::NAN_METHOD_ARGS_TYPE)’: ../src/ursaNative.cc:567:34: error: invalid use of incomplete type ‘RSA {aka struct rsa_st}’ bignumToBuffer(args, obj->rsa->n); ^ In file included from /home/pi/.cache/node-gyp/12.16.1/include/node/openssl/crypto.h:25:0, from /home/pi/.cache/node-gyp/12.16.1/include/node/openssl/bio.h:20, from /home/pi/.cache/node-gyp/12.16.1/include/node/openssl/asn1.h:16, from /home/pi/.cache/node-gyp/12.16.1/include/node/openssl/rsa.h:16, from ../src/ursaNative.h:13, from ../src/ursaNative.cc:3: /home/pi/.cache/node-gyp/12.16.1/include/node/openssl/ossl_typ.h:110:16: error: forward declaration of ‘RSA {aka struct rsa_st}’ typedef struct rsa_st RSA; ^ ../src/ursaNative.cc: In static member function ‘static Nan::NAN_METHOD_RETURN_TYPE RsaWrap::PrivateDecrypt(Nan::NAN_METHOD_ARGS_TYPE)’: ../src/ursaNative.cc:683:40: error: no matching function for call to ‘v8::Value::Uint32Value()’ int padding = args[1]->Uint32Value(); ^ ../src/ursaNative.cc:683:40: note: candidate is: In file included from /home/pi/.cache/node-gyp/12.16.1/include/node/node.h:63:0, from ../src/ursaNative.h:9, from ../src/ursaNative.cc:3: /home/pi/.cache/node-gyp/12.16.1/include/node/v8.h:2707:41: note: v8::Maybe v8::Value::Uint32Value(v8::Local) const V8_WARN_UNUSED_RESULT Maybe Uint32Value( ^ /home/pi/.cache/node-gyp/12.16.1/include/node/v8.h:2707:41: note: candidate expects 1 argument, 0 provided ../src/ursaNative.cc: In static member function ‘static Nan::NAN_METHOD_RETURN_TYPE RsaWrap::PrivateEncrypt(Nan::NAN_METHOD_ARGS_TYPE)’: ../src/ursaNative.cc:730:40: error: no matching function for call to ‘v8::Value::Uint32Value()’ int padding = args[1]->Uint32Value(); ^ ../src/ursaNative.cc:730:40: note: candidate is: In file included from /home/pi/.cache/node-gyp/12.16.1/include/node/node.h:63:0, from ../src/ursaNative.h:9, from ../src/ursaNative.cc:3: /home/pi/.cache/node-gyp/12.16.1/include/node/v8.h:2707:41: note: v8::Maybe v8::Value::Uint32Value(v8::Local) const V8_WARN_UNUSED_RESULT Maybe Uint32Value( ^ /home/pi/.cache/node-gyp/12.16.1/include/node/v8.h:2707:41: note: candidate expects 1 argument, 0 provided ../src/ursaNative.cc: In static member function ‘static Nan::NAN_METHOD_RETURN_TYPE RsaWrap::PublicDecrypt(Nan::NAN_METHOD_ARGS_TYPE)’: ../src/ursaNative.cc:776:40: error: no matching function for call to ‘v8::Value::Uint32Value()’ int padding = args[1]->Uint32Value(); ^ ../src/ursaNative.cc:776:40: note: candidate is: In file included from /home/pi/.cache/node-gyp/12.16.1/include/node/node.h:63:0, from ../src/ursaNative.h:9, from ../src/ursaNative.cc:3: /home/pi/.cache/node-gyp/12.16.1/include/node/v8.h:2707:41: note: v8::Maybe v8::Value::Uint32Value(v8::Local) const V8_WARN_UNUSED_RESULT Maybe Uint32Value( ^ /home/pi/.cache/node-gyp/12.16.1/include/node/v8.h:2707:41: note: candidate expects 1 argument, 0 provided ../src/ursaNative.cc: In static member function ‘static Nan::NAN_METHOD_RETURN_TYPE RsaWrap::PublicEncrypt(Nan::NAN_METHOD_ARGS_TYPE)’: ../src/ursaNative.cc:822:40: error: no matching function for call to ‘v8::Value::Uint32Value()’ int padding = args[1]->Uint32Value(); ^ ../src/ursaNative.cc:822:40: note: candidate is: In file included from /home/pi/.cache/node-gyp/12.16.1/include/node/node.h:63:0, from ../src/ursaNative.h:9, from ../src/ursaNative.cc:3: /home/pi/.cache/node-gyp/12.16.1/include/node/v8.h:2707:41: note: v8::Maybe v8::Value::Uint32Value(v8::Local) const V8_WARN_UNUSED_RESULT Maybe Uint32Value( ^ /home/pi/.cache/node-gyp/12.16.1/include/node/v8.h:2707:41: note: candidate expects 1 argument, 0 provided ../src/ursaNative.cc: In static member function ‘static Nan::NAN_METHOD_RETURN_TYPE RsaWrap::Sign(Nan::NAN_METHOD_ARGS_TYPE)’: ../src/ursaNative.cc:928:36: error: no matching function for call to ‘v8::Value::Uint32Value()’ int nid = args[0]->Uint32Value(); ^ ../src/ursaNative.cc:928:36: note: candidate is: In file included from /home/pi/.cache/node-gyp/12.16.1/include/node/node.h:63:0, from ../src/ursaNative.h:9, from ../src/ursaNative.cc:3: /home/pi/.cache/node-gyp/12.16.1/include/node/v8.h:2707:41: note: v8::Maybe v8::Value::Uint32Value(v8::Local) const V8_WARN_UNUSED_RESULT Maybe Uint32Value( ^ /home/pi/.cache/node-gyp/12.16.1/include/node/v8.h:2707:41: note: candidate expects 1 argument, 0 provided ../src/ursaNative.cc: In static member function ‘static Nan::NAN_METHOD_RETURN_TYPE RsaWrap::Verify(Nan::NAN_METHOD_ARGS_TYPE)’: ../src/ursaNative.cc:982:36: error: no matching function for call to ‘v8::Value::Uint32Value()’ int nid = args[0]->Uint32Value(); ^ ../src/ursaNative.cc:982:36: note: candidate is: In file included from /home/pi/.cache/node-gyp/12.16.1/include/node/node.h:63:0, from ../src/ursaNative.h:9, from ../src/ursaNative.cc:3: /home/pi/.cache/node-gyp/12.16.1/include/node/v8.h:2707:41: note: v8::Maybe v8::Value::Uint32Value(v8::Local) const V8_WARN_UNUSED_RESULT Maybe Uint32Value( ^ /home/pi/.cache/node-gyp/12.16.1/include/node/v8.h:2707:41: note: candidate expects 1 argument, 0 provided ../src/ursaNative.cc: In static member function ‘static Nan::NAN_METHOD_RETURN_TYPE RsaWrap::AddPSSPadding(Nan::NAN_METHOD_ARGS_TYPE)’: ../src/ursaNative.cc:1044:36: error: no matching function for call to ‘v8::Value::Uint32Value()’ int nid = args[0]->Uint32Value(); ^ ../src/ursaNative.cc:1044:36: note: candidate is: In file included from /home/pi/.cache/node-gyp/12.16.1/include/node/node.h:63:0, from ../src/ursaNative.h:9, from ../src/ursaNative.cc:3: /home/pi/.cache/node-gyp/12.16.1/include/node/v8.h:2707:41: note: v8::Maybe v8::Value::Uint32Value(v8::Local) const V8_WARN_UNUSED_RESULT Maybe Uint32Value( ^ /home/pi/.cache/node-gyp/12.16.1/include/node/v8.h:2707:41: note: candidate expects 1 argument, 0 provided ../src/ursaNative.cc:1065:37: error: no matching function for call to ‘v8::Value::Uint32Value()’ int sLen = args[2]->Uint32Value(); ^ ../src/ursaNative.cc:1065:37: note: candidate is: In file included from /home/pi/.cache/node-gyp/12.16.1/include/node/node.h:63:0, from ../src/ursaNative.h:9, from ../src/ursaNative.cc:3: /home/pi/.cache/node-gyp/12.16.1/include/node/v8.h:2707:41: note: v8::Maybe v8::Value::Uint32Value(v8::Local) const V8_WARN_UNUSED_RESULT Maybe Uint32Value( ^ /home/pi/.cache/node-gyp/12.16.1/include/node/v8.h:2707:41: note: candidate expects 1 argument, 0 provided ../src/ursaNative.cc: In static member function ‘static Nan::NAN_METHOD_RETURN_TYPE RsaWrap::VerifyPSSPadding(Nan::NAN_METHOD_ARGS_TYPE)’: ../src/ursaNative.cc:1102:36: error: no matching function for call to ‘v8::Value::Uint32Value()’ int nid = args[0]->Uint32Value(); ^ ../src/ursaNative.cc:1102:36: note: candidate is: In file included from /home/pi/.cache/node-gyp/12.16.1/include/node/node.h:63:0, from ../src/ursaNative.h:9, from ../src/ursaNative.cc:3: /home/pi/.cache/node-gyp/12.16.1/include/node/v8.h:2707:41: note: v8::Maybe v8::Value::Uint32Value(v8::Local) const V8_WARN_UNUSED_RESULT Maybe Uint32Value( ^ /home/pi/.cache/node-gyp/12.16.1/include/node/v8.h:2707:41: note: candidate expects 1 argument, 0 provided ../src/ursaNative.cc:1135:37: error: no matching function for call to ‘v8::Value::Uint32Value()’ int sLen = args[3]->Uint32Value(); ^ ../src/ursaNative.cc:1135:37: note: candidate is: In file included from /home/pi/.cache/node-gyp/12.16.1/include/node/node.h:63:0, from ../src/ursaNative.h:9, from ../src/ursaNative.cc:3: /home/pi/.cache/node-gyp/12.16.1/include/node/v8.h:2707:41: note: v8::Maybe v8::Value::Uint32Value(v8::Local) const V8_WARN_UNUSED_RESULT Maybe Uint32Value( ^ /home/pi/.cache/node-gyp/12.16.1/include/node/v8.h:2707:41: note: candidate expects 1 argument, 0 provided ../src/ursaNative.cc: In static member function ‘static Nan::NAN_METHOD_RETURN_TYPE RsaWrap::CreatePrivateKeyFromComponents(Nan::NAN_METHOD_ARGS_TYPE)’: ../src/ursaNative.cc:1218:17: error: invalid use of incomplete type ‘RSA {aka struct rsa_st}’ obj->rsa->n = modulus; ^ In file included from /home/pi/.cache/node-gyp/12.16.1/include/node/openssl/crypto.h:25:0, from /home/pi/.cache/node-gyp/12.16.1/include/node/openssl/bio.h:20, from /home/pi/.cache/node-gyp/12.16.1/include/node/openssl/asn1.h:16, from /home/pi/.cache/node-gyp/12.16.1/include/node/openssl/rsa.h:16, from ../src/ursaNative.h:13, from ../src/ursaNative.cc:3: /home/pi/.cache/node-gyp/12.16.1/include/node/openssl/ossl_typ.h:110:16: error: forward declaration of ‘RSA {aka struct rsa_st}’ typedef struct rsa_st RSA; ^ ../src/ursaNative.cc:1219:17: error: invalid use of incomplete type ‘RSA {aka struct rsa_st}’ obj->rsa->e = exponent; ^ In file included from /home/pi/.cache/node-gyp/12.16.1/include/node/openssl/crypto.h:25:0, from /home/pi/.cache/node-gyp/12.16.1/include/node/openssl/bio.h:20, from /home/pi/.cache/node-gyp/12.16.1/include/node/openssl/asn1.h:16, from /home/pi/.cache/node-gyp/12.16.1/include/node/openssl/rsa.h:16, from ../src/ursaNative.h:13, from ../src/ursaNative.cc:3: /home/pi/.cache/node-gyp/12.16.1/include/node/openssl/ossl_typ.h:110:16: error: forward declaration of ‘RSA {aka struct rsa_st}’ typedef struct rsa_st RSA; ^ ../src/ursaNative.cc:1220:17: error: invalid use of incomplete type ‘RSA {aka struct rsa_st}’ obj->rsa->p = p; ^ In file included from /home/pi/.cache/node-gyp/12.16.1/include/node/openssl/crypto.h:25:0, from /home/pi/.cache/node-gyp/12.16.1/include/node/openssl/bio.h:20, from /home/pi/.cache/node-gyp/12.16.1/include/node/openssl/asn1.h:16, from /home/pi/.cache/node-gyp/12.16.1/include/node/openssl/rsa.h:16, from ../src/ursaNative.h:13, from ../src/ursaNative.cc:3: /home/pi/.cache/node-gyp/12.16.1/include/node/openssl/ossl_typ.h:110:16: error: forward declaration of ‘RSA {aka struct rsa_st}’ typedef struct rsa_st RSA; ^ ../src/ursaNative.cc:1221:17: error: invalid use of incomplete type ‘RSA {aka struct rsa_st}’ obj->rsa->q = q; ^ In file included from /home/pi/.cache/node-gyp/12.16.1/include/node/openssl/crypto.h:25:0, from /home/pi/.cache/node-gyp/12.16.1/include/node/openssl/bio.h:20, from /home/pi/.cache/node-gyp/12.16.1/include/node/openssl/asn1.h:16, from /home/pi/.cache/node-gyp/12.16.1/include/node/openssl/rsa.h:16, from ../src/ursaNative.h:13, from ../src/ursaNative.cc:3: /home/pi/.cache/node-gyp/12.16.1/include/node/openssl/ossl_typ.h:110:16: error: forward declaration of ‘RSA {aka struct rsa_st}’ typedef struct rsa_st RSA; ^ ../src/ursaNative.cc:1222:17: error: invalid use of incomplete type ‘RSA {aka struct rsa_st}’ obj->rsa->dmp1 = dp; ^ In file included from /home/pi/.cache/node-gyp/12.16.1/include/node/openssl/crypto.h:25:0, from /home/pi/.cache/node-gyp/12.16.1/include/node/openssl/bio.h:20, from /home/pi/.cache/node-gyp/12.16.1/include/node/openssl/asn1.h:16, from /home/pi/.cache/node-gyp/12.16.1/include/node/openssl/rsa.h:16, from ../src/ursaNative.h:13, from ../src/ursaNative.cc:3: /home/pi/.cache/node-gyp/12.16.1/include/node/openssl/ossl_typ.h:110:16: error: forward declaration of ‘RSA {aka struct rsa_st}’ typedef struct rsa_st RSA; ^ ../src/ursaNative.cc:1223:17: error: invalid use of incomplete type ‘RSA {aka struct rsa_st}’ obj->rsa->dmq1 = dq; ^ In file included from /home/pi/.cache/node-gyp/12.16.1/include/node/openssl/crypto.h:25:0, from /home/pi/.cache/node-gyp/12.16.1/include/node/openssl/bio.h:20, from /home/pi/.cache/node-gyp/12.16.1/include/node/openssl/asn1.h:16, from /home/pi/.cache/node-gyp/12.16.1/include/node/openssl/rsa.h:16, from ../src/ursaNative.h:13, from ../src/ursaNative.cc:3: /home/pi/.cache/node-gyp/12.16.1/include/node/openssl/ossl_typ.h:110:16: error: forward declaration of ‘RSA {aka struct rsa_st}’ typedef struct rsa_st RSA; ^ ../src/ursaNative.cc:1224:17: error: invalid use of incomplete type ‘RSA {aka struct rsa_st}’ obj->rsa->iqmp = inverseQ; ^ In file included from /home/pi/.cache/node-gyp/12.16.1/include/node/openssl/crypto.h:25:0, from /home/pi/.cache/node-gyp/12.16.1/include/node/openssl/bio.h:20, from /home/pi/.cache/node-gyp/12.16.1/include/node/openssl/asn1.h:16, from /home/pi/.cache/node-gyp/12.16.1/include/node/openssl/rsa.h:16, from ../src/ursaNative.h:13, from ../src/ursaNative.cc:3: /home/pi/.cache/node-gyp/12.16.1/include/node/openssl/ossl_typ.h:110:16: error: forward declaration of ‘RSA {aka struct rsa_st}’ typedef struct rsa_st RSA; ^ ../src/ursaNative.cc:1225:17: error: invalid use of incomplete type ‘RSA {aka struct rsa_st}’ obj->rsa->d = d; ^ In file included from /home/pi/.cache/node-gyp/12.16.1/include/node/openssl/crypto.h:25:0, from /home/pi/.cache/node-gyp/12.16.1/include/node/openssl/bio.h:20, from /home/pi/.cache/node-gyp/12.16.1/include/node/openssl/asn1.h:16, from /home/pi/.cache/node-gyp/12.16.1/include/node/openssl/rsa.h:16, from ../src/ursaNative.h:13, from ../src/ursaNative.cc:3: /home/pi/.cache/node-gyp/12.16.1/include/node/openssl/ossl_typ.h:110:16: error: forward declaration of ‘RSA {aka struct rsa_st}’ typedef struct rsa_st RSA; ^ ../src/ursaNative.cc: In static member function ‘static Nan::NAN_METHOD_RETURN_TYPE RsaWrap::CreatePublicKeyFromComponents(Nan::NAN_METHOD_ARGS_TYPE)’: ../src/ursaNative.cc:1270:17: error: invalid use of incomplete type ‘RSA {aka struct rsa_st}’ obj->rsa->n = modulus; ^ In file included from /home/pi/.cache/node-gyp/12.16.1/include/node/openssl/crypto.h:25:0, from /home/pi/.cache/node-gyp/12.16.1/include/node/openssl/bio.h:20, from /home/pi/.cache/node-gyp/12.16.1/include/node/openssl/asn1.h:16, from /home/pi/.cache/node-gyp/12.16.1/include/node/openssl/rsa.h:16, from ../src/ursaNative.h:13, from ../src/ursaNative.cc:3: /home/pi/.cache/node-gyp/12.16.1/include/node/openssl/ossl_typ.h:110:16: error: forward declaration of ‘RSA {aka struct rsa_st}’ typedef struct rsa_st RSA; ^ ../src/ursaNative.cc:1271:17: error: invalid use of incomplete type ‘RSA {aka struct rsa_st}’ obj->rsa->e = exponent; ^ In file included from /home/pi/.cache/node-gyp/12.16.1/include/node/openssl/crypto.h:25:0, from /home/pi/.cache/node-gyp/12.16.1/include/node/openssl/bio.h:20, from /home/pi/.cache/node-gyp/12.16.1/include/node/openssl/asn1.h:16, from /home/pi/.cache/node-gyp/12.16.1/include/node/openssl/rsa.h:16, from ../src/ursaNative.h:13, from ../src/ursaNative.cc:3: /home/pi/.cache/node-gyp/12.16.1/include/node/openssl/ossl_typ.h:110:16: error: forward declaration of ‘RSA {aka struct rsa_st}’ typedef struct rsa_st RSA; ^ ursaNative.target.mk:109: recipe for target 'Release/obj.target/ursaNative/src/ursaNative.o' failed make: *** [Release/obj.target/ursaNative/src/ursaNative.o] Error 1 make: Leaving directory '/home/pi/.node-red/node_modules/ursa/build' gyp ERR! build error gyp ERR! stack Error: `make` failed with exit code: 2 gyp ERR! stack at ChildProcess.onExit (/usr/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:194:23) gyp ERR! stack at ChildProcess.emit (events.js:311:20) gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:275:12) gyp ERR! System Linux 4.19.66-v7+ gyp ERR! command "/usr/bin/node" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild" gyp ERR! cwd /home/pi/.node-red/node_modules/ursa gyp ERR! node -v v12.16.1 gyp ERR! node-gyp -v v5.1.0 gyp ERR! not ok npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! ursa@0.9.4 install: `node-gyp rebuild` npm ERR! Exit status 1 npm ERR! npm ERR! Failed at the ursa@0.9.4 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-03-30T13_29_25_142Z-debug.log pi@raspberrypi:~/.node-red $