pi@golone21:~/.node-red $ npm install node-red-contrib-bluetooth-serial-port > bluetooth-serial-port@2.2.7 install /home/pi/.node-red/node_modules/bluetooth-serial-port > node-gyp configure build make: Verzeichnis „/home/pi/.node-red/node_modules/bluetooth-serial-port/build“ wird betreten CXX(target) Release/obj.target/BluetoothSerialPort/src/linux/BluetoothSerialPort.o In file included from ../src/linux/BluetoothSerialPort.cc:12: /home/pi/.cache/node-gyp/14.18.1/include/node/node.h:787:43: warning: cast between incompatible function types from ‘void (*)(v8::Local)’ to ‘node::addon_register_func’ {aka ‘void (*)(v8::Local, v8::Local, void*)’} [-Wcast-function-type] (node::addon_register_func) (regfunc), \ ^ /home/pi/.cache/node-gyp/14.18.1/include/node/node.h:821:3: note: in expansion of macro NODE_MODULE_X’ NODE_MODULE_X(modname, regfunc, NULL, 0) // NOLINT (readability/null_usage) ^~~~~~~~~~~~~ ../src/linux/BluetoothSerialPort.cc:23:1: note: in expansion of macro ‘NODE_MODULE’ NODE_MODULE(BluetoothSerialPort, InitAll) ^~~~~~~~~~~ CXX(target) Release/obj.target/BluetoothSerialPort/src/linux/DeviceINQ.o ../src/linux/DeviceINQ.cc: In static member function ‘static void DeviceINQ::EIO_AfterSdpSearch(uv_work_t*)’: ../src/linux/DeviceINQ.cc:139:28: warning: ‘v8::Local Nan::Callback::Call(int, v8::Local*) const’ is deprecated [-Wdeprecated-declarations] baton->cb->Call(1, argv); ^ In file included from ../src/linux/DeviceINQ.cc:14: ../node_modules/nan/nan.h:1744:3: note: declared here Call(int argc, v8::Local argv[]) const { ^~~~ ../src/linux/DeviceINQ.cc: In static member function ‘static void DeviceINQ::Init(v8::Local)’: ../src/linux/DeviceINQ.cc:166:98: warning: ignoring return value of ‘v8::Maybe v8::Object::Set(v8::Local, v8::Local, v8::Local)’, declared with attribute warn_unused_result [-Wunused-result] >Set(ctx, Nan::New("DeviceINQ").ToLocalChecked(), t->GetFunction(ctx).ToLocalChecked()); ^ In file included from ../src/linux/DeviceINQ.cc:12: /home/pi/.cache/node-gyp/14.18.1/include/node/v8.h:3670:37: note: declared here V8_WARN_UNUSED_RESULT Maybe Set(Local context, ^~~ ../src/linux/DeviceINQ.cc: In static member function ‘static Nan::NAN_METHOD_RETURN_TYPE DeviceINQ::InquireSync(Nan::NAN_METHOD_ARGS_TYPE)’: ../src/linux/DeviceINQ.cc:251:26: warning: ‘v8::Local Nan::Callback::Call(int, v8::Local*) const’ is deprecated [-Wdeprecated-declarations] found->Call(2, argv); ^ In file included from ../src/linux/DeviceINQ.cc:14: ../node_modules/nan/nan.h:1744:3: note: declared here Call(int argc, v8::Local argv[]) const { ^~~~ ../src/linux/DeviceINQ.cc:255:27: warning: ‘v8::Local Nan::Callback::Call(int, v8::Local*) const’ is deprecated [-Wdeprecated-declarations] callback->Call(0, argv); ^ In file included from ../src/linux/DeviceINQ.cc:14: ../node_modules/nan/nan.h:1744:3: note: declared here Call(int argc, v8::Local argv[]) const { ^~~~ ../src/linux/DeviceINQ.cc: In member function ‘virtual void InquireWorker::HandleOKCallback()’: ../src/linux/DeviceINQ.cc:284:26: warning: ‘v8::Local Nan::Callback::Call(int, v8::Local*) const’ is deprecated [-Wdeprecated-declarations] found->Call(2, argv); ^ In file included from ../src/linux/DeviceINQ.cc:14: ../node_modules/nan/nan.h:1744:3: note: declared here Call(int argc, v8::Local argv[]) const { ^~~~ ../src/linux/DeviceINQ.cc:288:27: warning: ‘v8::Local Nan::Callback::Call(int, v8::Local*) const’ is deprecated [-Wdeprecated-declarations] callback->Call(0, argv); ^ In file included from ../src/linux/DeviceINQ.cc:14: ../node_modules/nan/nan.h:1744:3: note: declared here Call(int argc, v8::Local argv[]) const { ^~~~ ../src/linux/DeviceINQ.cc: In static member function ‘static Nan::NAN_METHOD_RETURN_TYPE DeviceINQ::SdpSearch(Nan::NAN_METHOD_ARGS_TYPE)’: ../src/linux/DeviceINQ.cc:335:88: 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] ue_work(uv_default_loop(), &baton->request, EIO_SdpSearch, (uv_after_work_cb)EIO_AfterSdpSearch); ^~~~~~~~~~~~~~~~~~ ../src/linux/DeviceINQ.cc: In static member function ‘static Nan::NAN_METHOD_RETURN_TYPE DeviceINQ::ListPairedDevices(Nan::NAN_METHOD_ARGS_TYPE)’: ../src/linux/DeviceINQ.cc:366:83: warning: ignoring return value of ‘v8::MaybeLocal v8::Function::Call(v8::Local, v8::Local, int, v8::Local*)’, declared with attribute warn_unused_result [-Wunused-result] cb->Call(Nan::GetCurrentContext(), Nan::GetCurrentContext()->Global(), 1, argv); ^ In file included from ../src/linux/DeviceINQ.cc:12: /home/pi/.cache/node-gyp/14.18.1/include/node/v8.h:4468:43: note: declared here V8_WARN_UNUSED_RESULT MaybeLocal Call(Local context, ^~~~ /home/pi/.cache/node-gyp/14.18.1/include/node/v8.h: In instantiation of ‘void v8::PersistentBase::SetWeak(P*, typename v8::WeakCallbackInfo

::Callback, v8::WeakCallbackType) [with P = node::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo

::Callback = void (*)(const v8::WeakCallbackInfo&)]’: /home/pi/.cache/node-gyp/14.18.1/include/node/node_object_wrap.h:85:78: required from here /home/pi/.cache/node-gyp/14.18.1/include/node/v8.h:10886:16: warning: cast between incompatible function types from ‘v8::WeakCallbackInfo::Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo&)’} to ‘Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo&)’} [-Wcast-function-type] reinterpret_cast(callback), type); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/pi/.cache/node-gyp/14.18.1/include/node/v8.h: In instantiation of ‘void v8::PersistentBase::SetWeak(P*, typename v8::WeakCallbackInfo

::Callback, v8::WeakCallbackType) [with P = Nan::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo

::Callback = void (*)(const v8::WeakCallbackInfo&)]’: ../node_modules/nan/nan_object_wrap.h:65:61: required from here /home/pi/.cache/node-gyp/14.18.1/include/node/v8.h:10886:16: warning: cast between incompatible function types from ‘v8::WeakCallbackInfo::Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo&)’} to ‘Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo&)’} [-Wcast-function-type] CXX(target) Release/obj.target/BluetoothSerialPort/src/linux/BTSerialPortBinding.o ../src/linux/BTSerialPortBinding.cc: In static member function ‘static void BTSerialPortBinding::EIO_AfterConnect(uv_work_t*)’: ../src/linux/BTSerialPortBinding.cc:83:32: warning: ‘v8::Local Nan::Callback::Call(int, v8::Local*) const’ is deprecated [-Wdeprecated-declarations] baton->cb->Call(0, NULL); ^ In file included from ../src/linux/BTSerialPortBinding.cc:14: ../node_modules/nan/nan.h:1744:3: note: declared here Call(int argc, v8::Local argv[]) const { ^~~~ ../src/linux/BTSerialPortBinding.cc:90:33: warning: ‘v8::Local Nan::Callback::Call(int, v8::Local*) const’ is deprecated [-Wdeprecated-declarations] baton->ecb->Call(1, argv); ^ In file included from ../src/linux/BTSerialPortBinding.cc:14: ../node_modules/nan/nan.h:1744:3: note: declared here Call(int argc, v8::Local argv[]) const { ^~~~ ../src/linux/BTSerialPortBinding.cc: In static member function ‘static void BTSerialPortBinding::EIO_Write(uv_work_t*)’: ../src/linux/BTSerialPortBinding.cc:114:62: warning: pointer of type ‘void *’ used in arithmetic [-Wpointer-arith] int bytesSent = write(rfcomm->s, data->bufferData+data->result, bytesToSend); ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~ ../src/linux/BTSerialPortBinding.cc: In static member function ‘static void BTSerialPortBinding::EIO_AfterWrite(uv_work_t*)’: ../src/linux/BTSerialPortBinding.cc:143:33: warning: ‘v8::Local Nan::Callback::Call(int, v8::Local*) const’ is deprecated [-Wdeprecated-declarations] data->callback->Call(2, argv); ^ In file included from ../src/linux/BTSerialPortBinding.cc:14: ../node_modules/nan/nan.h:1744:3: note: declared here Call(int argc, v8::Local argv[]) const { ^~~~ ../src/linux/BTSerialPortBinding.cc:152:94: 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] _work(uv_default_loop(), &nextQueuedWrite->req, EIO_Write, (uv_after_work_cb)EIO_AfterWrite); ^~~~~~~~~~~~~~ ../src/linux/BTSerialPortBinding.cc: In static member function ‘static void BTSerialPortBinding::EIO_AfterRead(uv_work_t*)’: ../src/linux/BTSerialPortBinding.cc:206:117: error: no matching function for call to ‘v8::Object::Get(v8::Local)’ onstructor = Local::Cast(globalObj->Get(Nan::New("Buffer").ToLocalChecked())); ^ In file included from ../src/linux/BTSerialPortBinding.cc:12: /home/pi/.cache/node-gyp/14.18.1/include/node/v8.h:3717:43: note: candidate: ‘v8::MaybeLocal v8::Object::Get(v8::Local, v8::Local)’ V8_WARN_UNUSED_RESULT MaybeLocal Get(Local context, ^~~ /home/pi/.cache/node-gyp/14.18.1/include/node/v8.h:3717:43: note: candidate expects 2 arguments, 1 provided /home/pi/.cache/node-gyp/14.18.1/include/node/v8.h:3720:43: note: candidate: ‘v8::MaybeLocal v8::Object::Get(v8::Local, uint32_t)’ V8_WARN_UNUSED_RESULT MaybeLocal Get(Local context, ^~~ /home/pi/.cache/node-gyp/14.18.1/include/node/v8.h:3720:43: note: candidate expects 2 arguments, 1 provided ../src/linux/BTSerialPortBinding.cc:215:28: warning: ‘v8::Local Nan::Callback::Call(int, v8::Local*) const’ is deprecated [-Wdeprecated-declarations] baton->cb->Call(2, argv); ^ In file included from ../src/linux/BTSerialPortBinding.cc:14: ../node_modules/nan/nan.h:1744:3: note: declared here Call(int argc, v8::Local argv[]) const { ^~~~ ../src/linux/BTSerialPortBinding.cc: In static member function ‘static void BTSerialPortBinding::Init(v8::Local)’: ../src/linux/BTSerialPortBinding.cc:242:103: error: no matching function for call to ‘v8::Object::Set(v8::Local, v8::Local)’ Nan::New("BTSerialPortBinding").ToLocalChecked(), t->GetFunction(ctx).ToLocalChecked()); ^ In file included from ../src/linux/BTSerialPortBinding.cc:12: /home/pi/.cache/node-gyp/14.18.1/include/node/v8.h:3670:37: note: candidate: ‘v8::Maybe v8::Object::Set(v8::Local, v8::Local, v8::Local)’ V8_WARN_UNUSED_RESULT Maybe Set(Local context, ^~~ /home/pi/.cache/node-gyp/14.18.1/include/node/v8.h:3670:37: note: candidate expects 3 arguments, 2 provided /home/pi/.cache/node-gyp/14.18.1/include/node/v8.h:3673:37: note: candidate: ‘v8::Maybe v8::Object::Set(v8::Local, uint32_t, v8::Local)’ V8_WARN_UNUSED_RESULT Maybe Set(Local context, uint32_t index, ^~~ /home/pi/.cache/node-gyp/14.18.1/include/node/v8.h:3673:37: note: candidate expects 3 arguments, 2 provided ../src/linux/BTSerialPortBinding.cc: In static member function ‘static Nan::NAN_METHOD_RETURN_TYPE BTSerialPortBinding::New(Nan::NAN_METHOD_ARGS_TYPE)’: ../src/linux/BTSerialPortBinding.cc:290:86: 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] ueue_work(uv_default_loop(), &baton->request, EIO_Connect, (uv_after_work_cb)EIO_AfterConnect); ^~~~~~~~~~~~~~~~ ../src/linux/BTSerialPortBinding.cc: In static member function ‘static Nan::NAN_METHOD_RETURN_TYPE BTSerialPortBinding::Write(Nan::NAN_METHOD_ARGS_TYPE)’: ../src/linux/BTSerialPortBinding.cc:323:43: warning: ‘void* memset(void*, int, size_t)’ clearing an object of type ‘struct BTSerialPortBinding::write_baton_t’ with no trivial copy-assignment; use assignment or value-initialization instead [-Wclass-memaccess] memset(baton, 0, sizeof(write_baton_t)); ^ In file included from ../src/linux/BTSerialPortBinding.cc:19: ../src/BTSerialPortBinding.h:68:16: note: ‘struct BTSerialPortBinding::write_baton_t’ declared here struct write_baton_t { ^~~~~~~~~~~~~ ../src/linux/BTSerialPortBinding.cc:342:90: 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] ueue_work(uv_default_loop(), &queuedWrite->req, EIO_Write, (uv_after_work_cb)EIO_AfterWrite); ^~~~~~~~~~~~~~ ../src/linux/BTSerialPortBinding.cc: In static member function ‘static Nan::NAN_METHOD_RETURN_TYPE BTSerialPortBinding::Read(Nan::NAN_METHOD_ARGS_TYPE)’: ../src/linux/BTSerialPortBinding.cc:392:25: warning: ‘v8::Local Nan::Callback::Call(int, v8::Local*) const’ is deprecated [-Wdeprecated-declarations] nc->Call(2, argv); ^ In file included from ../src/linux/BTSerialPortBinding.cc:14: ../node_modules/nan/nan.h:1744:3: note: declared here Call(int argc, v8::Local argv[]) const { ^~~~ ../src/linux/BTSerialPortBinding.cc:400:87: 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] v_queue_work(uv_default_loop(), &baton->request, EIO_Read, (uv_after_work_cb)EIO_AfterRead); ^~~~~~~~~~~~~ In file included from ../src/linux/BTSerialPortBinding.cc:12: /home/pi/.cache/node-gyp/14.18.1/include/node/v8.h: In instantiation of ‘void v8::PersistentBase::SetWeak(P*, typename v8::WeakCallbackInfo

::Callback, v8::WeakCallbackType) [with P = node::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo

::Callback = void (*)(const v8::WeakCallbackInfo&)]’: /home/pi/.cache/node-gyp/14.18.1/include/node/node_object_wrap.h:85:78: required from here /home/pi/.cache/node-gyp/14.18.1/include/node/v8.h:10886:16: warning: cast between incompatible function types from ‘v8::WeakCallbackInfo::Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo&)’} to ‘Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo&)’} [-Wcast-function-type] reinterpret_cast(callback), type); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/pi/.cache/node-gyp/14.18.1/include/node/v8.h: In instantiation of ‘void v8::PersistentBase::SetWeak(P*, typename v8::WeakCallbackInfo

::Callback, v8::WeakCallbackType) [with P = Nan::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo

::Callback = void (*)(const v8::WeakCallbackInfo&)]’: ../node_modules/nan/nan_object_wrap.h:65:61: required from here /home/pi/.cache/node-gyp/14.18.1/include/node/v8.h:10886:16: warning: cast between incompatible function types from ‘v8::WeakCallbackInfo::Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo&)’} to ‘Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo&)’} [-Wcast-function-type] make: *** [BluetoothSerialPort.target.mk:115: Release/obj.target/BluetoothSerialPort/src/linux/BTSerialPortBinding.o] Fehler 1 make: Verzeichnis „/home/pi/.node-red/node_modules/bluetooth-serial-port/build“ wird verlassen 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:400:28) gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:282:12) gyp ERR! System Linux 5.10.63-v7+ gyp ERR! command "/usr/bin/node" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "configure" "build" gyp ERR! cwd /home/pi/.node-red/node_modules/bluetooth-serial-port gyp ERR! node -v v14.18.1 gyp ERR! node-gyp -v v5.1.0 gyp ERR! not ok npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! bluetooth-serial-port@2.2.7 install: `node-gyp configure build` npm ERR! Exit status 1 npm ERR! npm ERR! Failed at the bluetooth-serial-port@2.2.7 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/2021-10-28T15_22_34_488Z-debug.log