Does not build with Node.js 16
sffc opened this issue · 0 comments
sffc commented
Lots of errors like
npm ERR! ../node-icu-charset-detector.cpp:72:13: error: ‘Handle’ is not a member of ‘v8’; did you mean ‘JobHandle’?
npm ERR! 72 | v8::Handle<v8::Object> buffer = info[0]->ToObject();
npm ERR! | ^~~~~~
npm ERR! | JobHandle
Full build output:
npm ERR! In file included from ../../nan/nan_converters.h:67, npm ERR! from ../../nan/nan.h:202, npm ERR! from ../node-icu-charset-detector.cpp:2: npm ERR! ../../nan/nan_converters_43_inl.h: In static member function ‘static Nan::imp::ToFactoryBase::return_t Nan::imp::ToFactory::convert(v8::Local)’: npm ERR! ../../nan/nan_converters_43_inl.h:18:49: error: cannot convert ‘v8::Local’ to ‘v8::Isolate*’ npm ERR! 18 | val->To ## TYPE(isolate->GetCurrentContext()) \ npm ERR! | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~ npm ERR! | | npm ERR! | v8::Local npm ERR! ../../nan/nan_converters_43_inl.h:22:1: note: in expansion of macro ‘X’ npm ERR! 22 | X(Boolean) npm ERR! | ^ npm ERR! In file included from /home/sffc/.cache/node-gyp/16.18.1/include/node/node.h:73, npm ERR! from ../node-icu-charset-detector.cpp:1: npm ERR! /home/sffc/.cache/node-gyp/16.18.1/include/node/v8.h:3086:37: note: initializing argument 1 of ‘v8::Local v8::Value::ToBoolean(v8::Isolate*) const’ npm ERR! 3086 | Local ToBoolean(Isolate* isolate) const; npm ERR! | ~~~~~~~~~^~~~~~~ npm ERR! ../../nan/nan_converters_43_inl.h: In static member function ‘static Nan::imp::ValueFactoryBase::return_t Nan::imp::ToFactory::convert(v8::Local)’: npm ERR! ../../nan/nan_converters_43_inl.h:37:55: error: cannot convert ‘v8::Local’ to ‘v8::Isolate*’ npm ERR! 37 | return val->NAME ## Value(isolate->GetCurrentContext()); \ npm ERR! | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~ npm ERR! | | npm ERR! | v8::Local npm ERR! ../../nan/nan_converters_43_inl.h:40:1: note: in expansion of macro ‘X’ npm ERR! 40 | X(bool, Boolean) npm ERR! | ^ npm ERR! /home/sffc/.cache/node-gyp/16.18.1/include/node/v8.h:3096:30: note: initializing argument 1 of ‘bool v8::Value::BooleanValue(v8::Isolate*) const’ npm ERR! 3096 | bool BooleanValue(Isolate* isolate) const; npm ERR! | ~~~~~~~~~^~~~~~~ npm ERR! In file included from ../../nan/nan_new.h:189, npm ERR! from ../../nan/nan.h:203: npm ERR! ../../nan/nan_implementation_12_inl.h: In static member function ‘static Nan::imp::FactoryBase::return_t Nan::imp::Factory::New(Nan::FunctionCallback, v8::Local)’: npm ERR! ../../nan/nan_implementation_12_inl.h:103:42: error: cannot convert ‘v8::Isolate*’ to ‘v8::Local’ npm ERR! 103 | return scope.Escape(v8::Function::New( isolate npm ERR! | ^~~~~~~ npm ERR! | | npm ERR! | v8::Isolate* npm ERR! /home/sffc/.cache/node-gyp/16.18.1/include/node/v8.h:4754:22: note: initializing argument 1 of ‘static v8::MaybeLocal v8::Function::New(v8::Local, v8::FunctionCallback, v8::Local, int, v8::ConstructorBehavior, v8::SideEffectType)’ npm ERR! 4754 | Local context, FunctionCallback callback, npm ERR! | ~~~~~~~~~~~~~~~^~~~~~~ npm ERR! ../../nan/nan_implementation_12_inl.h: In static member function ‘static Nan::imp::FactoryBase::return_t Nan::imp::Factory::New(v8::Local)’: npm ERR! ../../nan/nan_implementation_12_inl.h:337:31: error: no matching function for call to ‘v8::StringObject::New(v8::Local&)’ npm ERR! 337 | return v8::StringObject::New(value).As(); npm ERR! | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~ npm ERR! /home/sffc/.cache/node-gyp/16.18.1/include/node/v8.h:6196:23: note: candidate: ‘static v8::Local v8::StringObject::New(v8::Isolate*, v8::Local)’ npm ERR! 6196 | static Local New(Isolate* isolate, Local value); npm ERR! | ^~~ npm ERR! /home/sffc/.cache/node-gyp/16.18.1/include/node/v8.h:6196:23: note: candidate expects 2 arguments, 1 provided npm ERR! ../../nan/nan_implementation_12_inl.h:337:58: error: expected primary-expression before ‘>’ token npm ERR! 337 | return v8::StringObject::New(value).As(); npm ERR! | ^ npm ERR! ../../nan/nan_implementation_12_inl.h:337:60: error: expected primary-expression before ‘)’ token npm ERR! 337 | return v8::StringObject::New(value).As(); npm ERR! | ^ npm ERR! ../../nan/nan.h: In constructor ‘Nan::Utf8String::Utf8String(v8::Local)’: npm ERR! ../../nan/nan.h:1034:52: error: no matching function for call to ‘v8::Value::ToString()’ npm ERR! 1034 | v8::Local string = from->ToString(); npm ERR! | ~~~~~~~~~~~~~~^~ npm ERR! /home/sffc/.cache/node-gyp/16.18.1/include/node/v8.h:3048:44: note: candidate: ‘v8::MaybeLocal v8::Value::ToString(v8::Local) const’ npm ERR! 3048 | V8_WARN_UNUSED_RESULT MaybeLocal ToString( npm ERR! | ^~~~~~~~ npm ERR! /home/sffc/.cache/node-gyp/16.18.1/include/node/v8.h:3048:44: note: candidate expects 1 argument, 0 provided npm ERR! ../../nan/nan.h:1044:37: error: cannot convert ‘char*’ to ‘v8::Isolate*’ npm ERR! 1044 | length_ = string->WriteUtf8(str_, static_cast(len), 0, flags); npm ERR! | ^~~~ npm ERR! | | npm ERR! | char* npm ERR! /home/sffc/.cache/node-gyp/16.18.1/include/node/v8.h:3277:26: note: initializing argument 1 of ‘int v8::String::WriteUtf8(v8::Isolate*, char*, int, int*, int) const’ npm ERR! 3277 | int WriteUtf8(Isolate* isolate, char* buffer, int length = -1, npm ERR! | ~~~~~~~~~^~~~~~~ npm ERR! ../../nan/nan.h: In member function ‘void Nan::AsyncWorker::SaveToPersistent(const char*, const v8::Local&)’: npm ERR! ../../nan/nan.h:1818:31: error: no matching function for call to ‘v8::Object::Set(v8::Local, const v8::Local&)’ npm ERR! 1818 | New(persistentHandle)->Set(New(key).ToLocalChecked(), value); npm ERR! | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ npm ERR! /home/sffc/.cache/node-gyp/16.18.1/include/node/v8.h:3961:37: note: candidate: ‘v8::Maybe v8::Object::Set(v8::Local, v8::Local, v8::Local)’ npm ERR! 3961 | V8_WARN_UNUSED_RESULT Maybe Set(Local context, npm ERR! | ^~~ npm ERR! /home/sffc/.cache/node-gyp/16.18.1/include/node/v8.h:3961:37: note: candidate expects 3 arguments, 2 provided npm ERR! /home/sffc/.cache/node-gyp/16.18.1/include/node/v8.h:3964:37: note: candidate: ‘v8::Maybe v8::Object::Set(v8::Local, uint32_t, v8::Local)’ npm ERR! 3964 | V8_WARN_UNUSED_RESULT Maybe Set(Local context, uint32_t index, npm ERR! | ^~~ npm ERR! /home/sffc/.cache/node-gyp/16.18.1/include/node/v8.h:3964:37: note: candidate expects 3 arguments, 2 provided npm ERR! ../../nan/nan.h: In member function ‘void Nan::AsyncWorker::SaveToPersistent(const v8::Local&, const v8::Local&)’: npm ERR! ../../nan/nan.h:1824:31: error: no matching function for call to ‘v8::Object::Set(const v8::Local&, const v8::Local&)’ npm ERR! 1824 | New(persistentHandle)->Set(key, value); npm ERR! | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ npm ERR! /home/sffc/.cache/node-gyp/16.18.1/include/node/v8.h:3961:37: note: candidate: ‘v8::Maybe v8::Object::Set(v8::Local, v8::Local, v8::Local)’ npm ERR! 3961 | V8_WARN_UNUSED_RESULT Maybe Set(Local context, npm ERR! | ^~~ npm ERR! /home/sffc/.cache/node-gyp/16.18.1/include/node/v8.h:3961:37: note: candidate expects 3 arguments, 2 provided npm ERR! /home/sffc/.cache/node-gyp/16.18.1/include/node/v8.h:3964:37: note: candidate: ‘v8::Maybe v8::Object::Set(v8::Local, uint32_t, v8::Local)’ npm ERR! 3964 | V8_WARN_UNUSED_RESULT Maybe Set(Local context, uint32_t index, npm ERR! | ^~~ npm ERR! /home/sffc/.cache/node-gyp/16.18.1/include/node/v8.h:3964:37: note: candidate expects 3 arguments, 2 provided npm ERR! ../../nan/nan.h: In member function ‘void Nan::AsyncWorker::SaveToPersistent(uint32_t, const v8::Local&)’: npm ERR! ../../nan/nan.h:1830:31: error: no matching function for call to ‘v8::Object::Set(uint32_t&, const v8::Local&)’ npm ERR! 1830 | New(persistentHandle)->Set(index, value); npm ERR! | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~ npm ERR! /home/sffc/.cache/node-gyp/16.18.1/include/node/v8.h:3961:37: note: candidate: ‘v8::Maybe v8::Object::Set(v8::Local, v8::Local, v8::Local)’ npm ERR! 3961 | V8_WARN_UNUSED_RESULT Maybe Set(Local context, npm ERR! | ^~~ npm ERR! /home/sffc/.cache/node-gyp/16.18.1/include/node/v8.h:3961:37: note: candidate expects 3 arguments, 2 provided npm ERR! /home/sffc/.cache/node-gyp/16.18.1/include/node/v8.h:3964:37: note: candidate: ‘v8::Maybe v8::Object::Set(v8::Local, uint32_t, v8::Local)’ npm ERR! 3964 | V8_WARN_UNUSED_RESULT Maybe Set(Local context, uint32_t index, npm ERR! | ^~~ npm ERR! /home/sffc/.cache/node-gyp/16.18.1/include/node/v8.h:3964:37: note: candidate expects 3 arguments, 2 provided npm ERR! ../../nan/nan.h: In member function ‘v8::Local Nan::AsyncWorker::GetFromPersistent(const char*) const’: npm ERR! ../../nan/nan.h:1836:35: error: no matching function for call to ‘v8::Object::Get(v8::Local)’ npm ERR! 1836 | New(persistentHandle)->Get(New(key).ToLocalChecked())); npm ERR! | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ npm ERR! /home/sffc/.cache/node-gyp/16.18.1/include/node/v8.h:4007:43: note: candidate: ‘v8::MaybeLocal v8::Object::Get(v8::Local, v8::Local)’ npm ERR! 4007 | V8_WARN_UNUSED_RESULT MaybeLocal Get(Local context, npm ERR! | ^~~ npm ERR! /home/sffc/.cache/node-gyp/16.18.1/include/node/v8.h:4007:43: note: candidate expects 2 arguments, 1 provided npm ERR! /home/sffc/.cache/node-gyp/16.18.1/include/node/v8.h:4010:43: note: candidate: ‘v8::MaybeLocal v8::Object::Get(v8::Local, uint32_t)’ npm ERR! 4010 | V8_WARN_UNUSED_RESULT MaybeLocal Get(Local context, npm ERR! | ^~~ npm ERR! /home/sffc/.cache/node-gyp/16.18.1/include/node/v8.h:4010:43: note: candidate expects 2 arguments, 1 provided npm ERR! ../../nan/nan.h: In member function ‘v8::Local Nan::AsyncWorker::GetFromPersistent(const v8::Local&) const’: npm ERR! ../../nan/nan.h:1842:51: error: no matching function for call to ‘v8::Object::Get(const v8::Local&)’ npm ERR! 1842 | return scope.Escape(New(persistentHandle)->Get(key)); npm ERR! | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~ npm ERR! /home/sffc/.cache/node-gyp/16.18.1/include/node/v8.h:4007:43: note: candidate: ‘v8::MaybeLocal v8::Object::Get(v8::Local, v8::Local)’ npm ERR! 4007 | V8_WARN_UNUSED_RESULT MaybeLocal Get(Local context, npm ERR! | ^~~ npm ERR! /home/sffc/.cache/node-gyp/16.18.1/include/node/v8.h:4007:43: note: candidate expects 2 arguments, 1 provided npm ERR! /home/sffc/.cache/node-gyp/16.18.1/include/node/v8.h:4010:43: note: candidate: ‘v8::MaybeLocal v8::Object::Get(v8::Local, uint32_t)’ npm ERR! 4010 | V8_WARN_UNUSED_RESULT MaybeLocal Get(Local context, npm ERR! | ^~~ npm ERR! /home/sffc/.cache/node-gyp/16.18.1/include/node/v8.h:4010:43: note: candidate expects 2 arguments, 1 provided npm ERR! ../../nan/nan.h: In member function ‘v8::Local Nan::AsyncWorker::GetFromPersistent(uint32_t) const’: npm ERR! ../../nan/nan.h:1847:51: error: no matching function for call to ‘v8::Object::Get(uint32_t&)’ npm ERR! 1847 | return scope.Escape(New(persistentHandle)->Get(index)); npm ERR! | ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~ npm ERR! /home/sffc/.cache/node-gyp/16.18.1/include/node/v8.h:4007:43: note: candidate: ‘v8::MaybeLocal v8::Object::Get(v8::Local, v8::Local)’ npm ERR! 4007 | V8_WARN_UNUSED_RESULT MaybeLocal Get(Local context, npm ERR! | ^~~ npm ERR! /home/sffc/.cache/node-gyp/16.18.1/include/node/v8.h:4007:43: note: candidate expects 2 arguments, 1 provided npm ERR! /home/sffc/.cache/node-gyp/16.18.1/include/node/v8.h:4010:43: note: candidate: ‘v8::MaybeLocal v8::Object::Get(v8::Local, uint32_t)’ npm ERR! 4010 | V8_WARN_UNUSED_RESULT MaybeLocal Get(Local context, npm ERR! | ^~~ npm ERR! /home/sffc/.cache/node-gyp/16.18.1/include/node/v8.h:4010:43: note: candidate expects 2 arguments, 1 provided npm ERR! ../../nan/nan.h: In function ‘void Nan::AsyncQueueWorker(AsyncWorker*)’: npm ERR! ../../nan/nan.h:2167:7: 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] npm ERR! 2167 | , reinterpret_cast(AsyncExecuteComplete) npm ERR! | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ npm ERR! In file included from /usr/include/c++/12/cassert:44, npm ERR! from /home/sffc/.cache/node-gyp/16.18.1/include/node/node_object_wrap.h:26, npm ERR! from ../../nan/nan.h:53: npm ERR! ../../nan/nan_object_wrap.h: In destructor ‘virtual Nan::ObjectWrap::~ObjectWrap()’: npm ERR! ../../nan/nan_object_wrap.h:24:25: error: ‘class Nan::Persistent’ has no member named ‘IsNearDeath’ npm ERR! 24 | assert(persistent().IsNearDeath()); npm ERR! | ^~~~~~~~~~~ npm ERR! In file included from ../../nan/nan.h:2657: npm ERR! ../../nan/nan_object_wrap.h: In member function ‘void Nan::ObjectWrap::MakeWeak()’: npm ERR! ../../nan/nan_object_wrap.h:67:18: error: ‘class Nan::Persistent’ has no member named ‘MarkIndependent’ npm ERR! 67 | persistent().MarkIndependent(); npm ERR! | ^~~~~~~~~~~~~~~ npm ERR! ../../nan/nan_object_wrap.h: In static member function ‘static void Nan::ObjectWrap::WeakCallback(const v8::WeakCallbackInfo&)’: npm ERR! ../../nan/nan_object_wrap.h:124:26: error: ‘class Nan::Persistent’ has no member named ‘IsNearDeath’ npm ERR! 124 | assert(wrap->handle_.IsNearDeath()); npm ERR! | ^~~~~~~~~~~ npm ERR! ../node-icu-charset-detector.cpp: At global scope: npm ERR! ../node-icu-charset-detector.cpp:17:29: error: ‘Handle’ in namespace ‘v8’ does not name a template type; did you mean ‘JobHandle’? npm ERR! 17 | RegisterClass(const v8::Handle target) { npm ERR! | ^~~~~~ npm ERR! | JobHandle npm ERR! ../node-icu-charset-detector.cpp:17:35: error: expected ‘,’ or ‘...’ before ‘<’ token npm ERR! 17 | RegisterClass(const v8::Handle target) { npm ERR! | ^ npm ERR! ../node-icu-charset-detector.cpp:60:20: error: ‘v8::Handle’ has not been declared npm ERR! 60 | FromBuffer(v8::Handle bufferObject) { npm ERR! | ^~~~~~ npm ERR! ../node-icu-charset-detector.cpp:60:26: error: expected ‘,’ or ‘...’ before ‘<’ token npm ERR! 60 | FromBuffer(v8::Handle bufferObject) { npm ERR! | ^ npm ERR! ../node-icu-charset-detector.cpp: In static member function ‘static void CharsetMatch::RegisterClass(int)’: npm ERR! ../node-icu-charset-detector.cpp:33:9: error: ‘target’ was not declared in this scope npm ERR! 33 | target->Set(Nan::New(ClassName).ToLocalChecked(), constructorTemplate->GetFunction()); npm ERR! | ^~~~~~ npm ERR! ../node-icu-charset-detector.cpp:33:91: error: no matching function for call to ‘v8::FunctionTemplate::GetFunction()’ npm ERR! 33 | target->Set(Nan::New(ClassName).ToLocalChecked(), constructorTemplate->GetFunction()); npm ERR! | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ npm ERR! /home/sffc/.cache/node-gyp/16.18.1/include/node/v8.h:6802:46: note: candidate: ‘v8::MaybeLocal v8::FunctionTemplate::GetFunction(v8::Local)’ npm ERR! 6802 | V8_WARN_UNUSED_RESULT MaybeLocal GetFunction( npm ERR! | ^~~~~~~~~~~ npm ERR! /home/sffc/.cache/node-gyp/16.18.1/include/node/v8.h:6802:46: note: candidate expects 1 argument, 0 provided npm ERR! ../node-icu-charset-detector.cpp: In static member function ‘static CharsetMatch* CharsetMatch::FromBuffer(int)’: npm ERR! ../node-icu-charset-detector.cpp:61:52: error: ‘bufferObject’ was not declared in this scope npm ERR! 61 | return new CharsetMatch(node::Buffer::Data(bufferObject), npm ERR! | ^~~~~~~~~~~~ npm ERR! ../node-icu-charset-detector.cpp: In static member function ‘static Nan::NAN_METHOD_RETURN_TYPE CharsetMatch::New(Nan::NAN_METHOD_ARGS_TYPE)’: npm ERR! ../node-icu-charset-detector.cpp:72:13: error: ‘Handle’ is not a member of ‘v8’; did you mean ‘JobHandle’? npm ERR! 72 | v8::Handle buffer = info[0]->ToObject(); npm ERR! | ^~~~~~ npm ERR! | JobHandle npm ERR! ../node-icu-charset-detector.cpp:72:30: error: expected primary-expression before ‘>’ token npm ERR! 72 | v8::Handle buffer = info[0]->ToObject(); npm ERR! | ^ npm ERR! ../node-icu-charset-detector.cpp:72:32: error: ‘buffer’ was not declared in this scope; did you mean ‘setbuffer’? npm ERR! 72 | v8::Handle buffer = info[0]->ToObject(); npm ERR! | ^~~~~~ npm ERR! | setbuffer npm ERR! ../node-icu-charset-detector.cpp:72:58: error: no matching function for call to ‘v8::Value::ToObject()’ npm ERR! 72 | v8::Handle buffer = info[0]->ToObject(); npm ERR! | ~~~~~~~~~~~~~~~~~^~ npm ERR! /home/sffc/.cache/node-gyp/16.18.1/include/node/v8.h:3060:44: note: candidate: ‘v8::MaybeLocal v8::Value::ToObject(v8::Local) const’ npm ERR! 3060 | V8_WARN_UNUSED_RESULT MaybeLocal ToObject( npm ERR! | ^~~~~~~~ npm ERR! /home/sffc/.cache/node-gyp/16.18.1/include/node/v8.h:3060:44: note: candidate expects 1 argument, 0 provided npm ERR! ../node-icu-charset-detector.cpp: In function ‘void RegisterModule(Nan::ADDON_REGISTER_FUNCTION_ARGS_TYPE)’: npm ERR! ../node-icu-charset-detector.cpp:125:33: error: cannot convert ‘Nan::ADDON_REGISTER_FUNCTION_ARGS_TYPE’ {aka ‘v8::Local’} to ‘int’ npm ERR! 125 | CharsetMatch::RegisterClass(target); npm ERR! | ^~~~~~ npm ERR! | | npm ERR! | Nan::ADDON_REGISTER_FUNCTION_ARGS_TYPE {aka v8::Local} npm ERR! ../node-icu-charset-detector.cpp:17:19: note: initializing argument 1 of ‘static void CharsetMatch::RegisterClass(int)’ npm ERR! 17 | RegisterClass(const v8::Handle target) { npm ERR! | ^~~~~~~~~~~~~~~~ npm ERR! ../node-icu-charset-detector.cpp: At global scope: npm ERR! /home/sffc/.cache/node-gyp/16.18.1/include/node/node.h:887:7: warning: cast between incompatible function types from ‘void (*)(Nan::ADDON_REGISTER_FUNCTION_ARGS_TYPE)’ {aka ‘void (*)(v8::Local)’} to ‘node::addon_register_func’ {aka ‘void (*)(v8::Local, v8::Local, void*)’} [-Wcast-function-type] npm ERR! 887 | (node::addon_register_func) (regfunc), \ npm ERR! | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ npm ERR! /home/sffc/.cache/node-gyp/16.18.1/include/node/node.h:921:3: note: in expansion of macro ‘NODE_MODULE_X’ npm ERR! 921 | NODE_MODULE_X(modname, regfunc, NULL, 0) // NOLINT (readability/null_usage) npm ERR! | ^~~~~~~~~~~~~ npm ERR! ../node-icu-charset-detector.cpp:128:1: note: in expansion of macro ‘NODE_MODULE’ npm ERR! 128 | NODE_MODULE(node_icu_charset_detector, RegisterModule); npm ERR! | ^~~~~~~~~~~ npm ERR! make: *** [node-icu-charset-detector.target.mk:108: Release/obj.target/node-icu-charset-detector/node-icu-charset-detector.o] Error 1 npm ERR! gyp ERR! build error npm ERR! gyp ERR! stack Error: `make` failed with exit code: 2 npm ERR! gyp ERR! stack at ChildProcess.onExit (/usr/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:201:23) npm ERR! gyp ERR! stack at ChildProcess.emit (node:events:513:28) npm ERR! gyp ERR! stack at Process.ChildProcess._handle.onexit (node:internal/child_process:293:12) npm ERR! gyp ERR! System Linux 5.17.5-300.fc36.aarch64 npm ERR! gyp ERR! command "/usr/bin/node" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild" npm ERR! gyp ERR! cwd /home/sffc/local/oo-projects/back-filesystem/node_modules/node-icu-charset-detector npm ERR! gyp ERR! node -v v16.18.1 npm ERR! gyp ERR! node-gyp -v v9.1.0 npm ERR! gyp ERR! not ok