forked from noble/noble
-
Notifications
You must be signed in to change notification settings - Fork 159
Open
Description
noble does not build on nodejs23
When using the module it says:
2024-11-10 21:57:53.880 - error: ble.0 (26306) Cannot find module '@abandonware/bluetooth-hci-socket'
Require stack:
- /opt/iobroker/node_modules/@abandonware/noble/lib/hci-socket/hci.js
- /opt/iobroker/node_modules/@abandonware/noble/lib/hci-socket/bindings.js
- /opt/iobroker/node_modules/@abandonware/noble/lib/resolve-bindings.js
- /opt/iobroker/node_modules/@abandonware/noble/with-custom-binding.js
- /opt/iobroker/node_modules/@abandonware/noble/index.js
- /opt/iobroker/node_modules/iobroker.ble/build/scanProcess.js
Build log:
> @abandonware/bluetooth-hci-socket@0.5.3-12 install> node-pre-gyp install --build-from-source
node-pre-gyp info using node-pre-gyp@1.0.11
node-pre-gyp info using node@23.1.0 | linux | arm64
gyp info it worked if it ends with okgyp info using node-gyp@10.2.0gyp info using node@23.1.0 | linux | arm64
gyp info ok
gyp info it worked if it ends with ok
gyp info using node-gyp@10.2.0gyp info using node@23.1.0 | linux | arm64
gyp info find Python using Python version 3.12.7 found at "/usr/bin/python3"
gyp info spawn args [gyp info spawn args '/usr/lib/node_modules/npm/node_modules/node-gyp/gyp/gyp_main.py',
gyp info spawn args 'binding.gyp',gyp info spawn args '-f',gyp info spawn args 'make',gyp info spawn args '-I',
gyp info spawn args '/opt/iobroker/node_modules/@abandonware/bluetooth-hci-socket/build/config.gypi',
gyp info spawn args '-I',gyp info spawn args '/usr/lib/node_modules/npm/node_modules/node-gyp/addon.gypi',
gyp info spawn args '-I',
gyp info spawn args '/home/iobroker/.cache/node-gyp/23.1.0/include/node/common.gypi',
gyp info spawn args '-Dlibrary=shared_library',gyp info spawn args '-Dvisibility=default',
gyp info spawn args '-Dnode_root_dir=/home/iobroker/.cache/node-gyp/23.1.0',
gyp info spawn args '-Dnode_gyp_dir=/usr/lib/node_modules/npm/node_modules/node-gyp',
gyp info spawn args '-Dnode_lib_file=/home/iobroker/.cache/node-gyp/23.1.0/<(target_arch)/node.lib',
gyp info spawn args '-Dmodule_root_dir=/opt/iobroker/node_modules/@abandonware/bluetooth-hci-socket',
gyp info spawn args '-Dnode_engine=v8',gyp info spawn args '--depth=.',gyp info spawn args '--no-parallel',
gyp info spawn args '--generator-output',gyp info spawn args 'build',gyp info spawn args '-Goutput_dir=.'
gyp info spawn args ]
gyp info ok
gyp info using node-gyp@10.2.0gyp info using node@23.1.0 | linux | arm64
CXX(target) Release/obj.target/bluetooth_hci_socket/src/BluetoothHciSocket.o
| ^../../../nan/nan.h:208:40: error: expected ‘{’ before ‘<’ token
../../../nan/nan.h: In function ‘bool Nan::IdleNotification(int)’:../../../nan/nan.h:688:39: error: ‘class v8::Isolate’ has no member named ‘IdleNotificationDeadline’ 688 | return v8::Isolate::GetCurrent()->IdleNotificationDeadline( | ^~~~~~~~~~~~~~~~~~~~~~~~
2548 | tpl->SetAccessor( | ^~~~~~~~~~~
2596 | tpl->SetAccessor( | ^~~~~~~~~~~
../../../nan/nan.h: In function ‘bool Nan::SetAccessor(v8::Local<v8::Object>, v8::Local<v8::String>, GetterCallback, SetterCallback, v8::Local<v8::Value>, v8::AccessControl, v8::PropertyAttribute)’:../../../nan/nan.h:2642:15: error: ‘class v8::Object’ has no member named ‘SetAccessor’ 2642 | return obj->SetAccessor( | ^~~~~~~~~~~
../../../nan/nan.h: In function ‘void Nan::SetNamedPropertyHandler(v8::Local<v8::ObjectTemplate>, PropertyGetterCallback, PropertySetterCallback, PropertyQueryCallback, PropertyDeleterCallback, PropertyEnumeratorCallback, v8::Local<v8::Value>)’:../../../nan/nan.h:2719:7: error: invalid conversion from ‘Nan::imp::NativePropertyGetter’ {aka ‘void (*)(v8::Local<v8::Name>, const v8::PropertyCallbackInfo<v8::Value>&)’} to ‘v8::NamedPropertyGetterCallback’ {aka ‘v8::Intercepted (*)(v8::Local<v8::Name>, const v8::PropertyCallbackInfo<v8::Value>&)’} [-fpermissive]
| ^~~~~~~ | | | Nan::imp::NativePropertySetter {aka void (*)(v8::Local<v8::Name>, v8::Local<v8::Value>, const v8::PropertyCallbackInfo<v8::Value>&)}/home/iobroker/.cache/node-gyp/23.1.0/include/node/v8-template.h:787:35: note: initializing argument 2 of ‘v8::NamedPropertyHandlerConfiguration::NamedPropertyHandlerConfiguration(v8::NamedPropertyGetterCallback, v8::NamedPropertySetterCallback, v8::NamedPropertyQueryCallback, v8::NamedPropertyDeleterCallback, v8::NamedPropertyEnumeratorCallback, v8::Local<v8::Value>, v8::PropertyHandlerFlags)’ 787 | NamedPropertySetterCallback setter = nullptr, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~../../../nan/nan.h:2719:25: error: invalid conversion from ‘Nan::imp::NativePropertyQuery’ {aka ‘void (*)(v8::Local<v8::Name>, const v8::PropertyCallbackInfo<v8::Integer>&)’} to ‘v8::NamedPropertyQueryCallback’ {aka ‘v8::Intercepted (*)(v8::Local<v8::Name>, const v8::PropertyCallbackInfo<v8::Integer>&)’} [-fpermissive] 2719 | getter_, setter_, query_, deleter_, enumerator_, obj)); | ^~~~~~ | | | Nan::imp::NativePropertyQuery {aka void (*)(v8::Local<v8::Name>, const v8::PropertyCallbackInfo<v8::Integer>&)}/home/iobroker/.cache/node-gyp/23.1.0/include/node/v8-template.h:788:34: note: initializing argument 3 of ‘v8::NamedPropertyHandlerConfiguration::NamedPropertyHandlerConfiguration(v8::NamedPropertyGetterCallback, v8::NamedPropertySetterCallback, v8::NamedPropertyQueryCallback, v8::NamedPropertyDeleterCallback, v8::NamedPropertyEnumeratorCallback, v8::Local<v8::Value>, v8::PropertyHandlerFlags)’ 788 | NamedPropertyQueryCallback query = nullptr, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~../../../nan/nan.h:2719:33: error: invalid conversion from ‘void (*)(v8::Local<v8::Name>, const v8::PropertyCallbackInfo<v8::Boolean>&)’ to ‘v8::NamedPropertyDeleterCallback’ {aka ‘v8::Intercepted (*)(v8::Local<v8::Name>, const v8::PropertyCallbackInfo<v8::Boolean>&)’} [-fpermissive] 2719 | getter_, setter_, query_, deleter_, enumerator_, obj)); | ^~~~~~~~ | | | void (*)(v8::Local<v8::Name>, const v8::PropertyCallbackInfo<v8::Boolean>&)/home/iobroker/.cache/node-gyp/23.1.0/include/node/v8-template.h:789:36: note: initializing argument 4 of ‘v8::NamedPropertyHandlerConfiguration::NamedPropertyHandlerConfiguration(v8::NamedPropertyGetterCallback, v8::NamedPropertySetterCallback, v8::NamedPropertyQueryCallback, v8::NamedPropertyDeleterCallback, v8::NamedPropertyEnumeratorCallback, v8::Local<v8::Value>, v8::PropertyHandlerFlags)’ 789 | NamedPropertyDeleterCallback deleter = nullptr, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
../../../nan/nan.h: In function ‘void Nan::SetIndexedPropertyHandler(v8::Local<v8::ObjectTemplate>, IndexGetterCallback, IndexSetterCallback, IndexQueryCallback, IndexDeleterCallback, IndexEnumeratorCallback, v8::Local<v8::Value>)’:../../../nan/nan.h:2789:7: error: invalid conversion from ‘Nan::imp::NativeIndexGetter’ {aka ‘void (*)(unsigned int, const v8::PropertyCallbackInfo<v8::Value>&)’} to ‘v8::IndexedPropertyGetterCallbackV2’ {aka ‘v8::Intercepted (*)(unsigned int, const v8::PropertyCallbackInfo<v8::Value>&)’} [-fpermissive]
2789 | getter_, setter_, query_, deleter_, enumerator_, obj)); | ^~~~~~~ | | | Nan::imp::NativeIndexGetter {aka void (*)(unsigned int, const v8::PropertyCallbackInfo<v8::Value>&)}/home/iobroker/.cache/node-gyp/23.1.0/include/node/v8-template.h:865:39: note: initializing argument 1 of ‘v8::IndexedPropertyHandlerConfiguration::IndexedPropertyHandlerConfiguration(v8::IndexedPropertyGetterCallbackV2, v8::IndexedPropertySetterCallbackV2, v8::IndexedPropertyQueryCallbackV2, v8::IndexedPropertyDeleterCallbackV2, v8::IndexedPropertyEnumeratorCallback, v8::Local<v8::Value>, v8::PropertyHandlerFlags)’ 865 | IndexedPropertyGetterCallbackV2 getter = nullptr, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~../../../nan/nan.h:2789:16: error: invalid conversion from ‘Nan::imp::NativeIndexSetter’ {aka ‘void (*)(unsigned int, v8::Local<v8::Value>, const v8::PropertyCallbackInfo<v8::Value>&)’} to ‘v8::IndexedPropertySetterCallbackV2’ {aka ‘v8::Intercepted (*)(unsigned int, v8::Local<v8::Value>, const v8::PropertyCallbackInfo<void>&)’} [-fpermissive] 2789 | getter_, setter_, query_, deleter_, enumerator_, obj)); | ^~~~~~~ | | | Nan::imp::NativeIndexSetter {aka void (*)(unsigned int, v8::Local<v8::Value>, const v8::PropertyCallbackInfo<v8::Value>&)}/home/iobroker/.cache/node-gyp/23.1.0/include/node/v8-template.h:866:39: note: initializing argument 2 of ‘v8::IndexedPropertyHandlerConfiguration::IndexedPropertyHandlerConfiguration(v8::IndexedPropertyGetterCallbackV2, v8::IndexedPropertySetterCallbackV2, v8::IndexedPropertyQueryCallbackV2, v8::IndexedPropertyDeleterCallbackV2, v8::IndexedPropertyEnumeratorCallback, v8::Local<v8::Value>, v8::PropertyHandlerFlags)’ 866 | IndexedPropertySetterCallbackV2 setter = nullptr, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~../../../nan/nan.h:2789:25: error: invalid conversion from ‘Nan::imp::NativeIndexQuery’ {aka ‘void (*)(unsigned int, const v8::PropertyCallbackInfo<v8::Integer>&)’} to ‘v8::IndexedPropertyQueryCallbackV2’ {aka ‘v8::Intercepted (*)(unsigned int, const v8::PropertyCallbackInfo<v8::Integer>&)’} [-fpermissive] 2789 | getter_, setter_, query_, deleter_, enumerator_, obj)); | ^~~~~~ | | | Nan::imp::NativeIndexQuery {aka void (*)(unsigned int, const v8::PropertyCallbackInfo<v8::Integer>&)}/home/iobroker/.cache/node-gyp/23.1.0/include/node/v8-template.h:867:38: note: initializing argument 3 of ‘v8::IndexedPropertyHandlerConfiguration::IndexedPropertyHandlerConfiguration(v8::IndexedPropertyGetterCallbackV2, v8::IndexedPropertySetterCallbackV2, v8::IndexedPropertyQueryCallbackV2, v8::IndexedPropertyDeleterCallbackV2, v8::IndexedPropertyEnumeratorCallback, v8::Local<v8::Value>, v8::PropertyHandlerFlags)’ 867 | IndexedPropertyQueryCallbackV2 query = nullptr, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~../../../nan/nan.h:2789:33: error: invalid conversion from ‘Nan::imp::NativeIndexDeleter’ {aka ‘void (*)(unsigned int, const v8::PropertyCallbackInfo<v8::Boolean>&)’} to ‘v8::IndexedPropertyDeleterCallbackV2’ {aka ‘v8::Intercepted (*)(unsigned int, const v8::PropertyCallbackInfo<v8::Boolean>&)’} [-fpermissive] 2789 | getter_, setter_, query_, deleter_, enumerator_, obj)); | ^~~~~~~~ | | | Nan::imp::NativeIndexDeleter {aka void (*)(unsigned int, const v8::PropertyCallbackInfo<v8::Boolean>&)}/home/iobroker/.cache/node-gyp/23.1.0/include/node/v8-template.h:868:40: note: initializing argument 4 of ‘v8::IndexedPropertyHandlerConfiguration::IndexedPropertyHandlerConfiguration(v8::IndexedPropertyGetterCallbackV2, v8::IndexedPropertySetterCallbackV2, v8::IndexedPropertyQueryCallbackV2, v8::IndexedPropertyDeleterCallbackV2, v8::IndexedPropertyEnumeratorCallback, v8::Local<v8::Value>, v8::PropertyHandlerFlags)’ 868 | IndexedPropertyDeleterCallbackV2 deleter = nullptr, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
In file included from ../../../nan/nan.h:2954:../../../nan/nan_scriptorigin.h: In constructor ‘Nan::ScriptOrigin::ScriptOrigin(v8::Local<v8::Value>)’:../../../nan/nan_scriptorigin.h:19:55: error: no matching function for call to ‘v8::ScriptOrigin::ScriptOrigin(v8::Isolate*, v8::Local<v8::Value>&)’
33 | , To<int32_t>(column).FromMaybe(0)) {} | ^/home/iobroker/.cache/node-gyp/23.1.0/include/node/v8-message.h:64:13: note: candidate: ‘v8::ScriptOrigin::ScriptOrigin(v8::Local<v8::Value>, int, int, bool, int, v8::Local<v8::Value>, bool, bool, bool, v8::Local<v8::Data>)’ 64 | V8_INLINE ScriptOrigin(Local<Value> resource_name, | ^~~~~~~~~~~~/home/iobroker/.cache/node-gyp/23.1.0/include/node/v8-message.h:64:39: note: no known conversion for argument 1 from ‘v8::Isolate*’ to ‘v8::Local<v8::Value>’ 64 | V8_INLINE ScriptOrigin(Local<Value> resource_name, | ~~~~~~~~~~~~~^~~~~~~~~~~~~/home/iobroker/.cache/node-gyp/23.1.0/include/node/v8-message.h:62:17: note: candidate: ‘constexpr v8::ScriptOrigin::ScriptOrigin(const v8::ScriptOrigin&)’ 62 | class V8_EXPORT ScriptOrigin { | ^~~~~~~~~~~~/home/iobroker/.cache/node-gyp/23.1.0/include/node/v8-message.h:62:17: note: candidate expects 1 argument, 4 provided/home/iobroker/.cache/node-gyp/23.1.0/include/node/v8-message.h:62:17: note: candidate: ‘constexpr v8::ScriptOrigin::ScriptOrigin(v8::ScriptOrigin&&)’/home/iobroker/.cache/node-gyp/23.1.0/include/node/v8-message.h:62:17: note: candidate expects 1 argument, 4 provided
../src/BluetoothHciSocket.cpp: At global scope:/home/iobroker/.cache/node-gyp/23.1.0/include/node/node.h:1232: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] 1232 | (node::addon_register_func) (regfunc), \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~/home/iobroker/.cache/node-gyp/23.1.0/include/node/node.h:1266:3: note: in expansion of macro ‘NODE_MODULE_X’ 1266 | NODE_MODULE_X(modname, regfunc, NULL, 0) // NOLINT (readability/null_usage) | ^~~~~~~~~~~~~../src/BluetoothHciSocket.cpp:860:1: note: in expansion of macro ‘NODE_MODULE’ 860 | NODE_MODULE(binding, BluetoothHciSocket::Init); | ^~~~~~~~~~~
make: Leaving directory '/opt/iobroker/node_modules/@abandonware/bluetooth-hci-socket/build'
gyp ERR! System Linux 6.6.51+rpt-rpi-v8
gyp ERR! command "/usr/bin/node" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "build" "--build-from-source" "--module=/opt/iobroker/node_modules/@abandonware/bluetooth-hci-socket/lib/binding/bluetooth_hci_socket.node" "--module_name=bluetooth_hci_socket" "--module_path=/opt/iobroker/node_modules/@abandonware/bluetooth-hci-socket/lib/binding" "--napi_version=9" "--node_abi_napi=napi" "--napi_build_version=0" "--node_napi_label=node-v131"
gyp ERR! not ok
node-pre-gyp ERR! build error node-pre-gyp ERR! stack Error: Failed to execute '/usr/bin/node /usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js build --build-from-source --module=/opt/iobroker/node_modules/@abandonware/bluetooth-hci-socket/lib/binding/bluetooth_hci_socket.node --module_name=bluetooth_hci_socket --module_path=/opt/iobroker/node_modules/@abandonware/bluetooth-hci-socket/lib/binding --napi_version=9 --node_abi_napi=napi --napi_build_version=0 --node_napi_label=node-v131' (1)node-pre-gyp ERR! stack at ChildProcess.<anonymous> (/opt/iobroker/node_modules/@mapbox/node-pre-gyp/lib/util/compile.js:89:23)node-pre-gyp ERR! stack at ChildProcess.emit (node:events:507:28)node-pre-gyp ERR! stack at maybeClose (node:internal/child_process:1101:16)node-pre-gyp ERR! stack at ChildProcess._handle.onexit (node:internal/child_process:305:5)
node-pre-gyp ERR! System Linux 6.6.51+rpt-rpi-v8node-pre-gyp ERR! command "/usr/bin/node" "/opt/iobroker/node_modules/.bin/node-pre-gyp" "install" "--build-from-source"node-pre-gyp ERR! cwd /opt/iobroker/node_modules/@abandonware/bluetooth-hci-socketnode-pre-gyp ERR! node -v v23.1.0node-pre-gyp ERR! node-pre-gyp -v v1.0.11node-pre-gyp ERR! not ok Failed to execute '/usr/bin/node /usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js build --build-from-source --module=/opt/iobroker/node_modules/@abandonware/bluetooth-hci-socket/lib/binding/bluetooth_hci_socket.node --module_name=bluetooth_hci_socket --module_path=/opt/iobroker/node_modules/@abandonware/bluetooth-hci-socket/lib/binding --napi_version=9 --node_abi_napi=napi --napi_build_version=0 --node_napi_label=node-v131' (1)
> @abandonware/noble@1.9.2-25 install
> node-gyp-build
gyp info using node-gyp@10.2.0
gyp info using node@23.1.0 | linux | arm64
gyp info find Python using Python version 3.12.7 found at "/usr/bin/python3"
gyp info spawn args [
gyp info spawn args '/opt/iobroker/node_modules/node-gyp/gyp/gyp_main.py',
gyp info spawn args 'binding.gyp',gyp info spawn args '-f',gyp info spawn args 'make',
gyp info spawn args '-I',gyp info spawn args '/opt/iobroker/node_modules/@abandonware/noble/build/config.gypi',
gyp info spawn args '-I',gyp info spawn args '/opt/iobroker/node_modules/node-gyp/addon.gypi',
gyp info spawn args '-I',gyp info spawn args '/home/iobroker/.cache/node-gyp/23.1.0/include/node/common.gypi',
gyp info spawn args '-Dlibrary=shared_library',gyp info spawn args '-Dvisibility=default',
gyp info spawn args '-Dnode_root_dir=/home/iobroker/.cache/node-gyp/23.1.0',
gyp info spawn args '-Dnode_gyp_dir=/opt/iobroker/node_modules/node-gyp',
gyp info spawn args '-Dnode_lib_file=/home/iobroker/.cache/node-gyp/23.1.0/<(target_arch)/node.lib',
gyp info spawn args '-Dmodule_root_dir=/opt/iobroker/node_modules/@abandonware/noble',
gyp info spawn args '-Dnode_engine=v8',
gyp info spawn args '--depth=.',
gyp info spawn args '--no-parallel',
gyp info spawn args '--generator-output',
gyp info spawn args 'build',
gyp info spawn args '-Goutput_dir=.'gyp info spawn args ]
gyp info ok
> usb@2.14.0 install> node-gyp-build
215 packages are looking for funding run `npm fund` for details
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels