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

Wont build with nodejs 23 #344

Open
Grothesk242 opened this issue Nov 10, 2024 · 0 comments
Open

Wont build with nodejs 23 #344

Grothesk242 opened this issue Nov 10, 2024 · 0 comments

Comments

@Grothesk242
Copy link

Grothesk242 commented Nov 10, 2024

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/[email protected] install> node-pre-gyp install --build-from-source

node-pre-gyp info using [email protected]

node-pre-gyp info using [email protected] | linux | arm64

gyp info it worked if it ends with okgyp info using [email protected] info using [email protected] | linux | arm64

gyp info ok

gyp info it worked if it ends with ok

gyp info using [email protected] info using [email protected] | 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 [email protected] info using [email protected] | 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/[email protected] install

> node-gyp-build

gyp info using [email protected]

gyp info using [email protected] | 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

> [email protected] install> node-gyp-build

215 packages are looking for funding run `npm fund` for details
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

1 participant