[BUG] - multiple build errors on installation
**Describe the bug**
Following the install instructions results in many errors though the plugin shows as installed.
![image](https://user-images.githubusercontent.com/90931/85956536-456cd680-b97e-11ea-8e7a-0649de6c5bc2.png)


**Desktop (please complete the following information):**
- Ubuntu 20.04 LTS
- node v12.18.1
- npm v6.14.5


**Full install log**
```
npm install -g --unsafe-perm homebridge-dafang

npm WARN deprecated mongodb@2.1.21: Please upgrade to 2.2.19 or higher
npm WARN deprecated node-uuid@1.4.8: Use uuid module instead
npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142
npm WARN deprecated bson@0.4.23: Fixed a critical issue with BSON serialization documented in CVE-2019-2391, see https://bit.ly/2KcpXdo for more details

> fs-ext@0.5.0 install /usr/lib/node_modules/homebridge-dafang/node_modules/fs-ext
> node-gyp configure build

make: Entering directory '/usr/lib/node_modules/homebridge-dafang/node_modules/fs-ext/build'
  CXX(target) Release/obj.target/fs-ext/fs-ext.o
In file included from ../../nan/nan.h:190,
                 from ../fs-ext.cc:27:
../../nan/nan_maybe_43_inl.h: In function ‘Nan::Maybe<bool> Nan::ForceSet(v8::Local<v8::Object>, v8::Local<v8::Value>, v8::Local<v8::Value>, v8::PropertyAttribute)’:
../../nan/nan_maybe_43_inl.h:88:15: error: ‘class v8::Object’ has no member named ‘ForceSet’
   88 |   return obj->ForceSet(GetCurrentContext(), key, value, attribs);
      |               ^~~~~~~~
In file included from ../../nan/nan_converters.h:59,
                 from ../../nan/nan.h:195,
                 from ../fs-ext.cc:27:
../../nan/nan_converters_43_inl.h: In static member function ‘static Nan::imp::ToFactoryBase<v8::Boolean>::return_t Nan::imp::ToFactory<v8::Boolean>::convert(v8::Local<v8::Value>)’:
../../nan/nan_converters_43_inl.h:15:45: warning: ‘v8::MaybeLocal<v8::Boolean> v8::Value::ToBoolean(v8::Local<v8::Context>) const’ is deprecated: ToBoolean can never throw. Use Local version. [-Wdeprecated-declarations]
   15 |   return val->To ## TYPE(GetCurrentContext());                                 \
      |                                             ^
../../nan/nan_converters_43_inl.h:18:1: note: in expansion of macro ‘X’
   18 | X(Boolean)
      | ^
In file included from /root/.cache/node-gyp/12.18.1/include/node/v8-internal.h:14,
                 from /root/.cache/node-gyp/12.18.1/include/node/v8.h:27,
                 from /root/.cache/node-gyp/12.18.1/include/node/node.h:67,
                 from ../fs-ext.cc:20:
/root/.cache/node-gyp/12.18.1/include/node/v8.h:2664:59: note: declared here
 2664 |                 V8_WARN_UNUSED_RESULT MaybeLocal<Boolean> ToBoolean(
      |                                                           ^~~~~~~~~
/root/.cache/node-gyp/12.18.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
  328 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
In file included from ../../nan/nan_converters.h:59,
                 from ../../nan/nan.h:195,
                 from ../fs-ext.cc:27:
../../nan/nan_converters_43_inl.h: In static member function ‘static Nan::imp::ValueFactoryBase<bool>::return_t Nan::imp::ToFactory<bool>::convert(v8::Local<v8::Value>)’:../../nan/nan_converters_43_inl.h:31:48: warning: ‘v8::Maybe<bool> v8::Value::BooleanValue(v8::Local<v8::Context>) const’ is deprecated: BooleanValue can never throw. Use Isolate version. [-Wdeprecated-declarations]
   31 |   return val->NAME ## Value(GetCurrentContext());                              \
      |                                                ^
../../nan/nan_converters_43_inl.h:34:1: note: in expansion of macro ‘X’
   34 | X(bool, Boolean)
      | ^
In file included from /root/.cache/node-gyp/12.18.1/include/node/v8-internal.h:14,
                 from /root/.cache/node-gyp/12.18.1/include/node/v8.h:27,
                 from /root/.cache/node-gyp/12.18.1/include/node/node.h:67,
                 from ../fs-ext.cc:20:
/root/.cache/node-gyp/12.18.1/include/node/v8.h:2702:51: note: declared here
 2702 |                 V8_WARN_UNUSED_RESULT Maybe<bool> BooleanValue(
      |                                                   ^~~~~~~~~~~~
/root/.cache/node-gyp/12.18.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
  328 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
In file included from ../../nan/nan_new.h:189,
                 from ../../nan/nan.h:196,
                 from ../fs-ext.cc:27:
../../nan/nan_implementation_12_inl.h: In static member function ‘static Nan::imp::FactoryBase<v8::Function>::return_t Nan::imp::Factory<v8::Function>::New(Nan::FunctionCallback, v8::Local<v8::Value>)’:
../../nan/nan_implementation_12_inl.h:107:42: error: cannot convert ‘v8::Isolate*’ to ‘v8::Local<v8::Context>’
  107 |   return scope.Escape(v8::Function::New( isolate
      |                                          ^~~~~~~
      |                                          |
      |                                          v8::Isolate*
In file included from /root/.cache/node-gyp/12.18.1/include/node/node.h:67,
                 from ../fs-ext.cc:20:
/root/.cache/node-gyp/12.18.1/include/node/v8.h:4276:22: note:   initializing argument 1 of ‘static v8::MaybeLocal<v8::Function> v8::Function::New(v8::Local<v8::Context>, v8::FunctionCallback, v8::Local<v8::Value>, int, v8::ConstructorBehavior, v8::SideEffectType)’
 4276 |       Local<Context> context, FunctionCallback callback,
      |       ~~~~~~~~~~~~~~~^~~~~~~
In file included from ../../nan/nan_new.h:189,
                 from ../../nan/nan.h:196,
                 from ../fs-ext.cc:27:
../../nan/nan_implementation_12_inl.h: In static member function ‘static Nan::imp::FactoryBase<v8::StringObject>::return_t Nan::imp::Factory<v8::StringObject>::New(v8::Local<v8::String>)’:
../../nan/nan_implementation_12_inl.h:345:37: error: no matching function for call to ‘v8::StringObject::New(v8::Local<v8::String>&)’
  345 |   return v8::StringObject::New(value).As<v8::StringObject>();
      |                                     ^
In file included from /root/.cache/node-gyp/12.18.1/include/node/node.h:67,
                 from ../fs-ext.cc:20:
/root/.cache/node-gyp/12.18.1/include/node/v8.h:5531:23: note: candidate: ‘static v8::Local<v8::Value> v8::StringObject::New(v8::Isolate*, v8::Local<v8::String>)’
 5531 |   static Local<Value> New(Isolate* isolate, Local<String> value);
      |                       ^~~
/root/.cache/node-gyp/12.18.1/include/node/v8.h:5531:23: note:   candidate expects 2 arguments, 1 provided
In file included from ../../nan/nan_new.h:189,
                 from ../../nan/nan.h:196,
                 from ../fs-ext.cc:27:
../../nan/nan_implementation_12_inl.h:345:58: error: expected primary-expression before ‘>’ token
  345 |   return v8::StringObject::New(value).As<v8::StringObject>();
      |                                                          ^
../../nan/nan_implementation_12_inl.h:345:60: error: expected primary-expression before ‘)’ token
  345 |   return v8::StringObject::New(value).As<v8::StringObject>();
      |                                                            ^
In file included from ../fs-ext.cc:27:
../../nan/nan.h: In function ‘v8::Local<v8::Value> Nan::MakeCallback(v8::Local<v8::Object>, v8::Local<v8::Function>, int, v8::Local<v8::Value>*)’:
../../nan/nan.h:817:60: warning: ‘v8::Local<v8::Value> node::MakeCallback(v8::Isolate*, v8::Local<v8::Object>, v8::Local<v8::Function>, int, v8::Local<v8::Value>*)’ is deprecated: Use MakeCallback(..., async_context) [-Wdeprecated-declarations]
  817 |         v8::Isolate::GetCurrent(), target, func, argc, argv);
      |                                                            ^
In file included from ../fs-ext.cc:20:
/root/.cache/node-gyp/12.18.1/include/node/node.h:182:50: note: declared here
  182 |                 NODE_EXTERN v8::Local<v8::Value> MakeCallback(
      |                                                  ^~~~~~~~~~~~
/root/.cache/node-gyp/12.18.1/include/node/node.h:101:42: note: in definition of macro ‘NODE_DEPRECATED’
  101 |     __attribute__((deprecated(message))) declarator
      |                                          ^~~~~~~~~~
In file included from ../fs-ext.cc:27:
../../nan/nan.h:817:60: warning: ‘v8::Local<v8::Value> node::MakeCallback(v8::Isolate*, v8::Local<v8::Object>, v8::Local<v8::Function>, int, v8::Local<v8::Value>*)’ is deprecated: Use MakeCallback(..., async_context) [-Wdeprecated-declarations]
  817 |         v8::Isolate::GetCurrent(), target, func, argc, argv);
      |                                                            ^
In file included from ../fs-ext.cc:20:
/root/.cache/node-gyp/12.18.1/include/node/node.h:182:50: note: declared here
  182 |                 NODE_EXTERN v8::Local<v8::Value> MakeCallback(
      |                                                  ^~~~~~~~~~~~
/root/.cache/node-gyp/12.18.1/include/node/node.h:101:42: note: in definition of macro ‘NODE_DEPRECATED’
  101 |     __attribute__((deprecated(message))) declarator
      |                                          ^~~~~~~~~~
In file included from ../fs-ext.cc:27:
../../nan/nan.h: In function ‘v8::Local<v8::Value> Nan::MakeCallback(v8::Local<v8::Object>, v8::Local<v8::String>, int, v8::Local<v8::Value>*)’:
../../nan/nan.h:831:62: warning: ‘v8::Local<v8::Value> node::MakeCallback(v8::Isolate*, v8::Local<v8::Object>, v8::Local<v8::String>, int, v8::Local<v8::Value>*)’ is deprecated: Use MakeCallback(..., async_context) [-Wdeprecated-declarations]
  831 |         v8::Isolate::GetCurrent(), target, symbol, argc, argv);
      |                                                              ^
In file included from ../fs-ext.cc:20:
/root/.cache/node-gyp/12.18.1/include/node/node.h:175:50: note: declared here
  175 |                 NODE_EXTERN v8::Local<v8::Value> MakeCallback(
      |                                                  ^~~~~~~~~~~~
/root/.cache/node-gyp/12.18.1/include/node/node.h:101:42: note: in definition of macro ‘NODE_DEPRECATED’
  101 |     __attribute__((deprecated(message))) declarator
      |                                          ^~~~~~~~~~
In file included from ../fs-ext.cc:27:
../../nan/nan.h:831:62: warning: ‘v8::Local<v8::Value> node::MakeCallback(v8::Isolate*, v8::Local<v8::Object>, v8::Local<v8::String>, int, v8::Local<v8::Value>*)’ is deprecated: Use MakeCallback(..., async_context) [-Wdeprecated-declarations]
  831 |         v8::Isolate::GetCurrent(), target, symbol, argc, argv);
      |                                                              ^
In file included from ../fs-ext.cc:20:
/root/.cache/node-gyp/12.18.1/include/node/node.h:175:50: note: declared here
  175 |                 NODE_EXTERN v8::Local<v8::Value> MakeCallback(
      |                                                  ^~~~~~~~~~~~
/root/.cache/node-gyp/12.18.1/include/node/node.h:101:42: note: in definition of macro ‘NODE_DEPRECATED’
  101 |     __attribute__((deprecated(message))) declarator
      |                                          ^~~~~~~~~~
In file included from ../fs-ext.cc:27:
../../nan/nan.h: In function ‘v8::Local<v8::Value> Nan::MakeCallback(v8::Local<v8::Object>, const char*, int, v8::Local<v8::Value>*)’:
../../nan/nan.h:845:62: warning: ‘v8::Local<v8::Value> node::MakeCallback(v8::Isolate*, v8::Local<v8::Object>, const char*, int, v8::Local<v8::Value>*)’ is deprecated: Use MakeCallback(..., async_context) [-Wdeprecated-declarations]
  845 |         v8::Isolate::GetCurrent(), target, method, argc, argv);
      |                                                              ^
In file included from ../fs-ext.cc:20:
/root/.cache/node-gyp/12.18.1/include/node/node.h:168:50: note: declared here
  168 |                 NODE_EXTERN v8::Local<v8::Value> MakeCallback(
      |                                                  ^~~~~~~~~~~~
/root/.cache/node-gyp/12.18.1/include/node/node.h:101:42: note: in definition of macro ‘NODE_DEPRECATED’
  101 |     __attribute__((deprecated(message))) declarator
      |                                          ^~~~~~~~~~
In file included from ../fs-ext.cc:27:
../../nan/nan.h:845:62: warning: ‘v8::Local<v8::Value> node::MakeCallback(v8::Isolate*, v8::Local<v8::Object>, const char*, int, v8::Local<v8::Value>*)’ is deprecated: Use MakeCallback(..., async_context) [-Wdeprecated-declarations]
  845 |         v8::Isolate::GetCurrent(), target, method, argc, argv);
      |                                                              ^
In file included from ../fs-ext.cc:20:
/root/.cache/node-gyp/12.18.1/include/node/node.h:168:50: note: declared here
  168 |                 NODE_EXTERN v8::Local<v8::Value> MakeCallback(
      |                                                  ^~~~~~~~~~~~
/root/.cache/node-gyp/12.18.1/include/node/node.h:101:42: note: in definition of macro ‘NODE_DEPRECATED’
  101 |     __attribute__((deprecated(message))) declarator
      |                                          ^~~~~~~~~~
In file included from ../fs-ext.cc:27:
../../nan/nan.h: In constructor ‘Nan::Utf8String::Utf8String(v8::Local<v8::Value>)’:
../../nan/nan.h:890:53: error: no matching function for call to ‘v8::Value::ToString()’
  890 |       v8::Local<v8::String> string = from->ToString();
      |                                                     ^
In file included from /root/.cache/node-gyp/12.18.1/include/node/node.h:67,
                 from ../fs-ext.cc:20:
/root/.cache/node-gyp/12.18.1/include/node/v8.h:2668:44: note: candidate: ‘v8::MaybeLocal<v8::String> v8::Value::ToString(v8::Local<v8::Context>) const’
 2668 |   V8_WARN_UNUSED_RESULT MaybeLocal<String> ToString(
      |                                            ^~~~~~~~
/root/.cache/node-gyp/12.18.1/include/node/v8.h:2668:44: note:   candidate expects 1 argument, 0 provided
In file included from /root/.cache/node-gyp/12.18.1/include/node/v8-internal.h:14,
                 from /root/.cache/node-gyp/12.18.1/include/node/v8.h:27,
                 from /root/.cache/node-gyp/12.18.1/include/node/node.h:67,
                 from ../fs-ext.cc:20:
/root/.cache/node-gyp/12.18.1/include/node/v8.h:2684:31: note: candidate: ‘v8::Local<v8::String> v8::Value::ToString(v8::Isolate*) const’
 2684 |                 Local<String> ToString(Isolate* isolate) const);
      |                               ^~~~~~~~
/root/.cache/node-gyp/12.18.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
  328 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
/root/.cache/node-gyp/12.18.1/include/node/v8.h:2684:31: note:   candidate expects 1 argument, 0 provided
 2684 |                 Local<String> ToString(Isolate* isolate) const);
      |                               ^~~~~~~~
/root/.cache/node-gyp/12.18.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
  328 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
In file included from ../fs-ext.cc:27:
../../nan/nan.h:900:37: error: cannot convert ‘char*’ to ‘v8::Isolate*’
  900 |         length_ = string->WriteUtf8(str_, static_cast<int>(len), 0, flags);
      |                                     ^~~~
      |                                     |
      |                                     char*
In file included from /root/.cache/node-gyp/12.18.1/include/node/node.h:67,
                 from ../fs-ext.cc:20:
/root/.cache/node-gyp/12.18.1/include/node/v8.h:2878:26: note:   initializing argument 1 of ‘int v8::String::WriteUtf8(v8::Isolate*, char*, int, int*, int) const’
 2878 |   int WriteUtf8(Isolate* isolate, char* buffer, int length = -1,
      |                 ~~~~~~~~~^~~~~~~
In file included from ../fs-ext.cc:27:
../../nan/nan.h: In member function ‘bool Nan::Callback::operator==(const Nan::Callback&) const’:
../../nan/nan.h:1371:61: warning: ‘v8::Local<v8::Value> v8::Object::Get(uint32_t)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
 1371 |     v8::Local<v8::Value> a = New(handle)->Get(kCallbackIndex);
      |                                                             ^
In file included from /root/.cache/node-gyp/12.18.1/include/node/v8-internal.h:14,
                 from /root/.cache/node-gyp/12.18.1/include/node/v8.h:27,
                 from /root/.cache/node-gyp/12.18.1/include/node/node.h:67,
                 from ../fs-ext.cc:20:
/root/.cache/node-gyp/12.18.1/include/node/v8.h:3557:51: note: declared here
 3557 |   V8_DEPRECATED("Use maybe version", Local<Value> Get(uint32_t index));
      |                                                   ^~~
/root/.cache/node-gyp/12.18.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
  328 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
In file included from ../fs-ext.cc:27:
../../nan/nan.h:1372:67: warning: ‘v8::Local<v8::Value> v8::Object::Get(uint32_t)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
 1372 |     v8::Local<v8::Value> b = New(other.handle)->Get(kCallbackIndex);
      |                                                                   ^
In file included from /root/.cache/node-gyp/12.18.1/include/node/v8-internal.h:14,
                 from /root/.cache/node-gyp/12.18.1/include/node/v8.h:27,
                 from /root/.cache/node-gyp/12.18.1/include/node/node.h:67,
                 from ../fs-ext.cc:20:
/root/.cache/node-gyp/12.18.1/include/node/v8.h:3557:51: note: declared here
 3557 |   V8_DEPRECATED("Use maybe version", Local<Value> Get(uint32_t index));
      |                                                   ^~~
/root/.cache/node-gyp/12.18.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
  328 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
In file included from ../fs-ext.cc:27:
../../nan/nan.h: In member function ‘v8::Local<v8::Function> Nan::Callback::GetFunction() const’:
../../nan/nan.h:1403:56: warning: ‘v8::Local<v8::Value> v8::Object::Get(uint32_t)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
 1403 |     return scope.Escape(New(handle)->Get(kCallbackIndex)
      |                                                        ^
In file included from /root/.cache/node-gyp/12.18.1/include/node/v8-internal.h:14,
                 from /root/.cache/node-gyp/12.18.1/include/node/v8.h:27,
                 from /root/.cache/node-gyp/12.18.1/include/node/node.h:67,
                 from ../fs-ext.cc:20:
/root/.cache/node-gyp/12.18.1/include/node/v8.h:3557:51: note: declared here
 3557 |   V8_DEPRECATED("Use maybe version", Local<Value> Get(uint32_t index));
      |                                                   ^~~
/root/.cache/node-gyp/12.18.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
  328 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
In file included from ../fs-ext.cc:27:
../../nan/nan.h: In member function ‘bool Nan::Callback::IsEmpty() const’:
../../nan/nan.h:1409:43: warning: ‘v8::Local<v8::Value> v8::Object::Get(uint32_t)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
 1409 |     return New(handle)->Get(kCallbackIndex)->IsUndefined();
      |                                           ^
In file included from /root/.cache/node-gyp/12.18.1/include/node/v8-internal.h:14,
                 from /root/.cache/node-gyp/12.18.1/include/node/v8.h:27,
                 from /root/.cache/node-gyp/12.18.1/include/node/node.h:67,
                 from ../fs-ext.cc:20:
/root/.cache/node-gyp/12.18.1/include/node/v8.h:3557:51: note: declared here
 3557 |   V8_DEPRECATED("Use maybe version", Local<Value> Get(uint32_t index));
      |                                                   ^~~
/root/.cache/node-gyp/12.18.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
  328 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
In file included from ../fs-ext.cc:27:
../../nan/nan.h: In member function ‘v8::Local<v8::Value> Nan::Callback::Call_(v8::Isolate*, v8::Local<v8::Object>, int, v8::Local<v8::Value>*) const’:
../../nan/nan.h:1447:27: warning: ‘v8::Local<v8::Value> v8::Object::Get(uint32_t)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
 1447 |         Get(kCallbackIndex).As<v8::Function>();
      |                           ^
In file included from /root/.cache/node-gyp/12.18.1/include/node/v8-internal.h:14,
                 from /root/.cache/node-gyp/12.18.1/include/node/v8.h:27,
                 from /root/.cache/node-gyp/12.18.1/include/node/node.h:67,
                 from ../fs-ext.cc:20:
/root/.cache/node-gyp/12.18.1/include/node/v8.h:3557:51: note: declared here
 3557 |   V8_DEPRECATED("Use maybe version", Local<Value> Get(uint32_t index));
      |                                                   ^~~
/root/.cache/node-gyp/12.18.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
  328 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
In file included from ../fs-ext.cc:27:
../../nan/nan.h:1463:5: warning: ‘v8::Local<v8::Value> node::MakeCallback(v8::Isolate*, v8::Local<v8::Object>, v8::Local<v8::Function>, int, v8::Local<v8::Value>*)’ is deprecated: Use MakeCallback(..., async_context) [-Wdeprecated-declarations]
 1463 |     ));
      |     ^
In file included from ../fs-ext.cc:20:
/root/.cache/node-gyp/12.18.1/include/node/node.h:182:50: note: declared here
  182 |                 NODE_EXTERN v8::Local<v8::Value> MakeCallback(
      |                                                  ^~~~~~~~~~~~
/root/.cache/node-gyp/12.18.1/include/node/node.h:101:42: note: in definition of macro ‘NODE_DEPRECATED’
  101 |     __attribute__((deprecated(message))) declarator
      |                                          ^~~~~~~~~~
In file included from ../fs-ext.cc:27:
../../nan/nan.h:1463:5: warning: ‘v8::Local<v8::Value> node::MakeCallback(v8::Isolate*, v8::Local<v8::Object>, v8::Local<v8::Function>, int, v8::Local<v8::Value>*)’ is deprecated: Use MakeCallback(..., async_context) [-Wdeprecated-declarations]
 1463 |     ));
      |     ^
In file included from ../fs-ext.cc:20:
/root/.cache/node-gyp/12.18.1/include/node/node.h:182:50: note: declared here
  182 |                 NODE_EXTERN v8::Local<v8::Value> MakeCallback(
      |                                                  ^~~~~~~~~~~~
/root/.cache/node-gyp/12.18.1/include/node/node.h:101:42: note: in definition of macro ‘NODE_DEPRECATED’
  101 |     __attribute__((deprecated(message))) declarator
      |                                          ^~~~~~~~~~
In file included from ../fs-ext.cc:27:
../../nan/nan.h: In member function ‘void Nan::AsyncWorker::SaveToPersistent(const char*, const v8::Local<v8::Value>&)’:
../../nan/nan.h:1518:64: warning: ‘bool v8::Object::Set(v8::Local<v8::Value>, v8::Local<v8::Value>)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
 1518 |     New(persistentHandle)->Set(New(key).ToLocalChecked(), value);
      |                                                                ^
In file included from /root/.cache/node-gyp/12.18.1/include/node/v8-internal.h:14,
                 from /root/.cache/node-gyp/12.18.1/include/node/v8.h:27,
                 from /root/.cache/node-gyp/12.18.1/include/node/node.h:67,
                 from ../fs-ext.cc:20:
/root/.cache/node-gyp/12.18.1/include/node/v8.h:3499:22: note: declared here
 3499 |                 bool Set(Local<Value> key, Local<Value> value));
      |                      ^~~
/root/.cache/node-gyp/12.18.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
  328 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
In file included from ../fs-ext.cc:27:
../../nan/nan.h: In member function ‘void Nan::AsyncWorker::SaveToPersistent(const v8::Local<v8::String>&, const v8::Local<v8::Value>&)’:
../../nan/nan.h:1524:42: warning: ‘bool v8::Object::Set(v8::Local<v8::Value>, v8::Local<v8::Value>)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
 1524 |     New(persistentHandle)->Set(key, value);
      |                                          ^
In file included from /root/.cache/node-gyp/12.18.1/include/node/v8-internal.h:14,
                 from /root/.cache/node-gyp/12.18.1/include/node/v8.h:27,
                 from /root/.cache/node-gyp/12.18.1/include/node/node.h:67,
                 from ../fs-ext.cc:20:
/root/.cache/node-gyp/12.18.1/include/node/v8.h:3499:22: note: declared here
 3499 |                 bool Set(Local<Value> key, Local<Value> value));
      |                      ^~~
/root/.cache/node-gyp/12.18.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
  328 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
In file included from ../fs-ext.cc:27:
../../nan/nan.h: In member function ‘void Nan::AsyncWorker::SaveToPersistent(uint32_t, const v8::Local<v8::Value>&)’:
../../nan/nan.h:1530:44: warning: ‘bool v8::Object::Set(uint32_t, v8::Local<v8::Value>)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
 1530 |     New(persistentHandle)->Set(index, value);
      |                                            ^
In file included from /root/.cache/node-gyp/12.18.1/include/node/v8-internal.h:14,
                 from /root/.cache/node-gyp/12.18.1/include/node/v8.h:27,
                 from /root/.cache/node-gyp/12.18.1/include/node/node.h:67,
                 from ../fs-ext.cc:20:
/root/.cache/node-gyp/12.18.1/include/node/v8.h:3508:22: note: declared here
 3508 |                 bool Set(uint32_t index, Local<Value> value));
      |                      ^~~
/root/.cache/node-gyp/12.18.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
  328 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
In file included from ../fs-ext.cc:27:
../../nan/nan.h: In member function ‘v8::Local<v8::Value> Nan::AsyncWorker::GetFromPersistent(const char*) const’:
../../nan/nan.h:1536:61: warning: ‘v8::Local<v8::Value> v8::Object::Get(v8::Local<v8::Value>)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
 1536 |         New(persistentHandle)->Get(New(key).ToLocalChecked()));
      |                                                             ^
In file included from /root/.cache/node-gyp/12.18.1/include/node/v8-internal.h:14,
                 from /root/.cache/node-gyp/12.18.1/include/node/v8.h:27,
                 from /root/.cache/node-gyp/12.18.1/include/node/node.h:67,
                 from ../fs-ext.cc:20:
/root/.cache/node-gyp/12.18.1/include/node/v8.h:3553:51: note: declared here
 3553 |   V8_DEPRECATED("Use maybe version", Local<Value> Get(Local<Value> key));
      |                                                   ^~~
/root/.cache/node-gyp/12.18.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
  328 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
In file included from ../fs-ext.cc:27:
../../nan/nan.h: In member function ‘v8::Local<v8::Value> Nan::AsyncWorker::GetFromPersistent(const v8::Local<v8::String>&) const’:
../../nan/nan.h:1542:55: warning: ‘v8::Local<v8::Value> v8::Object::Get(v8::Local<v8::Value>)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
 1542 |     return scope.Escape(New(persistentHandle)->Get(key));
      |                                                       ^
In file included from /root/.cache/node-gyp/12.18.1/include/node/v8-internal.h:14,
                 from /root/.cache/node-gyp/12.18.1/include/node/v8.h:27,
                 from /root/.cache/node-gyp/12.18.1/include/node/node.h:67,
                 from ../fs-ext.cc:20:
/root/.cache/node-gyp/12.18.1/include/node/v8.h:3553:51: note: declared here
 3553 |   V8_DEPRECATED("Use maybe version", Local<Value> Get(Local<Value> key));
      |                                                   ^~~
/root/.cache/node-gyp/12.18.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
  328 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
In file included from ../fs-ext.cc:27:
../../nan/nan.h: In member function ‘v8::Local<v8::Value> Nan::AsyncWorker::GetFromPersistent(uint32_t) const’:
../../nan/nan.h:1547:57: warning: ‘v8::Local<v8::Value> v8::Object::Get(uint32_t)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
 1547 |     return scope.Escape(New(persistentHandle)->Get(index));
      |                                                         ^
In file included from /root/.cache/node-gyp/12.18.1/include/node/v8-internal.h:14,
                 from /root/.cache/node-gyp/12.18.1/include/node/v8.h:27,
                 from /root/.cache/node-gyp/12.18.1/include/node/node.h:67,
                 from ../fs-ext.cc:20:
/root/.cache/node-gyp/12.18.1/include/node/v8.h:3557:51: note: declared here
 3557 |   V8_DEPRECATED("Use maybe version", Local<Value> Get(uint32_t index));
      |                                                   ^~~
/root/.cache/node-gyp/12.18.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
  328 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
In file included from ../fs-ext.cc:27:
../../nan/nan.h: In function ‘void Nan::AsyncQueueWorker(Nan::AsyncWorker*)’:
../../nan/nan.h:1706:62: 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]
 1706 |     , reinterpret_cast<uv_after_work_cb>(AsyncExecuteComplete)
      |                                                              ^
In file included from /usr/include/c++/9/cassert:44,
                 from /root/.cache/node-gyp/12.18.1/include/node/node_object_wrap.h:26,
                 from ../../nan/nan.h:49,
                 from ../fs-ext.cc:27:
../../nan/nan_object_wrap.h: In destructor ‘virtual Nan::ObjectWrap::~ObjectWrap()’:
../../nan/nan_object_wrap.h:24:25: error: ‘class Nan::Persistent<v8::Object>’ has no member named ‘IsNearDeath’
   24 |     assert(persistent().IsNearDeath());
      |                         ^~~~~~~~~~~
In file included from ../../nan/nan.h:2192,
                 from ../fs-ext.cc:27:
../../nan/nan_object_wrap.h: In member function ‘void Nan::ObjectWrap::MakeWeak()’:
../../nan/nan_object_wrap.h:67:34: warning: ‘void v8::PersistentBase<T>::MarkIndependent() [with T = v8::Object]’ is deprecated: 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]
   67 |     persistent().MarkIndependent();
      |                                  ^
In file included from /root/.cache/node-gyp/12.18.1/include/node/v8-internal.h:14,
                 from /root/.cache/node-gyp/12.18.1/include/node/v8.h:27,
                 from /root/.cache/node-gyp/12.18.1/include/node/node.h:67,
                 from ../fs-ext.cc:20:
/root/.cache/node-gyp/12.18.1/include/node/v8.h:570:22: note: declared here
  570 |       V8_INLINE void MarkIndependent());
      |                      ^~~~~~~~~~~~~~~
/root/.cache/node-gyp/12.18.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
  328 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
In file included from /usr/include/c++/9/cassert:44,
                 from /root/.cache/node-gyp/12.18.1/include/node/node_object_wrap.h:26,
                 from ../../nan/nan.h:49,
                 from ../fs-ext.cc:27:
../../nan/nan_object_wrap.h: In static member function ‘static void Nan::ObjectWrap::WeakCallback(const v8::WeakCallbackInfo<Nan::ObjectWrap>&)’:
../../nan/nan_object_wrap.h:124:26: error: ‘class Nan::Persistent<v8::Object>’ has no member named ‘IsNearDeath’
  124 |     assert(wrap->handle_.IsNearDeath());
      |                          ^~~~~~~~~~~
../fs-ext.cc: In function ‘void EIO_After(uv_work_t*)’:
../fs-ext.cc:108:20: warning: ‘v8::Local<v8::Value> Nan::NanErrnoException(int, const char*, const char*, const char*)’ is deprecated [-Wdeprecated-declarations]
  108 |     argv[0] = Nan::NanErrnoException(store_data->error);
      |                    ^~~~~~~~~~~~~~~~~
In file included from ../fs-ext.cc:27:
../../nan/nan.h:862:46: note: declared here
  862 |   NAN_DEPRECATED inline v8::Local<v8::Value> NanErrnoException(
      |                                              ^~~~~~~~~~~~~~~~~
../fs-ext.cc:108:55: warning: ‘v8::Local<v8::Value> Nan::NanErrnoException(int, const char*, const char*, const char*)’ is deprecated [-Wdeprecated-declarations]
  108 |     argv[0] = Nan::NanErrnoException(store_data->error);
      |                                                       ^
In file included from ../fs-ext.cc:27:
../../nan/nan.h:862:46: note: declared here
  862 |   NAN_DEPRECATED inline v8::Local<v8::Value> NanErrnoException(
      |                                              ^~~~~~~~~~~~~~~~~
../fs-ext.cc:108:55: warning: ‘v8::Local<v8::Value> Nan::NanErrnoException(int, const char*, const char*, const char*)’ is deprecated [-Wdeprecated-declarations]
  108 |     argv[0] = Nan::NanErrnoException(store_data->error);
      |                                                       ^
In file included from ../fs-ext.cc:27:
../../nan/nan.h:862:46: note: declared here
  862 |   NAN_DEPRECATED inline v8::Local<v8::Value> NanErrnoException(
      |                                              ^~~~~~~~~~~~~~~~~
../fs-ext.cc:129:140: warning: ‘bool v8::Object::Set(v8::Local<v8::Value>, v8::Local<v8::Value>)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
  129 |         statvfs_result->Set(Nan::New<String>(f_namemax_symbol), Nan::New<Integer>(static_cast<uint32_t>(store_data->statvfs_buf.f_namemax)));
      |                                                                                                                                            ^
In file included from /root/.cache/node-gyp/12.18.1/include/node/v8-internal.h:14,
                 from /root/.cache/node-gyp/12.18.1/include/node/v8.h:27,
                 from /root/.cache/node-gyp/12.18.1/include/node/node.h:67,
                 from ../fs-ext.cc:20:
/root/.cache/node-gyp/12.18.1/include/node/v8.h:3499:22: note: declared here
 3499 |                 bool Set(Local<Value> key, Local<Value> value));
      |                      ^~~
/root/.cache/node-gyp/12.18.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
  328 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
../fs-ext.cc:130:136: warning: ‘bool v8::Object::Set(v8::Local<v8::Value>, v8::Local<v8::Value>)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
  130 |         statvfs_result->Set(Nan::New<String>(f_bsize_symbol), Nan::New<Integer>(static_cast<uint32_t>(store_data->statvfs_buf.f_bsize)));
      |                                                                                                                                        ^
In file included from /root/.cache/node-gyp/12.18.1/include/node/v8-internal.h:14,
                 from /root/.cache/node-gyp/12.18.1/include/node/v8.h:27,
                 from /root/.cache/node-gyp/12.18.1/include/node/node.h:67,
                 from ../fs-ext.cc:20:
/root/.cache/node-gyp/12.18.1/include/node/v8.h:3499:22: note: declared here
 3499 |                 bool Set(Local<Value> key, Local<Value> value));
      |                      ^~~
/root/.cache/node-gyp/12.18.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
  328 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
../fs-ext.cc:131:138: warning: ‘bool v8::Object::Set(v8::Local<v8::Value>, v8::Local<v8::Value>)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
  131 |         statvfs_result->Set(Nan::New<String>(f_frsize_symbol), Nan::New<Integer>(static_cast<uint32_t>(store_data->statvfs_buf.f_frsize)));
      |                                                                                                                                          ^
In file included from /root/.cache/node-gyp/12.18.1/include/node/v8-internal.h:14,
                 from /root/.cache/node-gyp/12.18.1/include/node/v8.h:27,
                 from /root/.cache/node-gyp/12.18.1/include/node/node.h:67,
                 from ../fs-ext.cc:20:
/root/.cache/node-gyp/12.18.1/include/node/v8.h:3499:22: note: declared here
 3499 |                 bool Set(Local<Value> key, Local<Value> value));
      |                      ^~~
/root/.cache/node-gyp/12.18.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
  328 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
../fs-ext.cc:132:114: warning: ‘bool v8::Object::Set(v8::Local<v8::Value>, v8::Local<v8::Value>)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
  132 |         statvfs_result->Set(Nan::New<String>(f_blocks_symbol), Nan::New<Number>(store_data->statvfs_buf.f_blocks));
      |                                                                                                                  ^
In file included from /root/.cache/node-gyp/12.18.1/include/node/v8-internal.h:14,
                 from /root/.cache/node-gyp/12.18.1/include/node/v8.h:27,
                 from /root/.cache/node-gyp/12.18.1/include/node/node.h:67,
                 from ../fs-ext.cc:20:
/root/.cache/node-gyp/12.18.1/include/node/v8.h:3499:22: note: declared here
 3499 |                 bool Set(Local<Value> key, Local<Value> value));
      |                      ^~~
/root/.cache/node-gyp/12.18.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
  328 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
../fs-ext.cc:133:114: warning: ‘bool v8::Object::Set(v8::Local<v8::Value>, v8::Local<v8::Value>)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
  133 |         statvfs_result->Set(Nan::New<String>(f_bavail_symbol), Nan::New<Number>(store_data->statvfs_buf.f_bavail));
      |                                                                                                                  ^
In file included from /root/.cache/node-gyp/12.18.1/include/node/v8-internal.h:14,
                 from /root/.cache/node-gyp/12.18.1/include/node/v8.h:27,
                 from /root/.cache/node-gyp/12.18.1/include/node/node.h:67,
                 from ../fs-ext.cc:20:
/root/.cache/node-gyp/12.18.1/include/node/v8.h:3499:22: note: declared here
 3499 |                 bool Set(Local<Value> key, Local<Value> value));
      |                      ^~~
/root/.cache/node-gyp/12.18.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
  328 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
../fs-ext.cc:134:112: warning: ‘bool v8::Object::Set(v8::Local<v8::Value>, v8::Local<v8::Value>)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
  134 |         statvfs_result->Set(Nan::New<String>(f_bfree_symbol), Nan::New<Number>(store_data->statvfs_buf.f_bfree));
      |                                                                                                                ^
In file included from /root/.cache/node-gyp/12.18.1/include/node/v8-internal.h:14,
                 from /root/.cache/node-gyp/12.18.1/include/node/v8.h:27,
                 from /root/.cache/node-gyp/12.18.1/include/node/node.h:67,
                 from ../fs-ext.cc:20:
/root/.cache/node-gyp/12.18.1/include/node/v8.h:3499:22: note: declared here
 3499 |                 bool Set(Local<Value> key, Local<Value> value));
      |                      ^~~
/root/.cache/node-gyp/12.18.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
  328 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
../fs-ext.cc:135:112: warning: ‘bool v8::Object::Set(v8::Local<v8::Value>, v8::Local<v8::Value>)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
  135 |         statvfs_result->Set(Nan::New<String>(f_files_symbol), Nan::New<Number>(store_data->statvfs_buf.f_files));
      |                                                                                                                ^
In file included from /root/.cache/node-gyp/12.18.1/include/node/v8-internal.h:14,
                 from /root/.cache/node-gyp/12.18.1/include/node/v8.h:27,
                 from /root/.cache/node-gyp/12.18.1/include/node/node.h:67,
                 from ../fs-ext.cc:20:
/root/.cache/node-gyp/12.18.1/include/node/v8.h:3499:22: note: declared here
 3499 |                 bool Set(Local<Value> key, Local<Value> value));
      |                      ^~~
/root/.cache/node-gyp/12.18.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
  328 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
../fs-ext.cc:136:114: warning: ‘bool v8::Object::Set(v8::Local<v8::Value>, v8::Local<v8::Value>)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
  136 |         statvfs_result->Set(Nan::New<String>(f_favail_symbol), Nan::New<Number>(store_data->statvfs_buf.f_favail));
      |                                                                                                                  ^
In file included from /root/.cache/node-gyp/12.18.1/include/node/v8-internal.h:14,
                 from /root/.cache/node-gyp/12.18.1/include/node/v8.h:27,
                 from /root/.cache/node-gyp/12.18.1/include/node/node.h:67,
                 from ../fs-ext.cc:20:
/root/.cache/node-gyp/12.18.1/include/node/v8.h:3499:22: note: declared here
 3499 |                 bool Set(Local<Value> key, Local<Value> value));
      |                      ^~~
/root/.cache/node-gyp/12.18.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
  328 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
../fs-ext.cc:137:112: warning: ‘bool v8::Object::Set(v8::Local<v8::Value>, v8::Local<v8::Value>)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
  137 |         statvfs_result->Set(Nan::New<String>(f_ffree_symbol), Nan::New<Number>(store_data->statvfs_buf.f_ffree));
      |                                                                                                                ^
In file included from /root/.cache/node-gyp/12.18.1/include/node/v8-internal.h:14,
                 from /root/.cache/node-gyp/12.18.1/include/node/v8.h:27,
                 from /root/.cache/node-gyp/12.18.1/include/node/node.h:67,
                 from ../fs-ext.cc:20:
/root/.cache/node-gyp/12.18.1/include/node/v8.h:3499:22: note: declared here
 3499 |                 bool Set(Local<Value> key, Local<Value> value));
      |                      ^~~
/root/.cache/node-gyp/12.18.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
  328 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
../fs-ext.cc: In function ‘Nan::NAN_METHOD_RETURN_TYPE Flock(Nan::NAN_METHOD_ARGS_TYPE)’:
../fs-ext.cc:281:40: error: no matching function for call to ‘v8::Value::Int32Value()’
  281 |   flock_data->fd = info[0]->Int32Value();
      |                                        ^
In file included from /root/.cache/node-gyp/12.18.1/include/node/node.h:67,
                 from ../fs-ext.cc:20:
/root/.cache/node-gyp/12.18.1/include/node/v8.h:2709:40: note: candidate: ‘v8::Maybe<int> v8::Value::Int32Value(v8::Local<v8::Context>) const’
 2709 |   V8_WARN_UNUSED_RESULT Maybe<int32_t> Int32Value(Local<Context> context) const;
      |                                        ^~~~~~~~~~
/root/.cache/node-gyp/12.18.1/include/node/v8.h:2709:40: note:   candidate expects 1 argument, 0 provided
../fs-ext.cc:282:42: error: no matching function for call to ‘v8::Value::Int32Value()’
  282 |   flock_data->oper = info[1]->Int32Value();
      |                                          ^
In file included from /root/.cache/node-gyp/12.18.1/include/node/node.h:67,
                 from ../fs-ext.cc:20:
/root/.cache/node-gyp/12.18.1/include/node/v8.h:2709:40: note: candidate: ‘v8::Maybe<int> v8::Value::Int32Value(v8::Local<v8::Context>) const’
 2709 |   V8_WARN_UNUSED_RESULT Maybe<int32_t> Int32Value(Local<Context> context) const;
      |                                        ^~~~~~~~~~
/root/.cache/node-gyp/12.18.1/include/node/v8.h:2709:40: note:   candidate expects 1 argument, 0 provided
../fs-ext.cc:288:72: 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]
  288 |     uv_queue_work(uv_default_loop(), req, EIO_Flock, (uv_after_work_cb)EIO_After);
      |                                                                        ^~~~~~~~~
../fs-ext.cc:297:45: warning: ‘v8::Local<v8::Value> Nan::NanErrnoException(int, const char*, const char*, const char*)’ is deprecated [-Wdeprecated-declarations]
  297 |     if (i != 0) return Nan::ThrowError(Nan::NanErrnoException(errno));
      |                                             ^~~~~~~~~~~~~~~~~
In file included from ../fs-ext.cc:27:
../../nan/nan.h:862:46: note: declared here
  862 |   NAN_DEPRECATED inline v8::Local<v8::Value> NanErrnoException(
      |                                              ^~~~~~~~~~~~~~~~~
../fs-ext.cc:297:68: warning: ‘v8::Local<v8::Value> Nan::NanErrnoException(int, const char*, const char*, const char*)’ is deprecated [-Wdeprecated-declarations]
  297 |     if (i != 0) return Nan::ThrowError(Nan::NanErrnoException(errno));
      |                                                                    ^
In file included from ../fs-ext.cc:27:
../../nan/nan.h:862:46: note: declared here
  862 |   NAN_DEPRECATED inline v8::Local<v8::Value> NanErrnoException(
      |                                              ^~~~~~~~~~~~~~~~~
../fs-ext.cc:297:68: warning: ‘v8::Local<v8::Value> Nan::NanErrnoException(int, const char*, const char*, const char*)’ is deprecated [-Wdeprecated-declarations]
  297 |     if (i != 0) return Nan::ThrowError(Nan::NanErrnoException(errno));
      |                                                                    ^
In file included from ../fs-ext.cc:27:
../../nan/nan.h:862:46: note: declared here
  862 |   NAN_DEPRECATED inline v8::Local<v8::Value> NanErrnoException(
      |                                              ^~~~~~~~~~~~~~~~~
../fs-ext.cc: In function ‘Nan::NAN_METHOD_RETURN_TYPE Seek(Nan::NAN_METHOD_ARGS_TYPE)’:
../fs-ext.cc:332:32: error: no matching function for call to ‘v8::Value::Int32Value()’
  332 |   int fd = info[0]->Int32Value();
      |                                ^
In file included from /root/.cache/node-gyp/12.18.1/include/node/node.h:67,
                 from ../fs-ext.cc:20:
/root/.cache/node-gyp/12.18.1/include/node/v8.h:2709:40: note: candidate: ‘v8::Maybe<int> v8::Value::Int32Value(v8::Local<v8::Context>) const’
 2709 |   V8_WARN_UNUSED_RESULT Maybe<int32_t> Int32Value(Local<Context> context) const;
      |                                        ^~~~~~~~~~
/root/.cache/node-gyp/12.18.1/include/node/v8.h:2709:40: note:   candidate expects 1 argument, 0 provided
../fs-ext.cc:317:74: error: no matching function for call to ‘v8::Value::NumberValue()’
  317 |   if (!(a)->IsUndefined() && !(a)->IsNull() && !IsInt64((a)->NumberValue())) { \
      |                                                                          ^
../fs-ext.cc:333:3: note: in expansion of macro ‘ASSERT_OFFSET’
  333 |   ASSERT_OFFSET(info[1]);
      |   ^~~~~~~~~~~~~
In file included from /root/.cache/node-gyp/12.18.1/include/node/node.h:67,
                 from ../fs-ext.cc:20:
/root/.cache/node-gyp/12.18.1/include/node/v8.h:2704:39: note: candidate: ‘v8::Maybe<double> v8::Value::NumberValue(v8::Local<v8::Context>) const’
 2704 |   V8_WARN_UNUSED_RESULT Maybe<double> NumberValue(Local<Context> context) const;
      |                                       ^~~~~~~~~~~
/root/.cache/node-gyp/12.18.1/include/node/v8.h:2704:39: note:   candidate expects 1 argument, 0 provided
../fs-ext.cc:320:60: error: no matching function for call to ‘v8::Value::IntegerValue()’
  320 | #define GET_OFFSET(a) ((a)->IsNumber() ? (a)->IntegerValue() : -1)
      |                                                            ^
../fs-ext.cc:334:16: note: in expansion of macro ‘GET_OFFSET’
  334 |   off_t offs = GET_OFFSET(info[1]);
      |                ^~~~~~~~~~
In file included from /root/.cache/node-gyp/12.18.1/include/node/node.h:67,
                 from ../fs-ext.cc:20:
/root/.cache/node-gyp/12.18.1/include/node/v8.h:2705:40: note: candidate: ‘v8::Maybe<long int> v8::Value::IntegerValue(v8::Local<v8::Context>) const’
 2705 |   V8_WARN_UNUSED_RESULT Maybe<int64_t> IntegerValue(
      |                                        ^~~~~~~~~~~~
/root/.cache/node-gyp/12.18.1/include/node/v8.h:2705:40: note:   candidate expects 1 argument, 0 provided
../fs-ext.cc:335:36: error: no matching function for call to ‘v8::Value::Int32Value()’
  335 |   int whence = info[2]->Int32Value();
      |                                    ^
In file included from /root/.cache/node-gyp/12.18.1/include/node/node.h:67,
                 from ../fs-ext.cc:20:
/root/.cache/node-gyp/12.18.1/include/node/v8.h:2709:40: note: candidate: ‘v8::Maybe<int> v8::Value::Int32Value(v8::Local<v8::Context>) const’
 2709 |   V8_WARN_UNUSED_RESULT Maybe<int32_t> Int32Value(Local<Context> context) const;
      |                                        ^~~~~~~~~~
/root/.cache/node-gyp/12.18.1/include/node/v8.h:2709:40: note:   candidate expects 1 argument, 0 provided
../fs-ext.cc:339:56: warning: ‘v8::Local<v8::Value> Nan::NanErrnoException(int, const char*, const char*, const char*)’ is deprecated [-Wdeprecated-declarations]
  339 |     if (offs_result == -1) return Nan::ThrowError(Nan::NanErrnoException(errno));
      |                                                        ^~~~~~~~~~~~~~~~~
In file included from ../fs-ext.cc:27:
../../nan/nan.h:862:46: note: declared here
  862 |   NAN_DEPRECATED inline v8::Local<v8::Value> NanErrnoException(
      |                                              ^~~~~~~~~~~~~~~~~
../fs-ext.cc:339:79: warning: ‘v8::Local<v8::Value> Nan::NanErrnoException(int, const char*, const char*, const char*)’ is deprecated [-Wdeprecated-declarations]
  339 |     if (offs_result == -1) return Nan::ThrowError(Nan::NanErrnoException(errno));
      |                                                                               ^
In file included from ../fs-ext.cc:27:
../../nan/nan.h:862:46: note: declared here
  862 |   NAN_DEPRECATED inline v8::Local<v8::Value> NanErrnoException(
      |                                              ^~~~~~~~~~~~~~~~~
../fs-ext.cc:339:79: warning: ‘v8::Local<v8::Value> Nan::NanErrnoException(int, const char*, const char*, const char*)’ is deprecated [-Wdeprecated-declarations]
  339 |     if (offs_result == -1) return Nan::ThrowError(Nan::NanErrnoException(errno));
      |                                                                               ^
In file included from ../fs-ext.cc:27:
../../nan/nan.h:862:46: note: declared here
  862 |   NAN_DEPRECATED inline v8::Local<v8::Value> NanErrnoException(
      |                                              ^~~~~~~~~~~~~~~~~
../fs-ext.cc:354:69: 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]
  354 |   uv_queue_work(uv_default_loop(), req, EIO_Seek, (uv_after_work_cb)EIO_After);
      |                                                                     ^~~~~~~~~
../fs-ext.cc: In function ‘Nan::NAN_METHOD_RETURN_TYPE Fcntl(Nan::NAN_METHOD_ARGS_TYPE)’:
../fs-ext.cc:369:32: error: no matching function for call to ‘v8::Value::Int32Value()’
  369 |   int fd = info[0]->Int32Value();
      |                                ^
In file included from /root/.cache/node-gyp/12.18.1/include/node/node.h:67,
                 from ../fs-ext.cc:20:
/root/.cache/node-gyp/12.18.1/include/node/v8.h:2709:40: note: candidate: ‘v8::Maybe<int> v8::Value::Int32Value(v8::Local<v8::Context>) const’
 2709 |   V8_WARN_UNUSED_RESULT Maybe<int32_t> Int32Value(Local<Context> context) const;
      |                                        ^~~~~~~~~~
/root/.cache/node-gyp/12.18.1/include/node/v8.h:2709:40: note:   candidate expects 1 argument, 0 provided
../fs-ext.cc:370:33: error: no matching function for call to ‘v8::Value::Int32Value()’
  370 |   int cmd = info[1]->Int32Value();
      |                                 ^
In file included from /root/.cache/node-gyp/12.18.1/include/node/node.h:67,
                 from ../fs-ext.cc:20:
/root/.cache/node-gyp/12.18.1/include/node/v8.h:2709:40: note: candidate: ‘v8::Maybe<int> v8::Value::Int32Value(v8::Local<v8::Context>) const’
 2709 |   V8_WARN_UNUSED_RESULT Maybe<int32_t> Int32Value(Local<Context> context) const;
      |                                        ^~~~~~~~~~
/root/.cache/node-gyp/12.18.1/include/node/v8.h:2709:40: note:   candidate expects 1 argument, 0 provided
../fs-ext.cc:371:33: error: no matching function for call to ‘v8::Value::Int32Value()’
  371 |   int arg = info[2]->Int32Value();
      |                                 ^
In file included from /root/.cache/node-gyp/12.18.1/include/node/node.h:67,
                 from ../fs-ext.cc:20:
/root/.cache/node-gyp/12.18.1/include/node/v8.h:2709:40: note: candidate: ‘v8::Maybe<int> v8::Value::Int32Value(v8::Local<v8::Context>) const’
 2709 |   V8_WARN_UNUSED_RESULT Maybe<int32_t> Int32Value(Local<Context> context) const;
      |                                        ^~~~~~~~~~
/root/.cache/node-gyp/12.18.1/include/node/v8.h:2709:40: note:   candidate expects 1 argument, 0 provided
../fs-ext.cc:375:51: warning: ‘v8::Local<v8::Value> Nan::NanErrnoException(int, const char*, const char*, const char*)’ is deprecated [-Wdeprecated-declarations]
  375 |     if (result == -1) return Nan::ThrowError(Nan::NanErrnoException(errno));
      |                                                   ^~~~~~~~~~~~~~~~~
In file included from ../fs-ext.cc:27:
../../nan/nan.h:862:46: note: declared here
  862 |   NAN_DEPRECATED inline v8::Local<v8::Value> NanErrnoException(
      |                                              ^~~~~~~~~~~~~~~~~
../fs-ext.cc:375:74: warning: ‘v8::Local<v8::Value> Nan::NanErrnoException(int, const char*, const char*, const char*)’ is deprecated [-Wdeprecated-declarations]
  375 |     if (result == -1) return Nan::ThrowError(Nan::NanErrnoException(errno));
      |                                                                          ^
In file included from ../fs-ext.cc:27:
../../nan/nan.h:862:46: note: declared here
  862 |   NAN_DEPRECATED inline v8::Local<v8::Value> NanErrnoException(
      |                                              ^~~~~~~~~~~~~~~~~
../fs-ext.cc:375:74: warning: ‘v8::Local<v8::Value> Nan::NanErrnoException(int, const char*, const char*, const char*)’ is deprecated [-Wdeprecated-declarations]
  375 |     if (result == -1) return Nan::ThrowError(Nan::NanErrnoException(errno));
      |                                                                          ^
In file included from ../fs-ext.cc:27:
../../nan/nan.h:862:46: note: declared here
  862 |   NAN_DEPRECATED inline v8::Local<v8::Value> NanErrnoException(
      |                                              ^~~~~~~~~~~~~~~~~
../fs-ext.cc:390:70: 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]
  390 |   uv_queue_work(uv_default_loop(), req, EIO_Fcntl, (uv_after_work_cb)EIO_After);
      |                                                                      ^~~~~~~~~
../fs-ext.cc: In function ‘Nan::NAN_METHOD_RETURN_TYPE UTime(Nan::NAN_METHOD_ARGS_TYPE)’:
../fs-ext.cc:423:44: error: no matching function for call to ‘v8::Value::ToString()’
  423 |   String::Utf8Value path(info[0]->ToString());
      |                                            ^
In file included from /root/.cache/node-gyp/12.18.1/include/node/node.h:67,
                 from ../fs-ext.cc:20:
/root/.cache/node-gyp/12.18.1/include/node/v8.h:2668:44: note: candidate: ‘v8::MaybeLocal<v8::String> v8::Value::ToString(v8::Local<v8::Context>) const’
 2668 |   V8_WARN_UNUSED_RESULT MaybeLocal<String> ToString(
      |                                            ^~~~~~~~
/root/.cache/node-gyp/12.18.1/include/node/v8.h:2668:44: note:   candidate expects 1 argument, 0 provided
In file included from /root/.cache/node-gyp/12.18.1/include/node/v8-internal.h:14,
                 from /root/.cache/node-gyp/12.18.1/include/node/v8.h:27,
                 from /root/.cache/node-gyp/12.18.1/include/node/node.h:67,
                 from ../fs-ext.cc:20:
/root/.cache/node-gyp/12.18.1/include/node/v8.h:2684:31: note: candidate: ‘v8::Local<v8::String> v8::Value::ToString(v8::Isolate*) const’
 2684 |                 Local<String> ToString(Isolate* isolate) const);
      |                               ^~~~~~~~
/root/.cache/node-gyp/12.18.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
  328 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
/root/.cache/node-gyp/12.18.1/include/node/v8.h:2684:31: note:   candidate expects 1 argument, 0 provided
 2684 |                 Local<String> ToString(Isolate* isolate) const);
      |                               ^~~~~~~~
/root/.cache/node-gyp/12.18.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
  328 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
../fs-ext.cc:424:40: error: no matching function for call to ‘v8::Value::IntegerValue()’
  424 |   time_t atime = info[1]->IntegerValue();
      |                                        ^
In file included from /root/.cache/node-gyp/12.18.1/include/node/node.h:67,
                 from ../fs-ext.cc:20:
/root/.cache/node-gyp/12.18.1/include/node/v8.h:2705:40: note: candidate: ‘v8::Maybe<long int> v8::Value::IntegerValue(v8::Local<v8::Context>) const’
 2705 |   V8_WARN_UNUSED_RESULT Maybe<int64_t> IntegerValue(
      |                                        ^~~~~~~~~~~~
/root/.cache/node-gyp/12.18.1/include/node/v8.h:2705:40: note:   candidate expects 1 argument, 0 provided
../fs-ext.cc:425:40: error: no matching function for call to ‘v8::Value::IntegerValue()’
  425 |   time_t mtime = info[2]->IntegerValue();
      |                                        ^
In file included from /root/.cache/node-gyp/12.18.1/include/node/node.h:67,
                 from ../fs-ext.cc:20:
/root/.cache/node-gyp/12.18.1/include/node/v8.h:2705:40: note: candidate: ‘v8::Maybe<long int> v8::Value::IntegerValue(v8::Local<v8::Context>) const’
 2705 |   V8_WARN_UNUSED_RESULT Maybe<int64_t> IntegerValue(
      |                                        ^~~~~~~~~~~~
/root/.cache/node-gyp/12.18.1/include/node/v8.h:2705:40: note:   candidate expects 1 argument, 0 provided
../fs-ext.cc:433:47: warning: ‘v8::Local<v8::Value> Nan::NanErrnoException(int, const char*, const char*, const char*)’ is deprecated [-Wdeprecated-declarations]
  433 |     if (ret != 0) return Nan::ThrowError(Nan::NanErrnoException(errno, "utime", "", *path));
      |                                               ^~~~~~~~~~~~~~~~~
In file included from ../fs-ext.cc:27:
../../nan/nan.h:862:46: note: declared here
  862 |   NAN_DEPRECATED inline v8::Local<v8::Value> NanErrnoException(
      |                                              ^~~~~~~~~~~~~~~~~
../fs-ext.cc:433:90: warning: ‘v8::Local<v8::Value> Nan::NanErrnoException(int, const char*, const char*, const char*)’ is deprecated [-Wdeprecated-declarations]
  433 |     if (ret != 0) return Nan::ThrowError(Nan::NanErrnoException(errno, "utime", "", *path));
      |                                                                                          ^
In file included from ../fs-ext.cc:27:
../../nan/nan.h:862:46: note: declared here
  862 |   NAN_DEPRECATED inline v8::Local<v8::Value> NanErrnoException(
      |                                              ^~~~~~~~~~~~~~~~~
../fs-ext.cc:433:90: warning: ‘v8::Local<v8::Value> Nan::NanErrnoException(int, const char*, const char*, const char*)’ is deprecated [-Wdeprecated-declarations]
  433 |     if (ret != 0) return Nan::ThrowError(Nan::NanErrnoException(errno, "utime", "", *path));
      |                                                                                          ^
In file included from ../fs-ext.cc:27:
../../nan/nan.h:862:46: note: declared here
  862 |   NAN_DEPRECATED inline v8::Local<v8::Value> NanErrnoException(
      |                                              ^~~~~~~~~~~~~~~~~
../fs-ext.cc:448:70: 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]
  448 |   uv_queue_work(uv_default_loop(), req, EIO_UTime, (uv_after_work_cb)EIO_After);
      |                                                                      ^~~~~~~~~
../fs-ext.cc: In function ‘Nan::NAN_METHOD_RETURN_TYPE StatVFS(Nan::NAN_METHOD_ARGS_TYPE)’:
../fs-ext.cc:462:44: error: no matching function for call to ‘v8::Value::ToString()’
  462 |   String::Utf8Value path(info[0]->ToString());
      |                                            ^
In file included from /root/.cache/node-gyp/12.18.1/include/node/node.h:67,
                 from ../fs-ext.cc:20:
/root/.cache/node-gyp/12.18.1/include/node/v8.h:2668:44: note: candidate: ‘v8::MaybeLocal<v8::String> v8::Value::ToString(v8::Local<v8::Context>) const’
 2668 |   V8_WARN_UNUSED_RESULT MaybeLocal<String> ToString(
      |                                            ^~~~~~~~
/root/.cache/node-gyp/12.18.1/include/node/v8.h:2668:44: note:   candidate expects 1 argument, 0 provided
In file included from /root/.cache/node-gyp/12.18.1/include/node/v8-internal.h:14,
                 from /root/.cache/node-gyp/12.18.1/include/node/v8.h:27,
                 from /root/.cache/node-gyp/12.18.1/include/node/node.h:67,
                 from ../fs-ext.cc:20:
/root/.cache/node-gyp/12.18.1/include/node/v8.h:2684:31: note: candidate: ‘v8::Local<v8::String> v8::Value::ToString(v8::Isolate*) const’
 2684 |                 Local<String> ToString(Isolate* isolate) const);
      |                               ^~~~~~~~
/root/.cache/node-gyp/12.18.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
  328 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
/root/.cache/node-gyp/12.18.1/include/node/v8.h:2684:31: note:   candidate expects 1 argument, 0 provided
 2684 |                 Local<String> ToString(Isolate* isolate) const);
      |                               ^~~~~~~~
/root/.cache/node-gyp/12.18.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
  328 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
../fs-ext.cc:469:47: warning: ‘v8::Local<v8::Value> Nan::NanErrnoException(int, const char*, const char*, const char*)’ is deprecated [-Wdeprecated-declarations]
  469 |     if (ret != 0) return Nan::ThrowError(Nan::NanErrnoException(errno, "statvfs", "", *path));
      |                                               ^~~~~~~~~~~~~~~~~
In file included from ../fs-ext.cc:27:
../../nan/nan.h:862:46: note: declared here
  862 |   NAN_DEPRECATED inline v8::Local<v8::Value> NanErrnoException(
      |                                              ^~~~~~~~~~~~~~~~~
../fs-ext.cc:469:92: warning: ‘v8::Local<v8::Value> Nan::NanErrnoException(int, const char*, const char*, const char*)’ is deprecated [-Wdeprecated-declarations]
  469 |     if (ret != 0) return Nan::ThrowError(Nan::NanErrnoException(errno, "statvfs", "", *path));
      |                                                                                            ^
In file included from ../fs-ext.cc:27:
../../nan/nan.h:862:46: note: declared here
  862 |   NAN_DEPRECATED inline v8::Local<v8::Value> NanErrnoException(
      |                                              ^~~~~~~~~~~~~~~~~
../fs-ext.cc:469:92: warning: ‘v8::Local<v8::Value> Nan::NanErrnoException(int, const char*, const char*, const char*)’ is deprecated [-Wdeprecated-declarations]
  469 |     if (ret != 0) return Nan::ThrowError(Nan::NanErrnoException(errno, "statvfs", "", *path));
      |                                                                                            ^
In file included from ../fs-ext.cc:27:
../../nan/nan.h:862:46: note: declared here
  862 |   NAN_DEPRECATED inline v8::Local<v8::Value> NanErrnoException(
      |                                              ^~~~~~~~~~~~~~~~~
../fs-ext.cc:471:108: warning: ‘bool v8::Object::Set(v8::Local<v8::Value>, v8::Local<v8::Value>)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
  471 |     result->Set(Nan::New<String>(f_namemax_symbol), Nan::New<Integer>(static_cast<uint32_t>(buf.f_namemax)));
      |                                                                                                            ^
In file included from /root/.cache/node-gyp/12.18.1/include/node/v8-internal.h:14,
                 from /root/.cache/node-gyp/12.18.1/include/node/v8.h:27,
                 from /root/.cache/node-gyp/12.18.1/include/node/node.h:67,
                 from ../fs-ext.cc:20:
/root/.cache/node-gyp/12.18.1/include/node/v8.h:3499:22: note: declared here
 3499 |                 bool Set(Local<Value> key, Local<Value> value));
      |                      ^~~
/root/.cache/node-gyp/12.18.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
  328 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
../fs-ext.cc:472:104: warning: ‘bool v8::Object::Set(v8::Local<v8::Value>, v8::Local<v8::Value>)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
  472 |     result->Set(Nan::New<String>(f_bsize_symbol), Nan::New<Integer>(static_cast<uint32_t>(buf.f_bsize)));
      |                                                                                                        ^
In file included from /root/.cache/node-gyp/12.18.1/include/node/v8-internal.h:14,
                 from /root/.cache/node-gyp/12.18.1/include/node/v8.h:27,
                 from /root/.cache/node-gyp/12.18.1/include/node/node.h:67,
                 from ../fs-ext.cc:20:
/root/.cache/node-gyp/12.18.1/include/node/v8.h:3499:22: note: declared here
 3499 |                 bool Set(Local<Value> key, Local<Value> value));
      |                      ^~~
/root/.cache/node-gyp/12.18.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
  328 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
../fs-ext.cc:473:106: warning: ‘bool v8::Object::Set(v8::Local<v8::Value>, v8::Local<v8::Value>)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
  473 |     result->Set(Nan::New<String>(f_frsize_symbol), Nan::New<Integer>(static_cast<uint32_t>(buf.f_frsize)));
      |                                                                                                          ^
In file included from /root/.cache/node-gyp/12.18.1/include/node/v8-internal.h:14,
                 from /root/.cache/node-gyp/12.18.1/include/node/v8.h:27,
                 from /root/.cache/node-gyp/12.18.1/include/node/node.h:67,
                 from ../fs-ext.cc:20:
/root/.cache/node-gyp/12.18.1/include/node/v8.h:3499:22: note: declared here
 3499 |                 bool Set(Local<Value> key, Local<Value> value));
      |                      ^~~
/root/.cache/node-gyp/12.18.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
  328 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
../fs-ext.cc:475:82: warning: ‘bool v8::Object::Set(v8::Local<v8::Value>, v8::Local<v8::Value>)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
  475 |     result->Set(Nan::New<String>(f_blocks_symbol), Nan::New<Number>(buf.f_blocks));
      |                                                                                  ^
In file included from /root/.cache/node-gyp/12.18.1/include/node/v8-internal.h:14,
                 from /root/.cache/node-gyp/12.18.1/include/node/v8.h:27,
                 from /root/.cache/node-gyp/12.18.1/include/node/node.h:67,
                 from ../fs-ext.cc:20:
/root/.cache/node-gyp/12.18.1/include/node/v8.h:3499:22: note: declared here
 3499 |                 bool Set(Local<Value> key, Local<Value> value));
      |                      ^~~
/root/.cache/node-gyp/12.18.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
  328 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
../fs-ext.cc:476:82: warning: ‘bool v8::Object::Set(v8::Local<v8::Value>, v8::Local<v8::Value>)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
  476 |     result->Set(Nan::New<String>(f_bavail_symbol), Nan::New<Number>(buf.f_bavail));
      |                                                                                  ^
In file included from /root/.cache/node-gyp/12.18.1/include/node/v8-internal.h:14,
                 from /root/.cache/node-gyp/12.18.1/include/node/v8.h:27,
                 from /root/.cache/node-gyp/12.18.1/include/node/node.h:67,
                 from ../fs-ext.cc:20:
/root/.cache/node-gyp/12.18.1/include/node/v8.h:3499:22: note: declared here
 3499 |                 bool Set(Local<Value> key, Local<Value> value));
      |                      ^~~
/root/.cache/node-gyp/12.18.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
  328 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
../fs-ext.cc:477:80: warning: ‘bool v8::Object::Set(v8::Local<v8::Value>, v8::Local<v8::Value>)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
  477 |     result->Set(Nan::New<String>(f_bfree_symbol), Nan::New<Number>(buf.f_bfree));
      |                                                                                ^
In file included from /root/.cache/node-gyp/12.18.1/include/node/v8-internal.h:14,
                 from /root/.cache/node-gyp/12.18.1/include/node/v8.h:27,
                 from /root/.cache/node-gyp/12.18.1/include/node/node.h:67,
                 from ../fs-ext.cc:20:
/root/.cache/node-gyp/12.18.1/include/node/v8.h:3499:22: note: declared here
 3499 |                 bool Set(Local<Value> key, Local<Value> value));
      |                      ^~~
/root/.cache/node-gyp/12.18.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
  328 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
../fs-ext.cc:479:80: warning: ‘bool v8::Object::Set(v8::Local<v8::Value>, v8::Local<v8::Value>)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
  479 |     result->Set(Nan::New<String>(f_files_symbol), Nan::New<Number>(buf.f_files));
      |                                                                                ^
In file included from /root/.cache/node-gyp/12.18.1/include/node/v8-internal.h:14,
                 from /root/.cache/node-gyp/12.18.1/include/node/v8.h:27,
                 from /root/.cache/node-gyp/12.18.1/include/node/node.h:67,
                 from ../fs-ext.cc:20:
/root/.cache/node-gyp/12.18.1/include/node/v8.h:3499:22: note: declared here
 3499 |                 bool Set(Local<Value> key, Local<Value> value));
      |                      ^~~
/root/.cache/node-gyp/12.18.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
  328 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
../fs-ext.cc:480:82: warning: ‘bool v8::Object::Set(v8::Local<v8::Value>, v8::Local<v8::Value>)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
  480 |     result->Set(Nan::New<String>(f_favail_symbol), Nan::New<Number>(buf.f_favail));
      |                                                                                  ^
In file included from /root/.cache/node-gyp/12.18.1/include/node/v8-internal.h:14,
                 from /root/.cache/node-gyp/12.18.1/include/node/v8.h:27,
                 from /root/.cache/node-gyp/12.18.1/include/node/node.h:67,
                 from ../fs-ext.cc:20:
/root/.cache/node-gyp/12.18.1/include/node/v8.h:3499:22: note: declared here
 3499 |                 bool Set(Local<Value> key, Local<Value> value));
      |                      ^~~
/root/.cache/node-gyp/12.18.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
  328 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
../fs-ext.cc:481:80: warning: ‘bool v8::Object::Set(v8::Local<v8::Value>, v8::Local<v8::Value>)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
  481 |     result->Set(Nan::New<String>(f_ffree_symbol), Nan::New<Number>(buf.f_ffree));
      |                                                                                ^
In file included from /root/.cache/node-gyp/12.18.1/include/node/v8-internal.h:14,
                 from /root/.cache/node-gyp/12.18.1/include/node/v8.h:27,
                 from /root/.cache/node-gyp/12.18.1/include/node/node.h:67,
                 from ../fs-ext.cc:20:
/root/.cache/node-gyp/12.18.1/include/node/v8.h:3499:22: note: declared here
 3499 |                 bool Set(Local<Value> key, Local<Value> value));
      |                      ^~~
/root/.cache/node-gyp/12.18.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
  328 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
../fs-ext.cc:497:71: 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]
  497 |   uv_queue_work(uv_default_loop(), req, EIO_StatVFS,(uv_after_work_cb)EIO_After);
      |                                                                       ^~~~~~~~~
../fs-ext.cc: In function ‘void init(Nan::ADDON_REGISTER_FUNCTION_ARGS_TYPE)’:
../fs-ext.cc:551:104: error: no matching function for call to ‘v8::FunctionTemplate::GetFunction()’
  551 |   target->Set(Nan::New<String>("seek").ToLocalChecked(), Nan::New<FunctionTemplate>(Seek)->GetFunction());
      |                                                                                                        ^
In file included from /root/.cache/node-gyp/12.18.1/include/node/node.h:67,
                 from ../fs-ext.cc:20:
/root/.cache/node-gyp/12.18.1/include/node/v8.h:6126:46: note: candidate: ‘v8::MaybeLocal<v8::Function> v8::FunctionTemplate::GetFunction(v8::Local<v8::Context>)’
 6126 |   V8_WARN_UNUSED_RESULT MaybeLocal<Function> GetFunction(
      |                                              ^~~~~~~~~~~
/root/.cache/node-gyp/12.18.1/include/node/v8.h:6126:46: note:   candidate expects 1 argument, 0 provided
../fs-ext.cc:552:106: error: no matching function for call to ‘v8::FunctionTemplate::GetFunction()’
  552 |   target->Set(Nan::New<String>("fcntl").ToLocalChecked(), Nan::New<FunctionTemplate>(Fcntl)->GetFunction());
      |                                                                                                          ^
In file included from /root/.cache/node-gyp/12.18.1/include/node/node.h:67,
                 from ../fs-ext.cc:20:
/root/.cache/node-gyp/12.18.1/include/node/v8.h:6126:46: note: candidate: ‘v8::MaybeLocal<v8::Function> v8::FunctionTemplate::GetFunction(v8::Local<v8::Context>)’
 6126 |   V8_WARN_UNUSED_RESULT MaybeLocal<Function> GetFunction(
      |                                              ^~~~~~~~~~~
/root/.cache/node-gyp/12.18.1/include/node/v8.h:6126:46: note:   candidate expects 1 argument, 0 provided
../fs-ext.cc:553:106: error: no matching function for call to ‘v8::FunctionTemplate::GetFunction()’
  553 |   target->Set(Nan::New<String>("flock").ToLocalChecked(), Nan::New<FunctionTemplate>(Flock)->GetFunction());
      |                                                                                                          ^
In file included from /root/.cache/node-gyp/12.18.1/include/node/node.h:67,
                 from ../fs-ext.cc:20:
/root/.cache/node-gyp/12.18.1/include/node/v8.h:6126:46: note: candidate: ‘v8::MaybeLocal<v8::Function> v8::FunctionTemplate::GetFunction(v8::Local<v8::Context>)’
 6126 |   V8_WARN_UNUSED_RESULT MaybeLocal<Function> GetFunction(
      |                                              ^~~~~~~~~~~
/root/.cache/node-gyp/12.18.1/include/node/v8.h:6126:46: note:   candidate expects 1 argument, 0 provided
../fs-ext.cc:554:106: error: no matching function for call to ‘v8::FunctionTemplate::GetFunction()’
  554 |   target->Set(Nan::New<String>("utime").ToLocalChecked(), Nan::New<FunctionTemplate>(UTime)->GetFunction());
      |                                                                                                          ^
In file included from /root/.cache/node-gyp/12.18.1/include/node/node.h:67,
                 from ../fs-ext.cc:20:
/root/.cache/node-gyp/12.18.1/include/node/v8.h:6126:46: note: candidate: ‘v8::MaybeLocal<v8::Function> v8::FunctionTemplate::GetFunction(v8::Local<v8::Context>)’
 6126 |   V8_WARN_UNUSED_RESULT MaybeLocal<Function> GetFunction(
      |                                              ^~~~~~~~~~~
/root/.cache/node-gyp/12.18.1/include/node/v8.h:6126:46: note:   candidate expects 1 argument, 0 provided
../fs-ext.cc:555:110: error: no matching function for call to ‘v8::FunctionTemplate::GetFunction()’
  555 |   target->Set(Nan::New<String>("statVFS").ToLocalChecked(), Nan::New<FunctionTemplate>(StatVFS)->GetFunction());
      |                                                                                                              ^
In file included from /root/.cache/node-gyp/12.18.1/include/node/node.h:67,
                 from ../fs-ext.cc:20:
/root/.cache/node-gyp/12.18.1/include/node/v8.h:6126:46: note: candidate: ‘v8::MaybeLocal<v8::Function> v8::FunctionTemplate::GetFunction(v8::Local<v8::Context>)’
 6126 |   V8_WARN_UNUSED_RESULT MaybeLocal<Function> GetFunction(
      |                                              ^~~~~~~~~~~
/root/.cache/node-gyp/12.18.1/include/node/v8.h:6126:46: note:   candidate expects 1 argument, 0 provided
In file included from ../fs-ext.cc:20:
../fs-ext.cc: At global scope:
/root/.cache/node-gyp/12.18.1/include/node/node.h:608:43: 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]
  608 |       (node::addon_register_func) (regfunc),                          \
      |                                           ^
/root/.cache/node-gyp/12.18.1/include/node/node.h:642:3: note: in expansion of macro ‘NODE_MODULE_X’
  642 |   NODE_MODULE_X(modname, regfunc, NULL, 0)  // NOLINT (readability/null_usage)
      |   ^~~~~~~~~~~~~
../fs-ext.cc:572:3: note: in expansion of macro ‘NODE_MODULE’
  572 |   NODE_MODULE(fs_ext, init)
      |   ^~~~~~~~~~~
make: *** [fs-ext.target.mk:111: Release/obj.target/fs-ext/fs-ext.o] Error 1
make: Leaving directory '/usr/lib/node_modules/homebridge-dafang/node_modules/fs-ext/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:315:20)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:275:12)
gyp ERR! System Linux 5.4.0-39-generic
gyp ERR! command "/usr/bin/node" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "configure" "build"
gyp ERR! cwd /usr/lib/node_modules/homebridge-dafang/node_modules/fs-ext
gyp ERR! node -v v12.18.1
gyp ERR! node-gyp -v v5.1.0
gyp ERR! not ok

> leveldown@1.4.6 install /usr/lib/node_modules/homebridge-dafang/node_modules/leveldown
> prebuild --install

prebuild info begin Prebuild version 4.5.0
prebuild info looking for local prebuild @ prebuilds/leveldown-v1.4.6-node-v72-linux-x64.tar.gz
prebuild info looking for cached prebuild @ /root/.npm/_prebuilds/https-github.com-level-leveldown-releases-download-v1.4.6-leveldown-v1.4.6-node-v72-linux-x64.tar.gz
prebuild http request GET https://github.com/level/leveldown/releases/download/v1.4.6/leveldown-v1.4.6-node-v72-linux-x64.tar.gz
prebuild http 404 https://github.com/level/leveldown/releases/download/v1.4.6/leveldown-v1.4.6-node-v72-linux-x64.tar.gz
prebuild WARN install No prebuilt binaries found (target=v12.18.1 arch=x64 platform=linux)
prebuild info install We will now try to compile from source.
prebuild verb starting node-gyp process
prebuild verb execute node-gyp with `node index.js rebuild --target=v12.18.1 --target_arch=x64`
gyp verb command rebuild []
prebuild verb ok
gyp verb command clean []
gyp verb clean removing "build" directory
prebuild verb ok
gyp verb command configure []
gyp verb check python checking for Python executable "python2" in the PATH
gyp verb `which` succeeded python2 /usr/bin/python2
gyp verb check python version `/usr/bin/python2 -c "import platform; print(platform.python_version());"` returned: "2.7.18rc1\n"
gyp sill stripping "rc" identifier from version
gyp verb get node dir no --target version specified, falling back to host node version: 12.18.1
gyp verb command install [ '12.18.1' ]
gyp verb install input version string "12.18.1"
gyp verb install installing version: 12.18.1
gyp verb install --ensure was passed, so won't reinstall if already installed
gyp verb install version is already installed, need to check "installVersion"
gyp verb got "installVersion" 9
gyp verb needs "installVersion" 9
gyp verb install version is good
gyp verb get node dir target node version installed: 12.18.1
gyp verb build dir attempting to create "build" dir: /usr/lib/node_modules/homebridge-dafang/node_modules/leveldown/build
gyp verb build dir "build" dir needed to be created? /usr/lib/node_modules/homebridge-dafang/node_modules/leveldown/build
gyp verb build/config.gypi creating config file
gyp sill build/config.gypi {
gyp sill build/config.gypi   target_defaults: {
gyp sill build/config.gypi     cflags: [],
gyp sill build/config.gypi     default_configuration: 'Release',
gyp sill build/config.gypi     defines: [],
gyp sill build/config.gypi     include_dirs: [],
gyp sill build/config.gypi     libraries: []
gyp sill build/config.gypi   },
gyp sill build/config.gypi   variables: {
gyp sill build/config.gypi     asan: 0,
gyp sill build/config.gypi     build_v8_with_gn: false,
gyp sill build/config.gypi     coverage: false,
gyp sill build/config.gypi     dcheck_always_on: 0,
gyp sill build/config.gypi     debug_nghttp2: false,
gyp sill build/config.gypi     debug_node: false,
gyp sill build/config.gypi     enable_lto: false,
gyp sill build/config.gypi     enable_pgo_generate: false,
gyp sill build/config.gypi     enable_pgo_use: false,
gyp sill build/config.gypi     force_dynamic_crt: 0,
gyp sill build/config.gypi     gas_version: '2.27',
gyp sill build/config.gypi     host_arch: 'x64',
gyp sill build/config.gypi     icu_data_in: '../../deps/icu-small/source/data/in/icudt67l.dat',
gyp sill build/config.gypi     icu_default_data: '',
gyp sill build/config.gypi     icu_endianness: 'l',
gyp sill build/config.gypi     icu_gyp_path: 'tools/icu/icu-generic.gyp',
gyp sill build/config.gypi     icu_locales: 'en,root',
gyp sill build/config.gypi     icu_path: 'deps/icu-small',
gyp sill build/config.gypi     icu_small: true,
gyp sill build/config.gypi     icu_ver_major: '67',
gyp sill build/config.gypi     is_debug: 0,
gyp sill build/config.gypi     llvm_version: '0.0',
gyp sill build/config.gypi     napi_build_version: '6',
gyp sill build/config.gypi     node_byteorder: 'little',
gyp sill build/config.gypi     node_debug_lib: false,
gyp sill build/config.gypi     node_enable_d8: false,
gyp sill build/config.gypi     node_install_npm: true,
gyp sill build/config.gypi     node_module_version: 72,
gyp sill build/config.gypi     node_no_browser_globals: false,
gyp sill build/config.gypi     node_prefix: '/',
gyp sill build/config.gypi     node_release_urlbase: 'https://nodejs.org/download/release/',
gyp sill build/config.gypi     node_shared: false,
gyp sill build/config.gypi     node_shared_brotli: false,
gyp sill build/config.gypi     node_shared_cares: false,
gyp sill build/config.gypi     node_shared_http_parser: false,
gyp sill build/config.gypi     node_shared_libuv: false,
gyp sill build/config.gypi     node_shared_nghttp2: false,
gyp sill build/config.gypi     node_shared_openssl: false,
gyp sill build/config.gypi     node_shared_zlib: false,
gyp sill build/config.gypi     node_tag: '',
gyp sill build/config.gypi     node_target_type: 'executable',
gyp sill build/config.gypi     node_use_bundled_v8: true,
gyp sill build/config.gypi     node_use_dtrace: false,
gyp sill build/config.gypi     node_use_etw: false,
gyp sill build/config.gypi     node_use_node_code_cache: true,
gyp sill build/config.gypi     node_use_node_snapshot: true,
gyp sill build/config.gypi     node_use_openssl: true,
gyp sill build/config.gypi     node_use_v8_platform: true,
gyp sill build/config.gypi     node_with_ltcg: false,
gyp sill build/config.gypi     node_without_node_options: false,
gyp sill build/config.gypi     openssl_fips: '',
gyp sill build/config.gypi     openssl_is_fips: false,
gyp sill build/config.gypi     shlib_suffix: 'so.72',
gyp sill build/config.gypi     target_arch: 'x64',
gyp sill build/config.gypi     v8_enable_gdbjit: 0,
gyp sill build/config.gypi     v8_enable_i18n_support: 1,
gyp sill build/config.gypi     v8_enable_inspector: 1,
gyp sill build/config.gypi     v8_no_strict_aliasing: 1,
gyp sill build/config.gypi     v8_optimized_debug: 1,
gyp sill build/config.gypi     v8_promise_internal_field_count: 1,
gyp sill build/config.gypi     v8_random_seed: 0,
gyp sill build/config.gypi     v8_trace_maps: 0,
gyp sill build/config.gypi     v8_use_siphash: 1,
gyp sill build/config.gypi     v8_use_snapshot: 1,
gyp sill build/config.gypi     want_separate_host_toolset: 0,
gyp sill build/config.gypi     nodedir: '/root/.node-gyp/12.18.1',
gyp sill build/config.gypi     copy_dev_lib: true,
gyp sill build/config.gypi     standalone_static_library: 1,
gyp sill build/config.gypi     target: 'v12.18.1',
gyp sill build/config.gypi     cache_lock_stale: '60000',
gyp sill build/config.gypi     ham_it_up: '',
gyp sill build/config.gypi     legacy_bundling: '',
gyp sill build/config.gypi     sign_git_tag: '',
gyp sill build/config.gypi     user_agent: 'npm/6.14.5 node/v12.18.1 linux x64',
gyp sill build/config.gypi     always_auth: '',
gyp sill build/config.gypi     bin_links: 'true',
gyp sill build/config.gypi     key: '',
gyp sill build/config.gypi     allow_same_version: '',
gyp sill build/config.gypi     description: 'true',
gyp sill build/config.gypi     fetch_retries: '2',
gyp sill build/config.gypi     heading: 'npm',
gyp sill build/config.gypi     if_present: '',
gyp sill build/config.gypi     init_version: '1.0.0',
gyp sill build/config.gypi     user: 'nobody',
gyp sill build/config.gypi     prefer_online: '',
gyp sill build/config.gypi     noproxy: '',
gyp sill build/config.gypi     force: '',
gyp sill build/config.gypi     only: '',
gyp sill build/config.gypi     read_only: '',
gyp sill build/config.gypi     cache_min: '10',
gyp sill build/config.gypi     init_license: 'ISC',
gyp sill build/config.gypi     editor: 'vi',
gyp sill build/config.gypi     rollback: 'true',
gyp sill build/config.gypi     tag_version_prefix: 'v',
gyp sill build/config.gypi     cache_max: 'Infinity',
gyp sill build/config.gypi     timing: '',
gyp sill build/config.gypi     userconfig: '/root/.npmrc',
gyp sill build/config.gypi     engine_strict: '',
gyp sill build/config.gypi     init_author_name: '',
gyp sill build/config.gypi     init_author_url: '',
gyp sill build/config.gypi     preid: '',
gyp sill build/config.gypi     tmp: '/tmp',
gyp sill build/config.gypi     depth: 'Infinity',
gyp sill build/config.gypi     package_lock_only: '',
gyp sill build/config.gypi     save_dev: '',
gyp sill build/config.gypi     usage: '',
gyp sill build/config.gypi     metrics_registry: 'https://registry.npmjs.org/',
gyp sill build/config.gypi     otp: '',
gyp sill build/config.gypi     package_lock: 'true',
gyp sill build/config.gypi     progress: 'true',
gyp sill build/config.gypi     https_proxy: '',
gyp sill build/config.gypi     save_prod: '',
gyp sill build/config.gypi     audit: 'true',
gyp sill build/config.gypi     cidr: '',
gyp sill build/config.gypi     onload_script: '',
gyp sill build/config.gypi     sso_type: 'oauth',
gyp sill build/config.gypi     rebuild_bundle: 'true',
gyp sill build/config.gypi     save_bundle: '',
gyp sill build/config.gypi     shell: '/bin/bash',
gyp sill build/config.gypi     dry_run: '',
gyp sill build/config.gypi     format_package_lock: 'true',
gyp sill build/config.gypi     prefix: '/usr',
gyp sill build/config.gypi     scope: '',
gyp sill build/config.gypi     browser: '',
gyp sill build/config.gypi     cache_lock_wait: '10000',
gyp sill build/config.gypi     ignore_prepublish: '',
gyp sill build/config.gypi     registry: 'https://registry.npmjs.org/',
gyp sill build/config.gypi     save_optional: '',
gyp sill build/config.gypi     searchopts: '',
gyp sill build/config.gypi     versions: '',
gyp sill build/config.gypi     cache: '/root/.npm',
gyp sill build/config.gypi     send_metrics: '',
gyp sill build/config.gypi     global_style: '',
gyp sill build/config.gypi     ignore_scripts: '',
gyp sill build/config.gypi     version: '',
gyp sill build/config.gypi     local_address: '',
gyp sill build/config.gypi     viewer: 'man',
gyp sill build/config.gypi     node_gyp: '/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js',
gyp sill build/config.gypi     audit_level: 'low',
gyp sill build/config.gypi     prefer_offline: '',
gyp sill build/config.gypi     color: 'true',
gyp sill build/config.gypi     sign_git_commit: '',
gyp sill build/config.gypi     fetch_retry_mintimeout: '10000',
gyp sill build/config.gypi     maxsockets: '50',
gyp sill build/config.gypi     offline: '',
gyp sill build/config.gypi     sso_poll_frequency: '500',
gyp sill build/config.gypi     umask: '0022',
gyp sill build/config.gypi     fund: 'true',
gyp sill build/config.gypi     fetch_retry_maxtimeout: '60000',
gyp sill build/config.gypi     logs_max: '10',
gyp sill build/config.gypi     message: '%s',
gyp sill build/config.gypi     global: 'true',
gyp sill build/config.gypi     ca: '',
gyp sill build/config.gypi     cert: '',
gyp sill build/config.gypi     link: '',
gyp sill build/config.gypi     access: '',
gyp sill build/config.gypi     also: '',
gyp sill build/config.gypi     save: 'true',
gyp sill build/config.gypi     unicode: 'true',
gyp sill build/config.gypi     unsafe_perm: 'true',
gyp sill build/config.gypi     before: '',
gyp sill build/config.gypi     long: '',
gyp sill build/config.gypi     production: '',
gyp sill build/config.gypi     searchlimit: '20',
gyp sill build/config.gypi     update_notifier: 'true',
gyp sill build/config.gypi     auth_type: 'legacy',
gyp sill build/config.gypi     node_version: '12.18.1',
gyp sill build/config.gypi     tag: 'latest',
gyp sill build/config.gypi     git_tag_version: 'true',
gyp sill build/config.gypi     commit_hooks: 'true',
gyp sill build/config.gypi     script_shell: '',
gyp sill build/config.gypi     shrinkwrap: 'true',
gyp sill build/config.gypi     fetch_retry_factor: '10',
gyp sill build/config.gypi     save_exact: '',
gyp sill build/config.gypi     strict_ssl: 'true',
gyp sill build/config.gypi     dev: '',
gyp sill build/config.gypi     globalconfig: '/usr/etc/npmrc',
gyp sill build/config.gypi     init_module: '/root/.npm-init.js',
gyp sill build/config.gypi     parseable: '',
gyp sill build/config.gypi     globalignorefile: '/usr/etc/npmignore',
gyp sill build/config.gypi     cache_lock_retries: '10',
gyp sill build/config.gypi     searchstaleness: '900',
gyp sill build/config.gypi     node_options: '',
gyp sill build/config.gypi     save_prefix: '^',
gyp sill build/config.gypi     scripts_prepend_node_path: 'warn-only',
gyp sill build/config.gypi     group: '',
gyp sill build/config.gypi     init_author_email: '',
gyp sill build/config.gypi     searchexclude: '',
gyp sill build/config.gypi     git: 'git',
gyp sill build/config.gypi     optional: 'true',
gyp sill build/config.gypi     json: ''
gyp sill build/config.gypi   }
gyp sill build/config.gypi }
gyp verb build/config.gypi writing out config file: /usr/lib/node_modules/homebridge-dafang/node_modules/leveldown/build/config.gypi
gyp verb config.gypi checking for gypi file: /usr/lib/node_modules/homebridge-dafang/node_modules/leveldown/config.gypi
gyp verb common.gypi checking for gypi file: /usr/lib/node_modules/homebridge-dafang/node_modules/leveldown/common.gypi
gyp verb gyp gyp format was not specified; forcing "make"
gyp info spawn /usr/bin/python2
gyp info spawn args [
gyp info spawn args   '/usr/lib/node_modules/homebridge-dafang/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   '/usr/lib/node_modules/homebridge-dafang/node_modules/leveldown/build/config.gypi',
gyp info spawn args   '-I',
gyp info spawn args   '/usr/lib/node_modules/homebridge-dafang/node_modules/node-gyp/addon.gypi',
gyp info spawn args   '-I',
gyp info spawn args   '/root/.node-gyp/12.18.1/include/node/common.gypi',
gyp info spawn args   '-Dlibrary=shared_library',
gyp info spawn args   '-Dvisibility=default',
gyp info spawn args   '-Dnode_root_dir=/root/.node-gyp/12.18.1',
gyp info spawn args   '-Dnode_gyp_dir=/usr/lib/node_modules/homebridge-dafang/node_modules/node-gyp',
gyp info spawn args   '-Dnode_lib_file=node.lib',
gyp info spawn args   '-Dmodule_root_dir=/usr/lib/node_modules/homebridge-dafang/node_modules/leveldown',
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 ]
prebuild verb ok
gyp verb command build []
gyp verb build type Release
gyp verb architecture x64
gyp verb node dev dir /root/.node-gyp/12.18.1
gyp verb `which` succeeded for `make` /usr/bin/make
gyp info spawn make
gyp info spawn args [ 'BUILDTYPE=Release', '-C', 'build' ]
make: Entering directory '/usr/lib/node_modules/homebridge-dafang/node_modules/leveldown/build'
  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.18.0/db/builder.o
  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.18.0/db/db_impl.o
  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.18.0/db/db_iter.o
  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.18.0/db/filename.o
  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.18.0/db/dbformat.o
  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.18.0/db/leveldb_main.o
  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.18.0/db/log_reader.o
  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.18.0/db/log_writer.o
  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.18.0/db/memtable.o
  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.18.0/db/repair.o
  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.18.0/db/table_cache.o
  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.18.0/db/version_edit.o
  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.18.0/db/version_set.o
  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.18.0/db/write_batch.o
  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.18.0/helpers/memenv/memenv.o
  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.18.0/table/block.o
  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.18.0/table/block_builder.o
  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.18.0/table/filter_block.o
  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.18.0/table/format.o
  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.18.0/table/iterator.o
  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.18.0/table/merger.o
  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.18.0/table/table.o
  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.18.0/table/table_builder.o
  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.18.0/table/two_level_iterator.o
  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.18.0/util/arena.o
  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.18.0/util/bloom.o
  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.18.0/util/cache.o
  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.18.0/util/coding.o
  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.18.0/util/comparator.o
  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.18.0/util/crc32c.o
  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.18.0/util/env.o
  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.18.0/util/filter_policy.o
  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.18.0/util/hash.o
../deps/leveldb/leveldb-1.18.0/util/hash.cc: In function ‘uint32_t leveldb::Hash(const char*, size_t, uint32_t)’:
../deps/leveldb/leveldb-1.18.0/util/hash.cc:37:9: warning: this statement may fall through [-Wimplicit-fallthrough=]
   37 |       h += static_cast<unsigned char>(data[2]) << 16;
      |       ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../deps/leveldb/leveldb-1.18.0/util/hash.cc:39:5: note: here
   39 |     case 2:
      |     ^~~~
../deps/leveldb/leveldb-1.18.0/util/hash.cc:40:9: warning: this statement may fall through [-Wimplicit-fallthrough=]
   40 |       h += static_cast<unsigned char>(data[1]) << 8;
      |       ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../deps/leveldb/leveldb-1.18.0/util/hash.cc:42:5: note: here
   42 |     case 1:
      |     ^~~~
  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.18.0/util/logging.o
  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.18.0/util/options.o
  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.18.0/util/status.o
  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.18.0/port/port_posix.o
  CXX(target) Release/obj.target/leveldb/deps/leveldb/leveldb-1.18.0/util/env_posix.o
  AR(target) Release/obj.target/deps/leveldb/leveldb.a
  COPY Release/leveldb.a
  CXX(target) Release/obj.target/snappy/deps/snappy/snappy-1.1.1/snappy-sinksource.o
  CXX(target) Release/obj.target/snappy/deps/snappy/snappy-1.1.1/snappy-stubs-internal.o
  CXX(target) Release/obj.target/snappy/deps/snappy/snappy-1.1.1/snappy.o
  AR(target) Release/obj.target/deps/snappy/snappy.a
  COPY Release/snappy.a
  CXX(target) Release/obj.target/leveldown/src/batch.o
In file included from ../../nan/nan.h:190,
                 from ../src/batch.cc:3:
../../nan/nan_maybe_43_inl.h: In function ‘Nan::Maybe<bool> Nan::ForceSet(v8::Local<v8::Object>, v8::Local<v8::Value>, v8::Local<v8::Value>, v8::PropertyAttribute)’:
../../nan/nan_maybe_43_inl.h:88:15: error: ‘class v8::Object’ has no member named ‘ForceSet’
   88 |   return obj->ForceSet(GetCurrentContext(), key, value, attribs);
      |               ^~~~~~~~
In file included from ../../nan/nan_converters.h:59,
                 from ../../nan/nan.h:195,
                 from ../src/batch.cc:3:
../../nan/nan_converters_43_inl.h: In static member function ‘static Nan::imp::ToFactoryBase<v8::Boolean>::return_t Nan::imp::ToFactory<v8::Boolean>::convert(v8::Local<v8::Value>)’:
../../nan/nan_converters_43_inl.h:15:45: warning: ‘v8::MaybeLocal<v8::Boolean> v8::Value::ToBoolean(v8::Local<v8::Context>) const’ is deprecated: ToBoolean can never throw. Use Local version. [-Wdeprecated-declarations]
   15 |   return val->To ## TYPE(GetCurrentContext());                                 \
      |                                             ^
../../nan/nan_converters_43_inl.h:18:1: note: in expansion of macro ‘X’
   18 | X(Boolean)
      | ^
In file included from /root/.node-gyp/12.18.1/include/node/v8-internal.h:14,
                 from /root/.node-gyp/12.18.1/include/node/v8.h:27,
                 from /root/.node-gyp/12.18.1/include/node/node.h:67,
                 from ../src/batch.cc:1:
/root/.node-gyp/12.18.1/include/node/v8.h:2664:59: note: declared here
 2664 |                 V8_WARN_UNUSED_RESULT MaybeLocal<Boolean> ToBoolean(
      |                                                           ^~~~~~~~~
/root/.node-gyp/12.18.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
  328 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
In file included from ../../nan/nan_converters.h:59,
                 from ../../nan/nan.h:195,
                 from ../src/batch.cc:3:
../../nan/nan_converters_43_inl.h: In static member function ‘static Nan::imp::ValueFactoryBase<bool>::return_t Nan::imp::ToFactory<bool>::convert(v8::Local<v8::Value>)’:../../nan/nan_converters_43_inl.h:31:48: warning: ‘v8::Maybe<bool> v8::Value::BooleanValue(v8::Local<v8::Context>) const’ is deprecated: BooleanValue can never throw. Use Isolate version. [-Wdeprecated-declarations]
   31 |   return val->NAME ## Value(GetCurrentContext());                              \
      |                                                ^
../../nan/nan_converters_43_inl.h:34:1: note: in expansion of macro ‘X’
   34 | X(bool, Boolean)
      | ^
In file included from /root/.node-gyp/12.18.1/include/node/v8-internal.h:14,
                 from /root/.node-gyp/12.18.1/include/node/v8.h:27,
                 from /root/.node-gyp/12.18.1/include/node/node.h:67,
                 from ../src/batch.cc:1:
/root/.node-gyp/12.18.1/include/node/v8.h:2702:51: note: declared here
 2702 |                 V8_WARN_UNUSED_RESULT Maybe<bool> BooleanValue(
      |                                                   ^~~~~~~~~~~~
/root/.node-gyp/12.18.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
  328 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
In file included from ../../nan/nan_new.h:189,
                 from ../../nan/nan.h:196,
                 from ../src/batch.cc:3:
../../nan/nan_implementation_12_inl.h: In static member function ‘static Nan::imp::FactoryBase<v8::Function>::return_t Nan::imp::Factory<v8::Function>::New(Nan::FunctionCallback, v8::Local<v8::Value>)’:
../../nan/nan_implementation_12_inl.h:107:42: error: cannot convert ‘v8::Isolate*’ to ‘v8::Local<v8::Context>’
  107 |   return scope.Escape(v8::Function::New( isolate
      |                                          ^~~~~~~
      |                                          |
      |                                          v8::Isolate*
In file included from /root/.node-gyp/12.18.1/include/node/node.h:67,
                 from ../src/batch.cc:1:
/root/.node-gyp/12.18.1/include/node/v8.h:4276:22: note:   initializing argument 1 of ‘static v8::MaybeLocal<v8::Function> v8::Function::New(v8::Local<v8::Context>, v8::FunctionCallback, v8::Local<v8::Value>, int, v8::ConstructorBehavior, v8::SideEffectType)’
 4276 |       Local<Context> context, FunctionCallback callback,
      |       ~~~~~~~~~~~~~~~^~~~~~~
In file included from ../../nan/nan_new.h:189,
                 from ../../nan/nan.h:196,
                 from ../src/batch.cc:3:
../../nan/nan_implementation_12_inl.h: In static member function ‘static Nan::imp::FactoryBase<v8::StringObject>::return_t Nan::imp::Factory<v8::StringObject>::New(v8::Local<v8::String>)’:
../../nan/nan_implementation_12_inl.h:345:37: error: no matching function for call to ‘v8::StringObject::New(v8::Local<v8::String>&)’
  345 |   return v8::StringObject::New(value).As<v8::StringObject>();
      |                                     ^
In file included from /root/.node-gyp/12.18.1/include/node/node.h:67,
                 from ../src/batch.cc:1:
/root/.node-gyp/12.18.1/include/node/v8.h:5531:23: note: candidate: ‘static v8::Local<v8::Value> v8::StringObject::New(v8::Isolate*, v8::Local<v8::String>)’
 5531 |   static Local<Value> New(Isolate* isolate, Local<String> value);
      |                       ^~~
/root/.node-gyp/12.18.1/include/node/v8.h:5531:23: note:   candidate expects 2 arguments, 1 provided
In file included from ../../nan/nan_new.h:189,
                 from ../../nan/nan.h:196,
                 from ../src/batch.cc:3:
../../nan/nan_implementation_12_inl.h:345:58: error: expected primary-expression before ‘>’ token
  345 |   return v8::StringObject::New(value).As<v8::StringObject>();
      |                                                          ^
../../nan/nan_implementation_12_inl.h:345:60: error: expected primary-expression before ‘)’ token
  345 |   return v8::StringObject::New(value).As<v8::StringObject>();
      |                                                            ^
In file included from ../src/batch.cc:3:
../../nan/nan.h: In function ‘v8::Local<v8::Value> Nan::MakeCallback(v8::Local<v8::Object>, v8::Local<v8::Function>, int, v8::Local<v8::Value>*)’:
../../nan/nan.h:817:60: warning: ‘v8::Local<v8::Value> node::MakeCallback(v8::Isolate*, v8::Local<v8::Object>, v8::Local<v8::Function>, int, v8::Local<v8::Value>*)’ is deprecated: Use MakeCallback(..., async_context) [-Wdeprecated-declarations]
  817 |         v8::Isolate::GetCurrent(), target, func, argc, argv);
      |                                                            ^
In file included from ../src/batch.cc:1:
/root/.node-gyp/12.18.1/include/node/node.h:182:50: note: declared here
  182 |                 NODE_EXTERN v8::Local<v8::Value> MakeCallback(
      |                                                  ^~~~~~~~~~~~
/root/.node-gyp/12.18.1/include/node/node.h:101:42: note: in definition of macro ‘NODE_DEPRECATED’
  101 |     __attribute__((deprecated(message))) declarator
      |                                          ^~~~~~~~~~
In file included from ../src/batch.cc:3:
../../nan/nan.h:817:60: warning: ‘v8::Local<v8::Value> node::MakeCallback(v8::Isolate*, v8::Local<v8::Object>, v8::Local<v8::Function>, int, v8::Local<v8::Value>*)’ is deprecated: Use MakeCallback(..., async_context) [-Wdeprecated-declarations]
  817 |         v8::Isolate::GetCurrent(), target, func, argc, argv);
      |                                                            ^
In file included from ../src/batch.cc:1:
/root/.node-gyp/12.18.1/include/node/node.h:182:50: note: declared here
  182 |                 NODE_EXTERN v8::Local<v8::Value> MakeCallback(
      |                                                  ^~~~~~~~~~~~
/root/.node-gyp/12.18.1/include/node/node.h:101:42: note: in definition of macro ‘NODE_DEPRECATED’
  101 |     __attribute__((deprecated(message))) declarator
      |                                          ^~~~~~~~~~
In file included from ../src/batch.cc:3:
../../nan/nan.h: In function ‘v8::Local<v8::Value> Nan::MakeCallback(v8::Local<v8::Object>, v8::Local<v8::String>, int, v8::Local<v8::Value>*)’:
../../nan/nan.h:831:62: warning: ‘v8::Local<v8::Value> node::MakeCallback(v8::Isolate*, v8::Local<v8::Object>, v8::Local<v8::String>, int, v8::Local<v8::Value>*)’ is deprecated: Use MakeCallback(..., async_context) [-Wdeprecated-declarations]
  831 |         v8::Isolate::GetCurrent(), target, symbol, argc, argv);
      |                                                              ^
In file included from ../src/batch.cc:1:
/root/.node-gyp/12.18.1/include/node/node.h:175:50: note: declared here
  175 |                 NODE_EXTERN v8::Local<v8::Value> MakeCallback(
      |                                                  ^~~~~~~~~~~~
/root/.node-gyp/12.18.1/include/node/node.h:101:42: note: in definition of macro ‘NODE_DEPRECATED’
  101 |     __attribute__((deprecated(message))) declarator
      |                                          ^~~~~~~~~~
In file included from ../src/batch.cc:3:
../../nan/nan.h:831:62: warning: ‘v8::Local<v8::Value> node::MakeCallback(v8::Isolate*, v8::Local<v8::Object>, v8::Local<v8::String>, int, v8::Local<v8::Value>*)’ is deprecated: Use MakeCallback(..., async_context) [-Wdeprecated-declarations]
  831 |         v8::Isolate::GetCurrent(), target, symbol, argc, argv);
      |                                                              ^
In file included from ../src/batch.cc:1:
/root/.node-gyp/12.18.1/include/node/node.h:175:50: note: declared here
  175 |                 NODE_EXTERN v8::Local<v8::Value> MakeCallback(
      |                                                  ^~~~~~~~~~~~
/root/.node-gyp/12.18.1/include/node/node.h:101:42: note: in definition of macro ‘NODE_DEPRECATED’
  101 |     __attribute__((deprecated(message))) declarator
      |                                          ^~~~~~~~~~
In file included from ../src/batch.cc:3:
../../nan/nan.h: In function ‘v8::Local<v8::Value> Nan::MakeCallback(v8::Local<v8::Object>, const char*, int, v8::Local<v8::Value>*)’:
../../nan/nan.h:845:62: warning: ‘v8::Local<v8::Value> node::MakeCallback(v8::Isolate*, v8::Local<v8::Object>, const char*, int, v8::Local<v8::Value>*)’ is deprecated: Use MakeCallback(..., async_context) [-Wdeprecated-declarations]
  845 |         v8::Isolate::GetCurrent(), target, method, argc, argv);
      |                                                              ^
In file included from ../src/batch.cc:1:
/root/.node-gyp/12.18.1/include/node/node.h:168:50: note: declared here
  168 |                 NODE_EXTERN v8::Local<v8::Value> MakeCallback(
      |                                                  ^~~~~~~~~~~~
/root/.node-gyp/12.18.1/include/node/node.h:101:42: note: in definition of macro ‘NODE_DEPRECATED’
  101 |     __attribute__((deprecated(message))) declarator
      |                                          ^~~~~~~~~~
In file included from ../src/batch.cc:3:
../../nan/nan.h:845:62: warning: ‘v8::Local<v8::Value> node::MakeCallback(v8::Isolate*, v8::Local<v8::Object>, const char*, int, v8::Local<v8::Value>*)’ is deprecated: Use MakeCallback(..., async_context) [-Wdeprecated-declarations]
  845 |         v8::Isolate::GetCurrent(), target, method, argc, argv);
      |                                                              ^
In file included from ../src/batch.cc:1:
/root/.node-gyp/12.18.1/include/node/node.h:168:50: note: declared here
  168 |                 NODE_EXTERN v8::Local<v8::Value> MakeCallback(
      |                                                  ^~~~~~~~~~~~
/root/.node-gyp/12.18.1/include/node/node.h:101:42: note: in definition of macro ‘NODE_DEPRECATED’
  101 |     __attribute__((deprecated(message))) declarator
      |                                          ^~~~~~~~~~
In file included from ../src/batch.cc:3:
../../nan/nan.h: In constructor ‘Nan::Utf8String::Utf8String(v8::Local<v8::Value>)’:
../../nan/nan.h:890:53: error: no matching function for call to ‘v8::Value::ToString()’
  890 |       v8::Local<v8::String> string = from->ToString();
      |                                                     ^
In file included from /root/.node-gyp/12.18.1/include/node/node.h:67,
                 from ../src/batch.cc:1:
/root/.node-gyp/12.18.1/include/node/v8.h:2668:44: note: candidate: ‘v8::MaybeLocal<v8::String> v8::Value::ToString(v8::Local<v8::Context>) const’
 2668 |   V8_WARN_UNUSED_RESULT MaybeLocal<String> ToString(
      |                                            ^~~~~~~~
/root/.node-gyp/12.18.1/include/node/v8.h:2668:44: note:   candidate expects 1 argument, 0 provided
In file included from /root/.node-gyp/12.18.1/include/node/v8-internal.h:14,
                 from /root/.node-gyp/12.18.1/include/node/v8.h:27,
                 from /root/.node-gyp/12.18.1/include/node/node.h:67,
                 from ../src/batch.cc:1:
/root/.node-gyp/12.18.1/include/node/v8.h:2684:31: note: candidate: ‘v8::Local<v8::String> v8::Value::ToString(v8::Isolate*) const’
 2684 |                 Local<String> ToString(Isolate* isolate) const);
      |                               ^~~~~~~~
/root/.node-gyp/12.18.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
  328 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
/root/.node-gyp/12.18.1/include/node/v8.h:2684:31: note:   candidate expects 1 argument, 0 provided
 2684 |                 Local<String> ToString(Isolate* isolate) const);
      |                               ^~~~~~~~
/root/.node-gyp/12.18.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
  328 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
In file included from ../src/batch.cc:3:
../../nan/nan.h:900:37: error: cannot convert ‘char*’ to ‘v8::Isolate*’
  900 |         length_ = string->WriteUtf8(str_, static_cast<int>(len), 0, flags);
      |                                     ^~~~
      |                                     |
      |                                     char*
In file included from /root/.node-gyp/12.18.1/include/node/node.h:67,
                 from ../src/batch.cc:1:
/root/.node-gyp/12.18.1/include/node/v8.h:2878:26: note:   initializing argument 1 of ‘int v8::String::WriteUtf8(v8::Isolate*, char*, int, int*, int) const’
 2878 |   int WriteUtf8(Isolate* isolate, char* buffer, int length = -1,
      |                 ~~~~~~~~~^~~~~~~
In file included from ../src/batch.cc:3:
../../nan/nan.h: In member function ‘bool Nan::Callback::operator==(const Nan::Callback&) const’:
../../nan/nan.h:1371:61: warning: ‘v8::Local<v8::Value> v8::Object::Get(uint32_t)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
 1371 |     v8::Local<v8::Value> a = New(handle)->Get(kCallbackIndex);
      |                                                             ^
In file included from /root/.node-gyp/12.18.1/include/node/v8-internal.h:14,
                 from /root/.node-gyp/12.18.1/include/node/v8.h:27,
                 from /root/.node-gyp/12.18.1/include/node/node.h:67,
                 from ../src/batch.cc:1:
/root/.node-gyp/12.18.1/include/node/v8.h:3557:51: note: declared here
 3557 |   V8_DEPRECATED("Use maybe version", Local<Value> Get(uint32_t index));
      |                                                   ^~~
/root/.node-gyp/12.18.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
  328 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
In file included from ../src/batch.cc:3:
../../nan/nan.h:1372:67: warning: ‘v8::Local<v8::Value> v8::Object::Get(uint32_t)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
 1372 |     v8::Local<v8::Value> b = New(other.handle)->Get(kCallbackIndex);
      |                                                                   ^
In file included from /root/.node-gyp/12.18.1/include/node/v8-internal.h:14,
                 from /root/.node-gyp/12.18.1/include/node/v8.h:27,
                 from /root/.node-gyp/12.18.1/include/node/node.h:67,
                 from ../src/batch.cc:1:
/root/.node-gyp/12.18.1/include/node/v8.h:3557:51: note: declared here
 3557 |   V8_DEPRECATED("Use maybe version", Local<Value> Get(uint32_t index));
      |                                                   ^~~
/root/.node-gyp/12.18.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
  328 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
In file included from ../src/batch.cc:3:
../../nan/nan.h: In member function ‘v8::Local<v8::Function> Nan::Callback::GetFunction() const’:
../../nan/nan.h:1403:56: warning: ‘v8::Local<v8::Value> v8::Object::Get(uint32_t)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
 1403 |     return scope.Escape(New(handle)->Get(kCallbackIndex)
      |                                                        ^
In file included from /root/.node-gyp/12.18.1/include/node/v8-internal.h:14,
                 from /root/.node-gyp/12.18.1/include/node/v8.h:27,
                 from /root/.node-gyp/12.18.1/include/node/node.h:67,
                 from ../src/batch.cc:1:
/root/.node-gyp/12.18.1/include/node/v8.h:3557:51: note: declared here
 3557 |   V8_DEPRECATED("Use maybe version", Local<Value> Get(uint32_t index));
      |                                                   ^~~
/root/.node-gyp/12.18.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
  328 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
In file included from ../src/batch.cc:3:
../../nan/nan.h: In member function ‘bool Nan::Callback::IsEmpty() const’:
../../nan/nan.h:1409:43: warning: ‘v8::Local<v8::Value> v8::Object::Get(uint32_t)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
 1409 |     return New(handle)->Get(kCallbackIndex)->IsUndefined();
      |                                           ^
In file included from /root/.node-gyp/12.18.1/include/node/v8-internal.h:14,
                 from /root/.node-gyp/12.18.1/include/node/v8.h:27,
                 from /root/.node-gyp/12.18.1/include/node/node.h:67,
                 from ../src/batch.cc:1:
/root/.node-gyp/12.18.1/include/node/v8.h:3557:51: note: declared here
 3557 |   V8_DEPRECATED("Use maybe version", Local<Value> Get(uint32_t index));
      |                                                   ^~~
/root/.node-gyp/12.18.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
  328 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
In file included from ../src/batch.cc:3:
../../nan/nan.h: In member function ‘v8::Local<v8::Value> Nan::Callback::Call_(v8::Isolate*, v8::Local<v8::Object>, int, v8::Local<v8::Value>*) const’:
../../nan/nan.h:1447:27: warning: ‘v8::Local<v8::Value> v8::Object::Get(uint32_t)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
 1447 |         Get(kCallbackIndex).As<v8::Function>();
      |                           ^
In file included from /root/.node-gyp/12.18.1/include/node/v8-internal.h:14,
                 from /root/.node-gyp/12.18.1/include/node/v8.h:27,
                 from /root/.node-gyp/12.18.1/include/node/node.h:67,
                 from ../src/batch.cc:1:
/root/.node-gyp/12.18.1/include/node/v8.h:3557:51: note: declared here
 3557 |   V8_DEPRECATED("Use maybe version", Local<Value> Get(uint32_t index));
      |                                                   ^~~
/root/.node-gyp/12.18.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
  328 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
In file included from ../src/batch.cc:3:
../../nan/nan.h:1463:5: warning: ‘v8::Local<v8::Value> node::MakeCallback(v8::Isolate*, v8::Local<v8::Object>, v8::Local<v8::Function>, int, v8::Local<v8::Value>*)’ is deprecated: Use MakeCallback(..., async_context) [-Wdeprecated-declarations]
 1463 |     ));
      |     ^
In file included from ../src/batch.cc:1:
/root/.node-gyp/12.18.1/include/node/node.h:182:50: note: declared here
  182 |                 NODE_EXTERN v8::Local<v8::Value> MakeCallback(
      |                                                  ^~~~~~~~~~~~
/root/.node-gyp/12.18.1/include/node/node.h:101:42: note: in definition of macro ‘NODE_DEPRECATED’
  101 |     __attribute__((deprecated(message))) declarator
      |                                          ^~~~~~~~~~
In file included from ../src/batch.cc:3:
../../nan/nan.h:1463:5: warning: ‘v8::Local<v8::Value> node::MakeCallback(v8::Isolate*, v8::Local<v8::Object>, v8::Local<v8::Function>, int, v8::Local<v8::Value>*)’ is deprecated: Use MakeCallback(..., async_context) [-Wdeprecated-declarations]
 1463 |     ));
      |     ^
In file included from ../src/batch.cc:1:
/root/.node-gyp/12.18.1/include/node/node.h:182:50: note: declared here
  182 |                 NODE_EXTERN v8::Local<v8::Value> MakeCallback(
      |                                                  ^~~~~~~~~~~~
/root/.node-gyp/12.18.1/include/node/node.h:101:42: note: in definition of macro ‘NODE_DEPRECATED’
  101 |     __attribute__((deprecated(message))) declarator
      |                                          ^~~~~~~~~~
In file included from ../src/batch.cc:3:
../../nan/nan.h: In member function ‘void Nan::AsyncWorker::SaveToPersistent(const char*, const v8::Local<v8::Value>&)’:
../../nan/nan.h:1518:64: warning: ‘bool v8::Object::Set(v8::Local<v8::Value>, v8::Local<v8::Value>)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
 1518 |     New(persistentHandle)->Set(New(key).ToLocalChecked(), value);
      |                                                                ^
In file included from /root/.node-gyp/12.18.1/include/node/v8-internal.h:14,
                 from /root/.node-gyp/12.18.1/include/node/v8.h:27,
                 from /root/.node-gyp/12.18.1/include/node/node.h:67,
                 from ../src/batch.cc:1:
/root/.node-gyp/12.18.1/include/node/v8.h:3499:22: note: declared here
 3499 |                 bool Set(Local<Value> key, Local<Value> value));
      |                      ^~~
/root/.node-gyp/12.18.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
  328 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
In file included from ../src/batch.cc:3:
../../nan/nan.h: In member function ‘void Nan::AsyncWorker::SaveToPersistent(const v8::Local<v8::String>&, const v8::Local<v8::Value>&)’:
../../nan/nan.h:1524:42: warning: ‘bool v8::Object::Set(v8::Local<v8::Value>, v8::Local<v8::Value>)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
 1524 |     New(persistentHandle)->Set(key, value);
      |                                          ^
In file included from /root/.node-gyp/12.18.1/include/node/v8-internal.h:14,
                 from /root/.node-gyp/12.18.1/include/node/v8.h:27,
                 from /root/.node-gyp/12.18.1/include/node/node.h:67,
                 from ../src/batch.cc:1:
/root/.node-gyp/12.18.1/include/node/v8.h:3499:22: note: declared here
 3499 |                 bool Set(Local<Value> key, Local<Value> value));
      |                      ^~~
/root/.node-gyp/12.18.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
  328 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
In file included from ../src/batch.cc:3:
../../nan/nan.h: In member function ‘void Nan::AsyncWorker::SaveToPersistent(uint32_t, const v8::Local<v8::Value>&)’:
../../nan/nan.h:1530:44: warning: ‘bool v8::Object::Set(uint32_t, v8::Local<v8::Value>)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
 1530 |     New(persistentHandle)->Set(index, value);
      |                                            ^
In file included from /root/.node-gyp/12.18.1/include/node/v8-internal.h:14,
                 from /root/.node-gyp/12.18.1/include/node/v8.h:27,
                 from /root/.node-gyp/12.18.1/include/node/node.h:67,
                 from ../src/batch.cc:1:
/root/.node-gyp/12.18.1/include/node/v8.h:3508:22: note: declared here
 3508 |                 bool Set(uint32_t index, Local<Value> value));
      |                      ^~~
/root/.node-gyp/12.18.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
  328 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
In file included from ../src/batch.cc:3:
../../nan/nan.h: In member function ‘v8::Local<v8::Value> Nan::AsyncWorker::GetFromPersistent(const char*) const’:
../../nan/nan.h:1536:61: warning: ‘v8::Local<v8::Value> v8::Object::Get(v8::Local<v8::Value>)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
 1536 |         New(persistentHandle)->Get(New(key).ToLocalChecked()));
      |                                                             ^
In file included from /root/.node-gyp/12.18.1/include/node/v8-internal.h:14,
                 from /root/.node-gyp/12.18.1/include/node/v8.h:27,
                 from /root/.node-gyp/12.18.1/include/node/node.h:67,
                 from ../src/batch.cc:1:
/root/.node-gyp/12.18.1/include/node/v8.h:3553:51: note: declared here
 3553 |   V8_DEPRECATED("Use maybe version", Local<Value> Get(Local<Value> key));
      |                                                   ^~~
/root/.node-gyp/12.18.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
  328 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
In file included from ../src/batch.cc:3:
../../nan/nan.h: In member function ‘v8::Local<v8::Value> Nan::AsyncWorker::GetFromPersistent(const v8::Local<v8::String>&) const’:
../../nan/nan.h:1542:55: warning: ‘v8::Local<v8::Value> v8::Object::Get(v8::Local<v8::Value>)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
 1542 |     return scope.Escape(New(persistentHandle)->Get(key));
      |                                                       ^
In file included from /root/.node-gyp/12.18.1/include/node/v8-internal.h:14,
                 from /root/.node-gyp/12.18.1/include/node/v8.h:27,
                 from /root/.node-gyp/12.18.1/include/node/node.h:67,
                 from ../src/batch.cc:1:
/root/.node-gyp/12.18.1/include/node/v8.h:3553:51: note: declared here
 3553 |   V8_DEPRECATED("Use maybe version", Local<Value> Get(Local<Value> key));
      |                                                   ^~~
/root/.node-gyp/12.18.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
  328 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
In file included from ../src/batch.cc:3:
../../nan/nan.h: In member function ‘v8::Local<v8::Value> Nan::AsyncWorker::GetFromPersistent(uint32_t) const’:
../../nan/nan.h:1547:57: warning: ‘v8::Local<v8::Value> v8::Object::Get(uint32_t)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
 1547 |     return scope.Escape(New(persistentHandle)->Get(index));
      |                                                         ^
In file included from /root/.node-gyp/12.18.1/include/node/v8-internal.h:14,
                 from /root/.node-gyp/12.18.1/include/node/v8.h:27,
                 from /root/.node-gyp/12.18.1/include/node/node.h:67,
                 from ../src/batch.cc:1:
/root/.node-gyp/12.18.1/include/node/v8.h:3557:51: note: declared here
 3557 |   V8_DEPRECATED("Use maybe version", Local<Value> Get(uint32_t index));
      |                                                   ^~~
/root/.node-gyp/12.18.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
  328 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
In file included from ../src/batch.cc:3:
../../nan/nan.h: In function ‘void Nan::AsyncQueueWorker(Nan::AsyncWorker*)’:
../../nan/nan.h:1706:62: 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]
 1706 |     , reinterpret_cast<uv_after_work_cb>(AsyncExecuteComplete)
      |                                                              ^
In file included from /usr/include/c++/9/cassert:44,
                 from /root/.node-gyp/12.18.1/include/node/node_object_wrap.h:26,
                 from ../../nan/nan.h:49,
                 from ../src/batch.cc:3:
../../nan/nan_object_wrap.h: In destructor ‘virtual Nan::ObjectWrap::~ObjectWrap()’:
../../nan/nan_object_wrap.h:24:25: error: ‘class Nan::Persistent<v8::Object>’ has no member named ‘IsNearDeath’
   24 |     assert(persistent().IsNearDeath());
      |                         ^~~~~~~~~~~
In file included from ../../nan/nan.h:2192,
                 from ../src/batch.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<T>::MarkIndependent() [with T = v8::Object]’ is deprecated: 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]
   67 |     persistent().MarkIndependent();
      |                                  ^
In file included from /root/.node-gyp/12.18.1/include/node/v8-internal.h:14,
                 from /root/.node-gyp/12.18.1/include/node/v8.h:27,
                 from /root/.node-gyp/12.18.1/include/node/node.h:67,
                 from ../src/batch.cc:1:
/root/.node-gyp/12.18.1/include/node/v8.h:570:22: note: declared here
  570 |       V8_INLINE void MarkIndependent());
      |                      ^~~~~~~~~~~~~~~
/root/.node-gyp/12.18.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
  328 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
In file included from /usr/include/c++/9/cassert:44,
                 from /root/.node-gyp/12.18.1/include/node/node_object_wrap.h:26,
                 from ../../nan/nan.h:49,
                 from ../src/batch.cc:3:
../../nan/nan_object_wrap.h: In static member function ‘static void Nan::ObjectWrap::WeakCallback(const v8::WeakCallbackInfo<Nan::ObjectWrap>&)’:
../../nan/nan_object_wrap.h:124:26: error: ‘class Nan::Persistent<v8::Object>’ has no member named ‘IsNearDeath’
  124 |     assert(wrap->handle_.IsNearDeath());
      |                          ^~~~~~~~~~~
In file included from ../src/database.h:18,
                 from ../src/batch.cc:5:
../src/leveldown.h: In function ‘size_t StringOrBufferLength(v8::Local<v8::Value>)’:
../src/leveldown.h:16:26: error: no matching function for call to ‘v8::Value::ToObject()’
   16 |   return (!obj->ToObject().IsEmpty()
      |                          ^
In file included from /root/.node-gyp/12.18.1/include/node/node.h:67,
                 from ../src/batch.cc:1:
/root/.node-gyp/12.18.1/include/node/v8.h:2672:44: note: candidate: ‘v8::MaybeLocal<v8::Object> v8::Value::ToObject(v8::Local<v8::Context>) const’
 2672 |   V8_WARN_UNUSED_RESULT MaybeLocal<Object> ToObject(
      |                                            ^~~~~~~~
/root/.node-gyp/12.18.1/include/node/v8.h:2672:44: note:   candidate expects 1 argument, 0 provided
In file included from /root/.node-gyp/12.18.1/include/node/v8-internal.h:14,
                 from /root/.node-gyp/12.18.1/include/node/v8.h:27,
                 from /root/.node-gyp/12.18.1/include/node/node.h:67,
                 from ../src/batch.cc:1:
/root/.node-gyp/12.18.1/include/node/v8.h:2686:31: note: candidate: ‘v8::Local<v8::Object> v8::Value::ToObject(v8::Isolate*) const’
 2686 |                 Local<Object> ToObject(Isolate* isolate) const);
      |                               ^~~~~~~~
/root/.node-gyp/12.18.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
  328 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
/root/.node-gyp/12.18.1/include/node/v8.h:2686:31: note:   candidate expects 1 argument, 0 provided
 2686 |                 Local<Object> ToObject(Isolate* isolate) const);
      |                               ^~~~~~~~
/root/.node-gyp/12.18.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
  328 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
In file included from ../src/database.h:18,
                 from ../src/batch.cc:5:
../src/leveldown.h:17:48: error: no matching function for call to ‘v8::Value::ToObject()’
   17 |     && node::Buffer::HasInstance(obj->ToObject()))
      |                                                ^
In file included from /root/.node-gyp/12.18.1/include/node/node.h:67,
                 from ../src/batch.cc:1:
/root/.node-gyp/12.18.1/include/node/v8.h:2672:44: note: candidate: ‘v8::MaybeLocal<v8::Object> v8::Value::ToObject(v8::Local<v8::Context>) const’
 2672 |   V8_WARN_UNUSED_RESULT MaybeLocal<Object> ToObject(
      |                                            ^~~~~~~~
/root/.node-gyp/12.18.1/include/node/v8.h:2672:44: note:   candidate expects 1 argument, 0 provided
In file included from /root/.node-gyp/12.18.1/include/node/v8-internal.h:14,
                 from /root/.node-gyp/12.18.1/include/node/v8.h:27,
                 from /root/.node-gyp/12.18.1/include/node/node.h:67,
                 from ../src/batch.cc:1:
/root/.node-gyp/12.18.1/include/node/v8.h:2686:31: note: candidate: ‘v8::Local<v8::Object> v8::Value::ToObject(v8::Isolate*) const’
 2686 |                 Local<Object> ToObject(Isolate* isolate) const);
      |                               ^~~~~~~~
/root/.node-gyp/12.18.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
  328 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
/root/.node-gyp/12.18.1/include/node/v8.h:2686:31: note:   candidate expects 1 argument, 0 provided
 2686 |                 Local<Object> ToObject(Isolate* isolate) const);
      |                               ^~~~~~~~
/root/.node-gyp/12.18.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
  328 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
In file included from ../src/database.h:18,
                 from ../src/batch.cc:5:
../src/leveldown.h:18:42: error: no matching function for call to ‘v8::Value::ToObject()’
   18 |     ? node::Buffer::Length(obj->ToObject())
      |                                          ^
In file included from /root/.node-gyp/12.18.1/include/node/node.h:67,
                 from ../src/batch.cc:1:
/root/.node-gyp/12.18.1/include/node/v8.h:2672:44: note: candidate: ‘v8::MaybeLocal<v8::Object> v8::Value::ToObject(v8::Local<v8::Context>) const’
 2672 |   V8_WARN_UNUSED_RESULT MaybeLocal<Object> ToObject(
      |                                            ^~~~~~~~
/root/.node-gyp/12.18.1/include/node/v8.h:2672:44: note:   candidate expects 1 argument, 0 provided
In file included from /root/.node-gyp/12.18.1/include/node/v8-internal.h:14,
                 from /root/.node-gyp/12.18.1/include/node/v8.h:27,
                 from /root/.node-gyp/12.18.1/include/node/node.h:67,
                 from ../src/batch.cc:1:
/root/.node-gyp/12.18.1/include/node/v8.h:2686:31: note: candidate: ‘v8::Local<v8::Object> v8::Value::ToObject(v8::Isolate*) const’
 2686 |                 Local<Object> ToObject(Isolate* isolate) const);
      |                               ^~~~~~~~
/root/.node-gyp/12.18.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
  328 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
/root/.node-gyp/12.18.1/include/node/v8.h:2686:31: note:   candidate expects 1 argument, 0 provided
 2686 |                 Local<Object> ToObject(Isolate* isolate) const);
      |                               ^~~~~~~~
/root/.node-gyp/12.18.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
  328 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
In file included from ../src/database.h:18,
                 from ../src/batch.cc:5:
../src/leveldown.h:19:21: error: no matching function for call to ‘v8::Value::ToString()’
   19 |     : obj->ToString()->Utf8Length();
      |                     ^
In file included from /root/.node-gyp/12.18.1/include/node/node.h:67,
                 from ../src/batch.cc:1:
/root/.node-gyp/12.18.1/include/node/v8.h:2668:44: note: candidate: ‘v8::MaybeLocal<v8::String> v8::Value::ToString(v8::Local<v8::Context>) const’
 2668 |   V8_WARN_UNUSED_RESULT MaybeLocal<String> ToString(
      |                                            ^~~~~~~~
/root/.node-gyp/12.18.1/include/node/v8.h:2668:44: note:   candidate expects 1 argument, 0 provided
In file included from /root/.node-gyp/12.18.1/include/node/v8-internal.h:14,
                 from /root/.node-gyp/12.18.1/include/node/v8.h:27,
                 from /root/.node-gyp/12.18.1/include/node/node.h:67,
                 from ../src/batch.cc:1:
/root/.node-gyp/12.18.1/include/node/v8.h:2684:31: note: candidate: ‘v8::Local<v8::String> v8::Value::ToString(v8::Isolate*) const’
 2684 |                 Local<String> ToString(Isolate* isolate) const);
      |                               ^~~~~~~~
/root/.node-gyp/12.18.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
  328 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
/root/.node-gyp/12.18.1/include/node/v8.h:2684:31: note:   candidate expects 1 argument, 0 provided
 2684 |                 Local<String> ToString(Isolate* isolate) const);
      |                               ^~~~~~~~
/root/.node-gyp/12.18.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
  328 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
In file included from ../src/database.h:18,
                 from ../src/batch.cc:5:
../src/leveldown.h: In function ‘void DisposeStringOrBufferFromSlice(Nan::Persistent<v8::Object>&, leveldb::Slice)’:
../src/leveldown.h:30:110: warning: ‘v8::Local<v8::Value> v8::Object::Get(v8::Local<v8::Value>)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
   30 |     v8::Local<v8::Value> obj = Nan::New<v8::Object>(handle)->Get(Nan::New<v8::String>("obj").ToLocalChecked());
      |                                                                                                              ^
In file included from /root/.node-gyp/12.18.1/include/node/v8-internal.h:14,
                 from /root/.node-gyp/12.18.1/include/node/v8.h:27,
                 from /root/.node-gyp/12.18.1/include/node/node.h:67,
                 from ../src/batch.cc:1:
/root/.node-gyp/12.18.1/include/node/v8.h:3553:51: note: declared here
 3553 |   V8_DEPRECATED("Use maybe version", Local<Value> Get(Local<Value> key));
      |                                                   ^~~
/root/.node-gyp/12.18.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
  328 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
In file included from ../src/batch.cc:5:
../src/database.h: In constructor ‘leveldown::Reference::Reference(v8::Local<v8::Value>, leveldb::Slice)’:
../src/database.h:31:52: warning: ‘bool v8::Object::Set(v8::Local<v8::Value>, v8::Local<v8::Value>)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
   31 |     _obj->Set(Nan::New("obj").ToLocalChecked(), obj);
      |                                                    ^
In file included from /root/.node-gyp/12.18.1/include/node/v8-internal.h:14,
                 from /root/.node-gyp/12.18.1/include/node/v8.h:27,
                 from /root/.node-gyp/12.18.1/include/node/node.h:67,
                 from ../src/batch.cc:1:
/root/.node-gyp/12.18.1/include/node/v8.h:3499:22: note: declared here
 3499 |                 bool Set(Local<Value> key, Local<Value> value));
      |                      ^~~
/root/.node-gyp/12.18.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
  328 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
In file included from ../src/batch.cc:5:
../src/database.h: At global scope:
../src/database.h:85:7: warning: unnecessary parentheses in declaration of ‘pendingCloseWorker’ [-Wparentheses]
   85 |   void(*pendingCloseWorker);
      |       ^
In file included from ../src/batch.cc:8:
../src/common.h: In function ‘bool leveldown::BooleanOptionValue(v8::Local<v8::Object>, const char*, bool)’:
../src/common.h:19:24: error: no matching function for call to ‘v8::Object::Has(v8::Local<v8::String>&)’
   19 |     && options->Has(key)
      |                        ^
In file included from /root/.node-gyp/12.18.1/include/node/node.h:67,
                 from ../src/batch.cc:1:
/root/.node-gyp/12.18.1/include/node/v8.h:3590:37: note: candidate: ‘v8::Maybe<bool> v8::Object::Has(v8::Local<v8::Context>, v8::Local<v8::Value>)’
 3590 |   V8_WARN_UNUSED_RESULT Maybe<bool> Has(Local<Context> context,
      |                                     ^~~
/root/.node-gyp/12.18.1/include/node/v8.h:3590:37: note:   candidate expects 2 arguments, 1 provided
/root/.node-gyp/12.18.1/include/node/v8.h:3596:37: note: candidate: ‘v8::Maybe<bool> v8::Object::Has(v8::Local<v8::Context>, uint32_t)’
 3596 |   V8_WARN_UNUSED_RESULT Maybe<bool> Has(Local<Context> context, uint32_t index);
      |                                     ^~~
/root/.node-gyp/12.18.1/include/node/v8.h:3596:37: note:   candidate expects 2 arguments, 1 provided
In file included from ../src/batch.cc:8:
../src/common.h:20:23: warning: ‘v8::Local<v8::Value> v8::Object::Get(v8::Local<v8::Value>)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
   20 |     ? options->Get(key)->BooleanValue()
      |                       ^
In file included from /root/.node-gyp/12.18.1/include/node/v8-internal.h:14,
                 from /root/.node-gyp/12.18.1/include/node/v8.h:27,
                 from /root/.node-gyp/12.18.1/include/node/node.h:67,
                 from ../src/batch.cc:1:
/root/.node-gyp/12.18.1/include/node/v8.h:3553:51: note: declared here
 3553 |   V8_DEPRECATED("Use maybe version", Local<Value> Get(Local<Value> key));
      |                                                   ^~~
/root/.node-gyp/12.18.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
  328 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
In file included from ../src/batch.cc:8:
../src/common.h:20:39: error: no matching function for call to ‘v8::Value::BooleanValue()’
   20 |     ? options->Get(key)->BooleanValue()
      |                                       ^
In file included from /root/.node-gyp/12.18.1/include/node/node.h:67,
                 from ../src/batch.cc:1:
/root/.node-gyp/12.18.1/include/node/v8.h:2699:8: note: candidate: ‘bool v8::Value::BooleanValue(v8::Isolate*) const’
 2699 |   bool BooleanValue(Isolate* isolate) const;
      |        ^~~~~~~~~~~~
/root/.node-gyp/12.18.1/include/node/v8.h:2699:8: note:   candidate expects 1 argument, 0 provided
In file included from /root/.node-gyp/12.18.1/include/node/v8-internal.h:14,
                 from /root/.node-gyp/12.18.1/include/node/v8.h:27,
                 from /root/.node-gyp/12.18.1/include/node/node.h:67,
                 from ../src/batch.cc:1:
/root/.node-gyp/12.18.1/include/node/v8.h:2702:51: note: candidate: ‘v8::Maybe<bool> v8::Value::BooleanValue(v8::Local<v8::Context>) const’
 2702 |                 V8_WARN_UNUSED_RESULT Maybe<bool> BooleanValue(
      |                                                   ^~~~~~~~~~~~
/root/.node-gyp/12.18.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
  328 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
/root/.node-gyp/12.18.1/include/node/v8.h:2702:51: note:   candidate expects 1 argument, 0 provided
 2702 |                 V8_WARN_UNUSED_RESULT Maybe<bool> BooleanValue(
      |                                                   ^~~~~~~~~~~~
/root/.node-gyp/12.18.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
  328 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
In file included from ../src/batch.cc:8:
../src/common.h: In function ‘uint32_t leveldown::UInt32OptionValue(v8::Local<v8::Object>, const char*, uint32_t)’:
../src/common.h:30:24: error: no matching function for call to ‘v8::Object::Has(v8::Local<v8::String>&)’
   30 |     && options->Has(key)
      |                        ^
In file included from /root/.node-gyp/12.18.1/include/node/node.h:67,
                 from ../src/batch.cc:1:
/root/.node-gyp/12.18.1/include/node/v8.h:3590:37: note: candidate: ‘v8::Maybe<bool> v8::Object::Has(v8::Local<v8::Context>, v8::Local<v8::Value>)’
 3590 |   V8_WARN_UNUSED_RESULT Maybe<bool> Has(Local<Context> context,
      |                                     ^~~
/root/.node-gyp/12.18.1/include/node/v8.h:3590:37: note:   candidate expects 2 arguments, 1 provided
/root/.node-gyp/12.18.1/include/node/v8.h:3596:37: note: candidate: ‘v8::Maybe<bool> v8::Object::Has(v8::Local<v8::Context>, uint32_t)’
 3596 |   V8_WARN_UNUSED_RESULT Maybe<bool> Has(Local<Context> context, uint32_t index);
      |                                     ^~~
/root/.node-gyp/12.18.1/include/node/v8.h:3596:37: note:   candidate expects 2 arguments, 1 provided
In file included from ../src/batch.cc:8:
../src/common.h:31:24: warning: ‘v8::Local<v8::Value> v8::Object::Get(v8::Local<v8::Value>)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
   31 |     && options->Get(key)->IsNumber()
      |                        ^
In file included from /root/.node-gyp/12.18.1/include/node/v8-internal.h:14,
                 from /root/.node-gyp/12.18.1/include/node/v8.h:27,
                 from /root/.node-gyp/12.18.1/include/node/node.h:67,
                 from ../src/batch.cc:1:
/root/.node-gyp/12.18.1/include/node/v8.h:3553:51: note: declared here
 3553 |   V8_DEPRECATED("Use maybe version", Local<Value> Get(Local<Value> key));
      |                                                   ^~~
/root/.node-gyp/12.18.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
  328 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
In file included from ../src/batch.cc:8:
../src/common.h:32:23: warning: ‘v8::Local<v8::Value> v8::Object::Get(v8::Local<v8::Value>)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
   32 |     ? options->Get(key)->Uint32Value()
      |                       ^
In file included from /root/.node-gyp/12.18.1/include/node/v8-internal.h:14,
                 from /root/.node-gyp/12.18.1/include/node/v8.h:27,
                 from /root/.node-gyp/12.18.1/include/node/node.h:67,
                 from ../src/batch.cc:1:
/root/.node-gyp/12.18.1/include/node/v8.h:3553:51: note: declared here
 3553 |   V8_DEPRECATED("Use maybe version", Local<Value> Get(Local<Value> key));
      |                                                   ^~~
/root/.node-gyp/12.18.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
  328 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
In file included from ../src/batch.cc:8:
../src/common.h:32:38: error: no matching function for call to ‘v8::Value::Uint32Value()’
   32 |     ? options->Get(key)->Uint32Value()
      |                                      ^
In file included from /root/.node-gyp/12.18.1/include/node/node.h:67,
                 from ../src/batch.cc:1:
/root/.node-gyp/12.18.1/include/node/v8.h:2707:41: note: candidate: ‘v8::Maybe<unsigned int> v8::Value::Uint32Value(v8::Local<v8::Context>) const’
 2707 |   V8_WARN_UNUSED_RESULT Maybe<uint32_t> Uint32Value(
      |                                         ^~~~~~~~~~~
/root/.node-gyp/12.18.1/include/node/v8.h:2707:41: note:   candidate expects 1 argument, 0 provided
../src/batch.cc: In static member function ‘static Nan::NAN_METHOD_RETURN_TYPE leveldown::Batch::New(Nan::NAN_METHOD_ARGS_TYPE)’:
../src/batch.cc:42:76: error: no matching function for call to ‘v8::Value::ToObject()’
   42 |   Database* database = Nan::ObjectWrap::Unwrap<Database>(info[0]->ToObject());
      |                                                                            ^
In file included from /root/.node-gyp/12.18.1/include/node/node.h:67,
                 from ../src/batch.cc:1:
/root/.node-gyp/12.18.1/include/node/v8.h:2672:44: note: candidate: ‘v8::MaybeLocal<v8::Object> v8::Value::ToObject(v8::Local<v8::Context>) const’
 2672 |   V8_WARN_UNUSED_RESULT MaybeLocal<Object> ToObject(
      |                                            ^~~~~~~~
/root/.node-gyp/12.18.1/include/node/v8.h:2672:44: note:   candidate expects 1 argument, 0 provided
In file included from /root/.node-gyp/12.18.1/include/node/v8-internal.h:14,
                 from /root/.node-gyp/12.18.1/include/node/v8.h:27,
                 from /root/.node-gyp/12.18.1/include/node/node.h:67,
                 from ../src/batch.cc:1:
/root/.node-gyp/12.18.1/include/node/v8.h:2686:31: note: candidate: ‘v8::Local<v8::Object> v8::Value::ToObject(v8::Isolate*) const’
 2686 |                 Local<Object> ToObject(Isolate* isolate) const);
      |                               ^~~~~~~~
/root/.node-gyp/12.18.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
  328 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
/root/.node-gyp/12.18.1/include/node/v8.h:2686:31: note:   candidate expects 1 argument, 0 provided
 2686 |                 Local<Object> ToObject(Isolate* isolate) const);
      |                               ^~~~~~~~
/root/.node-gyp/12.18.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
  328 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
../src/batch.cc: In static member function ‘static v8::Local<v8::Value> leveldown::Batch::NewInstance(v8::Local<v8::Object>, v8::Local<v8::Object>)’:
../src/batch.cc:71:47: error: no matching function for call to ‘v8::FunctionTemplate::GetFunction()’
   71 |     instance = constructorHandle->GetFunction()->NewInstance(1, argv);
      |                                               ^
In file included from /root/.node-gyp/12.18.1/include/node/node.h:67,
                 from ../src/batch.cc:1:
/root/.node-gyp/12.18.1/include/node/v8.h:6126:46: note: candidate: ‘v8::MaybeLocal<v8::Function> v8::FunctionTemplate::GetFunction(v8::Local<v8::Context>)’
 6126 |   V8_WARN_UNUSED_RESULT MaybeLocal<Function> GetFunction(
      |                                              ^~~~~~~~~~~
/root/.node-gyp/12.18.1/include/node/v8.h:6126:46: note:   candidate expects 1 argument, 0 provided
../src/batch.cc:74:47: error: no matching function for call to ‘v8::FunctionTemplate::GetFunction()’
   74 |     instance = constructorHandle->GetFunction()->NewInstance(2, argv);
      |                                               ^
In file included from /root/.node-gyp/12.18.1/include/node/node.h:67,
                 from ../src/batch.cc:1:
/root/.node-gyp/12.18.1/include/node/v8.h:6126:46: note: candidate: ‘v8::MaybeLocal<v8::Function> v8::FunctionTemplate::GetFunction(v8::Local<v8::Context>)’
 6126 |   V8_WARN_UNUSED_RESULT MaybeLocal<Function> GetFunction(
      |                                              ^~~~~~~~~~~
/root/.node-gyp/12.18.1/include/node/v8.h:6126:46: note:   candidate expects 1 argument, 0 provided
In file included from ../src/database.h:18,
                 from ../src/batch.cc:5:
../src/batch.cc: In static member function ‘static Nan::NAN_METHOD_RETURN_TYPE leveldown::Batch::Put(Nan::NAN_METHOD_ARGS_TYPE)’:
../src/leveldown.h:53:30: error: no matching function for call to ‘v8::Value::ToObject()’
   53 |   } else if (!from->ToObject().IsEmpty()                                       \
      |                              ^
../src/batch.cc:86:3: note: in expansion of macro ‘LD_STRING_OR_BUFFER_TO_SLICE’
   86 |   LD_STRING_OR_BUFFER_TO_SLICE(key, keyBuffer, key)
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /root/.node-gyp/12.18.1/include/node/node.h:67,
                 from ../src/batch.cc:1:
/root/.node-gyp/12.18.1/include/node/v8.h:2672:44: note: candidate: ‘v8::MaybeLocal<v8::Object> v8::Value::ToObject(v8::Local<v8::Context>) const’
 2672 |   V8_WARN_UNUSED_RESULT MaybeLocal<Object> ToObject(
      |                                            ^~~~~~~~
/root/.node-gyp/12.18.1/include/node/v8.h:2672:44: note:   candidate expects 1 argument, 0 provided
In file included from /root/.node-gyp/12.18.1/include/node/v8-internal.h:14,
                 from /root/.node-gyp/12.18.1/include/node/v8.h:27,
                 from /root/.node-gyp/12.18.1/include/node/node.h:67,
                 from ../src/batch.cc:1:
/root/.node-gyp/12.18.1/include/node/v8.h:2686:31: note: candidate: ‘v8::Local<v8::Object> v8::Value::ToObject(v8::Isolate*) const’
 2686 |                 Local<Object> ToObject(Isolate* isolate) const);
      |                               ^~~~~~~~
/root/.node-gyp/12.18.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
  328 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
/root/.node-gyp/12.18.1/include/node/v8.h:2686:31: note:   candidate expects 1 argument, 0 provided
 2686 |                 Local<Object> ToObject(Isolate* isolate) const);
      |                               ^~~~~~~~
/root/.node-gyp/12.18.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
  328 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
In file included from ../src/database.h:18,
                 from ../src/batch.cc:5:
../src/leveldown.h:54:51: error: no matching function for call to ‘v8::Value::ToObject()’
   54 |       && node::Buffer::HasInstance(from->ToObject())) {                        \
      |                                                   ^
../src/batch.cc:86:3: note: in expansion of macro ‘LD_STRING_OR_BUFFER_TO_SLICE’
   86 |   LD_STRING_OR_BUFFER_TO_SLICE(key, keyBuffer, key)
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /root/.node-gyp/12.18.1/include/node/node.h:67,
                 from ../src/batch.cc:1:
/root/.node-gyp/12.18.1/include/node/v8.h:2672:44: note: candidate: ‘v8::MaybeLocal<v8::Object> v8::Value::ToObject(v8::Local<v8::Context>) const’
 2672 |   V8_WARN_UNUSED_RESULT MaybeLocal<Object> ToObject(
      |                                            ^~~~~~~~
/root/.node-gyp/12.18.1/include/node/v8.h:2672:44: note:   candidate expects 1 argument, 0 provided
In file included from /root/.node-gyp/12.18.1/include/node/v8-internal.h:14,
                 from /root/.node-gyp/12.18.1/include/node/v8.h:27,
                 from /root/.node-gyp/12.18.1/include/node/node.h:67,
                 from ../src/batch.cc:1:
/root/.node-gyp/12.18.1/include/node/v8.h:2686:31: note: candidate: ‘v8::Local<v8::Object> v8::Value::ToObject(v8::Isolate*) const’
 2686 |                 Local<Object> ToObject(Isolate* isolate) const);
      |                               ^~~~~~~~
/root/.node-gyp/12.18.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
  328 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
/root/.node-gyp/12.18.1/include/node/v8.h:2686:31: note:   candidate expects 1 argument, 0 provided
 2686 |                 Local<Object> ToObject(Isolate* isolate) const);
      |                               ^~~~~~~~
/root/.node-gyp/12.18.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
  328 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
In file included from ../src/database.h:18,
                 from ../src/batch.cc:5:
../src/leveldown.h:55:53: error: no matching function for call to ‘v8::Value::ToObject()’
   55 |     to ## Sz_ = node::Buffer::Length(from->ToObject());                        \
      |                                                     ^
../src/batch.cc:86:3: note: in expansion of macro ‘LD_STRING_OR_BUFFER_TO_SLICE’
   86 |   LD_STRING_OR_BUFFER_TO_SLICE(key, keyBuffer, key)
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /root/.node-gyp/12.18.1/include/node/node.h:67,
                 from ../src/batch.cc:1:
/root/.node-gyp/12.18.1/include/node/v8.h:2672:44: note: candidate: ‘v8::MaybeLocal<v8::Object> v8::Value::ToObject(v8::Local<v8::Context>) const’
 2672 |   V8_WARN_UNUSED_RESULT MaybeLocal<Object> ToObject(
      |                                            ^~~~~~~~
/root/.node-gyp/12.18.1/include/node/v8.h:2672:44: note:   candidate expects 1 argument, 0 provided
In file included from /root/.node-gyp/12.18.1/include/node/v8-internal.h:14,
                 from /root/.node-gyp/12.18.1/include/node/v8.h:27,
                 from /root/.node-gyp/12.18.1/include/node/node.h:67,
                 from ../src/batch.cc:1:
/root/.node-gyp/12.18.1/include/node/v8.h:2686:31: note: candidate: ‘v8::Local<v8::Object> v8::Value::ToObject(v8::Isolate*) const’
 2686 |                 Local<Object> ToObject(Isolate* isolate) const);
      |                               ^~~~~~~~
/root/.node-gyp/12.18.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
  328 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
/root/.node-gyp/12.18.1/include/node/v8.h:2686:31: note:   candidate expects 1 argument, 0 provided
 2686 |                 Local<Object> ToObject(Isolate* isolate) const);
      |                               ^~~~~~~~
/root/.node-gyp/12.18.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
  328 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
In file included from ../src/database.h:18,
                 from ../src/batch.cc:5:
../src/leveldown.h:56:51: error: no matching function for call to ‘v8::Value::ToObject()’
   56 |     to ## Ch_ = node::Buffer::Data(from->ToObject());                          \
      |                                                   ^
../src/batch.cc:86:3: note: in expansion of macro ‘LD_STRING_OR_BUFFER_TO_SLICE’
   86 |   LD_STRING_OR_BUFFER_TO_SLICE(key, keyBuffer, key)
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /root/.node-gyp/12.18.1/include/node/node.h:67,
                 from ../src/batch.cc:1:
/root/.node-gyp/12.18.1/include/node/v8.h:2672:44: note: candidate: ‘v8::MaybeLocal<v8::Object> v8::Value::ToObject(v8::Local<v8::Context>) const’
 2672 |   V8_WARN_UNUSED_RESULT MaybeLocal<Object> ToObject(
      |                                            ^~~~~~~~
/root/.node-gyp/12.18.1/include/node/v8.h:2672:44: note:   candidate expects 1 argument, 0 provided
In file included from /root/.node-gyp/12.18.1/include/node/v8-internal.h:14,
                 from /root/.node-gyp/12.18.1/include/node/v8.h:27,
                 from /root/.node-gyp/12.18.1/include/node/node.h:67,
                 from ../src/batch.cc:1:
/root/.node-gyp/12.18.1/include/node/v8.h:2686:31: note: candidate: ‘v8::Local<v8::Object> v8::Value::ToObject(v8::Isolate*) const’
 2686 |                 Local<Object> ToObject(Isolate* isolate) const);
      |                               ^~~~~~~~
/root/.node-gyp/12.18.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
  328 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
/root/.node-gyp/12.18.1/include/node/v8.h:2686:31: note:   candidate expects 1 argument, 0 provided
 2686 |                 Local<Object> ToObject(Isolate* isolate) const);
      |                               ^~~~~~~~
/root/.node-gyp/12.18.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
  328 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
In file included from ../src/database.h:18,
                 from ../src/batch.cc:5:
../src/leveldown.h:58:54: error: no matching function for call to ‘v8::Value::ToString()’
   58 |     v8::Local<v8::String> to ## Str = from->ToString();                        \
      |                                                      ^
../src/batch.cc:86:3: note: in expansion of macro ‘LD_STRING_OR_BUFFER_TO_SLICE’
   86 |   LD_STRING_OR_BUFFER_TO_SLICE(key, keyBuffer, key)
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /root/.node-gyp/12.18.1/include/node/node.h:67,
                 from ../src/batch.cc:1:
/root/.node-gyp/12.18.1/include/node/v8.h:2668:44: note: candidate: ‘v8::MaybeLocal<v8::String> v8::Value::ToString(v8::Local<v8::Context>) const’
 2668 |   V8_WARN_UNUSED_RESULT MaybeLocal<String> ToString(
      |                                            ^~~~~~~~
/root/.node-gyp/12.18.1/include/node/v8.h:2668:44: note:   candidate expects 1 argument, 0 provided
In file included from /root/.node-gyp/12.18.1/include/node/v8-internal.h:14,
                 from /root/.node-gyp/12.18.1/include/node/v8.h:27,
                 from /root/.node-gyp/12.18.1/include/node/node.h:67,
                 from ../src/batch.cc:1:
/root/.node-gyp/12.18.1/include/node/v8.h:2684:31: note: candidate: ‘v8::Local<v8::String> v8::Value::ToString(v8::Isolate*) const’
 2684 |                 Local<String> ToString(Isolate* isolate) const);
      |                               ^~~~~~~~
/root/.node-gyp/12.18.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
  328 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
/root/.node-gyp/12.18.1/include/node/v8.h:2684:31: note:   candidate expects 1 argument, 0 provided
 2684 |                 Local<String> ToString(Isolate* isolate) const);
      |                               ^~~~~~~~
/root/.node-gyp/12.18.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
  328 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
In file included from ../src/database.h:18,
                 from ../src/batch.cc:5:
../src/leveldown.h:59:39: error: no matching function for call to ‘v8::String::Utf8Length()’
   59 |     to ## Sz_ = to ## Str->Utf8Length();                                       \
      |                                       ^
../src/batch.cc:86:3: note: in expansion of macro ‘LD_STRING_OR_BUFFER_TO_SLICE’
   86 |   LD_STRING_OR_BUFFER_TO_SLICE(key, keyBuffer, key)
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /root/.node-gyp/12.18.1/include/node/node.h:67,
                 from ../src/batch.cc:1:
/root/.node-gyp/12.18.1/include/node/v8.h:2818:7: note: candidate: ‘int v8::String::Utf8Length(v8::Isolate*) const’
 2818 |   int Utf8Length(Isolate* isolate) const;
      |       ^~~~~~~~~~
/root/.node-gyp/12.18.1/include/node/v8.h:2818:7: note:   candidate expects 1 argument, 0 provided
In file included from ../src/database.h:18,
                 from ../src/batch.cc:5:
../src/batch.cc:86:32: error: cannot convert ‘char*’ to ‘v8::Isolate*’
   86 |   LD_STRING_OR_BUFFER_TO_SLICE(key, keyBuffer, key)
      |                                ^~~
      |                                |
      |                                char*
../src/leveldown.h:62:9: note: in definition of macro ‘LD_STRING_OR_BUFFER_TO_SLICE’
   62 |         to ## Ch_                                                              \
      |         ^~
In file included from /root/.node-gyp/12.18.1/include/node/node.h:67,
                 from ../src/batch.cc:1:
/root/.node-gyp/12.18.1/include/node/v8.h:2878:26: note:   initializing argument 1 of ‘int v8::String::WriteUtf8(v8::Isolate*, char*, int, int*, int) const’
 2878 |   int WriteUtf8(Isolate* isolate, char* buffer, int length = -1,
      |                 ~~~~~~~~~^~~~~~~
In file included from ../src/database.h:18,
                 from ../src/batch.cc:5:
../src/leveldown.h:53:30: error: no matching function for call to ‘v8::Value::ToObject()’
   53 |   } else if (!from->ToObject().IsEmpty()                                       \
      |                              ^
../src/batch.cc:87:3: note: in expansion of macro ‘LD_STRING_OR_BUFFER_TO_SLICE’
   87 |   LD_STRING_OR_BUFFER_TO_SLICE(value, valueBuffer, value)
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /root/.node-gyp/12.18.1/include/node/node.h:67,
                 from ../src/batch.cc:1:
/root/.node-gyp/12.18.1/include/node/v8.h:2672:44: note: candidate: ‘v8::MaybeLocal<v8::Object> v8::Value::ToObject(v8::Local<v8::Context>) const’
 2672 |   V8_WARN_UNUSED_RESULT MaybeLocal<Object> ToObject(
      |                                            ^~~~~~~~
/root/.node-gyp/12.18.1/include/node/v8.h:2672:44: note:   candidate expects 1 argument, 0 provided
In file included from /root/.node-gyp/12.18.1/include/node/v8-internal.h:14,
                 from /root/.node-gyp/12.18.1/include/node/v8.h:27,
                 from /root/.node-gyp/12.18.1/include/node/node.h:67,
                 from ../src/batch.cc:1:
/root/.node-gyp/12.18.1/include/node/v8.h:2686:31: note: candidate: ‘v8::Local<v8::Object> v8::Value::ToObject(v8::Isolate*) const’
 2686 |                 Local<Object> ToObject(Isolate* isolate) const);
      |                               ^~~~~~~~
/root/.node-gyp/12.18.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
  328 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
/root/.node-gyp/12.18.1/include/node/v8.h:2686:31: note:   candidate expects 1 argument, 0 provided
 2686 |                 Local<Object> ToObject(Isolate* isolate) const);
      |                               ^~~~~~~~
/root/.node-gyp/12.18.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
  328 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
In file included from ../src/database.h:18,
                 from ../src/batch.cc:5:
../src/leveldown.h:54:51: error: no matching function for call to ‘v8::Value::ToObject()’
   54 |       && node::Buffer::HasInstance(from->ToObject())) {                        \
      |                                                   ^
../src/batch.cc:87:3: note: in expansion of macro ‘LD_STRING_OR_BUFFER_TO_SLICE’
   87 |   LD_STRING_OR_BUFFER_TO_SLICE(value, valueBuffer, value)
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /root/.node-gyp/12.18.1/include/node/node.h:67,
                 from ../src/batch.cc:1:
/root/.node-gyp/12.18.1/include/node/v8.h:2672:44: note: candidate: ‘v8::MaybeLocal<v8::Object> v8::Value::ToObject(v8::Local<v8::Context>) const’
 2672 |   V8_WARN_UNUSED_RESULT MaybeLocal<Object> ToObject(
      |                                            ^~~~~~~~
/root/.node-gyp/12.18.1/include/node/v8.h:2672:44: note:   candidate expects 1 argument, 0 provided
In file included from /root/.node-gyp/12.18.1/include/node/v8-internal.h:14,
                 from /root/.node-gyp/12.18.1/include/node/v8.h:27,
                 from /root/.node-gyp/12.18.1/include/node/node.h:67,
                 from ../src/batch.cc:1:
/root/.node-gyp/12.18.1/include/node/v8.h:2686:31: note: candidate: ‘v8::Local<v8::Object> v8::Value::ToObject(v8::Isolate*) const’
 2686 |                 Local<Object> ToObject(Isolate* isolate) const);
      |                               ^~~~~~~~
/root/.node-gyp/12.18.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
  328 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
/root/.node-gyp/12.18.1/include/node/v8.h:2686:31: note:   candidate expects 1 argument, 0 provided
 2686 |                 Local<Object> ToObject(Isolate* isolate) const);
      |                               ^~~~~~~~
/root/.node-gyp/12.18.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
  328 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
In file included from ../src/database.h:18,
                 from ../src/batch.cc:5:
../src/leveldown.h:55:53: error: no matching function for call to ‘v8::Value::ToObject()’
   55 |     to ## Sz_ = node::Buffer::Length(from->ToObject());                        \
      |                                                     ^
../src/batch.cc:87:3: note: in expansion of macro ‘LD_STRING_OR_BUFFER_TO_SLICE’
   87 |   LD_STRING_OR_BUFFER_TO_SLICE(value, valueBuffer, value)
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /root/.node-gyp/12.18.1/include/node/node.h:67,
                 from ../src/batch.cc:1:
/root/.node-gyp/12.18.1/include/node/v8.h:2672:44: note: candidate: ‘v8::MaybeLocal<v8::Object> v8::Value::ToObject(v8::Local<v8::Context>) const’
 2672 |   V8_WARN_UNUSED_RESULT MaybeLocal<Object> ToObject(
      |                                            ^~~~~~~~
/root/.node-gyp/12.18.1/include/node/v8.h:2672:44: note:   candidate expects 1 argument, 0 provided
In file included from /root/.node-gyp/12.18.1/include/node/v8-internal.h:14,
                 from /root/.node-gyp/12.18.1/include/node/v8.h:27,
                 from /root/.node-gyp/12.18.1/include/node/node.h:67,
                 from ../src/batch.cc:1:
/root/.node-gyp/12.18.1/include/node/v8.h:2686:31: note: candidate: ‘v8::Local<v8::Object> v8::Value::ToObject(v8::Isolate*) const’
 2686 |                 Local<Object> ToObject(Isolate* isolate) const);
      |                               ^~~~~~~~
/root/.node-gyp/12.18.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
  328 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
/root/.node-gyp/12.18.1/include/node/v8.h:2686:31: note:   candidate expects 1 argument, 0 provided
 2686 |                 Local<Object> ToObject(Isolate* isolate) const);
      |                               ^~~~~~~~
/root/.node-gyp/12.18.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
  328 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
In file included from ../src/database.h:18,
                 from ../src/batch.cc:5:
../src/leveldown.h:56:51: error: no matching function for call to ‘v8::Value::ToObject()’
   56 |     to ## Ch_ = node::Buffer::Data(from->ToObject());                          \
      |                                                   ^
../src/batch.cc:87:3: note: in expansion of macro ‘LD_STRING_OR_BUFFER_TO_SLICE’
   87 |   LD_STRING_OR_BUFFER_TO_SLICE(value, valueBuffer, value)
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /root/.node-gyp/12.18.1/include/node/node.h:67,
                 from ../src/batch.cc:1:
/root/.node-gyp/12.18.1/include/node/v8.h:2672:44: note: candidate: ‘v8::MaybeLocal<v8::Object> v8::Value::ToObject(v8::Local<v8::Context>) const’
 2672 |   V8_WARN_UNUSED_RESULT MaybeLocal<Object> ToObject(
      |                                            ^~~~~~~~
/root/.node-gyp/12.18.1/include/node/v8.h:2672:44: note:   candidate expects 1 argument, 0 provided
In file included from /root/.node-gyp/12.18.1/include/node/v8-internal.h:14,
                 from /root/.node-gyp/12.18.1/include/node/v8.h:27,
                 from /root/.node-gyp/12.18.1/include/node/node.h:67,
                 from ../src/batch.cc:1:
/root/.node-gyp/12.18.1/include/node/v8.h:2686:31: note: candidate: ‘v8::Local<v8::Object> v8::Value::ToObject(v8::Isolate*) const’
 2686 |                 Local<Object> ToObject(Isolate* isolate) const);
      |                               ^~~~~~~~
/root/.node-gyp/12.18.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
  328 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
/root/.node-gyp/12.18.1/include/node/v8.h:2686:31: note:   candidate expects 1 argument, 0 provided
 2686 |                 Local<Object> ToObject(Isolate* isolate) const);
      |                               ^~~~~~~~
/root/.node-gyp/12.18.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
  328 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
In file included from ../src/database.h:18,
                 from ../src/batch.cc:5:
../src/leveldown.h:58:54: error: no matching function for call to ‘v8::Value::ToString()’
   58 |     v8::Local<v8::String> to ## Str = from->ToString();                        \
      |                                                      ^
../src/batch.cc:87:3: note: in expansion of macro ‘LD_STRING_OR_BUFFER_TO_SLICE’
   87 |   LD_STRING_OR_BUFFER_TO_SLICE(value, valueBuffer, value)
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /root/.node-gyp/12.18.1/include/node/node.h:67,
                 from ../src/batch.cc:1:
/root/.node-gyp/12.18.1/include/node/v8.h:2668:44: note: candidate: ‘v8::MaybeLocal<v8::String> v8::Value::ToString(v8::Local<v8::Context>) const’
 2668 |   V8_WARN_UNUSED_RESULT MaybeLocal<String> ToString(
      |                                            ^~~~~~~~
/root/.node-gyp/12.18.1/include/node/v8.h:2668:44: note:   candidate expects 1 argument, 0 provided
In file included from /root/.node-gyp/12.18.1/include/node/v8-internal.h:14,
                 from /root/.node-gyp/12.18.1/include/node/v8.h:27,
                 from /root/.node-gyp/12.18.1/include/node/node.h:67,
                 from ../src/batch.cc:1:
/root/.node-gyp/12.18.1/include/node/v8.h:2684:31: note: candidate: ‘v8::Local<v8::String> v8::Value::ToString(v8::Isolate*) const’
 2684 |                 Local<String> ToString(Isolate* isolate) const);
      |                               ^~~~~~~~
/root/.node-gyp/12.18.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
  328 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
/root/.node-gyp/12.18.1/include/node/v8.h:2684:31: note:   candidate expects 1 argument, 0 provided
 2684 |                 Local<String> ToString(Isolate* isolate) const);
      |                               ^~~~~~~~
/root/.node-gyp/12.18.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
  328 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
In file included from ../src/database.h:18,
                 from ../src/batch.cc:5:
../src/leveldown.h:59:39: error: no matching function for call to ‘v8::String::Utf8Length()’
   59 |     to ## Sz_ = to ## Str->Utf8Length();                                       \
      |                                       ^
../src/batch.cc:87:3: note: in expansion of macro ‘LD_STRING_OR_BUFFER_TO_SLICE’
   87 |   LD_STRING_OR_BUFFER_TO_SLICE(value, valueBuffer, value)
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /root/.node-gyp/12.18.1/include/node/node.h:67,
                 from ../src/batch.cc:1:
/root/.node-gyp/12.18.1/include/node/v8.h:2818:7: note: candidate: ‘int v8::String::Utf8Length(v8::Isolate*) const’
 2818 |   int Utf8Length(Isolate* isolate) const;
      |       ^~~~~~~~~~
/root/.node-gyp/12.18.1/include/node/v8.h:2818:7: note:   candidate expects 1 argument, 0 provided
In file included from ../src/database.h:18,
                 from ../src/batch.cc:5:
../src/batch.cc:87:32: error: cannot convert ‘char*’ to ‘v8::Isolate*’
   87 |   LD_STRING_OR_BUFFER_TO_SLICE(value, valueBuffer, value)
      |                                ^~~~~
      |                                |
      |                                char*
../src/leveldown.h:62:9: note: in definition of macro ‘LD_STRING_OR_BUFFER_TO_SLICE’
   62 |         to ## Ch_                                                              \
      |         ^~
In file included from /root/.node-gyp/12.18.1/include/node/node.h:67,
                 from ../src/batch.cc:1:
/root/.node-gyp/12.18.1/include/node/v8.h:2878:26: note:   initializing argument 1 of ‘int v8::String::WriteUtf8(v8::Isolate*, char*, int, int*, int) const’
 2878 |   int WriteUtf8(Isolate* isolate, char* buffer, int length = -1,
      |                 ~~~~~~~~~^~~~~~~
In file included from ../src/database.h:18,
                 from ../src/batch.cc:5:
../src/batch.cc: In static member function ‘static Nan::NAN_METHOD_RETURN_TYPE leveldown::Batch::Del(Nan::NAN_METHOD_ARGS_TYPE)’:
../src/leveldown.h:53:30: error: no matching function for call to ‘v8::Value::ToObject()’
   53 |   } else if (!from->ToObject().IsEmpty()                                       \
      |                              ^
../src/batch.cc:105:3: note: in expansion of macro ‘LD_STRING_OR_BUFFER_TO_SLICE’
  105 |   LD_STRING_OR_BUFFER_TO_SLICE(key, keyBuffer, key)
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /root/.node-gyp/12.18.1/include/node/node.h:67,
                 from ../src/batch.cc:1:
/root/.node-gyp/12.18.1/include/node/v8.h:2672:44: note: candidate: ‘v8::MaybeLocal<v8::Object> v8::Value::ToObject(v8::Local<v8::Context>) const’
 2672 |   V8_WARN_UNUSED_RESULT MaybeLocal<Object> ToObject(
      |                                            ^~~~~~~~
/root/.node-gyp/12.18.1/include/node/v8.h:2672:44: note:   candidate expects 1 argument, 0 provided
In file included from /root/.node-gyp/12.18.1/include/node/v8-internal.h:14,
                 from /root/.node-gyp/12.18.1/include/node/v8.h:27,
                 from /root/.node-gyp/12.18.1/include/node/node.h:67,
                 from ../src/batch.cc:1:
/root/.node-gyp/12.18.1/include/node/v8.h:2686:31: note: candidate: ‘v8::Local<v8::Object> v8::Value::ToObject(v8::Isolate*) const’
 2686 |                 Local<Object> ToObject(Isolate* isolate) const);
      |                               ^~~~~~~~
/root/.node-gyp/12.18.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
  328 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
/root/.node-gyp/12.18.1/include/node/v8.h:2686:31: note:   candidate expects 1 argument, 0 provided
 2686 |                 Local<Object> ToObject(Isolate* isolate) const);
      |                               ^~~~~~~~
/root/.node-gyp/12.18.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
  328 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
In file included from ../src/database.h:18,
                 from ../src/batch.cc:5:
../src/leveldown.h:54:51: error: no matching function for call to ‘v8::Value::ToObject()’
   54 |       && node::Buffer::HasInstance(from->ToObject())) {                        \
      |                                                   ^
../src/batch.cc:105:3: note: in expansion of macro ‘LD_STRING_OR_BUFFER_TO_SLICE’
  105 |   LD_STRING_OR_BUFFER_TO_SLICE(key, keyBuffer, key)
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /root/.node-gyp/12.18.1/include/node/node.h:67,
                 from ../src/batch.cc:1:
/root/.node-gyp/12.18.1/include/node/v8.h:2672:44: note: candidate: ‘v8::MaybeLocal<v8::Object> v8::Value::ToObject(v8::Local<v8::Context>) const’
 2672 |   V8_WARN_UNUSED_RESULT MaybeLocal<Object> ToObject(
      |                                            ^~~~~~~~
/root/.node-gyp/12.18.1/include/node/v8.h:2672:44: note:   candidate expects 1 argument, 0 provided
In file included from /root/.node-gyp/12.18.1/include/node/v8-internal.h:14,
                 from /root/.node-gyp/12.18.1/include/node/v8.h:27,
                 from /root/.node-gyp/12.18.1/include/node/node.h:67,
                 from ../src/batch.cc:1:
/root/.node-gyp/12.18.1/include/node/v8.h:2686:31: note: candidate: ‘v8::Local<v8::Object> v8::Value::ToObject(v8::Isolate*) const’
 2686 |                 Local<Object> ToObject(Isolate* isolate) const);
      |                               ^~~~~~~~
/root/.node-gyp/12.18.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
  328 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
/root/.node-gyp/12.18.1/include/node/v8.h:2686:31: note:   candidate expects 1 argument, 0 provided
 2686 |                 Local<Object> ToObject(Isolate* isolate) const);
      |                               ^~~~~~~~
/root/.node-gyp/12.18.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
  328 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
In file included from ../src/database.h:18,
                 from ../src/batch.cc:5:
../src/leveldown.h:55:53: error: no matching function for call to ‘v8::Value::ToObject()’
   55 |     to ## Sz_ = node::Buffer::Length(from->ToObject());                        \
      |                                                     ^
../src/batch.cc:105:3: note: in expansion of macro ‘LD_STRING_OR_BUFFER_TO_SLICE’
  105 |   LD_STRING_OR_BUFFER_TO_SLICE(key, keyBuffer, key)
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /root/.node-gyp/12.18.1/include/node/node.h:67,
                 from ../src/batch.cc:1:
/root/.node-gyp/12.18.1/include/node/v8.h:2672:44: note: candidate: ‘v8::MaybeLocal<v8::Object> v8::Value::ToObject(v8::Local<v8::Context>) const’
 2672 |   V8_WARN_UNUSED_RESULT MaybeLocal<Object> ToObject(
      |                                            ^~~~~~~~
/root/.node-gyp/12.18.1/include/node/v8.h:2672:44: note:   candidate expects 1 argument, 0 provided
In file included from /root/.node-gyp/12.18.1/include/node/v8-internal.h:14,
                 from /root/.node-gyp/12.18.1/include/node/v8.h:27,
                 from /root/.node-gyp/12.18.1/include/node/node.h:67,
                 from ../src/batch.cc:1:
/root/.node-gyp/12.18.1/include/node/v8.h:2686:31: note: candidate: ‘v8::Local<v8::Object> v8::Value::ToObject(v8::Isolate*) const’
 2686 |                 Local<Object> ToObject(Isolate* isolate) const);
      |                               ^~~~~~~~
/root/.node-gyp/12.18.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
  328 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
/root/.node-gyp/12.18.1/include/node/v8.h:2686:31: note:   candidate expects 1 argument, 0 provided
 2686 |                 Local<Object> ToObject(Isolate* isolate) const);
      |                               ^~~~~~~~
/root/.node-gyp/12.18.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
  328 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
In file included from ../src/database.h:18,
                 from ../src/batch.cc:5:
../src/leveldown.h:56:51: error: no matching function for call to ‘v8::Value::ToObject()’
   56 |     to ## Ch_ = node::Buffer::Data(from->ToObject());                          \
      |                                                   ^
../src/batch.cc:105:3: note: in expansion of macro ‘LD_STRING_OR_BUFFER_TO_SLICE’
  105 |   LD_STRING_OR_BUFFER_TO_SLICE(key, keyBuffer, key)
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /root/.node-gyp/12.18.1/include/node/node.h:67,
                 from ../src/batch.cc:1:
/root/.node-gyp/12.18.1/include/node/v8.h:2672:44: note: candidate: ‘v8::MaybeLocal<v8::Object> v8::Value::ToObject(v8::Local<v8::Context>) const’
 2672 |   V8_WARN_UNUSED_RESULT MaybeLocal<Object> ToObject(
      |                                            ^~~~~~~~
/root/.node-gyp/12.18.1/include/node/v8.h:2672:44: note:   candidate expects 1 argument, 0 provided
In file included from /root/.node-gyp/12.18.1/include/node/v8-internal.h:14,
                 from /root/.node-gyp/12.18.1/include/node/v8.h:27,
                 from /root/.node-gyp/12.18.1/include/node/node.h:67,
                 from ../src/batch.cc:1:
/root/.node-gyp/12.18.1/include/node/v8.h:2686:31: note: candidate: ‘v8::Local<v8::Object> v8::Value::ToObject(v8::Isolate*) const’
 2686 |                 Local<Object> ToObject(Isolate* isolate) const);
      |                               ^~~~~~~~
/root/.node-gyp/12.18.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
  328 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
/root/.node-gyp/12.18.1/include/node/v8.h:2686:31: note:   candidate expects 1 argument, 0 provided
 2686 |                 Local<Object> ToObject(Isolate* isolate) const);
      |                               ^~~~~~~~
/root/.node-gyp/12.18.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
  328 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
In file included from ../src/database.h:18,
                 from ../src/batch.cc:5:
../src/leveldown.h:58:54: error: no matching function for call to ‘v8::Value::ToString()’
   58 |     v8::Local<v8::String> to ## Str = from->ToString();                        \
      |                                                      ^
../src/batch.cc:105:3: note: in expansion of macro ‘LD_STRING_OR_BUFFER_TO_SLICE’
  105 |   LD_STRING_OR_BUFFER_TO_SLICE(key, keyBuffer, key)
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /root/.node-gyp/12.18.1/include/node/node.h:67,
                 from ../src/batch.cc:1:
/root/.node-gyp/12.18.1/include/node/v8.h:2668:44: note: candidate: ‘v8::MaybeLocal<v8::String> v8::Value::ToString(v8::Local<v8::Context>) const’
 2668 |   V8_WARN_UNUSED_RESULT MaybeLocal<String> ToString(
      |                                            ^~~~~~~~
/root/.node-gyp/12.18.1/include/node/v8.h:2668:44: note:   candidate expects 1 argument, 0 provided
In file included from /root/.node-gyp/12.18.1/include/node/v8-internal.h:14,
                 from /root/.node-gyp/12.18.1/include/node/v8.h:27,
                 from /root/.node-gyp/12.18.1/include/node/node.h:67,
                 from ../src/batch.cc:1:
/root/.node-gyp/12.18.1/include/node/v8.h:2684:31: note: candidate: ‘v8::Local<v8::String> v8::Value::ToString(v8::Isolate*) const’
 2684 |                 Local<String> ToString(Isolate* isolate) const);
      |                               ^~~~~~~~
/root/.node-gyp/12.18.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
  328 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
/root/.node-gyp/12.18.1/include/node/v8.h:2684:31: note:   candidate expects 1 argument, 0 provided
 2684 |                 Local<String> ToString(Isolate* isolate) const);
      |                               ^~~~~~~~
/root/.node-gyp/12.18.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
  328 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
In file included from ../src/database.h:18,
                 from ../src/batch.cc:5:
../src/leveldown.h:59:39: error: no matching function for call to ‘v8::String::Utf8Length()’
   59 |     to ## Sz_ = to ## Str->Utf8Length();                                       \
      |                                       ^
../src/batch.cc:105:3: note: in expansion of macro ‘LD_STRING_OR_BUFFER_TO_SLICE’
  105 |   LD_STRING_OR_BUFFER_TO_SLICE(key, keyBuffer, key)
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /root/.node-gyp/12.18.1/include/node/node.h:67,
                 from ../src/batch.cc:1:
/root/.node-gyp/12.18.1/include/node/v8.h:2818:7: note: candidate: ‘int v8::String::Utf8Length(v8::Isolate*) const’
 2818 |   int Utf8Length(Isolate* isolate) const;
      |       ^~~~~~~~~~
/root/.node-gyp/12.18.1/include/node/v8.h:2818:7: note:   candidate expects 1 argument, 0 provided
In file included from ../src/database.h:18,
                 from ../src/batch.cc:5:
../src/batch.cc:105:32: error: cannot convert ‘char*’ to ‘v8::Isolate*’
  105 |   LD_STRING_OR_BUFFER_TO_SLICE(key, keyBuffer, key)
      |                                ^~~
      |                                |
      |                                char*
../src/leveldown.h:62:9: note: in definition of macro ‘LD_STRING_OR_BUFFER_TO_SLICE’
   62 |         to ## Ch_                                                              \
      |         ^~
In file included from /root/.node-gyp/12.18.1/include/node/node.h:67,
                 from ../src/batch.cc:1:
/root/.node-gyp/12.18.1/include/node/v8.h:2878:26: note:   initializing argument 1 of ‘int v8::String::WriteUtf8(v8::Isolate*, char*, int, int*, int) const’
 2878 |   int WriteUtf8(Isolate* isolate, char* buffer, int length = -1,
      |                 ~~~~~~~~~^~~~~~~
make: *** [leveldown.target.mk:123: Release/obj.target/leveldown/src/batch.o] Error 1
make: Leaving directory '/usr/lib/node_modules/homebridge-dafang/node_modules/leveldown/build'
prebuild ERR! build error
prebuild ERR! stack Error: `make` failed with exit code: 2
prebuild ERR! stack     at ChildProcess.onExit (/usr/lib/node_modules/homebridge-dafang/node_modules/node-gyp/lib/build.js:276:23)
prebuild ERR! stack     at ChildProcess.emit (events.js:315:20)
prebuild ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:275:12)
prebuild ERR! not ok
prebuild ERR! build Error: `make` failed with exit code: 2
prebuild ERR! build     at ChildProcess.onExit (/usr/lib/node_modules/homebridge-dafang/node_modules/node-gyp/lib/build.js:276:23)
prebuild ERR! build     at ChildProcess.emit (events.js:315:20)
prebuild ERR! build     at Process.ChildProcess._handle.onexit (internal/child_process.js:275:12)

> snappy@5.0.5 install /usr/lib/node_modules/homebridge-dafang/node_modules/snappy
> node-gyp rebuild

make: Entering directory '/usr/lib/node_modules/homebridge-dafang/node_modules/snappy/build'
  CXX(target) Release/obj.target/snappy/deps/snappy/snappy-1.1.2/snappy-sinksource.o
  CXX(target) Release/obj.target/snappy/deps/snappy/snappy-1.1.2/snappy-stubs-internal.o
  CXX(target) Release/obj.target/snappy/deps/snappy/snappy-1.1.2/snappy.o
  AR(target) Release/obj.target/deps/snappy/snappy.a
  COPY Release/snappy.a
  CXX(target) Release/obj.target/binding/src/binding.o
In file included from ../../nan/nan.h:190,
                 from ../src/./binding.h:6,
                 from ../src/binding.cc:1:
../../nan/nan_maybe_43_inl.h: In function ‘Nan::Maybe<bool> Nan::ForceSet(v8::Local<v8::Object>, v8::Local<v8::Value>, v8::Local<v8::Value>, v8::PropertyAttribute)’:
../../nan/nan_maybe_43_inl.h:88:15: error: ‘class v8::Object’ has no member named ‘ForceSet’
   88 |   return obj->ForceSet(GetCurrentContext(), key, value, attribs);
      |               ^~~~~~~~
In file included from ../../nan/nan_converters.h:59,
                 from ../../nan/nan.h:195,
                 from ../src/./binding.h:6,
                 from ../src/binding.cc:1:
../../nan/nan_converters_43_inl.h: In static member function ‘static Nan::imp::ToFactoryBase<v8::Boolean>::return_t Nan::imp::ToFactory<v8::Boolean>::convert(v8::Local<v8::Value>)’:
../../nan/nan_converters_43_inl.h:15:45: warning: ‘v8::MaybeLocal<v8::Boolean> v8::Value::ToBoolean(v8::Local<v8::Context>) const’ is deprecated: ToBoolean can never throw. Use Local version. [-Wdeprecated-declarations]
   15 |   return val->To ## TYPE(GetCurrentContext());                                 \
      |                                             ^
../../nan/nan_converters_43_inl.h:18:1: note: in expansion of macro ‘X’
   18 | X(Boolean)
      | ^
In file included from /root/.cache/node-gyp/12.18.1/include/node/v8-internal.h:14,
                 from /root/.cache/node-gyp/12.18.1/include/node/v8.h:27,
                 from /root/.cache/node-gyp/12.18.1/include/node/node.h:67,
                 from ../src/./binding.h:3,
                 from ../src/binding.cc:1:
/root/.cache/node-gyp/12.18.1/include/node/v8.h:2664:59: note: declared here
 2664 |                 V8_WARN_UNUSED_RESULT MaybeLocal<Boolean> ToBoolean(
      |                                                           ^~~~~~~~~
/root/.cache/node-gyp/12.18.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
  328 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
In file included from ../../nan/nan_converters.h:59,
                 from ../../nan/nan.h:195,
                 from ../src/./binding.h:6,
                 from ../src/binding.cc:1:
../../nan/nan_converters_43_inl.h: In static member function ‘static Nan::imp::ValueFactoryBase<bool>::return_t Nan::imp::ToFactory<bool>::convert(v8::Local<v8::Value>)’:../../nan/nan_converters_43_inl.h:31:48: warning: ‘v8::Maybe<bool> v8::Value::BooleanValue(v8::Local<v8::Context>) const’ is deprecated: BooleanValue can never throw. Use Isolate version. [-Wdeprecated-declarations]
   31 |   return val->NAME ## Value(GetCurrentContext());                              \
      |                                                ^
../../nan/nan_converters_43_inl.h:34:1: note: in expansion of macro ‘X’
   34 | X(bool, Boolean)
      | ^
In file included from /root/.cache/node-gyp/12.18.1/include/node/v8-internal.h:14,
                 from /root/.cache/node-gyp/12.18.1/include/node/v8.h:27,
                 from /root/.cache/node-gyp/12.18.1/include/node/node.h:67,
                 from ../src/./binding.h:3,
                 from ../src/binding.cc:1:
/root/.cache/node-gyp/12.18.1/include/node/v8.h:2702:51: note: declared here
 2702 |                 V8_WARN_UNUSED_RESULT Maybe<bool> BooleanValue(
      |                                                   ^~~~~~~~~~~~
/root/.cache/node-gyp/12.18.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
  328 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
In file included from ../../nan/nan_new.h:189,
                 from ../../nan/nan.h:196,
                 from ../src/./binding.h:6,
                 from ../src/binding.cc:1:
../../nan/nan_implementation_12_inl.h: In static member function ‘static Nan::imp::FactoryBase<v8::Function>::return_t Nan::imp::Factory<v8::Function>::New(Nan::FunctionCallback, v8::Local<v8::Value>)’:
../../nan/nan_implementation_12_inl.h:107:42: error: cannot convert ‘v8::Isolate*’ to ‘v8::Local<v8::Context>’
  107 |   return scope.Escape(v8::Function::New( isolate
      |                                          ^~~~~~~
      |                                          |
      |                                          v8::Isolate*
In file included from /root/.cache/node-gyp/12.18.1/include/node/node.h:67,
                 from ../src/./binding.h:3,
                 from ../src/binding.cc:1:
/root/.cache/node-gyp/12.18.1/include/node/v8.h:4276:22: note:   initializing argument 1 of ‘static v8::MaybeLocal<v8::Function> v8::Function::New(v8::Local<v8::Context>, v8::FunctionCallback, v8::Local<v8::Value>, int, v8::ConstructorBehavior, v8::SideEffectType)’
 4276 |       Local<Context> context, FunctionCallback callback,
      |       ~~~~~~~~~~~~~~~^~~~~~~
In file included from ../../nan/nan_new.h:189,
                 from ../../nan/nan.h:196,
                 from ../src/./binding.h:6,
                 from ../src/binding.cc:1:
../../nan/nan_implementation_12_inl.h: In static member function ‘static Nan::imp::FactoryBase<v8::StringObject>::return_t Nan::imp::Factory<v8::StringObject>::New(v8::Local<v8::String>)’:
../../nan/nan_implementation_12_inl.h:345:37: error: no matching function for call to ‘v8::StringObject::New(v8::Local<v8::String>&)’
  345 |   return v8::StringObject::New(value).As<v8::StringObject>();
      |                                     ^
In file included from /root/.cache/node-gyp/12.18.1/include/node/node.h:67,
                 from ../src/./binding.h:3,
                 from ../src/binding.cc:1:
/root/.cache/node-gyp/12.18.1/include/node/v8.h:5531:23: note: candidate: ‘static v8::Local<v8::Value> v8::StringObject::New(v8::Isolate*, v8::Local<v8::String>)’
 5531 |   static Local<Value> New(Isolate* isolate, Local<String> value);
      |                       ^~~
/root/.cache/node-gyp/12.18.1/include/node/v8.h:5531:23: note:   candidate expects 2 arguments, 1 provided
In file included from ../../nan/nan_new.h:189,
                 from ../../nan/nan.h:196,
                 from ../src/./binding.h:6,
                 from ../src/binding.cc:1:
../../nan/nan_implementation_12_inl.h:345:58: error: expected primary-expression before ‘>’ token
  345 |   return v8::StringObject::New(value).As<v8::StringObject>();
      |                                                          ^
../../nan/nan_implementation_12_inl.h:345:60: error: expected primary-expression before ‘)’ token
  345 |   return v8::StringObject::New(value).As<v8::StringObject>();
      |                                                            ^
In file included from ../src/./binding.h:6,
                 from ../src/binding.cc:1:
../../nan/nan.h: In function ‘v8::Local<v8::Value> Nan::MakeCallback(v8::Local<v8::Object>, v8::Local<v8::Function>, int, v8::Local<v8::Value>*)’:
../../nan/nan.h:817:60: warning: ‘v8::Local<v8::Value> node::MakeCallback(v8::Isolate*, v8::Local<v8::Object>, v8::Local<v8::Function>, int, v8::Local<v8::Value>*)’ is deprecated: Use MakeCallback(..., async_context) [-Wdeprecated-declarations]
  817 |         v8::Isolate::GetCurrent(), target, func, argc, argv);
      |                                                            ^
In file included from ../src/./binding.h:3,
                 from ../src/binding.cc:1:
/root/.cache/node-gyp/12.18.1/include/node/node.h:182:50: note: declared here
  182 |                 NODE_EXTERN v8::Local<v8::Value> MakeCallback(
      |                                                  ^~~~~~~~~~~~
/root/.cache/node-gyp/12.18.1/include/node/node.h:101:42: note: in definition of macro ‘NODE_DEPRECATED’
  101 |     __attribute__((deprecated(message))) declarator
      |                                          ^~~~~~~~~~
In file included from ../src/./binding.h:6,
                 from ../src/binding.cc:1:
../../nan/nan.h:817:60: warning: ‘v8::Local<v8::Value> node::MakeCallback(v8::Isolate*, v8::Local<v8::Object>, v8::Local<v8::Function>, int, v8::Local<v8::Value>*)’ is deprecated: Use MakeCallback(..., async_context) [-Wdeprecated-declarations]
  817 |         v8::Isolate::GetCurrent(), target, func, argc, argv);
      |                                                            ^
In file included from ../src/./binding.h:3,
                 from ../src/binding.cc:1:
/root/.cache/node-gyp/12.18.1/include/node/node.h:182:50: note: declared here
  182 |                 NODE_EXTERN v8::Local<v8::Value> MakeCallback(
      |                                                  ^~~~~~~~~~~~
/root/.cache/node-gyp/12.18.1/include/node/node.h:101:42: note: in definition of macro ‘NODE_DEPRECATED’
  101 |     __attribute__((deprecated(message))) declarator
      |                                          ^~~~~~~~~~
In file included from ../src/./binding.h:6,
                 from ../src/binding.cc:1:
../../nan/nan.h: In function ‘v8::Local<v8::Value> Nan::MakeCallback(v8::Local<v8::Object>, v8::Local<v8::String>, int, v8::Local<v8::Value>*)’:
../../nan/nan.h:831:62: warning: ‘v8::Local<v8::Value> node::MakeCallback(v8::Isolate*, v8::Local<v8::Object>, v8::Local<v8::String>, int, v8::Local<v8::Value>*)’ is deprecated: Use MakeCallback(..., async_context) [-Wdeprecated-declarations]
  831 |         v8::Isolate::GetCurrent(), target, symbol, argc, argv);
      |                                                              ^
In file included from ../src/./binding.h:3,
                 from ../src/binding.cc:1:
/root/.cache/node-gyp/12.18.1/include/node/node.h:175:50: note: declared here
  175 |                 NODE_EXTERN v8::Local<v8::Value> MakeCallback(
      |                                                  ^~~~~~~~~~~~
/root/.cache/node-gyp/12.18.1/include/node/node.h:101:42: note: in definition of macro ‘NODE_DEPRECATED’
  101 |     __attribute__((deprecated(message))) declarator
      |                                          ^~~~~~~~~~
In file included from ../src/./binding.h:6,
                 from ../src/binding.cc:1:
../../nan/nan.h:831:62: warning: ‘v8::Local<v8::Value> node::MakeCallback(v8::Isolate*, v8::Local<v8::Object>, v8::Local<v8::String>, int, v8::Local<v8::Value>*)’ is deprecated: Use MakeCallback(..., async_context) [-Wdeprecated-declarations]
  831 |         v8::Isolate::GetCurrent(), target, symbol, argc, argv);
      |                                                              ^
In file included from ../src/./binding.h:3,
                 from ../src/binding.cc:1:
/root/.cache/node-gyp/12.18.1/include/node/node.h:175:50: note: declared here
  175 |                 NODE_EXTERN v8::Local<v8::Value> MakeCallback(
      |                                                  ^~~~~~~~~~~~
/root/.cache/node-gyp/12.18.1/include/node/node.h:101:42: note: in definition of macro ‘NODE_DEPRECATED’
  101 |     __attribute__((deprecated(message))) declarator
      |                                          ^~~~~~~~~~
In file included from ../src/./binding.h:6,
                 from ../src/binding.cc:1:
../../nan/nan.h: In function ‘v8::Local<v8::Value> Nan::MakeCallback(v8::Local<v8::Object>, const char*, int, v8::Local<v8::Value>*)’:
../../nan/nan.h:845:62: warning: ‘v8::Local<v8::Value> node::MakeCallback(v8::Isolate*, v8::Local<v8::Object>, const char*, int, v8::Local<v8::Value>*)’ is deprecated: Use MakeCallback(..., async_context) [-Wdeprecated-declarations]
  845 |         v8::Isolate::GetCurrent(), target, method, argc, argv);
      |                                                              ^
In file included from ../src/./binding.h:3,
                 from ../src/binding.cc:1:
/root/.cache/node-gyp/12.18.1/include/node/node.h:168:50: note: declared here
  168 |                 NODE_EXTERN v8::Local<v8::Value> MakeCallback(
      |                                                  ^~~~~~~~~~~~
/root/.cache/node-gyp/12.18.1/include/node/node.h:101:42: note: in definition of macro ‘NODE_DEPRECATED’
  101 |     __attribute__((deprecated(message))) declarator
      |                                          ^~~~~~~~~~
In file included from ../src/./binding.h:6,
                 from ../src/binding.cc:1:
../../nan/nan.h:845:62: warning: ‘v8::Local<v8::Value> node::MakeCallback(v8::Isolate*, v8::Local<v8::Object>, const char*, int, v8::Local<v8::Value>*)’ is deprecated: Use MakeCallback(..., async_context) [-Wdeprecated-declarations]
  845 |         v8::Isolate::GetCurrent(), target, method, argc, argv);
      |                                                              ^
In file included from ../src/./binding.h:3,
                 from ../src/binding.cc:1:
/root/.cache/node-gyp/12.18.1/include/node/node.h:168:50: note: declared here
  168 |                 NODE_EXTERN v8::Local<v8::Value> MakeCallback(
      |                                                  ^~~~~~~~~~~~
/root/.cache/node-gyp/12.18.1/include/node/node.h:101:42: note: in definition of macro ‘NODE_DEPRECATED’
  101 |     __attribute__((deprecated(message))) declarator
      |                                          ^~~~~~~~~~
In file included from ../src/./binding.h:6,
                 from ../src/binding.cc:1:
../../nan/nan.h: In constructor ‘Nan::Utf8String::Utf8String(v8::Local<v8::Value>)’:
../../nan/nan.h:890:53: error: no matching function for call to ‘v8::Value::ToString()’
  890 |       v8::Local<v8::String> string = from->ToString();
      |                                                     ^
In file included from /root/.cache/node-gyp/12.18.1/include/node/node.h:67,
                 from ../src/./binding.h:3,
                 from ../src/binding.cc:1:
/root/.cache/node-gyp/12.18.1/include/node/v8.h:2668:44: note: candidate: ‘v8::MaybeLocal<v8::String> v8::Value::ToString(v8::Local<v8::Context>) const’
 2668 |   V8_WARN_UNUSED_RESULT MaybeLocal<String> ToString(
      |                                            ^~~~~~~~
/root/.cache/node-gyp/12.18.1/include/node/v8.h:2668:44: note:   candidate expects 1 argument, 0 provided
In file included from /root/.cache/node-gyp/12.18.1/include/node/v8-internal.h:14,
                 from /root/.cache/node-gyp/12.18.1/include/node/v8.h:27,
                 from /root/.cache/node-gyp/12.18.1/include/node/node.h:67,
                 from ../src/./binding.h:3,
                 from ../src/binding.cc:1:
/root/.cache/node-gyp/12.18.1/include/node/v8.h:2684:31: note: candidate: ‘v8::Local<v8::String> v8::Value::ToString(v8::Isolate*) const’
 2684 |                 Local<String> ToString(Isolate* isolate) const);
      |                               ^~~~~~~~
/root/.cache/node-gyp/12.18.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
  328 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
/root/.cache/node-gyp/12.18.1/include/node/v8.h:2684:31: note:   candidate expects 1 argument, 0 provided
 2684 |                 Local<String> ToString(Isolate* isolate) const);
      |                               ^~~~~~~~
/root/.cache/node-gyp/12.18.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
  328 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
In file included from ../src/./binding.h:6,
                 from ../src/binding.cc:1:
../../nan/nan.h:900:37: error: cannot convert ‘char*’ to ‘v8::Isolate*’
  900 |         length_ = string->WriteUtf8(str_, static_cast<int>(len), 0, flags);
      |                                     ^~~~
      |                                     |
      |                                     char*
In file included from /root/.cache/node-gyp/12.18.1/include/node/node.h:67,
                 from ../src/./binding.h:3,
                 from ../src/binding.cc:1:
/root/.cache/node-gyp/12.18.1/include/node/v8.h:2878:26: note:   initializing argument 1 of ‘int v8::String::WriteUtf8(v8::Isolate*, char*, int, int*, int) const’
 2878 |   int WriteUtf8(Isolate* isolate, char* buffer, int length = -1,
      |                 ~~~~~~~~~^~~~~~~
In file included from ../src/./binding.h:6,
                 from ../src/binding.cc:1:
../../nan/nan.h: In member function ‘bool Nan::Callback::operator==(const Nan::Callback&) const’:
../../nan/nan.h:1371:61: warning: ‘v8::Local<v8::Value> v8::Object::Get(uint32_t)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
 1371 |     v8::Local<v8::Value> a = New(handle)->Get(kCallbackIndex);
      |                                                             ^
In file included from /root/.cache/node-gyp/12.18.1/include/node/v8-internal.h:14,
                 from /root/.cache/node-gyp/12.18.1/include/node/v8.h:27,
                 from /root/.cache/node-gyp/12.18.1/include/node/node.h:67,
                 from ../src/./binding.h:3,
                 from ../src/binding.cc:1:
/root/.cache/node-gyp/12.18.1/include/node/v8.h:3557:51: note: declared here
 3557 |   V8_DEPRECATED("Use maybe version", Local<Value> Get(uint32_t index));
      |                                                   ^~~
/root/.cache/node-gyp/12.18.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
  328 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
In file included from ../src/./binding.h:6,
                 from ../src/binding.cc:1:
../../nan/nan.h:1372:67: warning: ‘v8::Local<v8::Value> v8::Object::Get(uint32_t)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
 1372 |     v8::Local<v8::Value> b = New(other.handle)->Get(kCallbackIndex);
      |                                                                   ^
In file included from /root/.cache/node-gyp/12.18.1/include/node/v8-internal.h:14,
                 from /root/.cache/node-gyp/12.18.1/include/node/v8.h:27,
                 from /root/.cache/node-gyp/12.18.1/include/node/node.h:67,
                 from ../src/./binding.h:3,
                 from ../src/binding.cc:1:
/root/.cache/node-gyp/12.18.1/include/node/v8.h:3557:51: note: declared here
 3557 |   V8_DEPRECATED("Use maybe version", Local<Value> Get(uint32_t index));
      |                                                   ^~~
/root/.cache/node-gyp/12.18.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
  328 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
In file included from ../src/./binding.h:6,
                 from ../src/binding.cc:1:
../../nan/nan.h: In member function ‘v8::Local<v8::Function> Nan::Callback::GetFunction() const’:
../../nan/nan.h:1403:56: warning: ‘v8::Local<v8::Value> v8::Object::Get(uint32_t)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
 1403 |     return scope.Escape(New(handle)->Get(kCallbackIndex)
      |                                                        ^
In file included from /root/.cache/node-gyp/12.18.1/include/node/v8-internal.h:14,
                 from /root/.cache/node-gyp/12.18.1/include/node/v8.h:27,
                 from /root/.cache/node-gyp/12.18.1/include/node/node.h:67,
                 from ../src/./binding.h:3,
                 from ../src/binding.cc:1:
/root/.cache/node-gyp/12.18.1/include/node/v8.h:3557:51: note: declared here
 3557 |   V8_DEPRECATED("Use maybe version", Local<Value> Get(uint32_t index));
      |                                                   ^~~
/root/.cache/node-gyp/12.18.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
  328 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
In file included from ../src/./binding.h:6,
                 from ../src/binding.cc:1:
../../nan/nan.h: In member function ‘bool Nan::Callback::IsEmpty() const’:
../../nan/nan.h:1409:43: warning: ‘v8::Local<v8::Value> v8::Object::Get(uint32_t)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
 1409 |     return New(handle)->Get(kCallbackIndex)->IsUndefined();
      |                                           ^
In file included from /root/.cache/node-gyp/12.18.1/include/node/v8-internal.h:14,
                 from /root/.cache/node-gyp/12.18.1/include/node/v8.h:27,
                 from /root/.cache/node-gyp/12.18.1/include/node/node.h:67,
                 from ../src/./binding.h:3,
                 from ../src/binding.cc:1:
/root/.cache/node-gyp/12.18.1/include/node/v8.h:3557:51: note: declared here
 3557 |   V8_DEPRECATED("Use maybe version", Local<Value> Get(uint32_t index));
      |                                                   ^~~
/root/.cache/node-gyp/12.18.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
  328 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
In file included from ../src/./binding.h:6,
                 from ../src/binding.cc:1:
../../nan/nan.h: In member function ‘v8::Local<v8::Value> Nan::Callback::Call_(v8::Isolate*, v8::Local<v8::Object>, int, v8::Local<v8::Value>*) const’:
../../nan/nan.h:1447:27: warning: ‘v8::Local<v8::Value> v8::Object::Get(uint32_t)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
 1447 |         Get(kCallbackIndex).As<v8::Function>();
      |                           ^
In file included from /root/.cache/node-gyp/12.18.1/include/node/v8-internal.h:14,
                 from /root/.cache/node-gyp/12.18.1/include/node/v8.h:27,
                 from /root/.cache/node-gyp/12.18.1/include/node/node.h:67,
                 from ../src/./binding.h:3,
                 from ../src/binding.cc:1:
/root/.cache/node-gyp/12.18.1/include/node/v8.h:3557:51: note: declared here
 3557 |   V8_DEPRECATED("Use maybe version", Local<Value> Get(uint32_t index));
      |                                                   ^~~
/root/.cache/node-gyp/12.18.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
  328 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
In file included from ../src/./binding.h:6,
                 from ../src/binding.cc:1:
../../nan/nan.h:1463:5: warning: ‘v8::Local<v8::Value> node::MakeCallback(v8::Isolate*, v8::Local<v8::Object>, v8::Local<v8::Function>, int, v8::Local<v8::Value>*)’ is deprecated: Use MakeCallback(..., async_context) [-Wdeprecated-declarations]
 1463 |     ));
      |     ^
In file included from ../src/./binding.h:3,
                 from ../src/binding.cc:1:
/root/.cache/node-gyp/12.18.1/include/node/node.h:182:50: note: declared here
  182 |                 NODE_EXTERN v8::Local<v8::Value> MakeCallback(
      |                                                  ^~~~~~~~~~~~
/root/.cache/node-gyp/12.18.1/include/node/node.h:101:42: note: in definition of macro ‘NODE_DEPRECATED’
  101 |     __attribute__((deprecated(message))) declarator
      |                                          ^~~~~~~~~~
In file included from ../src/./binding.h:6,
                 from ../src/binding.cc:1:
../../nan/nan.h:1463:5: warning: ‘v8::Local<v8::Value> node::MakeCallback(v8::Isolate*, v8::Local<v8::Object>, v8::Local<v8::Function>, int, v8::Local<v8::Value>*)’ is deprecated: Use MakeCallback(..., async_context) [-Wdeprecated-declarations]
 1463 |     ));
      |     ^
In file included from ../src/./binding.h:3,
                 from ../src/binding.cc:1:
/root/.cache/node-gyp/12.18.1/include/node/node.h:182:50: note: declared here
  182 |                 NODE_EXTERN v8::Local<v8::Value> MakeCallback(
      |                                                  ^~~~~~~~~~~~
/root/.cache/node-gyp/12.18.1/include/node/node.h:101:42: note: in definition of macro ‘NODE_DEPRECATED’
  101 |     __attribute__((deprecated(message))) declarator
      |                                          ^~~~~~~~~~
In file included from ../src/./binding.h:6,
                 from ../src/binding.cc:1:
../../nan/nan.h: In member function ‘void Nan::AsyncWorker::SaveToPersistent(const char*, const v8::Local<v8::Value>&)’:
../../nan/nan.h:1518:64: warning: ‘bool v8::Object::Set(v8::Local<v8::Value>, v8::Local<v8::Value>)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
 1518 |     New(persistentHandle)->Set(New(key).ToLocalChecked(), value);
      |                                                                ^
In file included from /root/.cache/node-gyp/12.18.1/include/node/v8-internal.h:14,
                 from /root/.cache/node-gyp/12.18.1/include/node/v8.h:27,
                 from /root/.cache/node-gyp/12.18.1/include/node/node.h:67,
                 from ../src/./binding.h:3,
                 from ../src/binding.cc:1:
/root/.cache/node-gyp/12.18.1/include/node/v8.h:3499:22: note: declared here
 3499 |                 bool Set(Local<Value> key, Local<Value> value));
      |                      ^~~
/root/.cache/node-gyp/12.18.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
  328 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
In file included from ../src/./binding.h:6,
                 from ../src/binding.cc:1:
../../nan/nan.h: In member function ‘void Nan::AsyncWorker::SaveToPersistent(const v8::Local<v8::String>&, const v8::Local<v8::Value>&)’:
../../nan/nan.h:1524:42: warning: ‘bool v8::Object::Set(v8::Local<v8::Value>, v8::Local<v8::Value>)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
 1524 |     New(persistentHandle)->Set(key, value);
      |                                          ^
In file included from /root/.cache/node-gyp/12.18.1/include/node/v8-internal.h:14,
                 from /root/.cache/node-gyp/12.18.1/include/node/v8.h:27,
                 from /root/.cache/node-gyp/12.18.1/include/node/node.h:67,
                 from ../src/./binding.h:3,
                 from ../src/binding.cc:1:
/root/.cache/node-gyp/12.18.1/include/node/v8.h:3499:22: note: declared here
 3499 |                 bool Set(Local<Value> key, Local<Value> value));
      |                      ^~~
/root/.cache/node-gyp/12.18.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
  328 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
In file included from ../src/./binding.h:6,
                 from ../src/binding.cc:1:
../../nan/nan.h: In member function ‘void Nan::AsyncWorker::SaveToPersistent(uint32_t, const v8::Local<v8::Value>&)’:
../../nan/nan.h:1530:44: warning: ‘bool v8::Object::Set(uint32_t, v8::Local<v8::Value>)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
 1530 |     New(persistentHandle)->Set(index, value);
      |                                            ^
In file included from /root/.cache/node-gyp/12.18.1/include/node/v8-internal.h:14,
                 from /root/.cache/node-gyp/12.18.1/include/node/v8.h:27,
                 from /root/.cache/node-gyp/12.18.1/include/node/node.h:67,
                 from ../src/./binding.h:3,
                 from ../src/binding.cc:1:
/root/.cache/node-gyp/12.18.1/include/node/v8.h:3508:22: note: declared here
 3508 |                 bool Set(uint32_t index, Local<Value> value));
      |                      ^~~
/root/.cache/node-gyp/12.18.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
  328 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
In file included from ../src/./binding.h:6,
                 from ../src/binding.cc:1:
../../nan/nan.h: In member function ‘v8::Local<v8::Value> Nan::AsyncWorker::GetFromPersistent(const char*) const’:
../../nan/nan.h:1536:61: warning: ‘v8::Local<v8::Value> v8::Object::Get(v8::Local<v8::Value>)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
 1536 |         New(persistentHandle)->Get(New(key).ToLocalChecked()));
      |                                                             ^
In file included from /root/.cache/node-gyp/12.18.1/include/node/v8-internal.h:14,
                 from /root/.cache/node-gyp/12.18.1/include/node/v8.h:27,
                 from /root/.cache/node-gyp/12.18.1/include/node/node.h:67,
                 from ../src/./binding.h:3,
                 from ../src/binding.cc:1:
/root/.cache/node-gyp/12.18.1/include/node/v8.h:3553:51: note: declared here
 3553 |   V8_DEPRECATED("Use maybe version", Local<Value> Get(Local<Value> key));
      |                                                   ^~~
/root/.cache/node-gyp/12.18.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
  328 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
In file included from ../src/./binding.h:6,
                 from ../src/binding.cc:1:
../../nan/nan.h: In member function ‘v8::Local<v8::Value> Nan::AsyncWorker::GetFromPersistent(const v8::Local<v8::String>&) const’:
../../nan/nan.h:1542:55: warning: ‘v8::Local<v8::Value> v8::Object::Get(v8::Local<v8::Value>)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
 1542 |     return scope.Escape(New(persistentHandle)->Get(key));
      |                                                       ^
In file included from /root/.cache/node-gyp/12.18.1/include/node/v8-internal.h:14,
                 from /root/.cache/node-gyp/12.18.1/include/node/v8.h:27,
                 from /root/.cache/node-gyp/12.18.1/include/node/node.h:67,
                 from ../src/./binding.h:3,
                 from ../src/binding.cc:1:
/root/.cache/node-gyp/12.18.1/include/node/v8.h:3553:51: note: declared here
 3553 |   V8_DEPRECATED("Use maybe version", Local<Value> Get(Local<Value> key));
      |                                                   ^~~
/root/.cache/node-gyp/12.18.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
  328 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
In file included from ../src/./binding.h:6,
                 from ../src/binding.cc:1:
../../nan/nan.h: In member function ‘v8::Local<v8::Value> Nan::AsyncWorker::GetFromPersistent(uint32_t) const’:
../../nan/nan.h:1547:57: warning: ‘v8::Local<v8::Value> v8::Object::Get(uint32_t)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
 1547 |     return scope.Escape(New(persistentHandle)->Get(index));
      |                                                         ^
In file included from /root/.cache/node-gyp/12.18.1/include/node/v8-internal.h:14,
                 from /root/.cache/node-gyp/12.18.1/include/node/v8.h:27,
                 from /root/.cache/node-gyp/12.18.1/include/node/node.h:67,
                 from ../src/./binding.h:3,
                 from ../src/binding.cc:1:
/root/.cache/node-gyp/12.18.1/include/node/v8.h:3557:51: note: declared here
 3557 |   V8_DEPRECATED("Use maybe version", Local<Value> Get(uint32_t index));
      |                                                   ^~~
/root/.cache/node-gyp/12.18.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
  328 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
In file included from ../src/./binding.h:6,
                 from ../src/binding.cc:1:
../../nan/nan.h: In function ‘void Nan::AsyncQueueWorker(Nan::AsyncWorker*)’:
../../nan/nan.h:1706:62: 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]
 1706 |     , reinterpret_cast<uv_after_work_cb>(AsyncExecuteComplete)
      |                                                              ^
In file included from /usr/include/c++/9/cassert:44,
                 from /root/.cache/node-gyp/12.18.1/include/node/node_object_wrap.h:26,
                 from ../../nan/nan.h:49,
                 from ../src/./binding.h:6,
                 from ../src/binding.cc:1:
../../nan/nan_object_wrap.h: In destructor ‘virtual Nan::ObjectWrap::~ObjectWrap()’:
../../nan/nan_object_wrap.h:24:25: error: ‘class Nan::Persistent<v8::Object>’ has no member named ‘IsNearDeath’
   24 |     assert(persistent().IsNearDeath());
      |                         ^~~~~~~~~~~
In file included from ../../nan/nan.h:2192,
                 from ../src/./binding.h:6,
                 from ../src/binding.cc:1:
../../nan/nan_object_wrap.h: In member function ‘void Nan::ObjectWrap::MakeWeak()’:
../../nan/nan_object_wrap.h:67:34: warning: ‘void v8::PersistentBase<T>::MarkIndependent() [with T = v8::Object]’ is deprecated: 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]
   67 |     persistent().MarkIndependent();
      |                                  ^
In file included from /root/.cache/node-gyp/12.18.1/include/node/v8-internal.h:14,
                 from /root/.cache/node-gyp/12.18.1/include/node/v8.h:27,
                 from /root/.cache/node-gyp/12.18.1/include/node/node.h:67,
                 from ../src/./binding.h:3,
                 from ../src/binding.cc:1:
/root/.cache/node-gyp/12.18.1/include/node/v8.h:570:22: note: declared here
  570 |       V8_INLINE void MarkIndependent());
      |                      ^~~~~~~~~~~~~~~
/root/.cache/node-gyp/12.18.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
  328 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
In file included from /usr/include/c++/9/cassert:44,
                 from /root/.cache/node-gyp/12.18.1/include/node/node_object_wrap.h:26,
                 from ../../nan/nan.h:49,
                 from ../src/./binding.h:6,
                 from ../src/binding.cc:1:
../../nan/nan_object_wrap.h: In static member function ‘static void Nan::ObjectWrap::WeakCallback(const v8::WeakCallbackInfo<Nan::ObjectWrap>&)’:
../../nan/nan_object_wrap.h:124:26: error: ‘class Nan::Persistent<v8::Object>’ has no member named ‘IsNearDeath’
  124 |     assert(wrap->handle_.IsNearDeath());
      |                          ^~~~~~~~~~~
../src/binding.cc: In function ‘Nan::NAN_METHOD_RETURN_TYPE nodesnappy::Compress(Nan::NAN_METHOD_ARGS_TYPE)’:
../src/binding.cc:115:51: error: no matching function for call to ‘v8::Value::ToObject()’
  115 |   if (node::Buffer::HasInstance(info[0]->ToObject())) {
      |                                                   ^
In file included from /root/.cache/node-gyp/12.18.1/include/node/node.h:67,
                 from ../src/./binding.h:3,
                 from ../src/binding.cc:1:
/root/.cache/node-gyp/12.18.1/include/node/v8.h:2672:44: note: candidate: ‘v8::MaybeLocal<v8::Object> v8::Value::ToObject(v8::Local<v8::Context>) const’
 2672 |   V8_WARN_UNUSED_RESULT MaybeLocal<Object> ToObject(
      |                                            ^~~~~~~~
/root/.cache/node-gyp/12.18.1/include/node/v8.h:2672:44: note:   candidate expects 1 argument, 0 provided
In file included from /root/.cache/node-gyp/12.18.1/include/node/v8-internal.h:14,
                 from /root/.cache/node-gyp/12.18.1/include/node/v8.h:27,
                 from /root/.cache/node-gyp/12.18.1/include/node/node.h:67,
                 from ../src/./binding.h:3,
                 from ../src/binding.cc:1:
/root/.cache/node-gyp/12.18.1/include/node/v8.h:2686:31: note: candidate: ‘v8::Local<v8::Object> v8::Value::ToObject(v8::Isolate*) const’
 2686 |                 Local<Object> ToObject(Isolate* isolate) const);
      |                               ^~~~~~~~
/root/.cache/node-gyp/12.18.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
  328 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
/root/.cache/node-gyp/12.18.1/include/node/v8.h:2686:31: note:   candidate expects 1 argument, 0 provided
 2686 |                 Local<Object> ToObject(Isolate* isolate) const);
      |                               ^~~~~~~~
/root/.cache/node-gyp/12.18.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
  328 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
../src/binding.cc:116:54: error: no matching function for call to ‘v8::Value::ToObject()’
  116 |     v8::Local<v8::Object> object = info[0]->ToObject();
      |                                                      ^
In file included from /root/.cache/node-gyp/12.18.1/include/node/node.h:67,
                 from ../src/./binding.h:3,
                 from ../src/binding.cc:1:
/root/.cache/node-gyp/12.18.1/include/node/v8.h:2672:44: note: candidate: ‘v8::MaybeLocal<v8::Object> v8::Value::ToObject(v8::Local<v8::Context>) const’
 2672 |   V8_WARN_UNUSED_RESULT MaybeLocal<Object> ToObject(
      |                                            ^~~~~~~~
/root/.cache/node-gyp/12.18.1/include/node/v8.h:2672:44: note:   candidate expects 1 argument, 0 provided
In file included from /root/.cache/node-gyp/12.18.1/include/node/v8-internal.h:14,
                 from /root/.cache/node-gyp/12.18.1/include/node/v8.h:27,
                 from /root/.cache/node-gyp/12.18.1/include/node/node.h:67,
                 from ../src/./binding.h:3,
                 from ../src/binding.cc:1:
/root/.cache/node-gyp/12.18.1/include/node/v8.h:2686:31: note: candidate: ‘v8::Local<v8::Object> v8::Value::ToObject(v8::Isolate*) const’
 2686 |                 Local<Object> ToObject(Isolate* isolate) const);
      |                               ^~~~~~~~
/root/.cache/node-gyp/12.18.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
  328 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
/root/.cache/node-gyp/12.18.1/include/node/v8.h:2686:31: note:   candidate expects 1 argument, 0 provided
 2686 |                 Local<Object> ToObject(Isolate* isolate) const);
      |                               ^~~~~~~~
/root/.cache/node-gyp/12.18.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
  328 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
../src/binding.cc:121:52: error: no matching function for call to ‘v8::Value::ToString()’
  121 |     v8::String::Utf8Value param1(info[0]->ToString());
      |                                                    ^
In file included from /root/.cache/node-gyp/12.18.1/include/node/node.h:67,
                 from ../src/./binding.h:3,
                 from ../src/binding.cc:1:
/root/.cache/node-gyp/12.18.1/include/node/v8.h:2668:44: note: candidate: ‘v8::MaybeLocal<v8::String> v8::Value::ToString(v8::Local<v8::Context>) const’
 2668 |   V8_WARN_UNUSED_RESULT MaybeLocal<String> ToString(
      |                                            ^~~~~~~~
/root/.cache/node-gyp/12.18.1/include/node/v8.h:2668:44: note:   candidate expects 1 argument, 0 provided
In file included from /root/.cache/node-gyp/12.18.1/include/node/v8-internal.h:14,
                 from /root/.cache/node-gyp/12.18.1/include/node/v8.h:27,
                 from /root/.cache/node-gyp/12.18.1/include/node/node.h:67,
                 from ../src/./binding.h:3,
                 from ../src/binding.cc:1:
/root/.cache/node-gyp/12.18.1/include/node/v8.h:2684:31: note: candidate: ‘v8::Local<v8::String> v8::Value::ToString(v8::Isolate*) const’
 2684 |                 Local<String> ToString(Isolate* isolate) const);
      |                               ^~~~~~~~
/root/.cache/node-gyp/12.18.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
  328 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
/root/.cache/node-gyp/12.18.1/include/node/v8.h:2684:31: note:   candidate expects 1 argument, 0 provided
 2684 |                 Local<String> ToString(Isolate* isolate) const);
      |                               ^~~~~~~~
/root/.cache/node-gyp/12.18.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
  328 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
../src/binding.cc: In function ‘Nan::NAN_METHOD_RETURN_TYPE nodesnappy::CompressSync(Nan::NAN_METHOD_ARGS_TYPE)’:
../src/binding.cc:142:51: error: no matching function for call to ‘v8::Value::ToObject()’
  142 |   if (node::Buffer::HasInstance(info[0]->ToObject())) {
      |                                                   ^
In file included from /root/.cache/node-gyp/12.18.1/include/node/node.h:67,
                 from ../src/./binding.h:3,
                 from ../src/binding.cc:1:
/root/.cache/node-gyp/12.18.1/include/node/v8.h:2672:44: note: candidate: ‘v8::MaybeLocal<v8::Object> v8::Value::ToObject(v8::Local<v8::Context>) const’
 2672 |   V8_WARN_UNUSED_RESULT MaybeLocal<Object> ToObject(
      |                                            ^~~~~~~~
/root/.cache/node-gyp/12.18.1/include/node/v8.h:2672:44: note:   candidate expects 1 argument, 0 provided
In file included from /root/.cache/node-gyp/12.18.1/include/node/v8-internal.h:14,
                 from /root/.cache/node-gyp/12.18.1/include/node/v8.h:27,
                 from /root/.cache/node-gyp/12.18.1/include/node/node.h:67,
                 from ../src/./binding.h:3,
                 from ../src/binding.cc:1:
/root/.cache/node-gyp/12.18.1/include/node/v8.h:2686:31: note: candidate: ‘v8::Local<v8::Object> v8::Value::ToObject(v8::Isolate*) const’
 2686 |                 Local<Object> ToObject(Isolate* isolate) const);
      |                               ^~~~~~~~
/root/.cache/node-gyp/12.18.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
  328 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
/root/.cache/node-gyp/12.18.1/include/node/v8.h:2686:31: note:   candidate expects 1 argument, 0 provided
 2686 |                 Local<Object> ToObject(Isolate* isolate) const);
      |                               ^~~~~~~~
/root/.cache/node-gyp/12.18.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
  328 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
../src/binding.cc:143:54: error: no matching function for call to ‘v8::Value::ToObject()’
  143 |     v8::Local<v8::Object> object = info[0]->ToObject();
      |                                                      ^
In file included from /root/.cache/node-gyp/12.18.1/include/node/node.h:67,
                 from ../src/./binding.h:3,
                 from ../src/binding.cc:1:
/root/.cache/node-gyp/12.18.1/include/node/v8.h:2672:44: note: candidate: ‘v8::MaybeLocal<v8::Object> v8::Value::ToObject(v8::Local<v8::Context>) const’
 2672 |   V8_WARN_UNUSED_RESULT MaybeLocal<Object> ToObject(
      |                                            ^~~~~~~~
/root/.cache/node-gyp/12.18.1/include/node/v8.h:2672:44: note:   candidate expects 1 argument, 0 provided
In file included from /root/.cache/node-gyp/12.18.1/include/node/v8-internal.h:14,
                 from /root/.cache/node-gyp/12.18.1/include/node/v8.h:27,
                 from /root/.cache/node-gyp/12.18.1/include/node/node.h:67,
                 from ../src/./binding.h:3,
                 from ../src/binding.cc:1:
/root/.cache/node-gyp/12.18.1/include/node/v8.h:2686:31: note: candidate: ‘v8::Local<v8::Object> v8::Value::ToObject(v8::Isolate*) const’
 2686 |                 Local<Object> ToObject(Isolate* isolate) const);
      |                               ^~~~~~~~
/root/.cache/node-gyp/12.18.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
  328 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
/root/.cache/node-gyp/12.18.1/include/node/v8.h:2686:31: note:   candidate expects 1 argument, 0 provided
 2686 |                 Local<Object> ToObject(Isolate* isolate) const);
      |                               ^~~~~~~~
/root/.cache/node-gyp/12.18.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
  328 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
../src/binding.cc:148:52: error: no matching function for call to ‘v8::Value::ToString()’
  148 |     v8::String::Utf8Value param1(info[0]->ToString());
      |                                                    ^
In file included from /root/.cache/node-gyp/12.18.1/include/node/node.h:67,
                 from ../src/./binding.h:3,
                 from ../src/binding.cc:1:
/root/.cache/node-gyp/12.18.1/include/node/v8.h:2668:44: note: candidate: ‘v8::MaybeLocal<v8::String> v8::Value::ToString(v8::Local<v8::Context>) const’
 2668 |   V8_WARN_UNUSED_RESULT MaybeLocal<String> ToString(
      |                                            ^~~~~~~~
/root/.cache/node-gyp/12.18.1/include/node/v8.h:2668:44: note:   candidate expects 1 argument, 0 provided
In file included from /root/.cache/node-gyp/12.18.1/include/node/v8-internal.h:14,
                 from /root/.cache/node-gyp/12.18.1/include/node/v8.h:27,
                 from /root/.cache/node-gyp/12.18.1/include/node/node.h:67,
                 from ../src/./binding.h:3,
                 from ../src/binding.cc:1:
/root/.cache/node-gyp/12.18.1/include/node/v8.h:2684:31: note: candidate: ‘v8::Local<v8::String> v8::Value::ToString(v8::Isolate*) const’
 2684 |                 Local<String> ToString(Isolate* isolate) const);
      |                               ^~~~~~~~
/root/.cache/node-gyp/12.18.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
  328 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
/root/.cache/node-gyp/12.18.1/include/node/v8.h:2684:31: note:   candidate expects 1 argument, 0 provided
 2684 |                 Local<String> ToString(Isolate* isolate) const);
      |                               ^~~~~~~~
/root/.cache/node-gyp/12.18.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
  328 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
../src/binding.cc: In function ‘Nan::NAN_METHOD_RETURN_TYPE nodesnappy::IsValidCompressed(Nan::NAN_METHOD_ARGS_TYPE)’:
../src/binding.cc:161:52: error: no matching function for call to ‘v8::Value::ToObject()’
  161 |   v8::Local<v8::Object> object = info[0]->ToObject();
      |                                                    ^
In file included from /root/.cache/node-gyp/12.18.1/include/node/node.h:67,
                 from ../src/./binding.h:3,
                 from ../src/binding.cc:1:
/root/.cache/node-gyp/12.18.1/include/node/v8.h:2672:44: note: candidate: ‘v8::MaybeLocal<v8::Object> v8::Value::ToObject(v8::Local<v8::Context>) const’
 2672 |   V8_WARN_UNUSED_RESULT MaybeLocal<Object> ToObject(
      |                                            ^~~~~~~~
/root/.cache/node-gyp/12.18.1/include/node/v8.h:2672:44: note:   candidate expects 1 argument, 0 provided
In file included from /root/.cache/node-gyp/12.18.1/include/node/v8-internal.h:14,
                 from /root/.cache/node-gyp/12.18.1/include/node/v8.h:27,
                 from /root/.cache/node-gyp/12.18.1/include/node/node.h:67,
                 from ../src/./binding.h:3,
                 from ../src/binding.cc:1:
/root/.cache/node-gyp/12.18.1/include/node/v8.h:2686:31: note: candidate: ‘v8::Local<v8::Object> v8::Value::ToObject(v8::Isolate*) const’
 2686 |                 Local<Object> ToObject(Isolate* isolate) const);
      |                               ^~~~~~~~
/root/.cache/node-gyp/12.18.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
  328 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
/root/.cache/node-gyp/12.18.1/include/node/v8.h:2686:31: note:   candidate expects 1 argument, 0 provided
 2686 |                 Local<Object> ToObject(Isolate* isolate) const);
      |                               ^~~~~~~~
/root/.cache/node-gyp/12.18.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
  328 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
../src/binding.cc: In function ‘Nan::NAN_METHOD_RETURN_TYPE nodesnappy::IsValidCompressedSync(Nan::NAN_METHOD_ARGS_TYPE)’:
../src/binding.cc:181:52: error: no matching function for call to ‘v8::Value::ToObject()’
  181 |   v8::Local<v8::Object> object = info[0]->ToObject();
      |                                                    ^
In file included from /root/.cache/node-gyp/12.18.1/include/node/node.h:67,
                 from ../src/./binding.h:3,
                 from ../src/binding.cc:1:
/root/.cache/node-gyp/12.18.1/include/node/v8.h:2672:44: note: candidate: ‘v8::MaybeLocal<v8::Object> v8::Value::ToObject(v8::Local<v8::Context>) const’
 2672 |   V8_WARN_UNUSED_RESULT MaybeLocal<Object> ToObject(
      |                                            ^~~~~~~~
/root/.cache/node-gyp/12.18.1/include/node/v8.h:2672:44: note:   candidate expects 1 argument, 0 provided
In file included from /root/.cache/node-gyp/12.18.1/include/node/v8-internal.h:14,
                 from /root/.cache/node-gyp/12.18.1/include/node/v8.h:27,
                 from /root/.cache/node-gyp/12.18.1/include/node/node.h:67,
                 from ../src/./binding.h:3,
                 from ../src/binding.cc:1:
/root/.cache/node-gyp/12.18.1/include/node/v8.h:2686:31: note: candidate: ‘v8::Local<v8::Object> v8::Value::ToObject(v8::Isolate*) const’
 2686 |                 Local<Object> ToObject(Isolate* isolate) const);
      |                               ^~~~~~~~
/root/.cache/node-gyp/12.18.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
  328 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
/root/.cache/node-gyp/12.18.1/include/node/v8.h:2686:31: note:   candidate expects 1 argument, 0 provided
 2686 |                 Local<Object> ToObject(Isolate* isolate) const);
      |                               ^~~~~~~~
/root/.cache/node-gyp/12.18.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
  328 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
../src/binding.cc: In function ‘Nan::NAN_METHOD_RETURN_TYPE nodesnappy::UncompressSync(Nan::NAN_METHOD_ARGS_TYPE)’:
../src/binding.cc:218:52: error: no matching function for call to ‘v8::Value::ToObject()’
  218 |   v8::Local<v8::Object> object = info[0]->ToObject();
      |                                                    ^
In file included from /root/.cache/node-gyp/12.18.1/include/node/node.h:67,
                 from ../src/./binding.h:3,
                 from ../src/binding.cc:1:
/root/.cache/node-gyp/12.18.1/include/node/v8.h:2672:44: note: candidate: ‘v8::MaybeLocal<v8::Object> v8::Value::ToObject(v8::Local<v8::Context>) const’
 2672 |   V8_WARN_UNUSED_RESULT MaybeLocal<Object> ToObject(
      |                                            ^~~~~~~~
/root/.cache/node-gyp/12.18.1/include/node/v8.h:2672:44: note:   candidate expects 1 argument, 0 provided
In file included from /root/.cache/node-gyp/12.18.1/include/node/v8-internal.h:14,
                 from /root/.cache/node-gyp/12.18.1/include/node/v8.h:27,
                 from /root/.cache/node-gyp/12.18.1/include/node/node.h:67,
                 from ../src/./binding.h:3,
                 from ../src/binding.cc:1:
/root/.cache/node-gyp/12.18.1/include/node/v8.h:2686:31: note: candidate: ‘v8::Local<v8::Object> v8::Value::ToObject(v8::Isolate*) const’
 2686 |                 Local<Object> ToObject(Isolate* isolate) const);
      |                               ^~~~~~~~
/root/.cache/node-gyp/12.18.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
  328 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
/root/.cache/node-gyp/12.18.1/include/node/v8.h:2686:31: note:   candidate expects 1 argument, 0 provided
 2686 |                 Local<Object> ToObject(Isolate* isolate) const);
      |                               ^~~~~~~~
/root/.cache/node-gyp/12.18.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
  328 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
In file included from ../src/./binding.h:3,
                 from ../src/binding.cc:1:
../src/binding.cc: At global scope:
/root/.cache/node-gyp/12.18.1/include/node/node.h:608:43: 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]
  608 |       (node::addon_register_func) (regfunc),                          \
      |                                           ^
/root/.cache/node-gyp/12.18.1/include/node/node.h:642:3: note: in expansion of macro ‘NODE_MODULE_X’
  642 |   NODE_MODULE_X(modname, regfunc, NULL, 0)  // NOLINT (readability/null_usage)
      |   ^~~~~~~~~~~~~
../src/binding.cc:252:1: note: in expansion of macro ‘NODE_MODULE’
  252 | NODE_MODULE(binding, init)
      | ^~~~~~~~~~~
In file included from ../src/./binding.h:6,
                 from ../src/binding.cc:1:
../../nan/nan.h: In instantiation of ‘void Nan::imp::SetMethodAux(T, v8::Local<v8::String>, v8::Local<v8::FunctionTemplate>, ...) [with T = v8::Local<v8::Object>]’:
../../nan/nan.h:1888:20:   required from ‘void Nan::SetMethod(HandleType<T>, const char*, Nan::FunctionCallback) [with T = v8::Object; HandleType = v8::Local; Nan::FunctionCallback = void (*)(const Nan::FunctionCallbackInfo<v8::Value>&)]’
../src/binding.cc:244:46:   required from here
../../nan/nan.h:1872:3: warning: ‘bool v8::Object::Set(v8::Local<v8::Value>, v8::Local<v8::Value>)’ is deprecated: Use maybe version [-Wdeprecated-declarations]
 1872 |   recv->Set(name, GetFunction(tpl).ToLocalChecked());
      |   ^~~~
In file included from /root/.cache/node-gyp/12.18.1/include/node/v8-internal.h:14,
                 from /root/.cache/node-gyp/12.18.1/include/node/v8.h:27,
                 from /root/.cache/node-gyp/12.18.1/include/node/node.h:67,
                 from ../src/./binding.h:3,
                 from ../src/binding.cc:1:
/root/.cache/node-gyp/12.18.1/include/node/v8.h:3499:22: note: declared here
 3499 |                 bool Set(Local<Value> key, Local<Value> value));
      |                      ^~~
/root/.cache/node-gyp/12.18.1/include/node/v8config.h:328:3: note: in definition of macro ‘V8_DEPRECATED’
  328 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
make: *** [binding.target.mk:116: Release/obj.target/binding/src/binding.o] Error 1
make: Leaving directory '/usr/lib/node_modules/homebridge-dafang/node_modules/snappy/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:315:20)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:275:12)
gyp ERR! System Linux 5.4.0-39-generic
gyp ERR! command "/usr/bin/node" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /usr/lib/node_modules/homebridge-dafang/node_modules/snappy
gyp ERR! node -v v12.18.1
gyp ERR! node-gyp -v v5.1.0
gyp ERR! not ok

> zmq@2.15.3 install /usr/lib/node_modules/homebridge-dafang/node_modules/zmq
> node-gyp rebuild

make: Entering directory '/usr/lib/node_modules/homebridge-dafang/node_modules/zmq/build'
  CXX(target) Release/obj.target/zmq/binding.o
../binding.cc:28:10: fatal error: zmq.h: No such file or directory
   28 | #include <zmq.h>
      |          ^~~~~~~
compilation terminated.
make: *** [zmq.target.mk:111: Release/obj.target/zmq/binding.o] Error 1
make: Leaving directory '/usr/lib/node_modules/homebridge-dafang/node_modules/zmq/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:315:20)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:275:12)
gyp ERR! System Linux 5.4.0-39-generic
gyp ERR! command "/usr/bin/node" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /usr/lib/node_modules/homebridge-dafang/node_modules/zmq
gyp ERR! node -v v12.18.1
gyp ERR! node-gyp -v v5.1.0
gyp ERR! not ok
npm WARN notsup Unsupported engine for amqplib@0.4.2: wanted: {"node":">=0.8 <6 || ^6"} (current: {"node":"12.18.1","npm":"6.14.5"})
npm WARN notsup Not compatible with your version of node/npm: amqplib@0.4.2
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fs-ext@0.5.0 (node_modules/homebridge-dafang/node_modules/fs-ext):
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fs-ext@0.5.0 install: `node-gyp configure build`
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: Exit status 1
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: leveldown@1.4.6 (node_modules/homebridge-dafang/node_modules/leveldown):
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: leveldown@1.4.6 install: `prebuild --install`
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: Exit status 2
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: snappy@5.0.5 (node_modules/homebridge-dafang/node_modules/snappy):
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: snappy@5.0.5 install: `node-gyp rebuild`
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: Exit status 1
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: zmq@2.15.3 (node_modules/homebridge-dafang/node_modules/zmq):
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: zmq@2.15.3 install: `node-gyp rebuild`
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: Exit status 1

+ homebridge-dafang@1.5.1
updated 1 package in 111.862s
```