nebrius / raspi-io

An IO plugin for Johnny-Five that provides support for the Raspberry Pi
MIT License
546 stars 63 forks source link

node-gyp rebuild and make fails #129

Closed AlexKutschera closed 4 years ago

AlexKutschera commented 4 years ago

I have a weird issue when trying to install raspi-io, i was able to fix the issue a few months back but for some reason are not able to remember what exactly I did back then and I'm unable to find anything helpful. The only thing I found was trying older versions of node, so I have tried 13.13.0, 12.16.2 and 10.20.1 but non of them was able to install it. Complete log (pretty long) found bellow. I am using an Raspberry Pi 3 B with raspbian buster running on it.

In file included from ../node_modules/nan/nan.h:74,
                 from ../src/addon.cc:26:
../node_modules/nan/nan_new.h:23:43: error: ‘Handle’ is not a member of ‘v8’
 template <typename T> v8::Local<T> To(v8::Handle<v8::Integer> i);
                                           ^~~~~~
../node_modules/nan/nan_new.h:23:61: error: expected primary-expression before ‘>’ token
 template <typename T> v8::Local<T> To(v8::Handle<v8::Integer> i);
                                                             ^
../node_modules/nan/nan_new.h:23:63: error: ‘i’ was not declared in this scope
 template <typename T> v8::Local<T> To(v8::Handle<v8::Integer> i);
                                                               ^
../node_modules/nan/nan_new.h:28:21: warning: inline variables are only available with -std=c++17 or -std=gnu++17
 To<v8::Integer>(v8::Handle<v8::Integer> i) { return i->ToInteger(); }
                     ^~~~~~
../node_modules/nan/nan_new.h:28:21: error: ‘Handle’ is not a member of ‘v8’
../node_modules/nan/nan_new.h:28:39: error: expected primary-expression before ‘>’ token
 To<v8::Integer>(v8::Handle<v8::Integer> i) { return i->ToInteger(); }
                                       ^
../node_modules/nan/nan_new.h:28:41: error: ‘i’ was not declared in this scope
 To<v8::Integer>(v8::Handle<v8::Integer> i) { return i->ToInteger(); }
                                         ^
../node_modules/nan/nan_new.h:28:43: error: expected ‘;’ before ‘{’ token
 To<v8::Integer>(v8::Handle<v8::Integer> i) { return i->ToInteger(); }
                                           ^~
                                           ;
../node_modules/nan/nan_new.h:33:19: warning: inline variables are only available with -std=c++17 or -std=gnu++17
 To<v8::Int32>(v8::Handle<v8::Integer> i)   { return i->ToInt32(); }
                   ^~~~~~
../node_modules/nan/nan_new.h:33:19: error: ‘Handle’ is not a member of ‘v8’
../node_modules/nan/nan_new.h:33:37: error: expected primary-expression before ‘>’ token
 To<v8::Int32>(v8::Handle<v8::Integer> i)   { return i->ToInt32(); }
                                     ^
../node_modules/nan/nan_new.h:33:39: error: ‘i’ was not declared in this scope
 To<v8::Int32>(v8::Handle<v8::Integer> i)   { return i->ToInt32(); }
                                       ^
../node_modules/nan/nan_new.h:33:41: error: expected ‘;’ before ‘{’ token
 To<v8::Int32>(v8::Handle<v8::Integer> i)   { return i->ToInt32(); }
                                         ^  ~
                                         ;
../node_modules/nan/nan_new.h:38:20: warning: inline variables are only available with -std=c++17 or -std=gnu++17
 To<v8::Uint32>(v8::Handle<v8::Integer> i)  { return i->ToUint32(); }
                    ^~~~~~
../node_modules/nan/nan_new.h:38:20: error: ‘Handle’ is not a member of ‘v8’
../node_modules/nan/nan_new.h:38:38: error: expected primary-expression before ‘>’ token
 To<v8::Uint32>(v8::Handle<v8::Integer> i)  { return i->ToUint32(); }
                                      ^
../node_modules/nan/nan_new.h:38:40: error: ‘i’ was not declared in this scope
 To<v8::Uint32>(v8::Handle<v8::Integer> i)  { return i->ToUint32(); }
                                        ^
../node_modules/nan/nan_new.h:38:42: error: expected ‘;’ before ‘{’ token
 To<v8::Uint32>(v8::Handle<v8::Integer> i)  { return i->ToUint32(); }
                                          ^ ~
                                          ;
../node_modules/nan/nan_new.h:65:12: error: ‘v8::Handle’ has not been declared
      , v8::Handle<v8::ObjectTemplate> tmpl = v8::Handle<v8::ObjectTemplate>()
            ^~~~~~
../node_modules/nan/nan_new.h:65:18: error: expected ‘,’ or ‘...’ before ‘<’ token
      , v8::Handle<v8::ObjectTemplate> tmpl = v8::Handle<v8::ObjectTemplate>()
                  ^
../node_modules/nan/nan_new.h:64:3: error: default argument missing for parameter 2 of ‘static NanIntern::FactoryBase<v8::Context>::return_t NanIntern::Factory<v8::Context>::New(v8::ExtensionConfiguration*, int)’
   New( v8::ExtensionConfiguration* extensions = NULL
   ^~~
../node_modules/nan/nan_new.h:84:12: error: ‘v8::Handle’ has not been declared
      , v8::Handle<v8::Value> data = v8::Handle<v8::Value>());
            ^~~~~~
../node_modules/nan/nan_new.h:84:18: error: expected ‘,’ or ‘...’ before ‘<’ token
      , v8::Handle<v8::Value> data = v8::Handle<v8::Value>());
                  ^
../node_modules/nan/nan_new.h:92:12: error: ‘v8::Handle’ has not been declared
      , v8::Handle<v8::Value> data = v8::Handle<v8::Value>()
            ^~~~~~
../node_modules/nan/nan_new.h:92:18: error: expected ‘,’ or ‘...’ before ‘<’ token
      , v8::Handle<v8::Value> data = v8::Handle<v8::Value>()
                  ^
../node_modules/nan/nan_new.h:91:3: error: default argument missing for parameter 2 of ‘static NanIntern::FactoryBase<v8::FunctionTemplate>::return_t NanIntern::Factory<v8::FunctionTemplate>::New(NanFunctionCallback, int)’
   New( NanFunctionCallback callback = NULL
   ^~~
../node_modules/nan/nan_new.h:138:11: error: ‘v8::Handle’ has not been declared
       v8::Handle<v8::String> pattern, v8::RegExp::Flags flags);
           ^~~~~~
../node_modules/nan/nan_new.h:138:17: error: expected ‘,’ or ‘...’ before ‘<’ token
       v8::Handle<v8::String> pattern, v8::RegExp::Flags flags);
                 ^
../node_modules/nan/nan_new.h:150:15: error: ‘Handle’ in namespace ‘v8’ does not name a template type
   typedef v8::Handle<v8::FunctionTemplate> FTH;
               ^~~~~~
../node_modules/nan/nan_new.h:153:8: error: ‘FTH’ has not been declared
   New( FTH receiver = FTH(), int argc = 0, FTH argv[] = NULL );
        ^~~
../node_modules/nan/nan_new.h:153:44: error: ‘FTH’ has not been declared
   New( FTH receiver = FTH(), int argc = 0, FTH argv[] = NULL );
                                            ^~~
../node_modules/nan/nan_new.h:153:23: error: ‘FTH’ was not declared in this scope
   New( FTH receiver = FTH(), int argc = 0, FTH argv[] = NULL );
                       ^~~
../node_modules/nan/nan_new.h:172:34: error: ‘v8::Handle’ has not been declared
   static inline return_t New(v8::Handle<v8::String> value);
                                  ^~~~~~
../node_modules/nan/nan_new.h:172:40: error: expected ‘,’ or ‘...’ before ‘<’ token
   static inline return_t New(v8::Handle<v8::String> value);
                                        ^
In file included from ../node_modules/nan/nan_new.h:190,
                 from ../node_modules/nan/nan.h:74,
                 from ../src/addon.cc:26:
../node_modules/nan/nan_implementation_12_inl.h: In static member function ‘static NanIntern::FactoryBase<v8::BooleanObject>::return_t NanIntern::Factory<v8::BooleanObject>::New(bool)’:
../node_modules/nan/nan_implementation_12_inl.h:48:38: error: no matching function for call to ‘v8::BooleanObject::New(bool&)’
   return v8::BooleanObject::New(value).As<v8::BooleanObject>();
                                      ^
In file included from /home/pi/.cache/node-gyp/13.9.0/include/node/node.h:67,
                 from ../src/addon.cc:25:
/home/pi/.cache/node-gyp/13.9.0/include/node/v8.h:5672:23: note: candidate: ‘static v8::Local<v8::Value> v8::BooleanObject::New(v8::Isolate*, bool)’
   static Local<Value> New(Isolate* isolate, bool value);
                       ^~~
/home/pi/.cache/node-gyp/13.9.0/include/node/v8.h:5672:23: note:   candidate expects 2 arguments, 1 provided
In file included from ../node_modules/nan/nan_new.h:190,
                 from ../node_modules/nan/nan.h:74,
                 from ../src/addon.cc:26:
../node_modules/nan/nan_implementation_12_inl.h:48:60: error: expected primary-expression before ‘>’ token
   return v8::BooleanObject::New(value).As<v8::BooleanObject>();
                                                            ^
../node_modules/nan/nan_implementation_12_inl.h:48:62: error: expected primary-expression before ‘)’ token
   return v8::BooleanObject::New(value).As<v8::BooleanObject>();
                                                              ^
../node_modules/nan/nan_implementation_12_inl.h: At global scope:
../node_modules/nan/nan_implementation_12_inl.h:55:32: error: ‘v8::Handle’ has not been declared
                          , v8::Handle<v8::ObjectTemplate> tmpl
                                ^~~~~~
../node_modules/nan/nan_implementation_12_inl.h:55:38: error: expected ‘,’ or ‘...’ before ‘<’ token
                          , v8::Handle<v8::ObjectTemplate> tmpl
                                      ^
../node_modules/nan/nan_implementation_12_inl.h: In static member function ‘static NanIntern::FactoryBase<v8::Context>::return_t NanIntern::Factory<v8::Context>::New(v8::ExtensionConfiguration*, int)’:
../node_modules/nan/nan_implementation_12_inl.h:57:66: error: ‘tmpl’ was not declared in this scope
   return v8::Context::New(v8::Isolate::GetCurrent(), extensions, tmpl, obj);
                                                                  ^~~~
../node_modules/nan/nan_implementation_12_inl.h:57:66: note: suggested alternative: ‘tm’
   return v8::Context::New(v8::Isolate::GetCurrent(), extensions, tmpl, obj);
                                                                  ^~~~
                                                                  tm
../node_modules/nan/nan_implementation_12_inl.h:57:72: error: ‘obj’ was not declared in this scope
   return v8::Context::New(v8::Isolate::GetCurrent(), extensions, tmpl, obj);
                                                                        ^~~
../node_modules/nan/nan_implementation_12_inl.h: In static member function ‘static NanIntern::FactoryBase<v8::Date>::return_t NanIntern::Factory<v8::Date>::New(double)’:
../node_modules/nan/nan_implementation_12_inl.h:64:56: error: no matching function for call to ‘v8::Date::New(v8::Isolate*, double&)’
   return v8::Date::New(v8::Isolate::GetCurrent(), value).As<v8::Date>();
                                                        ^
In file included from /home/pi/.cache/node-gyp/13.9.0/include/node/node.h:67,
                 from ../src/addon.cc:25:
/home/pi/.cache/node-gyp/13.9.0/include/node/v8.h:5621:50: note: candidate: ‘static v8::MaybeLocal<v8::Value> v8::Date::New(v8::Local<v8::Context>, double)’
   static V8_WARN_UNUSED_RESULT MaybeLocal<Value> New(Local<Context> context,
                                                  ^~~
/home/pi/.cache/node-gyp/13.9.0/include/node/v8.h:5621:50: note:   no known conversion for argument 1 from ‘v8::Isolate ’ to ‘v8::Local<v8::Context>’
In file included from ../node_modules/nan/nan_new.h:190,
                 from ../node_modules/nan/nan.h:74,
                 from ../src/addon.cc:26:
../node_modules/nan/nan_implementation_12_inl.h:64:69: error: expected primary-expression before ‘>’ token
   return v8::Date::New(v8::Isolate::GetCurrent(), value).As<v8::Date>();
                                                                     ^
../node_modules/nan/nan_implementation_12_inl.h:64:71: error: expected primary-expression before ‘)’ token
   return v8::Date::New(v8::Isolate::GetCurrent(), value).As<v8::Date>();
                                                                       ^
../node_modules/nan/nan_implementation_12_inl.h: At global scope:
../node_modules/nan/nan_implementation_12_inl.h:78:33: error: ‘v8::Handle’ has not been declared
                           , v8::Handle<v8::Value> data) {
                                 ^~~~~~
../node_modules/nan/nan_implementation_12_inl.h:78:39: error: expected ‘,’ or ‘...’ before ‘<’ token
                           , v8::Handle<v8::Value> data) {
                                       ^
../node_modules/nan/nan_implementation_12_inl.h: In static member function ‘static NanIntern::FactoryBase<v8::Function>::return_t NanIntern::Factory<v8::Function>::New(NanFunctionCallback, int)’:
../node_modules/nan/nan_implementation_12_inl.h:81:29: error: ‘data’ was not declared in this scope
                           , data);
                             ^~~~
../node_modules/nan/nan_implementation_12_inl.h: At global scope:
../node_modules/nan/nan_implementation_12_inl.h:88:41: error: ‘v8::Handle’ has not been declared
                                   , v8::Handle<v8::Value> data
                                         ^~~~~~
../node_modules/nan/nan_implementation_12_inl.h:88:47: error: expected ‘,’ or ‘...’ before ‘<’ token
                                   , v8::Handle<v8::Value> data
                                               ^
../node_modules/nan/nan_implementation_12_inl.h: In static member function ‘static NanIntern::FactoryBase<v8::FunctionTemplate>::return_t NanIntern::Factory<v8::FunctionTemplate>::New(NanFunctionCallback, int)’:
../node_modules/nan/nan_implementation_12_inl.h:92:37: error: ‘data’ was not declared in this scope
                                   , data
                                     ^~~~
../node_modules/nan/nan_implementation_12_inl.h:93:37: error: ‘signature’ was not declared in this scope
                                   , signature);
                                     ^~~~~~~~~
../node_modules/nan/nan_implementation_12_inl.h:93:37: note: suggested alternative: ‘sigreturn’
                                   , signature);
                                     ^~~~~~~~~
                                     sigreturn
../node_modules/nan/nan_implementation_12_inl.h: In static member function ‘static NanIntern::FactoryBase<v8::Uint32>::return_t NanIntern::Factory<v8::Uint32>::New(int32_t)’:
../node_modules/nan/nan_implementation_12_inl.h:128:68: error: no match for call to ‘(v8::Local<v8::Uint32>) (v8::Local<v8::Integer>)’
       v8::Uint32::NewFromUnsigned(v8::Isolate::GetCurrent(), value));
                                                                    ^
../node_modules/nan/nan_implementation_12_inl.h: In static member function ‘static NanIntern::FactoryBase<v8::Uint32>::return_t NanIntern::Factory<v8::Uint32>::New(uint32_t)’:
../node_modules/nan/nan_implementation_12_inl.h:134:68: error: no match for call to ‘(v8::Local<v8::Uint32>) (v8::Local<v8::Integer>)’
       v8::Uint32::NewFromUnsigned(v8::Isolate::GetCurrent(), value));
                                                                    ^
../node_modules/nan/nan_implementation_12_inl.h: At global scope:
../node_modules/nan/nan_implementation_12_inl.h:155:9: error: ‘NanIntern::FactoryBase<v8::RegExp>::return_t NanIntern::Factory<v8::RegExp>::New’ is not a static data member of ‘struct NanIntern::Factory<v8::RegExp>’
     v8::Handle<v8::String> pattern
         ^~~~~~
../node_modules/nan/nan_implementation_12_inl.h:155:9: error: ‘Handle’ is not a member of ‘v8’
../node_modules/nan/nan_implementation_12_inl.h:155:26: error: expected primary-expression before ‘>’ token
     v8::Handle<v8::String> pattern
                          ^
../node_modules/nan/nan_implementation_12_inl.h:155:28: error: ‘pattern’ was not declared in this scope
     v8::Handle<v8::String> pattern
                            ^~~~~~~
../node_modules/nan/nan_implementation_12_inl.h:155:28: note: suggested alternative: ‘extern’
     v8::Handle<v8::String> pattern
                            ^~~~~~~
                            extern
../node_modules/nan/nan_implementation_12_inl.h:156:23: error: expected primary-expression before ‘flags’
   , v8::RegExp::Flags flags) {
                       ^~~~~
../node_modules/nan/nan_implementation_12_inl.h:156:30: error: expected ‘,’ or ‘;’ before ‘{’ token
   , v8::RegExp::Flags flags) {
                              ^
../node_modules/nan/nan_implementation_12_inl.h: In static member function ‘static NanIntern::FactoryBase<v8::Script>::return_t NanIntern::Factory<v8::Script>::New(v8::Local<v8::String>)’:
../node_modules/nan/nan_implementation_12_inl.h:165:69: error: no matching function for call to ‘v8::ScriptCompiler::Compile(v8::Isolate*, v8::ScriptCompiler::Source*)’
   return v8::ScriptCompiler::Compile(v8::Isolate::GetCurrent(), &src);
                                                                     ^
In file included from /home/pi/.cache/node-gyp/13.9.0/include/node/node.h:67,
                 from ../src/addon.cc:25:
/home/pi/.cache/node-gyp/13.9.0/include/node/v8.h:1843:51: note: candidate: ‘static v8::MaybeLocal<v8::Script> v8::ScriptCompiler::Compile(v8::Local<v8::Context>, v8::ScriptCompiler::Source*, v8::ScriptCompiler::CompileOptions, v8::ScriptCompiler::NoCacheReason)’
   static V8_WARN_UNUSED_RESULT MaybeLocal<Script> Compile(
                                                   ^~~~~~~
/home/pi/.cache/node-gyp/13.9.0/include/node/v8.h:1843:51: note:   no known conversion for argument 1 from ‘v8::Isolate ’ to ‘v8::Local<v8::Context>’
/home/pi/.cache/node-gyp/13.9.0/include/node/v8.h:1870:51: note: candidate: ‘static v8::MaybeLocal<v8::Script> v8::ScriptCompiler::Compile(v8::Local<v8::Context>, v8::ScriptCompiler::StreamedSource*, v8::Local<v8::String>, const v8::ScriptOrigin&)’
   static V8_WARN_UNUSED_RESULT MaybeLocal<Script> Compile(
                                                   ^~~~~~~
/home/pi/.cache/node-gyp/13.9.0/include/node/v8.h:1870:51: note:   candidate expects 4 arguments, 2 provided
In file included from ../node_modules/nan/nan_new.h:190,
                 from ../node_modules/nan/nan.h:74,
                 from ../src/addon.cc:26:
../node_modules/nan/nan_implementation_12_inl.h: In static member function ‘static NanIntern::FactoryBase<v8::Script>::return_t NanIntern::Factory<v8::Script>::New(v8::Local<v8::String>, const v8::ScriptOrigin&)’:
../node_modules/nan/nan_implementation_12_inl.h:172:69: error: no matching function for call to ‘v8::ScriptCompiler::Compile(v8::Isolate*, v8::ScriptCompiler::Source*)’
   return v8::ScriptCompiler::Compile(v8::Isolate::GetCurrent(), &src);
                                                                     ^
In file included from /home/pi/.cache/node-gyp/13.9.0/include/node/node.h:67,
                 from ../src/addon.cc:25:
/home/pi/.cache/node-gyp/13.9.0/include/node/v8.h:1843:51: note: candidate: ‘static v8::MaybeLocal<v8::Script> v8::ScriptCompiler::Compile(v8::Local<v8::Context>, v8::ScriptCompiler::Source*, v8::ScriptCompiler::CompileOptions, v8::ScriptCompiler::NoCacheReason)’
   static V8_WARN_UNUSED_RESULT MaybeLocal<Script> Compile(
                                                   ^~~~~~~
/home/pi/.cache/node-gyp/13.9.0/include/node/v8.h:1843:51: note:   no known conversion for argument 1 from ‘v8::Isolate ’ to ‘v8::Local<v8::Context>’
/home/pi/.cache/node-gyp/13.9.0/include/node/v8.h:1870:51: note: candidate: ‘static v8::MaybeLocal<v8::Script> v8::ScriptCompiler::Compile(v8::Local<v8::Context>, v8::ScriptCompiler::StreamedSource*, v8::Local<v8::String>, const v8::ScriptOrigin&)’
   static V8_WARN_UNUSED_RESULT MaybeLocal<Script> Compile(
                                                   ^~~~~~~
/home/pi/.cache/node-gyp/13.9.0/include/node/v8.h:1870:51: note:   candidate expects 4 arguments, 2 provided
In file included from ../node_modules/nan/nan_new.h:190,
                 from ../node_modules/nan/nan.h:74,
                 from ../src/addon.cc:26:
../node_modules/nan/nan_implementation_12_inl.h: At global scope:
../node_modules/nan/nan_implementation_12_inl.h:178:54: error: ‘NanIntern::FactoryBase<v8::Signature>::return_t NanIntern::Factory<v8::Signature>::New’ is not a static data member of ‘struct NanIntern::Factory<v8::Signature>’
 Factory<v8::Signature>::New( Factory<v8::Signature>::FTH receiver
                                                      ^~~
../node_modules/nan/nan_implementation_12_inl.h:178:54: error: ‘FTH’ is not a member of ‘NanIntern::Factory<v8::Signature>’
../node_modules/nan/nan_implementation_12_inl.h:179:30: error: expected primary-expression before ‘int’
                            , int argc
                              ^~~
../node_modules/nan/nan_implementation_12_inl.h:180:54: error: ‘FTH’ is not a member of ‘NanIntern::Factory<v8::Signature>’
                            , Factory<v8::Signature>::FTH argv[]) {
                                                      ^~~
../node_modules/nan/nan_implementation_12_inl.h:180:66: error: expected ‘,’ or ‘;’ before ‘{’ token
                            , Factory<v8::Signature>::FTH argv[]) {
                                                                  ^
../node_modules/nan/nan_implementation_12_inl.h: In static member function ‘static NanIntern::FactoryBase<v8::String>::return_t NanIntern::Factory<v8::String>::New(const char*, int)’:
../node_modules/nan/nan_implementation_12_inl.h:194:19: error: ‘kNormalString’ is not a member of ‘v8::String’
       v8::String::kNormalString, length);
                   ^~~~~~~~~~~~~
../node_modules/nan/nan_implementation_12_inl.h: In static member function ‘static NanIntern::FactoryBase<v8::String>::return_t NanIntern::Factory<v8::String>::New(const string&)’:
../node_modules/nan/nan_implementation_12_inl.h:201:33: error: ‘kNormalString’ is not a member of ‘v8::String’
       value.data(), v8::String::kNormalString, static_cast<int>(value.size()));
                                 ^~~~~~~~~~~~~
../node_modules/nan/nan_implementation_12_inl.h: In static member function ‘static NanIntern::FactoryBase<v8::String>::return_t NanIntern::Factory<v8::String>::New(const uint8_t*, int)’:
../node_modules/nan/nan_implementation_12_inl.h:207:21: error: ‘kNormalString’ is not a member of ‘v8::String’
         v8::String::kNormalString, length);
                     ^~~~~~~~~~~~~
../node_modules/nan/nan_implementation_12_inl.h: In static member function ‘static NanIntern::FactoryBase<v8::String>::return_t NanIntern::Factory<v8::String>::New(const uint16_t*, int)’:
../node_modules/nan/nan_implementation_12_inl.h:213:21: error: ‘kNormalString’ is not a member of ‘v8::String’
         v8::String::kNormalString, length);
                     ^~~~~~~~~~~~~
../node_modules/nan/nan_implementation_12_inl.h: In static member function ‘static NanIntern::FactoryBase<v8::String>::return_t NanIntern::Factory<v8::String>::New(v8::String::ExternalStringResource*)’:
../node_modules/nan/nan_implementation_12_inl.h:218:22: error: ‘NewExternal’ is not a member of ‘v8::String’
   return v8::String::NewExternal(v8::Isolate::GetCurrent(), value);
                      ^~~~~~~~~~~
../node_modules/nan/nan_implementation_12_inl.h: In static member function ‘static NanIntern::FactoryBase<v8::String>::return_t NanIntern::Factory<v8::String>::New(NanExternalOneByteStringResource*)’:
../node_modules/nan/nan_implementation_12_inl.h:223:22: error: ‘NewExternal’ is not a member of ‘v8::String’
   return v8::String::NewExternal(v8::Isolate::GetCurrent(), value);
                      ^~~~~~~~~~~
../node_modules/nan/nan_implementation_12_inl.h: At global scope:
../node_modules/nan/nan_implementation_12_inl.h:229:36: error: ‘NanIntern::FactoryBase<v8::StringObject>::return_t NanIntern::Factory<v8::StringObject>::New’ is not a static data member of ‘struct NanIntern::Factory<v8::StringObject>’
 Factory<v8::StringObject>::New(v8::Handle<v8::String> value) {
                                    ^~~~~~
../node_modules/nan/nan_implementation_12_inl.h:229:36: error: ‘Handle’ is not a member of ‘v8’
../node_modules/nan/nan_implementation_12_inl.h:229:53: error: expected primary-expression before ‘>’ token
 Factory<v8::StringObject>::New(v8::Handle<v8::String> value) {
                                                     ^
../node_modules/nan/nan_implementation_12_inl.h:229:55: error: ‘value’ was not declared in this scope
 Factory<v8::StringObject>::New(v8::Handle<v8::String> value) {
                                                       ^~~~~
../node_modules/nan/nan_implementation_12_inl.h:229:62: error: expected ‘,’ or ‘;’ before ‘{’ token
 Factory<v8::StringObject>::New(v8::Handle<v8::String> value) {
                                                              ^
../node_modules/nan/nan_implementation_12_inl.h: In static member function ‘static NanIntern::FactoryBase<v8::UnboundScript>::return_t NanIntern::Factory<v8::UnboundScript>::New(v8::Local<v8::String>)’:
../node_modules/nan/nan_implementation_12_inl.h:238:30: error: ‘CompileUnbound’ is not a member of ‘v8::ScriptCompiler’
   return v8::ScriptCompiler::CompileUnbound(v8::Isolate::GetCurrent(), &src);
                              ^~~~~~~~~~~~~~
../node_modules/nan/nan_implementation_12_inl.h: In static member function ‘static NanIntern::FactoryBase<v8::UnboundScript>::return_t NanIntern::Factory<v8::UnboundScript>::New(v8::Local<v8::String>, const v8::ScriptOrigin&)’:
../node_modules/nan/nan_implementation_12_inl.h:245:30: error: ‘CompileUnbound’ is not a member of ‘v8::ScriptCompiler’
   return v8::ScriptCompiler::CompileUnbound(v8::Isolate::GetCurrent(), &src);
                              ^~~~~~~~~~~~~~
../node_modules/nan/nan_implementation_12_inl.h: At global scope:
../node_modules/nan/nan_implementation_12_inl.h:253:32: warning: inline variables are only available with -std=c++17 or -std=gnu++17
 inline v8::Local<T> NanNew(v8::Handle<T> h) {
                                ^~~~~~
../node_modules/nan/nan_implementation_12_inl.h:253:32: error: ‘Handle’ is not a member of ‘v8’
../node_modules/nan/nan_implementation_12_inl.h:253:40: error: expected primary-expression before ‘>’ token
 inline v8::Local<T> NanNew(v8::Handle<T> h) {
                                        ^
../node_modules/nan/nan_implementation_12_inl.h:253:42: error: ‘h’ was not declared in this scope
 inline v8::Local<T> NanNew(v8::Handle<T> h) {
                                          ^
../node_modules/nan/nan_implementation_12_inl.h:253:44: error: expected ‘;’ before ‘{’ token
 inline v8::Local<T> NanNew(v8::Handle<T> h) {
                                            ^~
                                            ;
../node_modules/nan/nan_implementation_12_inl.h:258:54: error: ‘template<class T> v8::Local<T> NanNew(const v8::Persistent<T, v8::NonCopyablePersistentTraits<T> >&)’ conflicts with a previous declaration
 inline v8::Local<T> NanNew(v8::Persistent<T> const& p) {
                                                      ^
../node_modules/nan/nan_implementation_12_inl.h:253:32: note: previous declaration ‘template<class T> v8::Local<T> NanNew<T>’
 inline v8::Local<T> NanNew(v8::Handle<T> h) {
                                ^~~~~~
In file included from ../node_modules/nan/nan.h:74,
                 from ../src/addon.cc:26:
../node_modules/nan/nan_new.h:202:8: error: ‘template<class T> typename NanIntern::Factory<T>::return_t NanNew()’ conflicts with a previous declaration
 NanNew() {
        ^
In file included from ../node_modules/nan/nan_new.h:190,
                 from ../node_modules/nan/nan.h:74,
                 from ../src/addon.cc:26:
../node_modules/nan/nan_implementation_12_inl.h:253:32: note: previous declaration ‘template<class T> v8::Local<T> NanNew<T>’
 inline v8::Local<T> NanNew(v8::Handle<T> h) {
                                ^~~~~~
In file included from ../node_modules/nan/nan.h:74,
                 from ../src/addon.cc:26:
../node_modules/nan/nan_new.h:208:15: error: ‘template<class T, class A0> typename NanIntern::Factory<T>::return_t NanNew(A0)’ conflicts with a previous declaration
 NanNew(A0 arg0) {
               ^
In file included from ../node_modules/nan/nan_new.h:190,
                 from ../node_modules/nan/nan.h:74,
                 from ../src/addon.cc:26:
../node_modules/nan/nan_implementation_12_inl.h:253:32: note: previous declaration ‘template<class T> v8::Local<T> NanNew<T>’
 inline v8::Local<T> NanNew(v8::Handle<T> h) {
                                ^~~~~~
In file included from ../node_modules/nan/nan.h:74,
                 from ../src/addon.cc:26:
../node_modules/nan/nan_new.h:214:24: error: ‘template<class T, class A0, class A1> typename NanIntern::Factory<T>::return_t NanNew(A0, A1)’ conflicts with a previous declaration
 NanNew(A0 arg0, A1 arg1) {
                        ^
In file included from ../node_modules/nan/nan_new.h:190,
                 from ../node_modules/nan/nan.h:74,
                 from ../src/addon.cc:26:
../node_modules/nan/nan_implementation_12_inl.h:253:32: note: previous declaration ‘template<class T> v8::Local<T> NanNew<T>’
 inline v8::Local<T> NanNew(v8::Handle<T> h) {
                                ^~~~~~
In file included from ../node_modules/nan/nan.h:74,
                 from ../src/addon.cc:26:
../node_modules/nan/nan_new.h:220:33: error: ‘template<class T, class A0, class A1, class A2> typename NanIntern::Factory<T>::return_t NanNew(A0, A1, A2)’ conflicts with a previous declaration
 NanNew(A0 arg0, A1 arg1, A2 arg2) {
                                 ^
In file included from ../node_modules/nan/nan_new.h:190,
                 from ../node_modules/nan/nan.h:74,
                 from ../src/addon.cc:26:
../node_modules/nan/nan_implementation_12_inl.h:253:32: note: previous declaration ‘template<class T> v8::Local<T> NanNew<T>’
 inline v8::Local<T> NanNew(v8::Handle<T> h) {
                                ^~~~~~
In file included from ../node_modules/nan/nan.h:74,
                 from ../src/addon.cc:26:
../node_modules/nan/nan_new.h:226:42: error: ‘template<class T, class A0, class A1, class A2, class A3> typename NanIntern::Factory<T>::return_t NanNew(A0, A1, A2, A3)’ conflicts with a previous declaration
 NanNew(A0 arg0, A1 arg1, A2 arg2, A3 arg3) {
                                          ^
In file included from ../node_modules/nan/nan_new.h:190,
                 from ../node_modules/nan/nan.h:74,
                 from ../src/addon.cc:26:
../node_modules/nan/nan_implementation_12_inl.h:253:32: note: previous declaration ‘template<class T> v8::Local<T> NanNew<T>’
 inline v8::Local<T> NanNew(v8::Handle<T> h) {
                                ^~~~~~
In file included from ../node_modules/nan/nan.h:74,
                 from ../src/addon.cc:26:
../node_modules/nan/nan_new.h:239:13: error: ‘v8::Handle’ has not been declared
       , v8::Handle<v8::Value> data = v8::Handle<v8::Value>()) {
             ^~~~~~
../node_modules/nan/nan_new.h:239:19: error: expected ‘,’ or ‘...’ before ‘<’ token
       , v8::Handle<v8::Value> data = v8::Handle<v8::Value>()) {
                   ^
../node_modules/nan/nan_new.h:239:61: error: ‘template<class T> typename NanIntern::Factory<T>::return_t NanNew(NanFunctionCallback, int)’ conflicts with a previous declaration
       , v8::Handle<v8::Value> data = v8::Handle<v8::Value>()) {
                                                             ^
In file included from ../node_modules/nan/nan_new.h:190,
                 from ../node_modules/nan/nan.h:74,
                 from ../src/addon.cc:26:
../node_modules/nan/nan_implementation_12_inl.h:253:32: note: previous declaration ‘template<class T> v8::Local<T> NanNew<T>’
 inline v8::Local<T> NanNew(v8::Handle<T> h) {
                                ^~~~~~
In file included from ../node_modules/nan/nan.h:74,
                 from ../src/addon.cc:26:
../node_modules/nan/nan_new.h: In function ‘typename NanIntern::Factory<T>::return_t NanNew(NanFunctionCallback, int)’:
../node_modules/nan/nan_new.h:240:49: error: ‘data’ was not declared in this scope
     return NanIntern::Factory<T>::New(callback, data);
                                                 ^~~~
../node_modules/nan/nan_new.h: At global scope:
../node_modules/nan/nan_new.h:247:13: error: ‘v8::Handle’ has not been declared
       , v8::Handle<v8::Value> data = v8::Handle<v8::Value>()
             ^~~~~~
../node_modules/nan/nan_new.h:247:19: error: expected ‘,’ or ‘...’ before ‘<’ token
       , v8::Handle<v8::Value> data = v8::Handle<v8::Value>()
                   ^
../node_modules/nan/nan_new.h:248:21: error: ‘template<class T, class A2> typename NanIntern::Factory<T>::return_t NanNew(NanFunctionCallback, int)’ conflicts with a previous declaration
       , A2 a2 = A2()) {
                     ^
In file included from ../node_modules/nan/nan_new.h:190,
                 from ../node_modules/nan/nan.h:74,
                 from ../src/addon.cc:26:
../node_modules/nan/nan_implementation_12_inl.h:253:32: note: previous declaration ‘template<class T> v8::Local<T> NanNew<T>’
 inline v8::Local<T> NanNew(v8::Handle<T> h) {
                                ^~~~~~
In file included from ../node_modules/nan/nan.h:74,
                 from ../src/addon.cc:26:
../node_modules/nan/nan_new.h: In function ‘typename NanIntern::Factory<T>::return_t NanNew(NanFunctionCallback, int)’:
../node_modules/nan/nan_new.h:249:49: error: ‘data’ was not declared in this scope
     return NanIntern::Factory<T>::New(callback, data, a2);
                                                 ^~~~
../node_modules/nan/nan_new.h:249:55: error: ‘a2’ was not declared in this scope
     return NanIntern::Factory<T>::New(callback, data, a2);
                                                       ^~
../node_modules/nan/nan_new.h:249:55: note: suggested alternative: ‘A2’
     return NanIntern::Factory<T>::New(callback, data, a2);
                                                       ^~
                                                       A2
../node_modules/nan/nan_new.h: At global scope:
../node_modules/nan/nan_new.h:254:54: warning: inline variables are only available with -std=c++17 or -std=gnu++17
 template <typename T> inline v8::Local<T> NanNew(v8::Handle<T> h);
                                                      ^~~~~~
../node_modules/nan/nan_new.h:254:54: error: ‘Handle’ is not a member of ‘v8’
../node_modules/nan/nan_new.h:254:62: error: expected primary-expression before ‘>’ token
 template <typename T> inline v8::Local<T> NanNew(v8::Handle<T> h);
                                                              ^
../node_modules/nan/nan_new.h:254:64: error: ‘h’ was not declared in this scope
 template <typename T> inline v8::Local<T> NanNew(v8::Handle<T> h);
                                                                ^
../node_modules/nan/nan_new.h:255:76: error: ‘template<class T> v8::Local<T> NanNew(const v8::Persistent<T, v8::NonCopyablePersistentTraits<T> >&)’ conflicts with a previous declaration
 template <typename T> inline v8::Local<T> NanNew(v8::Persistent<T> const& p);
                                                                            ^
In file included from ../node_modules/nan/nan_new.h:190,
                 from ../node_modules/nan/nan.h:74,
                 from ../src/addon.cc:26:
../node_modules/nan/nan_implementation_12_inl.h:253:32: note: previous declaration ‘template<class T> v8::Local<T> NanNew<T>’
 inline v8::Local<T> NanNew(v8::Handle<T> h) {
                                ^~~~~~
In file included from ../node_modules/nan/nan.h:74,
                 from ../src/addon.cc:26:
../node_modules/nan/nan_new.h:259:18: error: ‘NanIntern::FactoryBase<v8::Boolean>::return_t NanNew(bool)’ redeclared as different kind of symbol
 NanNew(bool value) {
                  ^
In file included from ../node_modules/nan/nan_new.h:190,
                 from ../node_modules/nan/nan.h:74,
                 from ../src/addon.cc:26:
../node_modules/nan/nan_implementation_12_inl.h:253:32: note: previous declaration ‘template<class T> v8::Local<T> NanNew<T>’
 inline v8::Local<T> NanNew(v8::Handle<T> h) {
                                ^~~~~~
In file included from ../node_modules/nan/nan.h:74,
                 from ../src/addon.cc:26:
../node_modules/nan/nan_new.h: In function ‘NanIntern::FactoryBase<v8::Boolean>::return_t NanNew(bool)’:
../node_modules/nan/nan_new.h:260:35: error: no match for call to ‘(v8::Local<v8::Boolean>) (bool&)’
   return NanNew<v8::Boolean>(value);
                                   ^
../node_modules/nan/nan_new.h: At global scope:
../node_modules/nan/nan_new.h:265:21: error: ‘NanIntern::IntegerFactory<v8::Int32>::return_t NanNew(int32_t)’ redeclared as different kind of symbol
 NanNew(int32_t value) {
                     ^
In file included from ../node_modules/nan/nan_new.h:190,
                 from ../node_modules/nan/nan.h:74,
                 from ../src/addon.cc:26:
../node_modules/nan/nan_implementation_12_inl.h:253:21: note: previous declaration ‘template<class T> v8::Local<T> NanNew<T>’
 inline v8::Local<T> NanNew(v8::Handle<T> h) {
                     ^~~~~~
In file included from ../node_modules/nan/nan.h:74,
                 from ../src/addon.cc:26:
../node_modules/nan/nan_new.h: In function ‘NanIntern::IntegerFactory<v8::Int32>::return_t NanNew(int32_t)’:
../node_modules/nan/nan_new.h:266:33: error: no match for call to ‘(v8::Local<v8::Int32>) (int32_t&)’
   return NanNew<v8::Int32>(value);
                                 ^
../node_modules/nan/nan_new.h: At global scope:
../node_modules/nan/nan_new.h:271:22: error: ‘NanIntern::FactoryBase<v8::Uint32>::return_t NanNew(uint32_t)’ redeclared as different kind of symbol
 NanNew(uint32_t value) {
                      ^
In file included from ../node_modules/nan/nan_new.h:190,
                 from ../node_modules/nan/nan.h:74,
                 from ../src/addon.cc:26:
../node_modules/nan/nan_implementation_12_inl.h:253:21: note: previous declaration ‘template<class T> v8::Local<T> NanNew<T>’
 inline v8::Local<T> NanNew(v8::Handle<T> h) {
                     ^~~~~~
In file included from ../node_modules/nan/nan.h:74,
                 from ../src/addon.cc:26:
../node_modules/nan/nan_new.h: In function ‘NanIntern::FactoryBase<v8::Uint32>::return_t NanNew(uint32_t)’:
../node_modules/nan/nan_new.h:272:34: error: no match for call to ‘(v8::Local<v8::Uint32>) (uint32_t&)’
   return NanNew<v8::Uint32>(value);
                                  ^
../node_modules/nan/nan_new.h: At global scope:
../node_modules/nan/nan_new.h:277:20: error: ‘NanIntern::FactoryBase<v8::Number>::return_t NanNew(double)’ redeclared as different kind of symbol
 NanNew(double value) {
                    ^
In file included from ../node_modules/nan/nan_new.h:190,
                 from ../node_modules/nan/nan.h:74,
                 from ../src/addon.cc:26:
../node_modules/nan/nan_implementation_12_inl.h:253:21: note: previous declaration ‘template<class T> v8::Local<T> NanNew<T>’
 inline v8::Local<T> NanNew(v8::Handle<T> h) {
                     ^~~~~~
In file included from ../node_modules/nan/nan.h:74,
                 from ../src/addon.cc:26:
../node_modules/nan/nan_new.h: In function ‘NanIntern::FactoryBase<v8::Number>::return_t NanNew(double)’:
../node_modules/nan/nan_new.h:278:34: error: no match for call to ‘(v8::Local<v8::Number>) (double&)’
   return NanNew<v8::Number>(value);
                                  ^
../node_modules/nan/nan_new.h: At global scope:
../node_modules/nan/nan_new.h:283:32: error: ‘NanIntern::FactoryBase<v8::String>::return_t NanNew(const string&)’ redeclared as different kind of symbol
 NanNew(std::string const& value) {
                                ^
In file included from ../node_modules/nan/nan_new.h:190,
                 from ../node_modules/nan/nan.h:74,
                 from ../src/addon.cc:26:
../node_modules/nan/nan_implementation_12_inl.h:253:21: note: previous declaration ‘template<class T> v8::Local<T> NanNew<T>’
 inline v8::Local<T> NanNew(v8::Handle<T> h) {
                     ^~~~~~
In file included from ../node_modules/nan/nan.h:74,
                 from ../src/addon.cc:26:
../node_modules/nan/nan_new.h: In function ‘NanIntern::FactoryBase<v8::String>::return_t NanNew(const string&)’:
../node_modules/nan/nan_new.h:284:34: error: no match for call to ‘(v8::Local<v8::String>) (const string&)’
   return NanNew<v8::String>(value);
                                  ^
../node_modules/nan/nan_new.h: At global scope:
../node_modules/nan/nan_new.h:289:38: error: ‘NanIntern::FactoryBase<v8::String>::return_t NanNew(const char*, int)’ redeclared as different kind of symbol
 NanNew(const char * value, int length) {
                                      ^
In file included from ../node_modules/nan/nan_new.h:190,
                 from ../node_modules/nan/nan.h:74,
                 from ../src/addon.cc:26:
../node_modules/nan/nan_implementation_12_inl.h:253:21: note: previous declaration ‘template<class T> v8::Local<T> NanNew<T>’
 inline v8::Local<T> NanNew(v8::Handle<T> h) {
                     ^~~~~~
In file included from ../node_modules/nan/nan.h:74,
                 from ../src/addon.cc:26:
../node_modules/nan/nan_new.h: In function ‘NanIntern::FactoryBase<v8::String>::return_t NanNew(const char*, int)’:
../node_modules/nan/nan_new.h:290:42: error: no match for call to ‘(v8::Local<v8::String>) (const char*&, int&)’
   return NanNew<v8::String>(value, length);
                                          ^
../node_modules/nan/nan_new.h: At global scope:
../node_modules/nan/nan_new.h:295:26: error: ‘NanIntern::FactoryBase<v8::String>::return_t NanNew(const char*)’ redeclared as different kind of symbol
 NanNew(const char * value) {
                          ^
In file included from ../node_modules/nan/nan_new.h:190,
                 from ../node_modules/nan/nan.h:74,
                 from ../src/addon.cc:26:
../node_modules/nan/nan_implementation_12_inl.h:253:21: note: previous declaration ‘template<class T> v8::Local<T> NanNew<T>’
 inline v8::Local<T> NanNew(v8::Handle<T> h) {
                     ^~~~~~
In file included from ../node_modules/nan/nan.h:74,
                 from ../src/addon.cc:26:
../node_modules/nan/nan_new.h: In function ‘NanIntern::FactoryBase<v8::String>::return_t NanNew(const char*)’:
../node_modules/nan/nan_new.h:296:34: error: no match for call to ‘(v8::Local<v8::String>) (const char*&)’
   return NanNew<v8::String>(value);
                                  ^
../node_modules/nan/nan_new.h: At global scope:
../node_modules/nan/nan_new.h:301:29: error: ‘NanIntern::FactoryBase<v8::String>::return_t NanNew(const uint8_t*)’ redeclared as different kind of symbol
 NanNew(const uint8_t * value) {
                             ^
In file included from ../node_modules/nan/nan_new.h:190,
                 from ../node_modules/nan/nan.h:74,
                 from ../src/addon.cc:26:
../node_modules/nan/nan_implementation_12_inl.h:253:21: note: previous declaration ‘template<class T> v8::Local<T> NanNew<T>’
 inline v8::Local<T> NanNew(v8::Handle<T> h) {
                     ^~~~~~
In file included from ../node_modules/nan/nan.h:74,
                 from ../src/addon.cc:26:
../node_modules/nan/nan_new.h: In function ‘NanIntern::FactoryBase<v8::String>::return_t NanNew(const uint8_t*)’:
../node_modules/nan/nan_new.h:302:34: error: no match for call to ‘(v8::Local<v8::String>) (const uint8_t*&)’
   return NanNew<v8::String>(value);
                                  ^
../node_modules/nan/nan_new.h: At global scope:
../node_modules/nan/nan_new.h:307:30: error: ‘NanIntern::FactoryBase<v8::String>::return_t NanNew(const uint16_t*)’ redeclared as different kind of symbol
 NanNew(const uint16_t * value) {
                              ^
In file included from ../node_modules/nan/nan_new.h:190,
                 from ../node_modules/nan/nan.h:74,
                 from ../src/addon.cc:26:
../node_modules/nan/nan_implementation_12_inl.h:253:21: note: previous declaration ‘template<class T> v8::Local<T> NanNew<T>’
 inline v8::Local<T> NanNew(v8::Handle<T> h) {
                     ^~~~~~
In file included from ../node_modules/nan/nan.h:74,
                 from ../src/addon.cc:26:
../node_modules/nan/nan_new.h: In function ‘NanIntern::FactoryBase<v8::String>::return_t NanNew(const uint16_t*)’:
../node_modules/nan/nan_new.h:308:34: error: no match for call to ‘(v8::Local<v8::String>) (const uint16_t*&)’
   return NanNew<v8::String>(value);
                                  ^
../node_modules/nan/nan_new.h: At global scope:
../node_modules/nan/nan_new.h:313:50: error: ‘NanIntern::FactoryBase<v8::String>::return_t NanNew(v8::String::ExternalStringResource*)’ redeclared as different kind of symbol
 NanNew(v8::String::ExternalStringResource * value) {
                                                  ^
In file included from ../node_modules/nan/nan_new.h:190,
                 from ../node_modules/nan/nan.h:74,
                 from ../src/addon.cc:26:
../node_modules/nan/nan_implementation_12_inl.h:253:21: note: previous declaration ‘template<class T> v8::Local<T> NanNew<T>’
 inline v8::Local<T> NanNew(v8::Handle<T> h) {
                     ^~~~~~
In file included from ../node_modules/nan/nan.h:74,
                 from ../src/addon.cc:26:
../node_modules/nan/nan_new.h: In function ‘NanIntern::FactoryBase<v8::String>::return_t NanNew(v8::String::ExternalStringResource*)’:
../node_modules/nan/nan_new.h:314:34: error: no match for call to ‘(v8::Local<v8::String>) (v8::String::ExternalStringResource*&)’
   return NanNew<v8::String>(value);
                                  ^
../node_modules/nan/nan_new.h: At global scope:
../node_modules/nan/nan_new.h:319:48: error: ‘NanIntern::FactoryBase<v8::String>::return_t NanNew(NanExternalOneByteStringResource*)’ redeclared as different kind of symbol
 NanNew(NanExternalOneByteStringResource * value) {
                                                ^
In file included from ../node_modules/nan/nan_new.h:190,
                 from ../node_modules/nan/nan.h:74,
                 from ../src/addon.cc:26:
../node_modules/nan/nan_implementation_12_inl.h:253:21: note: previous declaration ‘template<class T> v8::Local<T> NanNew<T>’
 inline v8::Local<T> NanNew(v8::Handle<T> h) {
                     ^~~~~~
In file included from ../node_modules/nan/nan.h:74,
                 from ../src/addon.cc:26:
../node_modules/nan/nan_new.h: In function ‘NanIntern::FactoryBase<v8::String>::return_t NanNew(NanExternalOneByteStringResource*)’:
../node_modules/nan/nan_new.h:320:34: error: no match for call to ‘(v8::Local<v8::String>) (NanExternalOneByteStringResource*&)’
   return NanNew<v8::String>(value);
                                  ^
../node_modules/nan/nan_new.h: At global scope:
../node_modules/nan/nan_new.h:325:12: warning: inline variables are only available with -std=c++17 or -std=gnu++17
 NanNew(v8::Handle<v8::String> pattern, v8::RegExp::Flags flags) {
            ^~~~~~
../node_modules/nan/nan_new.h:325:12: error: ‘NanIntern::FactoryBase<v8::RegExp>::return_t NanNew’ redeclared as different kind of symbol
In file included from ../node_modules/nan/nan_new.h:190,
                 from ../node_modules/nan/nan.h:74,
                 from ../src/addon.cc:26:
../node_modules/nan/nan_implementation_12_inl.h:253:21: note: previous declaration ‘template<class T> v8::Local<T> NanNew<T>’
 inline v8::Local<T> NanNew(v8::Handle<T> h) {
                     ^~~~~~
In file included from ../node_modules/nan/nan.h:74,
                 from ../src/addon.cc:26:
../node_modules/nan/nan_new.h:325:12: error: ‘Handle’ is not a member of ‘v8’
 NanNew(v8::Handle<v8::String> pattern, v8::RegExp::Flags flags) {
            ^~~~~~
../node_modules/nan/nan_new.h:325:29: error: expected primary-expression before ‘>’ token
 NanNew(v8::Handle<v8::String> pattern, v8::RegExp::Flags flags) {
                             ^
../node_modules/nan/nan_new.h:325:31: error: ‘pattern’ was not declared in this scope
 NanNew(v8::Handle<v8::String> pattern, v8::RegExp::Flags flags) {
                               ^~~~~~~
../node_modules/nan/nan_new.h:325:31: note: suggested alternative: ‘extern’
 NanNew(v8::Handle<v8::String> pattern, v8::RegExp::Flags flags) {
                               ^~~~~~~
                               extern
../node_modules/nan/nan_new.h:325:58: error: expected primary-expression before ‘flags’
 NanNew(v8::Handle<v8::String> pattern, v8::RegExp::Flags flags) {
                                                          ^~~~~
In file included from ../src/addon.cc:26:
../node_modules/nan/nan.h:124:9: error: ‘v8::Handle’ has not been declared
   , v8::Handle<v8::String> opt, bool def
         ^~~~~~
../node_modules/nan/nan.h:124:15: error: expected ‘,’ or ‘...’ before ‘<’ token
   , v8::Handle<v8::String> opt, bool def
               ^
../node_modules/nan/nan.h: In function ‘bool NanBooleanOptionValue(v8::Local<v8::Object>, int)’:
../node_modules/nan/nan.h:126:7: error: ‘def’ was not declared in this scope
   if (def) {
       ^~~
../node_modules/nan/nan.h:128:27: error: ‘opt’ was not declared in this scope
       || !optionsObj->Has(opt)
                           ^~~
../node_modules/nan/nan.h:128:27: note: suggested alternative: ‘open’
       || !optionsObj->Has(opt)
                           ^~~
                           open
../node_modules/nan/nan.h:132:26: error: ‘opt’ was not declared in this scope
       && optionsObj->Has(opt)
                          ^~~
../node_modules/nan/nan.h:132:26: note: suggested alternative: ‘open’
       && optionsObj->Has(opt)
                          ^~~
                          open
../node_modules/nan/nan.h: At global scope:
../node_modules/nan/nan.h:139:9: error: ‘v8::Handle’ has not been declared
   , v8::Handle<v8::String> opt
         ^~~~~~
../node_modules/nan/nan.h:139:15: error: expected ‘,’ or ‘...’ before ‘<’ token
   , v8::Handle<v8::String> opt
               ^
../node_modules/nan/nan.h:137:17: error: redefinition of ‘bool NanBooleanOptionValue(v8::Local<v8::Object>, int)’
 NAN_INLINE bool NanBooleanOptionValue(
                 ^~~~~~~~~~~~~~~~~~~~~
../node_modules/nan/nan.h:122:17: note: ‘bool NanBooleanOptionValue(v8::Local<v8::Object>, int)’ previously defined here
 NAN_INLINE bool NanBooleanOptionValue(
                 ^~~~~~~~~~~~~~~~~~~~~
../node_modules/nan/nan.h: In function ‘bool NanBooleanOptionValue(v8::Local<v8::Object>, int)’:
../node_modules/nan/nan.h:141:44: error: ‘opt’ was not declared in this scope
   return NanBooleanOptionValue(optionsObj, opt, false);
                                            ^~~
../node_modules/nan/nan.h:141:44: note: suggested alternative: ‘open’
   return NanBooleanOptionValue(optionsObj, opt, false);
                                            ^~~
                                            open
../node_modules/nan/nan.h: At global scope:
../node_modules/nan/nan.h:146:9: error: ‘v8::Handle’ has not been declared
   , v8::Handle<v8::String> opt
         ^~~~~~
../node_modules/nan/nan.h:146:15: error: expected ‘,’ or ‘...’ before ‘<’ token
   , v8::Handle<v8::String> opt
               ^
../node_modules/nan/nan.h: In function ‘uint32_t NanUInt32OptionValue(v8::Local<v8::Object>, int)’:
../node_modules/nan/nan.h:150:24: error: ‘opt’ was not declared in this scope
     && optionsObj->Has(opt)
                        ^~~
../node_modules/nan/nan.h:150:24: note: suggested alternative: ‘open’
     && optionsObj->Has(opt)
                        ^~~
                        open
../node_modules/nan/nan.h:153:9: error: ‘def’ was not declared in this scope
       : def;
         ^~~
../node_modules/nan/nan.h: At global scope:
../node_modules/nan/nan.h:157:25: error: ‘Handle’ is not a member of ‘v8’
 v8::Local<T> NanNew(v8::Handle<T>);
                         ^~~~~~
../node_modules/nan/nan.h:157:33: error: expected primary-expression before ‘>’ token
 v8::Local<T> NanNew(v8::Handle<T>);
                                 ^
../node_modules/nan/nan.h:157:34: error: expected primary-expression before ‘)’ token
 v8::Local<T> NanNew(v8::Handle<T>);
                                  ^
../node_modules/nan/nan.h:160:45: warning: inline variables are only available with -std=c++17 or -std=gnu++17
 NAN_INLINE v8::Local<T> _NanEnsureLocal(v8::Handle<T> val) {
                                             ^~~~~~
../node_modules/nan/nan.h:160:45: warning: ‘always_inline’ attribute ignored [-Wattributes]
../node_modules/nan/nan.h:160:45: error: ‘Handle’ is not a member of ‘v8’
../node_modules/nan/nan.h:160:53: error: expected primary-expression before ‘>’ token
 NAN_INLINE v8::Local<T> _NanEnsureLocal(v8::Handle<T> val) {
                                                     ^
../node_modules/nan/nan.h:160:55: error: ‘val’ was not declared in this scope
 NAN_INLINE v8::Local<T> _NanEnsureLocal(v8::Handle<T> val) {
                                                       ^~~
../node_modules/nan/nan.h:160:59: error: expected ‘;’ before ‘{’ token
 NAN_INLINE v8::Local<T> _NanEnsureLocal(v8::Handle<T> val) {
                                                           ^~
                                                           ;
../node_modules/nan/nan.h:165:57: error: ‘template<class T> v8::Local<T> _NanEnsureLocal(v8::Local<T>)’ conflicts with a previous declaration
 NAN_INLINE v8::Local<T> _NanEnsureLocal(v8::Local<T> val) {
                                                         ^
../node_modules/nan/nan.h:160:45: note: previous declaration ‘template<class T> v8::Local<T> _NanEnsureLocal<T>’
 NAN_INLINE v8::Local<T> _NanEnsureLocal(v8::Handle<T> val) {
                                             ^~~~~~
../node_modules/nan/nan.h: In function ‘bool NanIdleNotification(int)’:
../node_modules/nan/nan.h:187:39: error: ‘class v8::Isolate’ has no member named ‘IdleNotification’; did you mean ‘IdleNotificationDeadline’?
     return v8::Isolate::GetCurrent()->IdleNotification(idle_time_in_ms);
                                       ^~~~~~~~~~~~~~~~
                                       IdleNotificationDeadline
../node_modules/nan/nan.h: In function ‘v8::Local<v8::Primitive> NanUndefined()’:
../node_modules/nan/nan.h:296:58: error: missing template arguments before ‘(’ token
 # define NanEscapeScope(val) scope.Escape(_NanEnsureLocal(val))
                                                          ^
../node_modules/nan/nan.h:310:12: note: in expansion of macro ‘NanEscapeScope’
     return NanEscapeScope(NanNew(v8::Undefined(v8::Isolate::GetCurrent())));
            ^~~~~~~~~~~~~~
../node_modules/nan/nan.h:310:33: error: missing template arguments before ‘(’ token
     return NanEscapeScope(NanNew(v8::Undefined(v8::Isolate::GetCurrent())));
                                 ^
../node_modules/nan/nan.h:296:59: note: in definition of macro ‘NanEscapeScope’
 # define NanEscapeScope(val) scope.Escape(_NanEnsureLocal(val))
                                                           ^~~
../node_modules/nan/nan.h: In function ‘v8::Local<v8::Primitive> NanNull()’:
../node_modules/nan/nan.h:296:58: error: missing template arguments before ‘(’ token
 # define NanEscapeScope(val) scope.Escape(_NanEnsureLocal(val))
                                                          ^
../node_modules/nan/nan.h:315:12: note: in expansion of macro ‘NanEscapeScope’
     return NanEscapeScope(NanNew(v8::Null(v8::Isolate::GetCurrent())));
            ^~~~~~~~~~~~~~
../node_modules/nan/nan.h:315:33: error: missing template arguments before ‘(’ token
     return NanEscapeScope(NanNew(v8::Null(v8::Isolate::GetCurrent())));
                                 ^
../node_modules/nan/nan.h:296:59: note: in definition of macro ‘NanEscapeScope’
 # define NanEscapeScope(val) scope.Escape(_NanEnsureLocal(val))
                                                           ^~~
../node_modules/nan/nan.h: In function ‘v8::Local<v8::Boolean> NanTrue()’:
../node_modules/nan/nan.h:296:58: error: missing template arguments before ‘(’ token
 # define NanEscapeScope(val) scope.Escape(_NanEnsureLocal(val))
                                                          ^
../node_modules/nan/nan.h:320:12: note: in expansion of macro ‘NanEscapeScope’
     return NanEscapeScope(NanNew(v8::True(v8::Isolate::GetCurrent())));
            ^~~~~~~~~~~~~~
../node_modules/nan/nan.h:320:33: error: missing template arguments before ‘(’ token
     return NanEscapeScope(NanNew(v8::True(v8::Isolate::GetCurrent())));
                                 ^
../node_modules/nan/nan.h:296:59: note: in definition of macro ‘NanEscapeScope’
 # define NanEscapeScope(val) scope.Escape(_NanEnsureLocal(val))
                                                           ^~~
../node_modules/nan/nan.h: In function ‘v8::Local<v8::Boolean> NanFalse()’:
../node_modules/nan/nan.h:296:58: error: missing template arguments before ‘(’ token
 # define NanEscapeScope(val) scope.Escape(_NanEnsureLocal(val))
                                                          ^
../node_modules/nan/nan.h:325:12: note: in expansion of macro ‘NanEscapeScope’
     return NanEscapeScope(NanNew(v8::False(v8::Isolate::GetCurrent())));
            ^~~~~~~~~~~~~~
../node_modules/nan/nan.h:325:33: error: missing template arguments before ‘(’ token
     return NanEscapeScope(NanNew(v8::False(v8::Isolate::GetCurrent())));
                                 ^
../node_modules/nan/nan.h:296:59: note: in definition of macro ‘NanEscapeScope’
 # define NanEscapeScope(val) scope.Escape(_NanEnsureLocal(val))
                                                           ^~~
../node_modules/nan/nan.h: At global scope:
../node_modules/nan/nan.h:334:11: error: variable or field ‘NanSetTemplate’ declared void
       v8::Handle<v8::Template> templ
           ^~~~~~
../node_modules/nan/nan.h:334:11: error: ‘Handle’ is not a member of ‘v8’
../node_modules/nan/nan.h:334:30: error: expected primary-expression before ‘>’ token
       v8::Handle<v8::Template> templ
                              ^
../node_modules/nan/nan.h:334:32: error: ‘templ’ was not declared in this scope
       v8::Handle<v8::Template> templ
                                ^~~~~
../node_modules/nan/nan.h:335:7: error: expected primary-expression before ‘const’
     , const char *name
       ^~~~~
../node_modules/nan/nan.h:336:11: error: ‘Handle’ is not a member of ‘v8’
     , v8::Handle<v8::Data> value) {
           ^~~~~~
../node_modules/nan/nan.h:336:26: error: expected primary-expression before ‘>’ token
     , v8::Handle<v8::Data> value) {
                          ^
../node_modules/nan/nan.h:336:28: error: ‘value’ was not declared in this scope
     , v8::Handle<v8::Data> value) {
                            ^~~~~
../node_modules/nan/nan.h:341:11: error: variable or field ‘NanSetTemplate’ declared void
       v8::Handle<v8::Template> templ
           ^~~~~~
../node_modules/nan/nan.h:341:11: error: ‘Handle’ is not a member of ‘v8’
../node_modules/nan/nan.h:341:30: error: expected primary-expression before ‘>’ token
       v8::Handle<v8::Template> templ
                              ^
../node_modules/nan/nan.h:341:32: error: ‘templ’ was not declared in this scope
       v8::Handle<v8::Template> templ
                                ^~~~~
../node_modules/nan/nan.h:342:11: error: ‘Handle’ is not a member of ‘v8’
     , v8::Handle<v8::String> name
           ^~~~~~
../node_modules/nan/nan.h:342:28: error: expected primary-expression before ‘>’ token
     , v8::Handle<v8::String> name
                            ^
../node_modules/nan/nan.h:342:30: error: ‘name’ was not declared in this scope
     , v8::Handle<v8::String> name
                              ^~~~
../node_modules/nan/nan.h:342:30: note: suggested alternative: ‘node’
     , v8::Handle<v8::String> name
                              ^~~~
                              node
../node_modules/nan/nan.h:343:11: error: ‘Handle’ is not a member of ‘v8’
     , v8::Handle<v8::Data> value
           ^~~~~~
../node_modules/nan/nan.h:343:26: error: expected primary-expression before ‘>’ token
     , v8::Handle<v8::Data> value
                          ^
../node_modules/nan/nan.h:343:28: error: ‘value’ was not declared in this scope
     , v8::Handle<v8::Data> value
                            ^~~~~
../node_modules/nan/nan.h:344:29: error: expected primary-expression before ‘attributes’
     , v8::PropertyAttribute attributes) {
                             ^~~~~~~~~~
../node_modules/nan/nan.h:353:11: warning: inline variables are only available with -std=c++17 or -std=gnu++17
       v8::Handle<v8::Object> object
           ^~~~~~
../node_modules/nan/nan.h:353:11: warning: ‘always_inline’ attribute ignored [-Wattributes]
../node_modules/nan/nan.h:353:11: error: ‘Handle’ is not a member of ‘v8’
../node_modules/nan/nan.h:353:28: error: expected primary-expression before ‘>’ token
       v8::Handle<v8::Object> object
                            ^
../node_modules/nan/nan.h:353:30: error: ‘object’ was not declared in this scope
       v8::Handle<v8::Object> object
                              ^~~~~~
../node_modules/nan/nan.h:353:30: note: suggested alternative: ‘connect’
       v8::Handle<v8::Object> object
                              ^~~~~~
                              connect
../node_modules/nan/nan.h:354:7: error: expected primary-expression before ‘int’
     , int index) {
       ^~~
../node_modules/nan/nan.h:354:16: error: expression list treated as compound expression in initializer [-fpermissive]
     , int index) {
                ^
../node_modules/nan/nan.h:359:11: error: variable or field ‘NanSetInternalFieldPointer’ declared void
       v8::Handle<v8::Object> object
           ^~~~~~
../node_modules/nan/nan.h:359:11: error: ‘Handle’ is not a member of ‘v8’
../node_modules/nan/nan.h:359:28: error: expected primary-expression before ‘>’ token
       v8::Handle<v8::Object> object
                            ^
../node_modules/nan/nan.h:359:30: error: ‘object’ was not declared in this scope
       v8::Handle<v8::Object> object
                              ^~~~~~
../node_modules/nan/nan.h:359:30: note: suggested alternative: ‘connect’
       v8::Handle<v8::Object> object
                              ^~~~~~
                              connect
../node_modules/nan/nan.h:360:7: error: expected primary-expression before ‘int’
     , int index
       ^~~
../node_modules/nan/nan.h:361:7: error: expected primary-expression before ‘void’
     , void* value) {
       ^~~~
../node_modules/nan/nan.h:369:20: error: variable or field ‘NanAddGCEpilogueCallback’ declared void
       v8::Isolate::GCEpilogueCallback callback
                    ^~~~~~~~~~~~~~~~~~
../node_modules/nan/nan.h:369:20: error: ‘GCEpilogueCallback’ is not a member of ‘v8::Isolate’
../node_modules/nan/nan.h:370:18: error: expected primary-expression before ‘gc_type_filter’
     , v8::GCType gc_type_filter = v8::kGCTypeAll) {
                  ^~~~~~~~~~~~~~
../node_modules/nan/nan.h:375:20: error: variable or field ‘NanRemoveGCEpilogueCallback’ declared void
       v8::Isolate::GCEpilogueCallback callback) {
                    ^~~~~~~~~~~~~~~~~~
../node_modules/nan/nan.h:375:20: error: ‘GCEpilogueCallback’ is not a member of ‘v8::Isolate’
../node_modules/nan/nan.h:380:20: error: variable or field ‘NanAddGCPrologueCallback’ declared void
       v8::Isolate::GCPrologueCallback callback
                    ^~~~~~~~~~~~~~~~~~
../node_modules/nan/nan.h:380:20: error: ‘GCPrologueCallback’ is not a member of ‘v8::Isolate’
../node_modules/nan/nan.h:381:18: error: expected primary-expression before ‘gc_type_filter’
     , v8::GCType gc_type_filter = v8::kGCTypeAll) {
                  ^~~~~~~~~~~~~~
../node_modules/nan/nan.h:386:20: error: variable or field ‘NanRemoveGCPrologueCallback’ declared void
       v8::Isolate::GCPrologueCallback callback) {
                    ^~~~~~~~~~~~~~~~~~
../node_modules/nan/nan.h:386:20: error: ‘GCPrologueCallback’ is not a member of ‘v8::Isolate’
../node_modules/nan/nan.h: In function ‘v8::Local<v8::String> NanSymbol(const char*, int)’:
../node_modules/nan/nan.h:397:43: error: no match for call to ‘(v8::Local<v8::String>) (const char*&, int&)’
     return NanNew<v8::String>(data, length);
                                           ^
../node_modules/nan/nan.h: At global scope:
../node_modules/nan/nan.h:403:11: error: ‘v8::Handle’ has not been declared
     , v8::Handle<T> obj) {
           ^~~~~~
../node_modules/nan/nan.h:403:17: error: expected ‘,’ or ‘...’ before ‘<’ token
     , v8::Handle<T> obj) {
                 ^
../node_modules/nan/nan.h: In function ‘void NanAssignPersistent(v8::Persistent<T, v8::NonCopyablePersistentTraits<T> >&, int)’:
../node_modules/nan/nan.h:404:47: error: ‘obj’ was not declared in this scope
       handle.Reset(v8::Isolate::GetCurrent(), obj);
                                               ^~~
../node_modules/nan/nan.h: At global scope:
../node_modules/nan/nan.h:420:47: error: expected ‘)’ before ‘<’ token
     NAN_INLINE _NanWeakCallbackInfo(v8::Handle<T> handle, P* param, Callback cb)
                                    ~          ^
                                               )
../node_modules/nan/nan.h: In member function ‘v8::Local<T> _NanWeakCallbackData<T, P>::GetValue() const’:
../node_modules/nan/nan.h:441:20: error: missing template arguments before ‘(’ token
       return NanNew(info_->persistent);
                    ^
../node_modules/nan/nan.h: At global scope:
../node_modules/nan/nan.h:465:15: error: ‘WeakCallbackData’ in namespace ‘v8’ does not name a template type
     const v8::WeakCallbackData<T, _NanWeakCallbackInfo<T, P> > &data) {
               ^~~~~~~~~~~~~~~~
../node_modules/nan/nan.h:465:11: note: suggested alternative: ‘WeakCallbackType’
     const v8::WeakCallbackData<T, _NanWeakCallbackInfo<T, P> > &data) {
           ^~
           WeakCallbackType
../node_modules/nan/nan.h:465:31: error: expected ‘,’ or ‘...’ before ‘<’ token
     const v8::WeakCallbackData<T, _NanWeakCallbackInfo<T, P> > &data) {
                               ^
../node_modules/nan/nan.h: In function ‘void _NanWeakCallbackDispatcher(int)’:
../node_modules/nan/nan.h:466:42: error: ‘data’ was not declared in this scope
       _NanWeakCallbackInfo<T, P> *info = data.GetParameter();
                                          ^~~~
../node_modules/nan/nan.h: At global scope:
../node_modules/nan/nan.h:481:9: warning: inline variables are only available with -std=c++17 or -std=gnu++17
     v8::Handle<T> handle
         ^~~~~~
../node_modules/nan/nan.h:481:9: warning: ‘always_inline’ attribute ignored [-Wattributes]
../node_modules/nan/nan.h:481:9: error: ‘Handle’ is not a member of ‘v8’
../node_modules/nan/nan.h:481:17: error: expected primary-expression before ‘>’ token
     v8::Handle<T> handle
                 ^
../node_modules/nan/nan.h:481:19: error: ‘handle’ was not declared in this scope
     v8::Handle<T> handle
                   ^~~~~~
../node_modules/nan/nan.h:481:19: note: suggested alternative: ‘rand_r’
     v8::Handle<T> handle
                   ^~~~~~
                   rand_r
../node_modules/nan/nan.h:482:6: error: expected primary-expression before ‘*’ token
   , P* parameter
      ^
../node_modules/nan/nan.h:482:8: error: ‘parameter’ was not declared in this scope
   , P* parameter
        ^~~~~~~~~
../node_modules/nan/nan.h:483:51: error: expected ‘(’ before ‘callback’
   , typename _NanWeakCallbackInfo<T, P>::Callback callback) {
                                                   ^~~~~~~~
                                                   (
../node_modules/nan/nan.h:483:60: error: expected ‘;’ before ‘{’ token
   , typename _NanWeakCallbackInfo<T, P>::Callback callback) {
                                                            ^~
                                                            ;
../node_modules/nan/nan.h: In function ‘v8::Local<v8::Value> NanError(const char*)’:
../node_modules/nan/nan.h:494:63: error: no match for call to ‘(v8::Local<v8::String>) (const char*&)’
 # define _NAN_ERROR(fun, errmsg) fun(NanNew<v8::String>(errmsg))
                                                               ^
../node_modules/nan/nan.h:503:13: note: in expansion of macro ‘_NAN_ERROR’
     return  _NAN_ERROR(v8::Exception::Error, errmsg);
             ^~~~~~~~~~
../node_modules/nan/nan.h: In function ‘void NanThrowError(const char*)’:
../node_modules/nan/nan.h:494:63: error: no match for call to ‘(v8::Local<v8::String>) (const char*&)’
 # define _NAN_ERROR(fun, errmsg) fun(NanNew<v8::String>(errmsg))
                                                               ^
../node_modules/nan/nan.h:499:49: note: in expansion of macro ‘_NAN_ERROR’
       v8::Isolate::GetCurrent()->ThrowException(_NAN_ERROR(fun, errmsg));      \
                                                 ^~~~~~~~~~
../node_modules/nan/nan.h:507:5: note: in expansion of macro ‘_NAN_THROW_ERROR’
     _NAN_THROW_ERROR(v8::Exception::Error, errmsg);
     ^~~~~~~~~~~~~~~~
../node_modules/nan/nan.h: At global scope:
../node_modules/nan/nan.h:510:37: error: variable or field ‘NanThrowError’ declared void
   NAN_INLINE void NanThrowError(v8::Handle<v8::Value> error) {
                                     ^~~~~~
../node_modules/nan/nan.h:510:37: error: ‘Handle’ is not a member of ‘v8’
../node_modules/nan/nan.h:510:53: error: expected primary-expression before ‘>’ token
   NAN_INLINE void NanThrowError(v8::Handle<v8::Value> error) {
                                                     ^
../node_modules/nan/nan.h:510:55: error: ‘error’ was not declared in this scope
   NAN_INLINE void NanThrowError(v8::Handle<v8::Value> error) {
                                                       ^~~~~
../node_modules/nan/nan.h:510:55: note: suggested alternative: ‘herror’
   NAN_INLINE void NanThrowError(v8::Handle<v8::Value> error) {
                                                       ^~~~~
                                                       herror
../node_modules/nan/nan.h: In function ‘v8::Local<v8::Value> NanError(const char*, int)’:
../node_modules/nan/nan.h:519:75: error: no match for call to ‘(v8::Local<v8::String>) (const char*&)’
     v8::Local<v8::Value> err = v8::Exception::Error(NanNew<v8::String>(msg));
                                                                           ^
../node_modules/nan/nan.h:521:39: error: no match for call to ‘(v8::Local<v8::String>) (const char [5])’
     obj->Set(NanNew<v8::String>("code"), NanNew<v8::Integer>(errorNumber));
                                       ^
../node_modules/nan/nan.h:521:73: error: no match for call to ‘(v8::Local<v8::Integer>) (const int&)’
     obj->Set(NanNew<v8::String>("code"), NanNew<v8::Integer>(errorNumber));
                                                                         ^
../node_modules/nan/nan.h: In function ‘void NanThrowError(const char*, int)’:
../node_modules/nan/nan.h:529:45: error: no matching function for call to ‘NanThrowError(v8::Local<v8::Value>)’
     NanThrowError(NanError(msg, errorNumber));
                                             ^
../node_modules/nan/nan.h:506:19: note: candidate: ‘void NanThrowError(const char*)’
   NAN_INLINE void NanThrowError(const char* errmsg) {
                   ^~~~~~~~~~~~~
../node_modules/nan/nan.h:506:19: note:   no known conversion for argument 1 from ‘v8::Local<v8::Value>’ to ‘const char ’
../node_modules/nan/nan.h:525:19: note: candidate: ‘void NanThrowError(const char*, int)’
   NAN_INLINE void NanThrowError(
                   ^~~~~~~~~~~~~
../node_modules/nan/nan.h:525:19: note:   candidate expects 2 arguments, 1 provided
../node_modules/nan/nan.h: In function ‘v8::Local<v8::Value> NanTypeError(const char*)’:
../node_modules/nan/nan.h:494:63: error: no match for call to ‘(v8::Local<v8::String>) (const char*&)’
 # define _NAN_ERROR(fun, errmsg) fun(NanNew<v8::String>(errmsg))
                                                               ^
../node_modules/nan/nan.h:533:12: note: in expansion of macro ‘_NAN_ERROR’
     return _NAN_ERROR(v8::Exception::TypeError, errmsg);
            ^~~~~~~~~~
../node_modules/nan/nan.h: In function ‘void NanThrowTypeError(const char*)’:
../node_modules/nan/nan.h:494:63: error: no match for call to ‘(v8::Local<v8::String>) (const char*&)’
 # define _NAN_ERROR(fun, errmsg) fun(NanNew<v8::String>(errmsg))
                                                               ^
../node_modules/nan/nan.h:499:49: note: in expansion of macro ‘_NAN_ERROR’
       v8::Isolate::GetCurrent()->ThrowException(_NAN_ERROR(fun, errmsg));      \
                                                 ^~~~~~~~~~
../node_modules/nan/nan.h:537:5: note: in expansion of macro ‘_NAN_THROW_ERROR’
     _NAN_THROW_ERROR(v8::Exception::TypeError, errmsg);
     ^~~~~~~~~~~~~~~~
../node_modules/nan/nan.h: In function ‘v8::Local<v8::Value> NanRangeError(const char*)’:
../node_modules/nan/nan.h:494:63: error: no match for call to ‘(v8::Local<v8::String>) (const char*&)’
 # define _NAN_ERROR(fun, errmsg) fun(NanNew<v8::String>(errmsg))
                                                               ^
../node_modules/nan/nan.h:541:12: note: in expansion of macro ‘_NAN_ERROR’
     return _NAN_ERROR(v8::Exception::RangeError, errmsg);
            ^~~~~~~~~~
../node_modules/nan/nan.h: In function ‘void NanThrowRangeError(const char*)’:
../node_modules/nan/nan.h:494:63: error: no match for call to ‘(v8::Local<v8::String>) (const char*&)’
 # define _NAN_ERROR(fun, errmsg) fun(NanNew<v8::String>(errmsg))
                                                               ^
../node_modules/nan/nan.h:499:49: note: in expansion of macro ‘_NAN_ERROR’
       v8::Isolate::GetCurrent()->ThrowException(_NAN_ERROR(fun, errmsg));      \
                                                 ^~~~~~~~~~
../node_modules/nan/nan.h:545:5: note: in expansion of macro ‘_NAN_THROW_ERROR’
     _NAN_THROW_ERROR(v8::Exception::RangeError, errmsg);
     ^~~~~~~~~~~~~~~~
../node_modules/nan/nan.h: At global scope:
../node_modules/nan/nan.h:557:13: error: ‘node::smalloc’ has not been declared
     , node::smalloc::FreeCallback callback
             ^~~~~~~
../node_modules/nan/nan.h:557:35: error: expected ‘,’ or ‘...’ before ‘callback’
     , node::smalloc::FreeCallback callback
                                   ^~~~~~~~
../node_modules/nan/nan.h: In function ‘v8::Local<v8::Object> NanNewBufferHandle(char*, size_t, int)’:
../node_modules/nan/nan.h:561:50: error: ‘callback’ was not declared in this scope
         v8::Isolate::GetCurrent(), data, length, callback, hint);
                                                  ^~~~~~~~
../node_modules/nan/nan.h:561:50: note: suggested alternative: ‘calloc’
         v8::Isolate::GetCurrent(), data, length, callback, hint);
                                                  ^~~~~~~~
                                                  calloc
../node_modules/nan/nan.h:561:60: error: ‘hint’ was not declared in this scope
         v8::Isolate::GetCurrent(), data, length, callback, hint);
                                                            ^~~~
../node_modules/nan/nan.h:561:60: note: suggested alternative: ‘uint’
         v8::Isolate::GetCurrent(), data, length, callback, hint);
                                                            ^~~~
                                                            uint
../node_modules/nan/nan.h: In function ‘v8::Local<v8::Object> NanNewBufferHandle(const char*, uint32_t)’:
../node_modules/nan/nan.h:568:57: error: invalid conversion from ‘const char*’ to ‘char*’ [-fpermissive]
     return node::Buffer::New(v8::Isolate::GetCurrent(), data, size);
                                                         ^~~~
In file included from ../node_modules/nan/nan.h:25,
                 from ../src/addon.cc:26:
/home/pi/.cache/node-gyp/13.9.0/include/node/node_buffer.h:65:50: note:   initializing argument 2 of ‘v8::MaybeLocal<v8::Object> node::Buffer::New(v8::Isolate*, char*, size_t)’
                                            char* data,
                                            ~~~~~~^~~~
In file included from ../src/addon.cc:26:
../node_modules/nan/nan.h:568:29: error: could not convert ‘node::Buffer::New(v8::Isolate::GetCurrent(), ((char*)data), size)’ from ‘v8::MaybeLocal<v8::Object>’ to ‘v8::Local<v8::Object>’
     return node::Buffer::New(v8::Isolate::GetCurrent(), data, size);
            ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../node_modules/nan/nan.h: In function ‘v8::Local<v8::Object> NanNewBufferHandle(uint32_t)’:
../node_modules/nan/nan.h:572:29: error: could not convert ‘node::Buffer::New(v8::Isolate::GetCurrent(), size)’ from ‘v8::MaybeLocal<v8::Object>’ to ‘v8::Local<v8::Object>’
     return node::Buffer::New(v8::Isolate::GetCurrent(), size);
            ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../node_modules/nan/nan.h: In function ‘v8::Local<v8::Object> NanBufferUse(char*, uint32_t)’:
../node_modules/nan/nan.h:579:26: error: ‘Use’ is not a member of ‘node::Buffer’
     return node::Buffer::Use(v8::Isolate::GetCurrent(), data, size);
                          ^~~
../node_modules/nan/nan.h: At global scope:
../node_modules/nan/nan.h:584:11: error: ‘v8::Handle’ has not been declared
     , v8::Handle<v8::Value> value
           ^~~~~~
../node_modules/nan/nan.h:584:17: error: expected ‘,’ or ‘...’ before ‘<’ token
     , v8::Handle<v8::Value> value
                 ^
../node_modules/nan/nan.h: In function ‘bool NanHasInstance(const v8::Persistent<v8::FunctionTemplate>&, int)’:
../node_modules/nan/nan.h:586:18: error: missing template arguments before ‘(’ token
     return NanNew(function_template)->HasInstance(value);
                  ^
../node_modules/nan/nan.h:586:51: error: ‘value’ was not declared in this scope
     return NanNew(function_template)->HasInstance(value);
                                                   ^~~~~
../node_modules/nan/nan.h: At global scope:
../node_modules/nan/nan.h:591:11: error: ‘v8::Handle’ has not been declared
     , v8::Handle<v8::ObjectTemplate> tmpl = v8::Handle<v8::ObjectTemplate>()
           ^~~~~~
../node_modules/nan/nan.h:591:17: error: expected ‘,’ or ‘...’ before ‘<’ token
     , v8::Handle<v8::ObjectTemplate> tmpl = v8::Handle<v8::ObjectTemplate>()
                 ^
../node_modules/nan/nan.h:589:52: error: default argument missing for parameter 2 of ‘v8::Local<v8::Context> NanNewContextHandle(v8::ExtensionConfiguration*, int)’
   NAN_DEPRECATED NAN_INLINE v8::Local<v8::Context> NanNewContextHandle(
                                                    ^~~~~~~~~~~~~~~~~~~
../node_modules/nan/nan.h: In function ‘v8::Local<v8::Context> NanNewContextHandle(v8::ExtensionConfiguration*, int)’:
../node_modules/nan/nan.h:597:47: error: ‘tmpl’ was not declared in this scope
       , v8::Context::New(isolate, extensions, tmpl, obj)
                                               ^~~~
../node_modules/nan/nan.h:597:47: note: suggested alternative: ‘tm’
       , v8::Context::New(isolate, extensions, tmpl, obj)
                                               ^~~~
                                               tm
../node_modules/nan/nan.h:597:53: error: ‘obj’ was not declared in this scope
       , v8::Context::New(isolate, extensions, tmpl, obj)
                                                     ^~~
../node_modules/nan/nan.h: In function ‘v8::Local<v8::Script> NanCompileScript(v8::Local<v8::String>, const v8::ScriptOrigin&)’:
../node_modules/nan/nan.h:606:74: error: no matching function for call to ‘v8::ScriptCompiler::Compile(v8::Isolate*, v8::ScriptCompiler::Source*)’
     return v8::ScriptCompiler::Compile(v8::Isolate::GetCurrent(), &source);
                                                                          ^
In file included from /home/pi/.cache/node-gyp/13.9.0/include/node/node.h:67,
                 from ../src/addon.cc:25:
/home/pi/.cache/node-gyp/13.9.0/include/node/v8.h:1843:51: note: candidate: ‘static v8::MaybeLocal<v8::Script> v8::ScriptCompiler::Compile(v8::Local<v8::Context>, v8::ScriptCompiler::Source*, v8::ScriptCompiler::CompileOptions, v8::ScriptCompiler::NoCacheReason)’
   static V8_WARN_UNUSED_RESULT MaybeLocal<Script> Compile(
                                                   ^~~~~~~
/home/pi/.cache/node-gyp/13.9.0/include/node/v8.h:1843:51: note:   no known conversion for argument 1 from ‘v8::Isolate ’ to ‘v8::Local<v8::Context>’
/home/pi/.cache/node-gyp/13.9.0/include/node/v8.h:1870:51: note: candidate: ‘static v8::MaybeLocal<v8::Script> v8::ScriptCompiler::Compile(v8::Local<v8::Context>, v8::ScriptCompiler::StreamedSource*, v8::Local<v8::String>, const v8::ScriptOrigin&)’
   static V8_WARN_UNUSED_RESULT MaybeLocal<Script> Compile(
                                                   ^~~~~~~
/home/pi/.cache/node-gyp/13.9.0/include/node/v8.h:1870:51: note:   candidate expects 4 arguments, 2 provided
In file included from ../src/addon.cc:26:
../node_modules/nan/nan.h: In function ‘v8::Local<v8::Script> NanCompileScript(v8::Local<v8::String>)’:
../node_modules/nan/nan.h:613:74: error: no matching function for call to ‘v8::ScriptCompiler::Compile(v8::Isolate*, v8::ScriptCompiler::Source*)’
     return v8::ScriptCompiler::Compile(v8::Isolate::GetCurrent(), &source);
                                                                          ^
In file included from /home/pi/.cache/node-gyp/13.9.0/include/node/node.h:67,
                 from ../src/addon.cc:25:
/home/pi/.cache/node-gyp/13.9.0/include/node/v8.h:1843:51: note: candidate: ‘static v8::MaybeLocal<v8::Script> v8::ScriptCompiler::Compile(v8::Local<v8::Context>, v8::ScriptCompiler::Source*, v8::ScriptCompiler::CompileOptions, v8::ScriptCompiler::NoCacheReason)’
   static V8_WARN_UNUSED_RESULT MaybeLocal<Script> Compile(
                                                   ^~~~~~~
/home/pi/.cache/node-gyp/13.9.0/include/node/v8.h:1843:51: note:   no known conversion for argument 1 from ‘v8::Isolate ’ to ‘v8::Local<v8::Context>’
/home/pi/.cache/node-gyp/13.9.0/include/node/v8.h:1870:51: note: candidate: ‘static v8::MaybeLocal<v8::Script> v8::ScriptCompiler::Compile(v8::Local<v8::Context>, v8::ScriptCompiler::StreamedSource*, v8::Local<v8::String>, const v8::ScriptOrigin&)’
   static V8_WARN_UNUSED_RESULT MaybeLocal<Script> Compile(
                                                   ^~~~~~~
/home/pi/.cache/node-gyp/13.9.0/include/node/v8.h:1870:51: note:   candidate expects 4 arguments, 2 provided
In file included from ../src/addon.cc:26:
../node_modules/nan/nan.h: At global scope:
../node_modules/nan/nan.h:617:11: warning: inline variables are only available with -std=c++17 or -std=gnu++17
       v8::Handle<NanUnboundScript> script
           ^~~~~~
../node_modules/nan/nan.h:617:11: warning: ‘always_inline’ attribute ignored [-Wattributes]
../node_modules/nan/nan.h:617:11: error: ‘Handle’ is not a member of ‘v8’
../node_modules/nan/nan.h:617:34: error: expected primary-expression before ‘>’ token
       v8::Handle<NanUnboundScript> script
                                  ^
../node_modules/nan/nan.h:617:36: error: ‘script’ was not declared in this scope
       v8::Handle<NanUnboundScript> script
                                    ^~~~~~
../node_modules/nan/nan.h:617:36: note: suggested alternative: ‘accept’
       v8::Handle<NanUnboundScript> script
                                    ^~~~~~
                                    accept
../node_modules/nan/nan.h:618:5: error: expected ‘,’ or ‘;’ before ‘{’ token
   ) {
     ^
../node_modules/nan/nan.h:623:11: warning: inline variables are only available with -std=c++17 or -std=gnu++17
       v8::Handle<NanBoundScript> script
           ^~~~~~
../node_modules/nan/nan.h:623:11: warning: ‘always_inline’ attribute ignored [-Wattributes]
../node_modules/nan/nan.h:623:11: error: redefinition of ‘v8::Local<v8::Value> NanRunScript’
../node_modules/nan/nan.h:616:35: note: ‘v8::Local<v8::Value> NanRunScript’ previously declared here
   NAN_INLINE v8::Local<v8::Value> NanRunScript(
                                   ^~~~~~~~~~~~
../node_modules/nan/nan.h:623:11: error: ‘Handle’ is not a member of ‘v8’
       v8::Handle<NanBoundScript> script
           ^~~~~~
../node_modules/nan/nan.h:623:32: error: expected primary-expression before ‘>’ token
       v8::Handle<NanBoundScript> script
                                ^
../node_modules/nan/nan.h:623:34: error: ‘script’ was not declared in this scope
       v8::Handle<NanBoundScript> script
                                  ^~~~~~
../node_modules/nan/nan.h:623:34: note: suggested alternative: ‘accept’
       v8::Handle<NanBoundScript> script
                                  ^~~~~~
                                  accept
../node_modules/nan/nan.h:629:11: warning: inline variables are only available with -std=c++17 or -std=gnu++17
       v8::Handle<v8::Object> target
           ^~~~~~
../node_modules/nan/nan.h:629:11: warning: ‘always_inline’ attribute ignored [-Wattributes]
../node_modules/nan/nan.h:629:11: error: ‘Handle’ is not a member of ‘v8’
../node_modules/nan/nan.h:629:28: error: expected primary-expression before ‘>’ token
       v8::Handle<v8::Object> target
                            ^
../node_modules/nan/nan.h:629:30: error: ‘target’ was not declared in this scope
       v8::Handle<v8::Object> target
                              ^~~~~~
../node_modules/nan/nan.h:629:30: note: suggested alternative: ‘tzset’
       v8::Handle<v8::Object> target
                              ^~~~~~
                              tzset
../node_modules/nan/nan.h:630:11: error: ‘Handle’ is not a member of ‘v8’
     , v8::Handle<v8::Function> func
           ^~~~~~
../node_modules/nan/nan.h:630:30: error: expected primary-expression before ‘>’ token
     , v8::Handle<v8::Function> func
                              ^
../node_modules/nan/nan.h:630:32: error: ‘func’ was not declared in this scope
     , v8::Handle<v8::Function> func
                                ^~~~
../node_modules/nan/nan.h:630:32: note: suggested alternative: ‘fputc’
     , v8::Handle<v8::Function> func
                                ^~~~
                                fputc
../node_modules/nan/nan.h:631:7: error: expected primary-expression before ‘int’
     , int argc
       ^~~
../node_modules/nan/nan.h:632:11: error: ‘Handle’ is not a member of ‘v8’
     , v8::Handle<v8::Value>* argv) {
           ^~~~~~
../node_modules/nan/nan.h:632:27: error: expected primary-expression before ‘>’ token
     , v8::Handle<v8::Value>* argv) {
                           ^
../node_modules/nan/nan.h:632:30: error: ‘argv’ was not declared in this scope
     , v8::Handle<v8::Value>* argv) {
                              ^~~~
../node_modules/nan/nan.h:632:36: error: expected ‘,’ or ‘;’ before ‘{’ token
     , v8::Handle<v8::Value>* argv) {
                                    ^
../node_modules/nan/nan.h:638:11: warning: inline variables are only available with -std=c++17 or -std=gnu++17
       v8::Handle<v8::Object> target
           ^~~~~~
../node_modules/nan/nan.h:638:11: warning: ‘always_inline’ attribute ignored [-Wattributes]
../node_modules/nan/nan.h:638:11: error: redefinition of ‘v8::Local<v8::Value> NanMakeCallback’
../node_modules/nan/nan.h:628:35: note: ‘v8::Local<v8::Value> NanMakeCallback’ previously declared here
   NAN_INLINE v8::Local<v8::Value> NanMakeCallback(
                                   ^~~~~~~~~~~~~~~
../node_modules/nan/nan.h:638:11: error: ‘Handle’ is not a member of ‘v8’
       v8::Handle<v8::Object> target
           ^~~~~~
../node_modules/nan/nan.h:638:28: error: expected primary-expression before ‘>’ token
       v8::Handle<v8::Object> target
                            ^
../node_modules/nan/nan.h:638:30: error: ‘target’ was not declared in this scope
       v8::Handle<v8::Object> target
                              ^~~~~~
../node_modules/nan/nan.h:638:30: note: suggested alternative: ‘tzset’
       v8::Handle<v8::Object> target
                              ^~~~~~
                              tzset
../node_modules/nan/nan.h:639:11: error: ‘Handle’ is not a member of ‘v8’
     , v8::Handle<v8::String> symbol
           ^~~~~~
../node_modules/nan/nan.h:639:28: error: expected primary-expression before ‘>’ token
     , v8::Handle<v8::String> symbol
                            ^
../node_modules/nan/nan.h:639:30: error: ‘symbol’ was not declared in this scope
     , v8::Handle<v8::String> symbol
                              ^~~~~~
../node_modules/nan/nan.h:639:30: note: suggested alternative: ‘strtol’
     , v8::Handle<v8::String> symbol
                              ^~~~~~
                              strtol
../node_modules/nan/nan.h:640:7: error: expected primary-expression before ‘int’
     , int argc
       ^~~
../node_modules/nan/nan.h:641:11: error: ‘Handle’ is not a member of ‘v8’
     , v8::Handle<v8::Value>* argv) {
           ^~~~~~
../node_modules/nan/nan.h:641:27: error: expected primary-expression before ‘>’ token
     , v8::Handle<v8::Value>* argv) {
                           ^
../node_modules/nan/nan.h:641:30: error: ‘argv’ was not declared in this scope
     , v8::Handle<v8::Value>* argv) {
                              ^~~~
../node_modules/nan/nan.h:647:11: warning: inline variables are only available with -std=c++17 or -std=gnu++17
       v8::Handle<v8::Object> target
           ^~~~~~
../node_modules/nan/nan.h:647:11: warning: ‘always_inline’ attribute ignored [-Wattributes]
../node_modules/nan/nan.h:647:11: error: redefinition of ‘v8::Local<v8::Value> NanMakeCallback’
../node_modules/nan/nan.h:628:35: note: ‘v8::Local<v8::Value> NanMakeCallback’ previously declared here
   NAN_INLINE v8::Local<v8::Value> NanMakeCallback(
                                   ^~~~~~~~~~~~~~~
../node_modules/nan/nan.h:647:11: error: ‘Handle’ is not a member of ‘v8’
       v8::Handle<v8::Object> target
           ^~~~~~
../node_modules/nan/nan.h:647:28: error: expected primary-expression before ‘>’ token
       v8::Handle<v8::Object> target
                            ^
../node_modules/nan/nan.h:647:30: error: ‘target’ was not declared in this scope
       v8::Handle<v8::Object> target
                              ^~~~~~
../node_modules/nan/nan.h:647:30: note: suggested alternative: ‘tzset’
       v8::Handle<v8::Object> target
                              ^~~~~~
                              tzset
../node_modules/nan/nan.h:648:7: error: expected primary-expression before ‘const’
     , const char* method
       ^~~~~
../node_modules/nan/nan.h:649:7: error: expected primary-expression before ‘int’
     , int argc
       ^~~
../node_modules/nan/nan.h:650:11: error: ‘Handle’ is not a member of ‘v8’
     , v8::Handle<v8::Value>* argv) {
           ^~~~~~
../node_modules/nan/nan.h:650:27: error: expected primary-expression before ‘>’ token
     , v8::Handle<v8::Value>* argv) {
                           ^
../node_modules/nan/nan.h:650:30: error: ‘argv’ was not declared in this scope
     , v8::Handle<v8::Value>* argv) {
                              ^~~~
../node_modules/nan/nan.h:672:50: error: expected ‘)’ before ‘<’ token
     NAN_INLINE explicit NanAsciiString(v8::Handle<v8::Value> from) {
                                       ~          ^
                                                  )
../node_modules/nan/nan.h:706:49: error: expected ‘)’ before ‘<’ token
     NAN_INLINE explicit NanUtf8String(v8::Handle<v8::Value> from) {
                                      ~          ^
                                                 )
../node_modules/nan/nan.h:739:49: error: expected ‘)’ before ‘<’ token
     NAN_INLINE explicit NanUcs2String(v8::Handle<v8::Value> from) {
                                      ~          ^
                                                 )
../node_modules/nan/nan.h:1377:34: error: ‘Handle’ in namespace ‘v8’ does not name a template type
   explicit NanCallback(const v8::Handle<v8::Function> &fn) {
                                  ^~~~~~
../node_modules/nan/nan.h:1377:40: error: expected ‘,’ or ‘...’ before ‘<’ token
   explicit NanCallback(const v8::Handle<v8::Function> &fn) {
                                        ^
../node_modules/nan/nan.h:1389:41: error: ‘Handle’ in namespace ‘v8’ does not name a template type
   NAN_INLINE void SetFunction(const v8::Handle<v8::Function> &fn) {
                                         ^~~~~~
../node_modules/nan/nan.h:1389:47: error: expected ‘,’ or ‘...’ before ‘<’ token
   NAN_INLINE void SetFunction(const v8::Handle<v8::Function> &fn) {
                                               ^
../node_modules/nan/nan.h:1405:7: error: ‘Handle’ in namespace ‘v8’ does not name a template type
   v8::Handle<v8::Value> Call(int argc, v8::Handle<v8::Value> argv[]) const {
       ^~~~~~
../node_modules/nan/nan.h: In constructor ‘NanCallback::NanCallback()’:
../node_modules/nan/nan.h:1373:52: error: no match for call to ‘(v8::Local<v8::Object>) ()’
     v8::Local<v8::Object> obj = NanNew<v8::Object>();
                                                    ^
../node_modules/nan/nan.h:1374:36: error: no matching function for call to ‘NanAssignPersistent(v8::Persistent<v8::Object>&, v8::Local<v8::Object>&)’
     NanAssignPersistent(handle, obj);
                                    ^
../node_modules/nan/nan.h:401:19: note: candidate: ‘template<class T> void NanAssignPersistent(v8::Persistent<T, v8::NonCopyablePersistentTraits<T> >&, int)’
   NAN_INLINE void NanAssignPersistent(
                   ^~~~~~~~~~~~~~~~~~~
../node_modules/nan/nan.h:401:19: note:   template argument deduction/substitution failed:
../node_modules/nan/nan.h:1374:33: note:   cannot convert ‘obj’ (type ‘v8::Local<v8::Object>’) to type ‘int’
     NanAssignPersistent(handle, obj);
                                 ^~~
../node_modules/nan/nan.h:408:19: note: candidate: ‘template<class T> void NanAssignPersistent(v8::Persistent<T, v8::NonCopyablePersistentTraits<T> >&, const v8::Persistent<T, v8::NonCopyablePersistentTraits<T> >&)’
   NAN_INLINE void NanAssignPersistent(
                   ^~~~~~~~~~~~~~~~~~~
../node_modules/nan/nan.h:408:19: note:   template argument deduction/substitution failed:
../node_modules/nan/nan.h:1374:36: note:   ‘v8::Local<v8::Object>’ is not derived from ‘const v8::Persistent<T, v8::NonCopyablePersistentTraits<T> >’
     NanAssignPersistent(handle, obj);
                                    ^
../node_modules/nan/nan.h: In constructor ‘NanCallback::NanCallback(int)’:
../node_modules/nan/nan.h:1379:52: error: no match for call to ‘(v8::Local<v8::Object>) ()’
     v8::Local<v8::Object> obj = NanNew<v8::Object>();
                                                    ^
../node_modules/nan/nan.h:1380:36: error: no matching function for call to ‘NanAssignPersistent(v8::Persistent<v8::Object>&, v8::Local<v8::Object>&)’
     NanAssignPersistent(handle, obj);
                                    ^
../node_modules/nan/nan.h:401:19: note: candidate: ‘template<class T> void NanAssignPersistent(v8::Persistent<T, v8::NonCopyablePersistentTraits<T> >&, int)’
   NAN_INLINE void NanAssignPersistent(
                   ^~~~~~~~~~~~~~~~~~~
../node_modules/nan/nan.h:401:19: note:   template argument deduction/substitution failed:
../node_modules/nan/nan.h:1380:33: note:   cannot convert ‘obj’ (type ‘v8::Local<v8::Object>’) to type ‘int’
     NanAssignPersistent(handle, obj);
                                 ^~~
../node_modules/nan/nan.h:408:19: note: candidate: ‘template<class T> void NanAssignPersistent(v8::Persistent<T, v8::NonCopyablePersistentTraits<T> >&, const v8::Persistent<T, v8::NonCopyablePersistentTraits<T> >&)’
   NAN_INLINE void NanAssignPersistent(
                   ^~~~~~~~~~~~~~~~~~~
../node_modules/nan/nan.h:408:19: note:   template argument deduction/substitution failed:
../node_modules/nan/nan.h:1380:36: note:   ‘v8::Local<v8::Object>’ is not derived from ‘const v8::Persistent<T, v8::NonCopyablePersistentTraits<T> >’
     NanAssignPersistent(handle, obj);
                                    ^
../node_modules/nan/nan.h:1381:17: error: ‘fn’ was not declared in this scope
     SetFunction(fn);
                 ^~
../node_modules/nan/nan.h: In member function ‘void NanCallback::SetFunction(int)’:
../node_modules/nan/nan.h:1391:11: error: missing template arguments before ‘(’ token
     NanNew(handle)->Set(kCallbackIndex, fn);
           ^
../node_modules/nan/nan.h:1391:41: error: ‘fn’ was not declared in this scope
     NanNew(handle)->Set(kCallbackIndex, fn);
                                         ^~
../node_modules/nan/nan.h: In member function ‘v8::Local<v8::Function> NanCallback::GetFunction() const’:
../node_modules/nan/nan.h:296:58: error: missing template arguments before ‘(’ token
 # define NanEscapeScope(val) scope.Escape(_NanEnsureLocal(val))
                                                          ^
../node_modules/nan/nan.h:1396:12: note: in expansion of macro ‘NanEscapeScope’
     return NanEscapeScope(NanNew(handle)->Get(kCallbackIndex)
            ^~~~~~~~~~~~~~
../node_modules/nan/nan.h:1396:33: error: missing template arguments before ‘(’ token
     return NanEscapeScope(NanNew(handle)->Get(kCallbackIndex)
                                 ^
../node_modules/nan/nan.h:296:59: note: in definition of macro ‘NanEscapeScope’
 # define NanEscapeScope(val) scope.Escape(_NanEnsureLocal(val))
                                                           ^~~
../node_modules/nan/nan.h:1397:25: error: expected primary-expression before ‘>’ token
         .As<v8::Function>());
                         ^
../node_modules/nan/nan.h:296:59: note: in definition of macro ‘NanEscapeScope’
 # define NanEscapeScope(val) scope.Escape(_NanEnsureLocal(val))
                                                           ^~~
../node_modules/nan/nan.h:1397:27: error: expected primary-expression before ‘)’ token
         .As<v8::Function>());
                           ^
../node_modules/nan/nan.h:296:59: note: in definition of macro ‘NanEscapeScope’
 # define NanEscapeScope(val) scope.Escape(_NanEnsureLocal(val))
                                                           ^~~
../node_modules/nan/nan.h: In member function ‘bool NanCallback::IsEmpty() const’:
../node_modules/nan/nan.h:1402:18: error: missing template arguments before ‘(’ token
     return NanNew(handle)->Get(kCallbackIndex)->IsUndefined();
                  ^
../node_modules/nan/nan.h: In constructor ‘NanAsyncWorker::NanAsyncWorker(NanCallback*)’:
../node_modules/nan/nan.h:1449:52: error: no match for call to ‘(v8::Local<v8::Object>) ()’
     v8::Local<v8::Object> obj = NanNew<v8::Object>();
                                                    ^
../node_modules/nan/nan.h:1450:46: error: no matching function for call to ‘NanAssignPersistent(v8::Persistent<v8::Object>&, v8::Local<v8::Object>&)’
     NanAssignPersistent(persistentHandle, obj);
                                              ^
../node_modules/nan/nan.h:401:19: note: candidate: ‘template<class T> void NanAssignPersistent(v8::Persistent<T, v8::NonCopyablePersistentTraits<T> >&, int)’
   NAN_INLINE void NanAssignPersistent(
                   ^~~~~~~~~~~~~~~~~~~
../node_modules/nan/nan.h:401:19: note:   template argument deduction/substitution failed:
../node_modules/nan/nan.h:1450:43: note:   cannot convert ‘obj’ (type ‘v8::Local<v8::Object>’) to type ‘int’
     NanAssignPersistent(persistentHandle, obj);
                                           ^~~
../node_modules/nan/nan.h:408:19: note: candidate: ‘template<class T> void NanAssignPersistent(v8::Persistent<T, v8::NonCopyablePersistentTraits<T> >&, const v8::Persistent<T, v8::NonCopyablePersistentTraits<T> >&)’
   NAN_INLINE void NanAssignPersistent(
                   ^~~~~~~~~~~~~~~~~~~
../node_modules/nan/nan.h:408:19: note:   template argument deduction/substitution failed:
../node_modules/nan/nan.h:1450:46: note:   ‘v8::Local<v8::Object>’ is not derived from ‘const v8::Persistent<T, v8::NonCopyablePersistentTraits<T> >’
     NanAssignPersistent(persistentHandle, obj);
                                              ^
../node_modules/nan/nan.h: In member function ‘void NanAsyncWorker::SaveToPersistent(const char*, const v8::Local<v8::Object>&)’:
../node_modules/nan/nan.h:1477:42: error: missing template arguments before ‘(’ token
     v8::Local<v8::Object> handle = NanNew(persistentHandle);
                                          ^
../node_modules/nan/nan.h:1478:39: error: no match for call to ‘(v8::Local<v8::String>) (const char*&)’
     handle->Set(NanNew<v8::String>(key), obj);
                                       ^
../node_modules/nan/nan.h: In member function ‘v8::Local<v8::Object> NanAsyncWorker::GetFromPersistent(const char*) const’:
../node_modules/nan/nan.h:1483:42: error: missing template arguments before ‘(’ token
     v8::Local<v8::Object> handle = NanNew(persistentHandle);
                                          ^
../node_modules/nan/nan.h:296:58: error: missing template arguments before ‘(’ token
 # define NanEscapeScope(val) scope.Escape(_NanEnsureLocal(val))
                                                          ^
../node_modules/nan/nan.h:1484:12: note: in expansion of macro ‘NanEscapeScope’
     return NanEscapeScope(handle->Get(NanNew(key)).As<v8::Object>());
            ^~~~~~~~~~~~~~
../node_modules/nan/nan.h:1484:45: error: missing template arguments before ‘(’ token
     return NanEscapeScope(handle->Get(NanNew(key)).As<v8::Object>());
                                             ^
../node_modules/nan/nan.h:296:59: note: in definition of macro ‘NanEscapeScope’
 # define NanEscapeScope(val) scope.Escape(_NanEnsureLocal(val))
                                                           ^~~
../node_modules/nan/nan.h:1484:65: error: expected primary-expression before ‘>’ token
     return NanEscapeScope(handle->Get(NanNew(key)).As<v8::Object>());
                                                                 ^
../node_modules/nan/nan.h:296:59: note: in definition of macro ‘NanEscapeScope’
 # define NanEscapeScope(val) scope.Escape(_NanEnsureLocal(val))
                                                           ^~~
../node_modules/nan/nan.h:1484:67: error: expected primary-expression before ‘)’ token
     return NanEscapeScope(handle->Get(NanNew(key)).As<v8::Object>());
                                                                   ^
../node_modules/nan/nan.h:296:59: note: in definition of macro ‘NanEscapeScope’
 # define NanEscapeScope(val) scope.Escape(_NanEnsureLocal(val))
                                                           ^~~
../node_modules/nan/nan.h: In member function ‘virtual void NanAsyncWorker::HandleOKCallback()’:
../node_modules/nan/nan.h:1500:15: error: ‘class NanCallback’ has no member named ‘Call’
     callback->Call(0, NULL);
               ^~~~
../node_modules/nan/nan.h: In member function ‘virtual void NanAsyncWorker::HandleErrorCallback()’:
../node_modules/nan/nan.h:1507:63: error: no match for call to ‘(v8::Local<v8::String>) (const char*)’
         v8::Exception::Error(NanNew<v8::String>(ErrorMessage()))
                                                               ^
../node_modules/nan/nan.h:1509:15: error: ‘class NanCallback’ has no member named ‘Call’
     callback->Call(1, argv);
               ^~~~
../node_modules/nan/nan.h: In function ‘void NanAsyncQueueWorker(NanAsyncWorker*)’:
../node_modules/nan/nan.h:1652:25: 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]
     , (uv_after_work_cb)NanAsyncExecuteComplete
                         ^~~~~~~~~~~~~~~~~~~~~~~
../node_modules/nan/nan.h: At global scope:
../node_modules/nan/nan.h:1809:9: error: ‘Handle’ is not a member of ‘v8’
     v8::Handle<v8::Value> val
         ^~~~~~
../node_modules/nan/nan.h:1809:25: error: expected primary-expression before ‘>’ token
     v8::Handle<v8::Value> val
                         ^
../node_modules/nan/nan.h:1809:27: error: ‘val’ was not declared in this scope
     v8::Handle<v8::Value> val
                           ^~~
../node_modules/nan/nan.h:1810:5: error: expected primary-expression before ‘const’
   , const char** data
     ^~~~~
../node_modules/nan/nan.h:1811:11: error: expected primary-expression before ‘*’ token
   , size_t* len
           ^
../node_modules/nan/nan.h:1811:13: error: ‘len’ was not declared in this scope
   , size_t* len
             ^~~
../node_modules/nan/nan.h:1811:13: note: suggested alternative: ‘send’
   , size_t* len
             ^~~
             send
../node_modules/nan/nan.h:1812:1: error: expression list treated as compound expression in initializer [-fpermissive]
 ) {
 ^
../node_modules/nan/nan.h:1882:9: warning: inline variables are only available with -std=c++17 or -std=gnu++17
     v8::Handle<v8::Value> val, enum Nan::Encoding encoding = Nan::BINARY) {
         ^~~~~~
../node_modules/nan/nan.h:1882:9: warning: ‘always_inline’ attribute ignored [-Wattributes]
../node_modules/nan/nan.h:1882:9: error: ‘Handle’ is not a member of ‘v8’
../node_modules/nan/nan.h:1882:25: error: expected primary-expression before ‘>’ token
     v8::Handle<v8::Value> val, enum Nan::Encoding encoding = Nan::BINARY) {
                         ^
../node_modules/nan/nan.h:1882:27: error: ‘val’ was not declared in this scope
     v8::Handle<v8::Value> val, enum Nan::Encoding encoding = Nan::BINARY) {
                           ^~~
../node_modules/nan/nan.h:1882:32: error: expected primary-expression before ‘enum’
     v8::Handle<v8::Value> val, enum Nan::Encoding encoding = Nan::BINARY) {
                                ^~~~
../node_modules/nan/nan.h:1882:73: error: expression list treated as compound expression in initializer [-fpermissive]
     v8::Handle<v8::Value> val, enum Nan::Encoding encoding = Nan::BINARY) {
                                                                         ^
../node_modules/nan/nan.h:1901:9: error: ‘v8::Handle’ has not been declared
   , v8::Handle<v8::Value> val
         ^~~~~~
../node_modules/nan/nan.h:1901:15: error: expected ‘,’ or ‘...’ before ‘<’ token
   , v8::Handle<v8::Value> val
               ^
../node_modules/nan/nan.h: In function ‘ssize_t NanDecodeWrite(char*, size_t, int)’:
../node_modules/nan/nan.h:1908:7: error: ‘val’ was not declared in this scope
     , val
       ^~~
../node_modules/nan/nan.h:1909:35: error: ‘encoding’ was not declared in this scope
     , static_cast<node::encoding>(encoding));
                                   ^~~~~~~~
../node_modules/nan/nan.h:1909:35: note: suggested alternative:
In file included from ../src/addon.cc:25:
/home/pi/.cache/node-gyp/13.9.0/include/node/node.h:513:6: note:   ‘node::encoding’
 enum encoding {ASCII, UTF8, BASE64, UCS2, BINARY, HEX, BUFFER, LATIN1 = BINARY};
      ^~~~~~~~
In file included from ../src/addon.cc:26:
../node_modules/nan/nan.h: At global scope:
../node_modules/nan/nan.h:1925:9: warning: inline variables are only available with -std=c++17 or -std=gnu++17
     v8::Handle<v8::Value> from
         ^~~~~~
../node_modules/nan/nan.h:1925:9: warning: ‘always_inline’ attribute ignored [-Wattributes]
../node_modules/nan/nan.h:1925:9: error: ‘Handle’ is not a member of ‘v8’
../node_modules/nan/nan.h:1925:25: error: expected primary-expression before ‘>’ token
     v8::Handle<v8::Value> from
                         ^
../node_modules/nan/nan.h:1925:27: error: ‘from’ was not declared in this scope
     v8::Handle<v8::Value> from
                           ^~~~
../node_modules/nan/nan.h:1925:27: note: suggested alternative: ‘feof’
     v8::Handle<v8::Value> from
                           ^~~~
                           feof
../node_modules/nan/nan.h:1926:5: error: expected primary-expression before ‘enum’
   , enum Nan::Encoding encoding
     ^~~~
../node_modules/nan/nan.h:1927:12: error: expected primary-expression before ‘*’ token
   , size_t *datalen
            ^
../node_modules/nan/nan.h:1927:13: error: ‘datalen’ was not declared in this scope
   , size_t *datalen
             ^~~~~~~
../node_modules/nan/nan.h:1927:13: note: suggested alternative: ‘strlen’
   , size_t *datalen
             ^~~~~~~
             strlen
../node_modules/nan/nan.h:1928:5: error: expected primary-expression before ‘void’
   , void *buf
     ^~~~
../node_modules/nan/nan.h:1929:12: error: expected primary-expression before ‘buflen’
   , size_t buflen
            ^~~~~~
../node_modules/nan/nan.h:1930:5: error: expected primary-expression before ‘int’
   , int flags
     ^~~
../node_modules/nan/nan.h:1931:1: error: expression list treated as compound expression in initializer [-fpermissive]
 ) {
 ^
../node_modules/nan/nan.h:2073:9: warning: inline variables are only available with -std=c++17 or -std=gnu++17
     v8::Handle<v8::Value> from
         ^~~~~~
../node_modules/nan/nan.h:2073:9: warning: ‘always_inline’ attribute ignored [-Wattributes]
../node_modules/nan/nan.h:2073:9: error: ‘Handle’ is not a member of ‘v8’
../node_modules/nan/nan.h:2073:25: error: expected primary-expression before ‘>’ token
     v8::Handle<v8::Value> from
                         ^
../node_modules/nan/nan.h:2073:27: error: ‘from’ was not declared in this scope
     v8::Handle<v8::Value> from
                           ^~~~
../node_modules/nan/nan.h:2073:27: note: suggested alternative: ‘feof’
     v8::Handle<v8::Value> from
                           ^~~~
                           feof
../node_modules/nan/nan.h:2074:5: error: expected primary-expression before ‘enum’
   , enum Nan::Encoding encoding
     ^~~~
../node_modules/nan/nan.h:2075:12: error: expected primary-expression before ‘*’ token
   , size_t *datalen
            ^
../node_modules/nan/nan.h:2075:13: error: ‘datalen’ was not declared in this scope
   , size_t *datalen
             ^~~~~~~
../node_modules/nan/nan.h:2075:13: note: suggested alternative: ‘strlen’
   , size_t *datalen
             ^~~~~~~
             strlen
../node_modules/nan/nan.h:2076:5: error: expected primary-expression before ‘void’
   , void *buf
     ^~~~
../node_modules/nan/nan.h:2077:12: error: expected primary-expression before ‘buflen’
   , size_t buflen
            ^~~~~~
../node_modules/nan/nan.h:2078:5: error: expected primary-expression before ‘int’
   , int flags
     ^~~
../node_modules/nan/nan.h:2079:1: error: expression list treated as compound expression in initializer [-fpermissive]
 ) {
 ^
../node_modules/nan/nan.h:2085:9: warning: inline variables are only available with -std=c++17 or -std=gnu++17
     v8::Handle<v8::Value> from
         ^~~~~~
../node_modules/nan/nan.h:2085:9: warning: ‘always_inline’ attribute ignored [-Wattributes]
../node_modules/nan/nan.h:2085:9: error: ‘Handle’ is not a member of ‘v8’
../node_modules/nan/nan.h:2085:25: error: expected primary-expression before ‘>’ token
     v8::Handle<v8::Value> from
                         ^
../node_modules/nan/nan.h:2085:27: error: ‘from’ was not declared in this scope
     v8::Handle<v8::Value> from
                           ^~~~
../node_modules/nan/nan.h:2085:27: note: suggested alternative: ‘feof’
     v8::Handle<v8::Value> from
                           ^~~~
                           feof
../node_modules/nan/nan.h:2086:12: error: expected primary-expression before ‘*’ token
   , size_t *datalen
            ^
../node_modules/nan/nan.h:2086:13: error: ‘datalen’ was not declared in this scope
   , size_t *datalen
             ^~~~~~~
../node_modules/nan/nan.h:2086:13: note: suggested alternative: ‘strlen’
   , size_t *datalen
             ^~~~~~~
             strlen
../node_modules/nan/nan.h:2087:5: error: expected primary-expression before ‘char’
   , char *buf = NULL
     ^~~~
../node_modules/nan/nan.h:2088:12: error: expected primary-expression before ‘buflen’
   , size_t buflen = 0
            ^~~~~~
../node_modules/nan/nan.h:2089:5: error: expected primary-expression before ‘int’
   , int flags = v8::String::NO_OPTIONS
     ^~~
../node_modules/nan/nan.h:2090:1: error: expression list treated as compound expression in initializer [-fpermissive]
 ) {
 ^
../node_modules/nan/nan.h:2099:9: error: ‘v8::Handle’ has not been declared
   , v8::Handle<v8::Data> value
         ^~~~~~
../node_modules/nan/nan.h:2099:15: error: expected ‘,’ or ‘...’ before ‘<’ token
   , v8::Handle<v8::Data> value
               ^
../node_modules/nan/nan.h: In function ‘void NanSetPrototypeTemplate(v8::Local<v8::FunctionTemplate>, const char*, int)’:
../node_modules/nan/nan.h:2101:52: error: ‘value’ was not declared in this scope
   NanSetTemplate(templ->PrototypeTemplate(), name, value);
                                                    ^~~~~
../node_modules/nan/nan.h:2101:3: error: ‘NanSetTemplate’ was not declared in this scope
   NanSetTemplate(templ->PrototypeTemplate(), name, value);
   ^~~~~~~~~~~~~~
../node_modules/nan/nan.h: At global scope:
../node_modules/nan/nan.h:2106:9: error: ‘v8::Handle’ has not been declared
   , v8::Handle<v8::String> name
         ^~~~~~
../node_modules/nan/nan.h:2106:15: error: expected ‘,’ or ‘...’ before ‘<’ token
   , v8::Handle<v8::String> name
               ^
../node_modules/nan/nan.h: In function ‘void NanSetPrototypeTemplate(v8::Local<v8::FunctionTemplate>, int)’:
../node_modules/nan/nan.h:2110:46: error: ‘name’ was not declared in this scope
   NanSetTemplate(templ->PrototypeTemplate(), name, value, attributes);
                                              ^~~~
../node_modules/nan/nan.h:2110:46: note: suggested alternative: ‘node’
   NanSetTemplate(templ->PrototypeTemplate(), name, value, attributes);
                                              ^~~~
                                              node
../node_modules/nan/nan.h:2110:52: error: ‘value’ was not declared in this scope
   NanSetTemplate(templ->PrototypeTemplate(), name, value, attributes);
                                                    ^~~~~
../node_modules/nan/nan.h:2110:59: error: ‘attributes’ was not declared in this scope
   NanSetTemplate(templ->PrototypeTemplate(), name, value, attributes);
                                                           ^~~~~~~~~~
../node_modules/nan/nan.h:2110:59: note: suggested alternative: ‘__attribute__’
   NanSetTemplate(templ->PrototypeTemplate(), name, value, attributes);
                                                           ^~~~~~~~~~
                                                           __attribute__
../node_modules/nan/nan.h:2110:3: error: ‘NanSetTemplate’ was not declared in this scope
   NanSetTemplate(templ->PrototypeTemplate(), name, value, attributes);
   ^~~~~~~~~~~~~~
../node_modules/nan/nan.h: At global scope:
../node_modules/nan/nan.h:2116:9: error: ‘v8::Handle’ has not been declared
   , v8::Handle<v8::Data> value
         ^~~~~~
../node_modules/nan/nan.h:2116:15: error: expected ‘,’ or ‘...’ before ‘<’ token
   , v8::Handle<v8::Data> value
               ^
../node_modules/nan/nan.h: In function ‘void NanSetInstanceTemplate(v8::Local<v8::FunctionTemplate>, const char*, int)’:
../node_modules/nan/nan.h:2118:51: error: ‘value’ was not declared in this scope
   NanSetTemplate(templ->InstanceTemplate(), name, value);
                                                   ^~~~~
../node_modules/nan/nan.h:2118:3: error: ‘NanSetTemplate’ was not declared in this scope
   NanSetTemplate(templ->InstanceTemplate(), name, value);
   ^~~~~~~~~~~~~~
../node_modules/nan/nan.h:2118:3: note: suggested alternative: ‘NanSetInstanceTemplate’
   NanSetTemplate(templ->InstanceTemplate(), name, value);
   ^~~~~~~~~~~~~~
   NanSetInstanceTemplate
../node_modules/nan/nan.h: At global scope:
../node_modules/nan/nan.h:2123:9: error: ‘v8::Handle’ has not been declared
   , v8::Handle<v8::String> name
         ^~~~~~
../node_modules/nan/nan.h:2123:15: error: expected ‘,’ or ‘...’ before ‘<’ token
   , v8::Handle<v8::String> name
               ^
../node_modules/nan/nan.h: In function ‘void NanSetInstanceTemplate(v8::Local<v8::FunctionTemplate>, int)’:
../node_modules/nan/nan.h:2127:45: error: ‘name’ was not declared in this scope
   NanSetTemplate(templ->InstanceTemplate(), name, value, attributes);
                                             ^~~~
../node_modules/nan/nan.h:2127:45: note: suggested alternative: ‘node’
   NanSetTemplate(templ->InstanceTemplate(), name, value, attributes);
                                             ^~~~
                                             node
../node_modules/nan/nan.h:2127:51: error: ‘value’ was not declared in this scope
   NanSetTemplate(templ->InstanceTemplate(), name, value, attributes);
                                                   ^~~~~
../node_modules/nan/nan.h:2127:58: error: ‘attributes’ was not declared in this scope
   NanSetTemplate(templ->InstanceTemplate(), name, value, attributes);
                                                          ^~~~~~~~~~
../node_modules/nan/nan.h:2127:58: note: suggested alternative: ‘__attribute__’
   NanSetTemplate(templ->InstanceTemplate(), name, value, attributes);
                                                          ^~~~~~~~~~
                                                          __attribute__
../node_modules/nan/nan.h:2127:3: error: ‘NanSetTemplate’ was not declared in this scope
   NanSetTemplate(templ->InstanceTemplate(), name, value, attributes);
   ^~~~~~~~~~~~~~
../node_modules/nan/nan.h:2127:3: note: suggested alternative: ‘NanSetInstanceTemplate’
   NanSetTemplate(templ->InstanceTemplate(), name, value, attributes);
   ^~~~~~~~~~~~~~
   NanSetInstanceTemplate
../node_modules/nan/nan.h: At global scope:
../node_modules/nan/nan.h:2134:15: error: variable or field ‘NanExport’ declared void
 NanExport(v8::Handle<v8::Object> target, const char * name,
               ^~~~~~
../node_modules/nan/nan.h:2134:15: error: ‘Handle’ is not a member of ‘v8’
../node_modules/nan/nan.h:2134:32: error: expected primary-expression before ‘>’ token
 NanExport(v8::Handle<v8::Object> target, const char * name,
                                ^
../node_modules/nan/nan.h:2134:34: error: ‘target’ was not declared in this scope
 NanExport(v8::Handle<v8::Object> target, const char * name,
                                  ^~~~~~
../node_modules/nan/nan.h:2134:34: note: suggested alternative: ‘tzset’
 NanExport(v8::Handle<v8::Object> target, const char * name,
                                  ^~~~~~
                                  tzset
../node_modules/nan/nan.h:2134:42: error: expected primary-expression before ‘const’
 NanExport(v8::Handle<v8::Object> target, const char * name,
                                          ^~~~~
../node_modules/nan/nan.h:2135:25: error: expected primary-expression before ‘f’
     NanFunctionCallback f) {
                         ^
../node_modules/nan/nan.h:2143:29: error: expected ‘)’ before ‘<’ token
   explicit NanTap(v8::Handle<v8::Value> t) : t_() {
                  ~          ^
                             )
../node_modules/nan/nan.h: In member function ‘void NanTap::plan(int)’:
../node_modules/nan/nan.h:2150:9: error: ‘Handle’ is not a member of ‘v8’
     v8::Handle<v8::Value> arg = NanNew(i);
         ^~~~~~
../node_modules/nan/nan.h:2150:25: error: expected primary-expression before ‘>’ token
     v8::Handle<v8::Value> arg = NanNew(i);
                         ^
../node_modules/nan/nan.h:2150:27: error: ‘arg’ was not declared in this scope
     v8::Handle<v8::Value> arg = NanNew(i);
                           ^~~
../node_modules/nan/nan.h:2150:39: error: missing template arguments before ‘(’ token
     v8::Handle<v8::Value> arg = NanNew(i);
                                       ^
../node_modules/nan/nan.h:2151:27: error: missing template arguments before ‘(’ token
     NanMakeCallback(NanNew(t_), "plan", 1, &arg);
                           ^
../node_modules/nan/nan.h: In member function ‘void NanTap::ok(bool, const char*)’:
../node_modules/nan/nan.h:2155:9: error: ‘Handle’ is not a member of ‘v8’
     v8::Handle<v8::Value> args[2];
         ^~~~~~
../node_modules/nan/nan.h:2155:25: error: expected primary-expression before ‘>’ token
     v8::Handle<v8::Value> args[2];
                         ^
../node_modules/nan/nan.h:2155:27: error: ‘args’ was not declared in this scope
     v8::Handle<v8::Value> args[2];
                           ^~~~
../node_modules/nan/nan.h:2155:27: note: suggested alternative: ‘abs’
     v8::Handle<v8::Value> args[2];
                           ^~~~
                           abs
../node_modules/nan/nan.h:2156:21: error: missing template arguments before ‘(’ token
     args[0] = NanNew(isOk);
                     ^
../node_modules/nan/nan.h:2157:30: error: missing template arguments before ‘(’ token
     if (msg) args[1] = NanNew(msg);
                              ^
../node_modules/nan/nan.h:2158:27: error: missing template arguments before ‘(’ token
     NanMakeCallback(NanNew(t_), "ok", msg ? 2 : 1, args);
                           ^
../src/addon.cc: At global scope:
../src/addon.cc:32:11: error: ‘v8::Handle’ has not been declared
 using v8::Handle;
           ^~~~~~
../src/addon.cc:36:14: error: variable or field ‘InitAll’ declared void
 void InitAll(Handle<Object> exports) {
              ^~~~~~
../src/addon.cc:36:14: error: ‘Handle’ was not declared in this scope
../src/addon.cc:36:14: note: suggested alternative: ‘rand_r’
 void InitAll(Handle<Object> exports) {
              ^~~~~~
              rand_r
../src/addon.cc:36:27: error: expected primary-expression before ‘>’ token
 void InitAll(Handle<Object> exports) {
                           ^
../src/addon.cc:36:29: error: ‘exports’ was not declared in this scope
 void InitAll(Handle<Object> exports) {
                             ^~~~~~~
In file included from ../src/addon.cc:25:
../src/addon.cc:45:20: error: ‘InitAll’ was not declared in this scope
 NODE_MODULE(addon, InitAll)
                    ^~~~~~~
/home/pi/.cache/node-gyp/13.9.0/include/node/node.h:618:36: note: in definition of macro ‘NODE_MODULE_X’
       (node::addon_register_func) (regfunc),                          \
                                    ^~~~~~~
../src/addon.cc:45:1: note: in expansion of macro ‘NODE_MODULE’
 NODE_MODULE(addon, InitAll)
 ^~~~~~~~~~~
In file included from ../src/addon.cc:26:
../node_modules/nan/nan.h:1808:13: warning: ‘_NanGetExternalParts’ defined but not used [-Wunused-variable]
 static bool _NanGetExternalParts(
             ^~~~~~~~~~~~~~~~~~~~
make: *** [addon.target.mk:112: Release/obj.target/addon/src/addon.o] Fehler 1
make: Verzeichnis „/home/pi/treehouse-device/node_modules/raspi-gpio/build“ wird verlassen
gyp ERR! build error
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/usr/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:194:23)
gyp ERR! stack     at ChildProcess.emit (events.js:321:20)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:275:12)
gyp ERR! System Linux 4.19.75-v7+
gyp ERR! command "/usr/bin/node" "/usr/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /home/pi/treehouse-device/node_modules/raspi-gpio
gyp ERR! node -v v13.9.0
gyp ERR! node-gyp -v v5.0.7
gyp ERR! not ok
npm WARN treehouse-device@1.0.0 No description
npm WARN treehouse-device@1.0.0 No repository field.

npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! raspi-gpio@1.2.0 install: `node-gyp rebuild`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the raspi-gpio@1.2.0 install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/pi/.npm/_logs/2020-04-17T15_20_40_331Z-debug.log
pi@raspberrypi:~/treehouse-device $ sudo apt-get remove nodejs
Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut.
Statusinformationen werden eingelesen.... Fertig
Die folgenden Pakete werden ENTFERNT:
  nodejs
0 aktualisiert, 0 neu installiert, 1 zu entfernen und 210 nicht aktualisiert.
Nach dieser Operation werden 109 MB Plattenplatz freigegeben.
Möchten Sie fortfahren? [J/n] J
(Lese Datenbank ... 100534 Dateien und Verzeichnisse sind derzeit installiert.)
Entfernen von nodejs (13.9.0-1nodesource1) ...
dpkg: Warnung: Während Entfernens von nodejs ist Verzeichnis »/usr/lib/node_modules« nicht leer, wird daher nicht gelöscht
Trigger für man-db (2.8.5-2) werden verarbeitet ...
pi@raspberrypi:~/treehouse-device $ curl -sL https://deb.nodesource.com/setup_12.x | bash -
pi@raspberrypi:~/treehouse-device $ apt-get install -y nodejs
E: Sperrdatei /var/lib/dpkg/lock-frontend konnte nicht geöffnet werden. - open (13: Keine Berechtigung)
E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), are you root?
pi@raspberrypi:~/treehouse-device $ sudo apt-get install -y nodejs
Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut.
Statusinformationen werden eingelesen.... Fertig
Die folgenden NEUEN Pakete werden installiert:
  nodejs
0 aktualisiert, 1 neu installiert, 0 zu entfernen und 210 nicht aktualisiert.
Es müssen noch 0 B von 22,0 MB an Archiven heruntergeladen werden.
Nach dieser Operation werden 109 MB Plattenplatz zusätzlich benutzt.
Vormals nicht ausgewähltes Paket nodejs wird gewählt.
(Lese Datenbank ... 95735 Dateien und Verzeichnisse sind derzeit installiert.)
Vorbereitung zum Entpacken von .../nodejs_13.9.0-1nodesource1_armhf.deb ...
Entpacken von nodejs (13.9.0-1nodesource1) ...
nodejs (13.9.0-1nodesource1) wird eingerichtet ...
Trigger für man-db (2.8.5-2) werden verarbeitet ...
pi@raspberrypi:~/treehouse-device $ npm i
npm WARN registry Unexpected warning for https://registry.npmjs.org/: Miscellaneous Warning EAI_AGAIN: request to https://registry.npmjs.org/raspi-io failed, reason: getaddrinfo EAI_AGAIN registry.npmjs.org
npm WARN registry Using stale data from https://registry.npmjs.org/ due to a request error during revalidation.

> raspi-gpio@1.2.0 install /home/pi/treehouse-device/node_modules/raspi-gpio
> node-gyp rebuild

make: Verzeichnis „/home/pi/treehouse-device/node_modules/raspi-gpio/build“ wird betreten
  CXX(target) Release/obj.target/addon/src/addon.o
In file included from ../node_modules/nan/nan.h:74,
                 from ../src/addon.cc:26:
../node_modules/nan/nan_new.h:23:43: error: ‘Handle’ is not a member of ‘v8’
 template <typename T> v8::Local<T> To(v8::Handle<v8::Integer> i);
                                           ^~~~~~
../node_modules/nan/nan_new.h:23:61: error: expected primary-expression before ‘>’ token
 template <typename T> v8::Local<T> To(v8::Handle<v8::Integer> i);
                                                             ^
../node_modules/nan/nan_new.h:23:63: error: ‘i’ was not declared in this scope
 template <typename T> v8::Local<T> To(v8::Handle<v8::Integer> i);
                                                               ^
../node_modules/nan/nan_new.h:28:21: warning: inline variables are only available with -std=c++17 or -std=gnu++17
 To<v8::Integer>(v8::Handle<v8::Integer> i) { return i->ToInteger(); }
                     ^~~~~~
../node_modules/nan/nan_new.h:28:21: error: ‘Handle’ is not a member of ‘v8’
../node_modules/nan/nan_new.h:28:39: error: expected primary-expression before ‘>’ token
 To<v8::Integer>(v8::Handle<v8::Integer> i) { return i->ToInteger(); }
                                       ^
../node_modules/nan/nan_new.h:28:41: error: ‘i’ was not declared in this scope
 To<v8::Integer>(v8::Handle<v8::Integer> i) { return i->ToInteger(); }
                                         ^
../node_modules/nan/nan_new.h:28:43: error: expected ‘;’ before ‘{’ token
 To<v8::Integer>(v8::Handle<v8::Integer> i) { return i->ToInteger(); }
                                           ^~
                                           ;
../node_modules/nan/nan_new.h:33:19: warning: inline variables are only available with -std=c++17 or -std=gnu++17
 To<v8::Int32>(v8::Handle<v8::Integer> i)   { return i->ToInt32(); }
                   ^~~~~~
../node_modules/nan/nan_new.h:33:19: error: ‘Handle’ is not a member of ‘v8’
../node_modules/nan/nan_new.h:33:37: error: expected primary-expression before ‘>’ token
 To<v8::Int32>(v8::Handle<v8::Integer> i)   { return i->ToInt32(); }
                                     ^
../node_modules/nan/nan_new.h:33:39: error: ‘i’ was not declared in this scope
 To<v8::Int32>(v8::Handle<v8::Integer> i)   { return i->ToInt32(); }
                                       ^
../node_modules/nan/nan_new.h:33:41: error: expected ‘;’ before ‘{’ token
 To<v8::Int32>(v8::Handle<v8::Integer> i)   { return i->ToInt32(); }
                                         ^  ~
                                         ;
../node_modules/nan/nan_new.h:38:20: warning: inline variables are only available with -std=c++17 or -std=gnu++17
 To<v8::Uint32>(v8::Handle<v8::Integer> i)  { return i->ToUint32(); }
                    ^~~~~~
../node_modules/nan/nan_new.h:38:20: error: ‘Handle’ is not a member of ‘v8’
../node_modules/nan/nan_new.h:38:38: error: expected primary-expression before ‘>’ token
 To<v8::Uint32>(v8::Handle<v8::Integer> i)  { return i->ToUint32(); }
                                      ^
../node_modules/nan/nan_new.h:38:40: error: ‘i’ was not declared in this scope
 To<v8::Uint32>(v8::Handle<v8::Integer> i)  { return i->ToUint32(); }
                                        ^
../node_modules/nan/nan_new.h:38:42: error: expected ‘;’ before ‘{’ token
 To<v8::Uint32>(v8::Handle<v8::Integer> i)  { return i->ToUint32(); }
                                          ^ ~
                                          ;
../node_modules/nan/nan_new.h:65:12: error: ‘v8::Handle’ has not been declared
      , v8::Handle<v8::ObjectTemplate> tmpl = v8::Handle<v8::ObjectTemplate>()
            ^~~~~~
../node_modules/nan/nan_new.h:65:18: error: expected ‘,’ or ‘...’ before ‘<’ token
      , v8::Handle<v8::ObjectTemplate> tmpl = v8::Handle<v8::ObjectTemplate>()
                  ^
../node_modules/nan/nan_new.h:64:3: error: default argument missing for parameter 2 of ‘static NanIntern::FactoryBase<v8::Context>::return_t NanIntern::Factory<v8::Context>::New(v8::ExtensionConfiguration*, int)’
   New( v8::ExtensionConfiguration* extensions = NULL
   ^~~
../node_modules/nan/nan_new.h:84:12: error: ‘v8::Handle’ has not been declared
      , v8::Handle<v8::Value> data = v8::Handle<v8::Value>());
            ^~~~~~
../node_modules/nan/nan_new.h:84:18: error: expected ‘,’ or ‘...’ before ‘<’ token
      , v8::Handle<v8::Value> data = v8::Handle<v8::Value>());
                  ^
../node_modules/nan/nan_new.h:92:12: error: ‘v8::Handle’ has not been declared
      , v8::Handle<v8::Value> data = v8::Handle<v8::Value>()
            ^~~~~~
../node_modules/nan/nan_new.h:92:18: error: expected ‘,’ or ‘...’ before ‘<’ token
      , v8::Handle<v8::Value> data = v8::Handle<v8::Value>()
                  ^
../node_modules/nan/nan_new.h:91:3: error: default argument missing for parameter 2 of ‘static NanIntern::FactoryBase<v8::FunctionTemplate>::return_t NanIntern::Factory<v8::FunctionTemplate>::New(NanFunctionCallback, int)’
   New( NanFunctionCallback callback = NULL
   ^~~
../node_modules/nan/nan_new.h:138:11: error: ‘v8::Handle’ has not been declared
       v8::Handle<v8::String> pattern, v8::RegExp::Flags flags);
           ^~~~~~
../node_modules/nan/nan_new.h:138:17: error: expected ‘,’ or ‘...’ before ‘<’ token
       v8::Handle<v8::String> pattern, v8::RegExp::Flags flags);
                 ^
../node_modules/nan/nan_new.h:150:15: error: ‘Handle’ in namespace ‘v8’ does not name a template type
   typedef v8::Handle<v8::FunctionTemplate> FTH;
               ^~~~~~
../node_modules/nan/nan_new.h:153:8: error: ‘FTH’ has not been declared
   New( FTH receiver = FTH(), int argc = 0, FTH argv[] = NULL );
        ^~~
../node_modules/nan/nan_new.h:153:44: error: ‘FTH’ has not been declared
   New( FTH receiver = FTH(), int argc = 0, FTH argv[] = NULL );
                                            ^~~
../node_modules/nan/nan_new.h:153:23: error: ‘FTH’ was not declared in this scope
   New( FTH receiver = FTH(), int argc = 0, FTH argv[] = NULL );
                       ^~~
../node_modules/nan/nan_new.h:172:34: error: ‘v8::Handle’ has not been declared
   static inline return_t New(v8::Handle<v8::String> value);
                                  ^~~~~~
../node_modules/nan/nan_new.h:172:40: error: expected ‘,’ or ‘...’ before ‘<’ token
   static inline return_t New(v8::Handle<v8::String> value);
                                        ^
In file included from ../node_modules/nan/nan_new.h:190,
                 from ../node_modules/nan/nan.h:74,
                 from ../src/addon.cc:26:
../node_modules/nan/nan_implementation_12_inl.h: In static member function ‘static NanIntern::FactoryBase<v8::BooleanObject>::return_t NanIntern::Factory<v8::BooleanObject>::New(bool)’:
../node_modules/nan/nan_implementation_12_inl.h:48:38: error: no matching function for call to ‘v8::BooleanObject::New(bool&)’
   return v8::BooleanObject::New(value).As<v8::BooleanObject>();
                                      ^
In file included from /home/pi/.cache/node-gyp/13.9.0/include/node/node.h:67,
                 from ../src/addon.cc:25:
/home/pi/.cache/node-gyp/13.9.0/include/node/v8.h:5672:23: note: candidate: ‘static v8::Local<v8::Value> v8::BooleanObject::New(v8::Isolate*, bool)’
   static Local<Value> New(Isolate* isolate, bool value);
                       ^~~
/home/pi/.cache/node-gyp/13.9.0/include/node/v8.h:5672:23: note:   candidate expects 2 arguments, 1 provided
In file included from ../node_modules/nan/nan_new.h:190,
                 from ../node_modules/nan/nan.h:74,
                 from ../src/addon.cc:26:
../node_modules/nan/nan_implementation_12_inl.h:48:60: error: expected primary-expression before ‘>’ token
   return v8::BooleanObject::New(value).As<v8::BooleanObject>();
                                                            ^
../node_modules/nan/nan_implementation_12_inl.h:48:62: error: expected primary-expression before ‘)’ token
   return v8::BooleanObject::New(value).As<v8::BooleanObject>();
                                                              ^
../node_modules/nan/nan_implementation_12_inl.h: At global scope:
../node_modules/nan/nan_implementation_12_inl.h:55:32: error: ‘v8::Handle’ has not been declared
                          , v8::Handle<v8::ObjectTemplate> tmpl
                                ^~~~~~
../node_modules/nan/nan_implementation_12_inl.h:55:38: error: expected ‘,’ or ‘...’ before ‘<’ token
                          , v8::Handle<v8::ObjectTemplate> tmpl
                                      ^
../node_modules/nan/nan_implementation_12_inl.h: In static member function ‘static NanIntern::FactoryBase<v8::Context>::return_t NanIntern::Factory<v8::Context>::New(v8::ExtensionConfiguration*, int)’:
../node_modules/nan/nan_implementation_12_inl.h:57:66: error: ‘tmpl’ was not declared in this scope
   return v8::Context::New(v8::Isolate::GetCurrent(), extensions, tmpl, obj);
                                                                  ^~~~
../node_modules/nan/nan_implementation_12_inl.h:57:66: note: suggested alternative: ‘tm’
   return v8::Context::New(v8::Isolate::GetCurrent(), extensions, tmpl, obj);
                                                                  ^~~~
                                                                  tm
../node_modules/nan/nan_implementation_12_inl.h:57:72: error: ‘obj’ was not declared in this scope
   return v8::Context::New(v8::Isolate::GetCurrent(), extensions, tmpl, obj);
                                                                        ^~~
../node_modules/nan/nan_implementation_12_inl.h: In static member function ‘static NanIntern::FactoryBase<v8::Date>::return_t NanIntern::Factory<v8::Date>::New(double)’:
../node_modules/nan/nan_implementation_12_inl.h:64:56: error: no matching function for call to ‘v8::Date::New(v8::Isolate*, double&)’
   return v8::Date::New(v8::Isolate::GetCurrent(), value).As<v8::Date>();
                                                        ^
In file included from /home/pi/.cache/node-gyp/13.9.0/include/node/node.h:67,
                 from ../src/addon.cc:25:
/home/pi/.cache/node-gyp/13.9.0/include/node/v8.h:5621:50: note: candidate: ‘static v8::MaybeLocal<v8::Value> v8::Date::New(v8::Local<v8::Context>, double)’
   static V8_WARN_UNUSED_RESULT MaybeLocal<Value> New(Local<Context> context,
                                                  ^~~
/home/pi/.cache/node-gyp/13.9.0/include/node/v8.h:5621:50: note:   no known conversion for argument 1 from ‘v8::Isolate ’ to ‘v8::Local<v8::Context>’
In file included from ../node_modules/nan/nan_new.h:190,
                 from ../node_modules/nan/nan.h:74,
                 from ../src/addon.cc:26:
../node_modules/nan/nan_implementation_12_inl.h:64:69: error: expected primary-expression before ‘>’ token
   return v8::Date::New(v8::Isolate::GetCurrent(), value).As<v8::Date>();
                                                                     ^
../node_modules/nan/nan_implementation_12_inl.h:64:71: error: expected primary-expression before ‘)’ token
   return v8::Date::New(v8::Isolate::GetCurrent(), value).As<v8::Date>();
                                                                       ^
../node_modules/nan/nan_implementation_12_inl.h: At global scope:
../node_modules/nan/nan_implementation_12_inl.h:78:33: error: ‘v8::Handle’ has not been declared
                           , v8::Handle<v8::Value> data) {
                                 ^~~~~~
../node_modules/nan/nan_implementation_12_inl.h:78:39: error: expected ‘,’ or ‘...’ before ‘<’ token
                           , v8::Handle<v8::Value> data) {
                                       ^
../node_modules/nan/nan_implementation_12_inl.h: In static member function ‘static NanIntern::FactoryBase<v8::Function>::return_t NanIntern::Factory<v8::Function>::New(NanFunctionCallback, int)’:
../node_modules/nan/nan_implementation_12_inl.h:81:29: error: ‘data’ was not declared in this scope
                           , data);
                             ^~~~
../node_modules/nan/nan_implementation_12_inl.h: At global scope:
../node_modules/nan/nan_implementation_12_inl.h:88:41: error: ‘v8::Handle’ has not been declared
                                   , v8::Handle<v8::Value> data
                                         ^~~~~~
../node_modules/nan/nan_implementation_12_inl.h:88:47: error: expected ‘,’ or ‘...’ before ‘<’ token
                                   , v8::Handle<v8::Value> data
                                               ^
../node_modules/nan/nan_implementation_12_inl.h: In static member function ‘static NanIntern::FactoryBase<v8::FunctionTemplate>::return_t NanIntern::Factory<v8::FunctionTemplate>::New(NanFunctionCallback, int)’:
../node_modules/nan/nan_implementation_12_inl.h:92:37: error: ‘data’ was not declared in this scope
                                   , data
                                     ^~~~
../node_modules/nan/nan_implementation_12_inl.h:93:37: error: ‘signature’ was not declared in this scope
                                   , signature);
                                     ^~~~~~~~~
../node_modules/nan/nan_implementation_12_inl.h:93:37: note: suggested alternative: ‘sigreturn’
                                   , signature);
                                     ^~~~~~~~~
                                     sigreturn
../node_modules/nan/nan_implementation_12_inl.h: In static member function ‘static NanIntern::FactoryBase<v8::Uint32>::return_t NanIntern::Factory<v8::Uint32>::New(int32_t)’:
../node_modules/nan/nan_implementation_12_inl.h:128:68: error: no match for call to ‘(v8::Local<v8::Uint32>) (v8::Local<v8::Integer>)’
       v8::Uint32::NewFromUnsigned(v8::Isolate::GetCurrent(), value));
                                                                    ^
../node_modules/nan/nan_implementation_12_inl.h: In static member function ‘static NanIntern::FactoryBase<v8::Uint32>::return_t NanIntern::Factory<v8::Uint32>::New(uint32_t)’:
../node_modules/nan/nan_implementation_12_inl.h:134:68: error: no match for call to ‘(v8::Local<v8::Uint32>) (v8::Local<v8::Integer>)’
       v8::Uint32::NewFromUnsigned(v8::Isolate::GetCurrent(), value));
                                                                    ^
../node_modules/nan/nan_implementation_12_inl.h: At global scope:
../node_modules/nan/nan_implementation_12_inl.h:155:9: error: ‘NanIntern::FactoryBase<v8::RegExp>::return_t NanIntern::Factory<v8::RegExp>::New’ is not a static data member of ‘struct NanIntern::Factory<v8::RegExp>’
     v8::Handle<v8::String> pattern
         ^~~~~~
../node_modules/nan/nan_implementation_12_inl.h:155:9: error: ‘Handle’ is not a member of ‘v8’
../node_modules/nan/nan_implementation_12_inl.h:155:26: error: expected primary-expression before ‘>’ token
     v8::Handle<v8::String> pattern
                          ^
../node_modules/nan/nan_implementation_12_inl.h:155:28: error: ‘pattern’ was not declared in this scope
     v8::Handle<v8::String> pattern
                            ^~~~~~~
../node_modules/nan/nan_implementation_12_inl.h:155:28: note: suggested alternative: ‘extern’
     v8::Handle<v8::String> pattern
                            ^~~~~~~
                            extern
../node_modules/nan/nan_implementation_12_inl.h:156:23: error: expected primary-expression before ‘flags’
   , v8::RegExp::Flags flags) {
                       ^~~~~
../node_modules/nan/nan_implementation_12_inl.h:156:30: error: expected ‘,’ or ‘;’ before ‘{’ token
   , v8::RegExp::Flags flags) {
                              ^
../node_modules/nan/nan_implementation_12_inl.h: In static member function ‘static NanIntern::FactoryBase<v8::Script>::return_t NanIntern::Factory<v8::Script>::New(v8::Local<v8::String>)’:
../node_modules/nan/nan_implementation_12_inl.h:165:69: error: no matching function for call to ‘v8::ScriptCompiler::Compile(v8::Isolate*, v8::ScriptCompiler::Source*)’
   return v8::ScriptCompiler::Compile(v8::Isolate::GetCurrent(), &src);
                                                                     ^
In file included from /home/pi/.cache/node-gyp/13.9.0/include/node/node.h:67,
                 from ../src/addon.cc:25:
/home/pi/.cache/node-gyp/13.9.0/include/node/v8.h:1843:51: note: candidate: ‘static v8::MaybeLocal<v8::Script> v8::ScriptCompiler::Compile(v8::Local<v8::Context>, v8::ScriptCompiler::Source*, v8::ScriptCompiler::CompileOptions, v8::ScriptCompiler::NoCacheReason)’
   static V8_WARN_UNUSED_RESULT MaybeLocal<Script> Compile(
                                                   ^~~~~~~
/home/pi/.cache/node-gyp/13.9.0/include/node/v8.h:1843:51: note:   no known conversion for argument 1 from ‘v8::Isolate ’ to ‘v8::Local<v8::Context>’
/home/pi/.cache/node-gyp/13.9.0/include/node/v8.h:1870:51: note: candidate: ‘static v8::MaybeLocal<v8::Script> v8::ScriptCompiler::Compile(v8::Local<v8::Context>, v8::ScriptCompiler::StreamedSource*, v8::Local<v8::String>, const v8::ScriptOrigin&)’
   static V8_WARN_UNUSED_RESULT MaybeLocal<Script> Compile(
                                                   ^~~~~~~
/home/pi/.cache/node-gyp/13.9.0/include/node/v8.h:1870:51: note:   candidate expects 4 arguments, 2 provided
In file included from ../node_modules/nan/nan_new.h:190,
                 from ../node_modules/nan/nan.h:74,
                 from ../src/addon.cc:26:
../node_modules/nan/nan_implementation_12_inl.h: In static member function ‘static NanIntern::FactoryBase<v8::Script>::return_t NanIntern::Factory<v8::Script>::New(v8::Local<v8::String>, const v8::ScriptOrigin&)’:
../node_modules/nan/nan_implementation_12_inl.h:172:69: error: no matching function for call to ‘v8::ScriptCompiler::Compile(v8::Isolate*, v8::ScriptCompiler::Source*)’
   return v8::ScriptCompiler::Compile(v8::Isolate::GetCurrent(), &src);
                                                                     ^
In file included from /home/pi/.cache/node-gyp/13.9.0/include/node/node.h:67,
                 from ../src/addon.cc:25:
/home/pi/.cache/node-gyp/13.9.0/include/node/v8.h:1843:51: note: candidate: ‘static v8::MaybeLocal<v8::Script> v8::ScriptCompiler::Compile(v8::Local<v8::Context>, v8::ScriptCompiler::Source*, v8::ScriptCompiler::CompileOptions, v8::ScriptCompiler::NoCacheReason)’
   static V8_WARN_UNUSED_RESULT MaybeLocal<Script> Compile(
                                                   ^~~~~~~
/home/pi/.cache/node-gyp/13.9.0/include/node/v8.h:1843:51: note:   no known conversion for argument 1 from ‘v8::Isolate ’ to ‘v8::Local<v8::Context>’
/home/pi/.cache/node-gyp/13.9.0/include/node/v8.h:1870:51: note: candidate: ‘static v8::MaybeLocal<v8::Script> v8::ScriptCompiler::Compile(v8::Local<v8::Context>, v8::ScriptCompiler::StreamedSource*, v8::Local<v8::String>, const v8::ScriptOrigin&)’
   static V8_WARN_UNUSED_RESULT MaybeLocal<Script> Compile(
                                                   ^~~~~~~
/home/pi/.cache/node-gyp/13.9.0/include/node/v8.h:1870:51: note:   candidate expects 4 arguments, 2 provided
In file included from ../node_modules/nan/nan_new.h:190,
                 from ../node_modules/nan/nan.h:74,
                 from ../src/addon.cc:26:
../node_modules/nan/nan_implementation_12_inl.h: At global scope:
../node_modules/nan/nan_implementation_12_inl.h:178:54: error: ‘NanIntern::FactoryBase<v8::Signature>::return_t NanIntern::Factory<v8::Signature>::New’ is not a static data member of ‘struct NanIntern::Factory<v8::Signature>’
 Factory<v8::Signature>::New( Factory<v8::Signature>::FTH receiver
                                                      ^~~
../node_modules/nan/nan_implementation_12_inl.h:178:54: error: ‘FTH’ is not a member of ‘NanIntern::Factory<v8::Signature>’
../node_modules/nan/nan_implementation_12_inl.h:179:30: error: expected primary-expression before ‘int’
                            , int argc
                              ^~~
../node_modules/nan/nan_implementation_12_inl.h:180:54: error: ‘FTH’ is not a member of ‘NanIntern::Factory<v8::Signature>’
                            , Factory<v8::Signature>::FTH argv[]) {
                                                      ^~~
../node_modules/nan/nan_implementation_12_inl.h:180:66: error: expected ‘,’ or ‘;’ before ‘{’ token
                            , Factory<v8::Signature>::FTH argv[]) {
                                                                  ^
../node_modules/nan/nan_implementation_12_inl.h: In static member function ‘static NanIntern::FactoryBase<v8::String>::return_t NanIntern::Factory<v8::String>::New(const char*, int)’:
../node_modules/nan/nan_implementation_12_inl.h:194:19: error: ‘kNormalString’ is not a member of ‘v8::String’
       v8::String::kNormalString, length);
                   ^~~~~~~~~~~~~
../node_modules/nan/nan_implementation_12_inl.h: In static member function ‘static NanIntern::FactoryBase<v8::String>::return_t NanIntern::Factory<v8::String>::New(const string&)’:
../node_modules/nan/nan_implementation_12_inl.h:201:33: error: ‘kNormalString’ is not a member of ‘v8::String’
       value.data(), v8::String::kNormalString, static_cast<int>(value.size()));
                                 ^~~~~~~~~~~~~
../node_modules/nan/nan_implementation_12_inl.h: In static member function ‘static NanIntern::FactoryBase<v8::String>::return_t NanIntern::Factory<v8::String>::New(const uint8_t*, int)’:
../node_modules/nan/nan_implementation_12_inl.h:207:21: error: ‘kNormalString’ is not a member of ‘v8::String’
         v8::String::kNormalString, length);
                     ^~~~~~~~~~~~~
../node_modules/nan/nan_implementation_12_inl.h: In static member function ‘static NanIntern::FactoryBase<v8::String>::return_t NanIntern::Factory<v8::String>::New(const uint16_t*, int)’:
../node_modules/nan/nan_implementation_12_inl.h:213:21: error: ‘kNormalString’ is not a member of ‘v8::String’
         v8::String::kNormalString, length);
                     ^~~~~~~~~~~~~
../node_modules/nan/nan_implementation_12_inl.h: In static member function ‘static NanIntern::FactoryBase<v8::String>::return_t NanIntern::Factory<v8::String>::New(v8::String::ExternalStringResource*)’:
../node_modules/nan/nan_implementation_12_inl.h:218:22: error: ‘NewExternal’ is not a member of ‘v8::String’
   return v8::String::NewExternal(v8::Isolate::GetCurrent(), value);
                      ^~~~~~~~~~~
../node_modules/nan/nan_implementation_12_inl.h: In static member function ‘static NanIntern::FactoryBase<v8::String>::return_t NanIntern::Factory<v8::String>::New(NanExternalOneByteStringResource*)’:
../node_modules/nan/nan_implementation_12_inl.h:223:22: error: ‘NewExternal’ is not a member of ‘v8::String’
   return v8::String::NewExternal(v8::Isolate::GetCurrent(), value);
                      ^~~~~~~~~~~
../node_modules/nan/nan_implementation_12_inl.h: At global scope:
../node_modules/nan/nan_implementation_12_inl.h:229:36: error: ‘NanIntern::FactoryBase<v8::StringObject>::return_t NanIntern::Factory<v8::StringObject>::New’ is not a static data member of ‘struct NanIntern::Factory<v8::StringObject>’
 Factory<v8::StringObject>::New(v8::Handle<v8::String> value) {
                                    ^~~~~~
../node_modules/nan/nan_implementation_12_inl.h:229:36: error: ‘Handle’ is not a member of ‘v8’
../node_modules/nan/nan_implementation_12_inl.h:229:53: error: expected primary-expression before ‘>’ token
 Factory<v8::StringObject>::New(v8::Handle<v8::String> value) {
                                                     ^
../node_modules/nan/nan_implementation_12_inl.h:229:55: error: ‘value’ was not declared in this scope
 Factory<v8::StringObject>::New(v8::Handle<v8::String> value) {
                                                       ^~~~~
../node_modules/nan/nan_implementation_12_inl.h:229:62: error: expected ‘,’ or ‘;’ before ‘{’ token
 Factory<v8::StringObject>::New(v8::Handle<v8::String> value) {
                                                              ^
../node_modules/nan/nan_implementation_12_inl.h: In static member function ‘static NanIntern::FactoryBase<v8::UnboundScript>::return_t NanIntern::Factory<v8::UnboundScript>::New(v8::Local<v8::String>)’:
../node_modules/nan/nan_implementation_12_inl.h:238:30: error: ‘CompileUnbound’ is not a member of ‘v8::ScriptCompiler’
   return v8::ScriptCompiler::CompileUnbound(v8::Isolate::GetCurrent(), &src);
                              ^~~~~~~~~~~~~~
../node_modules/nan/nan_implementation_12_inl.h: In static member function ‘static NanIntern::FactoryBase<v8::UnboundScript>::return_t NanIntern::Factory<v8::UnboundScript>::New(v8::Local<v8::String>, const v8::ScriptOrigin&)’:
../node_modules/nan/nan_implementation_12_inl.h:245:30: error: ‘CompileUnbound’ is not a member of ‘v8::ScriptCompiler’
   return v8::ScriptCompiler::CompileUnbound(v8::Isolate::GetCurrent(), &src);
                              ^~~~~~~~~~~~~~
../node_modules/nan/nan_implementation_12_inl.h: At global scope:
../node_modules/nan/nan_implementation_12_inl.h:253:32: warning: inline variables are only available with -std=c++17 or -std=gnu++17
 inline v8::Local<T> NanNew(v8::Handle<T> h) {
                                ^~~~~~
../node_modules/nan/nan_implementation_12_inl.h:253:32: error: ‘Handle’ is not a member of ‘v8’
../node_modules/nan/nan_implementation_12_inl.h:253:40: error: expected primary-expression before ‘>’ token
 inline v8::Local<T> NanNew(v8::Handle<T> h) {
                                        ^
../node_modules/nan/nan_implementation_12_inl.h:253:42: error: ‘h’ was not declared in this scope
 inline v8::Local<T> NanNew(v8::Handle<T> h) {
                                          ^
../node_modules/nan/nan_implementation_12_inl.h:253:44: error: expected ‘;’ before ‘{’ token
 inline v8::Local<T> NanNew(v8::Handle<T> h) {
                                            ^~
                                            ;
../node_modules/nan/nan_implementation_12_inl.h:258:54: error: ‘template<class T> v8::Local<T> NanNew(const v8::Persistent<T, v8::NonCopyablePersistentTraits<T> >&)’ conflicts with a previous declaration
 inline v8::Local<T> NanNew(v8::Persistent<T> const& p) {
                                                      ^
../node_modules/nan/nan_implementation_12_inl.h:253:32: note: previous declaration ‘template<class T> v8::Local<T> NanNew<T>’
 inline v8::Local<T> NanNew(v8::Handle<T> h) {
                                ^~~~~~
In file included from ../node_modules/nan/nan.h:74,
                 from ../src/addon.cc:26:
../node_modules/nan/nan_new.h:202:8: error: ‘template<class T> typename NanIntern::Factory<T>::return_t NanNew()’ conflicts with a previous declaration
 NanNew() {
        ^
In file included from ../node_modules/nan/nan_new.h:190,
                 from ../node_modules/nan/nan.h:74,
                 from ../src/addon.cc:26:
../node_modules/nan/nan_implementation_12_inl.h:253:32: note: previous declaration ‘template<class T> v8::Local<T> NanNew<T>’
 inline v8::Local<T> NanNew(v8::Handle<T> h) {
                                ^~~~~~
In file included from ../node_modules/nan/nan.h:74,
                 from ../src/addon.cc:26:
../node_modules/nan/nan_new.h:208:15: error: ‘template<class T, class A0> typename NanIntern::Factory<T>::return_t NanNew(A0)’ conflicts with a previous declaration
 NanNew(A0 arg0) {
               ^
In file included from ../node_modules/nan/nan_new.h:190,
                 from ../node_modules/nan/nan.h:74,
                 from ../src/addon.cc:26:
../node_modules/nan/nan_implementation_12_inl.h:253:32: note: previous declaration ‘template<class T> v8::Local<T> NanNew<T>’
 inline v8::Local<T> NanNew(v8::Handle<T> h) {
                                ^~~~~~
In file included from ../node_modules/nan/nan.h:74,
                 from ../src/addon.cc:26:
../node_modules/nan/nan_new.h:214:24: error: ‘template<class T, class A0, class A1> typename NanIntern::Factory<T>::return_t NanNew(A0, A1)’ conflicts with a previous declaration
 NanNew(A0 arg0, A1 arg1) {
                        ^
In file included from ../node_modules/nan/nan_new.h:190,
                 from ../node_modules/nan/nan.h:74,
                 from ../src/addon.cc:26:
../node_modules/nan/nan_implementation_12_inl.h:253:32: note: previous declaration ‘template<class T> v8::Local<T> NanNew<T>’
 inline v8::Local<T> NanNew(v8::Handle<T> h) {
                                ^~~~~~
In file included from ../node_modules/nan/nan.h:74,
                 from ../src/addon.cc:26:
../node_modules/nan/nan_new.h:220:33: error: ‘template<class T, class A0, class A1, class A2> typename NanIntern::Factory<T>::return_t NanNew(A0, A1, A2)’ conflicts with a previous declaration
 NanNew(A0 arg0, A1 arg1, A2 arg2) {
                                 ^
In file included from ../node_modules/nan/nan_new.h:190,
                 from ../node_modules/nan/nan.h:74,
                 from ../src/addon.cc:26:
../node_modules/nan/nan_implementation_12_inl.h:253:32: note: previous declaration ‘template<class T> v8::Local<T> NanNew<T>’
 inline v8::Local<T> NanNew(v8::Handle<T> h) {
                                ^~~~~~
In file included from ../node_modules/nan/nan.h:74,
                 from ../src/addon.cc:26:
../node_modules/nan/nan_new.h:226:42: error: ‘template<class T, class A0, class A1, class A2, class A3> typename NanIntern::Factory<T>::return_t NanNew(A0, A1, A2, A3)’ conflicts with a previous declaration
 NanNew(A0 arg0, A1 arg1, A2 arg2, A3 arg3) {
                                          ^
In file included from ../node_modules/nan/nan_new.h:190,
                 from ../node_modules/nan/nan.h:74,
                 from ../src/addon.cc:26:
../node_modules/nan/nan_implementation_12_inl.h:253:32: note: previous declaration ‘template<class T> v8::Local<T> NanNew<T>’
 inline v8::Local<T> NanNew(v8::Handle<T> h) {
                                ^~~~~~
In file included from ../node_modules/nan/nan.h:74,
                 from ../src/addon.cc:26:
../node_modules/nan/nan_new.h:239:13: error: ‘v8::Handle’ has not been declared
       , v8::Handle<v8::Value> data = v8::Handle<v8::Value>()) {
             ^~~~~~
../node_modules/nan/nan_new.h:239:19: error: expected ‘,’ or ‘...’ before ‘<’ token
       , v8::Handle<v8::Value> data = v8::Handle<v8::Value>()) {
                   ^
../node_modules/nan/nan_new.h:239:61: error: ‘template<class T> typename NanIntern::Factory<T>::return_t NanNew(NanFunctionCallback, int)’ conflicts with a previous declaration
       , v8::Handle<v8::Value> data = v8::Handle<v8::Value>()) {
                                                             ^
In file included from ../node_modules/nan/nan_new.h:190,
                 from ../node_modules/nan/nan.h:74,
                 from ../src/addon.cc:26:
../node_modules/nan/nan_implementation_12_inl.h:253:32: note: previous declaration ‘template<class T> v8::Local<T> NanNew<T>’
 inline v8::Local<T> NanNew(v8::Handle<T> h) {
                                ^~~~~~
In file included from ../node_modules/nan/nan.h:74,
                 from ../src/addon.cc:26:
../node_modules/nan/nan_new.h: In function ‘typename NanIntern::Factory<T>::return_t NanNew(NanFunctionCallback, int)’:
../node_modules/nan/nan_new.h:240:49: error: ‘data’ was not declared in this scope
     return NanIntern::Factory<T>::New(callback, data);
                                                 ^~~~
../node_modules/nan/nan_new.h: At global scope:
../node_modules/nan/nan_new.h:247:13: error: ‘v8::Handle’ has not been declared
       , v8::Handle<v8::Value> data = v8::Handle<v8::Value>()
             ^~~~~~
../node_modules/nan/nan_new.h:247:19: error: expected ‘,’ or ‘...’ before ‘<’ token
       , v8::Handle<v8::Value> data = v8::Handle<v8::Value>()
                   ^
../node_modules/nan/nan_new.h:248:21: error: ‘template<class T, class A2> typename NanIntern::Factory<T>::return_t NanNew(NanFunctionCallback, int)’ conflicts with a previous declaration
       , A2 a2 = A2()) {
                     ^
In file included from ../node_modules/nan/nan_new.h:190,
                 from ../node_modules/nan/nan.h:74,
                 from ../src/addon.cc:26:
../node_modules/nan/nan_implementation_12_inl.h:253:32: note: previous declaration ‘template<class T> v8::Local<T> NanNew<T>’
 inline v8::Local<T> NanNew(v8::Handle<T> h) {
                                ^~~~~~
In file included from ../node_modules/nan/nan.h:74,
                 from ../src/addon.cc:26:
../node_modules/nan/nan_new.h: In function ‘typename NanIntern::Factory<T>::return_t NanNew(NanFunctionCallback, int)’:
../node_modules/nan/nan_new.h:249:49: error: ‘data’ was not declared in this scope
     return NanIntern::Factory<T>::New(callback, data, a2);
                                                 ^~~~
../node_modules/nan/nan_new.h:249:55: error: ‘a2’ was not declared in this scope
     return NanIntern::Factory<T>::New(callback, data, a2);
                                                       ^~
../node_modules/nan/nan_new.h:249:55: note: suggested alternative: ‘A2’
     return NanIntern::Factory<T>::New(callback, data, a2);
                                                       ^~
                                                       A2
../node_modules/nan/nan_new.h: At global scope:
../node_modules/nan/nan_new.h:254:54: warning: inline variables are only available with -std=c++17 or -std=gnu++17
 template <typename T> inline v8::Local<T> NanNew(v8::Handle<T> h);
                                                      ^~~~~~
../node_modules/nan/nan_new.h:254:54: error: ‘Handle’ is not a member of ‘v8’
../node_modules/nan/nan_new.h:254:62: error: expected primary-expression before ‘>’ token
 template <typename T> inline v8::Local<T> NanNew(v8::Handle<T> h);
                                                              ^
../node_modules/nan/nan_new.h:254:64: error: ‘h’ was not declared in this scope
 template <typename T> inline v8::Local<T> NanNew(v8::Handle<T> h);
                                                                ^
../node_modules/nan/nan_new.h:255:76: error: ‘template<class T> v8::Local<T> NanNew(const v8::Persistent<T, v8::NonCopyablePersistentTraits<T> >&)’ conflicts with a previous declaration
 template <typename T> inline v8::Local<T> NanNew(v8::Persistent<T> const& p);
                                                                            ^
In file included from ../node_modules/nan/nan_new.h:190,
                 from ../node_modules/nan/nan.h:74,
                 from ../src/addon.cc:26:
../node_modules/nan/nan_implementation_12_inl.h:253:32: note: previous declaration ‘template<class T> v8::Local<T> NanNew<T>’
 inline v8::Local<T> NanNew(v8::Handle<T> h) {
                                ^~~~~~
In file included from ../node_modules/nan/nan.h:74,
                 from ../src/addon.cc:26:
../node_modules/nan/nan_new.h:259:18: error: ‘NanIntern::FactoryBase<v8::Boolean>::return_t NanNew(bool)’ redeclared as different kind of symbol
 NanNew(bool value) {
                  ^
In file included from ../node_modules/nan/nan_new.h:190,
                 from ../node_modules/nan/nan.h:74,
                 from ../src/addon.cc:26:
../node_modules/nan/nan_implementation_12_inl.h:253:32: note: previous declaration ‘template<class T> v8::Local<T> NanNew<T>’
 inline v8::Local<T> NanNew(v8::Handle<T> h) {
                                ^~~~~~
In file included from ../node_modules/nan/nan.h:74,
                 from ../src/addon.cc:26:
../node_modules/nan/nan_new.h: In function ‘NanIntern::FactoryBase<v8::Boolean>::return_t NanNew(bool)’:
../node_modules/nan/nan_new.h:260:35: error: no match for call to ‘(v8::Local<v8::Boolean>) (bool&)’
   return NanNew<v8::Boolean>(value);
                                   ^
../node_modules/nan/nan_new.h: At global scope:
../node_modules/nan/nan_new.h:265:21: error: ‘NanIntern::IntegerFactory<v8::Int32>::return_t NanNew(int32_t)’ redeclared as different kind of symbol
 NanNew(int32_t value) {
                     ^
In file included from ../node_modules/nan/nan_new.h:190,
                 from ../node_modules/nan/nan.h:74,
                 from ../src/addon.cc:26:
../node_modules/nan/nan_implementation_12_inl.h:253:21: note: previous declaration ‘template<class T> v8::Local<T> NanNew<T>’
 inline v8::Local<T> NanNew(v8::Handle<T> h) {
                     ^~~~~~
In file included from ../node_modules/nan/nan.h:74,
                 from ../src/addon.cc:26:
../node_modules/nan/nan_new.h: In function ‘NanIntern::IntegerFactory<v8::Int32>::return_t NanNew(int32_t)’:
../node_modules/nan/nan_new.h:266:33: error: no match for call to ‘(v8::Local<v8::Int32>) (int32_t&)’
   return NanNew<v8::Int32>(value);
                                 ^
../node_modules/nan/nan_new.h: At global scope:
../node_modules/nan/nan_new.h:271:22: error: ‘NanIntern::FactoryBase<v8::Uint32>::return_t NanNew(uint32_t)’ redeclared as different kind of symbol
 NanNew(uint32_t value) {
                      ^
In file included from ../node_modules/nan/nan_new.h:190,
                 from ../node_modules/nan/nan.h:74,
                 from ../src/addon.cc:26:
../node_modules/nan/nan_implementation_12_inl.h:253:21: note: previous declaration ‘template<class T> v8::Local<T> NanNew<T>’
 inline v8::Local<T> NanNew(v8::Handle<T> h) {
                     ^~~~~~
In file included from ../node_modules/nan/nan.h:74,
                 from ../src/addon.cc:26:
../node_modules/nan/nan_new.h: In function ‘NanIntern::FactoryBase<v8::Uint32>::return_t NanNew(uint32_t)’:
../node_modules/nan/nan_new.h:272:34: error: no match for call to ‘(v8::Local<v8::Uint32>) (uint32_t&)’
   return NanNew<v8::Uint32>(value);
                                  ^
../node_modules/nan/nan_new.h: At global scope:
../node_modules/nan/nan_new.h:277:20: error: ‘NanIntern::FactoryBase<v8::Number>::return_t NanNew(double)’ redeclared as different kind of symbol
 NanNew(double value) {
                    ^
In file included from ../node_modules/nan/nan_new.h:190,
                 from ../node_modules/nan/nan.h:74,
                 from ../src/addon.cc:26:
../node_modules/nan/nan_implementation_12_inl.h:253:21: note: previous declaration ‘template<class T> v8::Local<T> NanNew<T>’
 inline v8::Local<T> NanNew(v8::Handle<T> h) {
                     ^~~~~~
In file included from ../node_modules/nan/nan.h:74,
                 from ../src/addon.cc:26:
../node_modules/nan/nan_new.h: In function ‘NanIntern::FactoryBase<v8::Number>::return_t NanNew(double)’:
../node_modules/nan/nan_new.h:278:34: error: no match for call to ‘(v8::Local<v8::Number>) (double&)’
   return NanNew<v8::Number>(value);
                                  ^
../node_modules/nan/nan_new.h: At global scope:
../node_modules/nan/nan_new.h:283:32: error: ‘NanIntern::FactoryBase<v8::String>::return_t NanNew(const string&)’ redeclared as different kind of symbol
 NanNew(std::string const& value) {
                                ^
In file included from ../node_modules/nan/nan_new.h:190,
                 from ../node_modules/nan/nan.h:74,
                 from ../src/addon.cc:26:
../node_modules/nan/nan_implementation_12_inl.h:253:21: note: previous declaration ‘template<class T> v8::Local<T> NanNew<T>’
 inline v8::Local<T> NanNew(v8::Handle<T> h) {
                     ^~~~~~
In file included from ../node_modules/nan/nan.h:74,
                 from ../src/addon.cc:26:
../node_modules/nan/nan_new.h: In function ‘NanIntern::FactoryBase<v8::String>::return_t NanNew(const string&)’:
../node_modules/nan/nan_new.h:284:34: error: no match for call to ‘(v8::Local<v8::String>) (const string&)’
   return NanNew<v8::String>(value);
                                  ^
../node_modules/nan/nan_new.h: At global scope:
../node_modules/nan/nan_new.h:289:38: error: ‘NanIntern::FactoryBase<v8::String>::return_t NanNew(const char*, int)’ redeclared as different kind of symbol
 NanNew(const char * value, int length) {
                                      ^
In file included from ../node_modules/nan/nan_new.h:190,
                 from ../node_modules/nan/nan.h:74,
                 from ../src/addon.cc:26:
../node_modules/nan/nan_implementation_12_inl.h:253:21: note: previous declaration ‘template<class T> v8::Local<T> NanNew<T>’
 inline v8::Local<T> NanNew(v8::Handle<T> h) {
                     ^~~~~~
In file included from ../node_modules/nan/nan.h:74,
                 from ../src/addon.cc:26:
../node_modules/nan/nan_new.h: In function ‘NanIntern::FactoryBase<v8::String>::return_t NanNew(const char*, int)’:
../node_modules/nan/nan_new.h:290:42: error: no match for call to ‘(v8::Local<v8::String>) (const char*&, int&)’
   return NanNew<v8::String>(value, length);
                                          ^
../node_modules/nan/nan_new.h: At global scope:
../node_modules/nan/nan_new.h:295:26: error: ‘NanIntern::FactoryBase<v8::String>::return_t NanNew(const char*)’ redeclared as different kind of symbol
 NanNew(const char * value) {
                          ^
In file included from ../node_modules/nan/nan_new.h:190,
                 from ../node_modules/nan/nan.h:74,
                 from ../src/addon.cc:26:
../node_modules/nan/nan_implementation_12_inl.h:253:21: note: previous declaration ‘template<class T> v8::Local<T> NanNew<T>’
 inline v8::Local<T> NanNew(v8::Handle<T> h) {
                     ^~~~~~
In file included from ../node_modules/nan/nan.h:74,
                 from ../src/addon.cc:26:
../node_modules/nan/nan_new.h: In function ‘NanIntern::FactoryBase<v8::String>::return_t NanNew(const char*)’:
../node_modules/nan/nan_new.h:296:34: error: no match for call to ‘(v8::Local<v8::String>) (const char*&)’
   return NanNew<v8::String>(value);
                                  ^
../node_modules/nan/nan_new.h: At global scope:
../node_modules/nan/nan_new.h:301:29: error: ‘NanIntern::FactoryBase<v8::String>::return_t NanNew(const uint8_t*)’ redeclared as different kind of symbol
 NanNew(const uint8_t * value) {
                             ^
In file included from ../node_modules/nan/nan_new.h:190,
                 from ../node_modules/nan/nan.h:74,
                 from ../src/addon.cc:26:
../node_modules/nan/nan_implementation_12_inl.h:253:21: note: previous declaration ‘template<class T> v8::Local<T> NanNew<T>’
 inline v8::Local<T> NanNew(v8::Handle<T> h) {
                     ^~~~~~
In file included from ../node_modules/nan/nan.h:74,
                 from ../src/addon.cc:26:
../node_modules/nan/nan_new.h: In function ‘NanIntern::FactoryBase<v8::String>::return_t NanNew(const uint8_t*)’:
../node_modules/nan/nan_new.h:302:34: error: no match for call to ‘(v8::Local<v8::String>) (const uint8_t*&)’
   return NanNew<v8::String>(value);
                                  ^
../node_modules/nan/nan_new.h: At global scope:
../node_modules/nan/nan_new.h:307:30: error: ‘NanIntern::FactoryBase<v8::String>::return_t NanNew(const uint16_t*)’ redeclared as different kind of symbol
 NanNew(const uint16_t * value) {
                              ^
In file included from ../node_modules/nan/nan_new.h:190,
                 from ../node_modules/nan/nan.h:74,
                 from ../src/addon.cc:26:
../node_modules/nan/nan_implementation_12_inl.h:253:21: note: previous declaration ‘template<class T> v8::Local<T> NanNew<T>’
 inline v8::Local<T> NanNew(v8::Handle<T> h) {
                     ^~~~~~
In file included from ../node_modules/nan/nan.h:74,
                 from ../src/addon.cc:26:
../node_modules/nan/nan_new.h: In function ‘NanIntern::FactoryBase<v8::String>::return_t NanNew(const uint16_t*)’:
../node_modules/nan/nan_new.h:308:34: error: no match for call to ‘(v8::Local<v8::String>) (const uint16_t*&)’
   return NanNew<v8::String>(value);
                                  ^
../node_modules/nan/nan_new.h: At global scope:
../node_modules/nan/nan_new.h:313:50: error: ‘NanIntern::FactoryBase<v8::String>::return_t NanNew(v8::String::ExternalStringResource*)’ redeclared as different kind of symbol
 NanNew(v8::String::ExternalStringResource * value) {
                                                  ^
In file included from ../node_modules/nan/nan_new.h:190,
                 from ../node_modules/nan/nan.h:74,
                 from ../src/addon.cc:26:
../node_modules/nan/nan_implementation_12_inl.h:253:21: note: previous declaration ‘template<class T> v8::Local<T> NanNew<T>’
 inline v8::Local<T> NanNew(v8::Handle<T> h) {
                     ^~~~~~
In file included from ../node_modules/nan/nan.h:74,
                 from ../src/addon.cc:26:
../node_modules/nan/nan_new.h: In function ‘NanIntern::FactoryBase<v8::String>::return_t NanNew(v8::String::ExternalStringResource*)’:
../node_modules/nan/nan_new.h:314:34: error: no match for call to ‘(v8::Local<v8::String>) (v8::String::ExternalStringResource*&)’
   return NanNew<v8::String>(value);
                                  ^
../node_modules/nan/nan_new.h: At global scope:
../node_modules/nan/nan_new.h:319:48: error: ‘NanIntern::FactoryBase<v8::String>::return_t NanNew(NanExternalOneByteStringResource*)’ redeclared as different kind of symbol
 NanNew(NanExternalOneByteStringResource * value) {
                                                ^
In file included from ../node_modules/nan/nan_new.h:190,
                 from ../node_modules/nan/nan.h:74,
                 from ../src/addon.cc:26:
../node_modules/nan/nan_implementation_12_inl.h:253:21: note: previous declaration ‘template<class T> v8::Local<T> NanNew<T>’
 inline v8::Local<T> NanNew(v8::Handle<T> h) {
                     ^~~~~~
In file included from ../node_modules/nan/nan.h:74,
                 from ../src/addon.cc:26:
../node_modules/nan/nan_new.h: In function ‘NanIntern::FactoryBase<v8::String>::return_t NanNew(NanExternalOneByteStringResource*)’:
../node_modules/nan/nan_new.h:320:34: error: no match for call to ‘(v8::Local<v8::String>) (NanExternalOneByteStringResource*&)’
   return NanNew<v8::String>(value);
                                  ^
../node_modules/nan/nan_new.h: At global scope:
../node_modules/nan/nan_new.h:325:12: warning: inline variables are only available with -std=c++17 or -std=gnu++17
 NanNew(v8::Handle<v8::String> pattern, v8::RegExp::Flags flags) {
            ^~~~~~
../node_modules/nan/nan_new.h:325:12: error: ‘NanIntern::FactoryBase<v8::RegExp>::return_t NanNew’ redeclared as different kind of symbol
In file included from ../node_modules/nan/nan_new.h:190,
                 from ../node_modules/nan/nan.h:74,
                 from ../src/addon.cc:26:
../node_modules/nan/nan_implementation_12_inl.h:253:21: note: previous declaration ‘template<class T> v8::Local<T> NanNew<T>’
 inline v8::Local<T> NanNew(v8::Handle<T> h) {
                     ^~~~~~
In file included from ../node_modules/nan/nan.h:74,
                 from ../src/addon.cc:26:
../node_modules/nan/nan_new.h:325:12: error: ‘Handle’ is not a member of ‘v8’
 NanNew(v8::Handle<v8::String> pattern, v8::RegExp::Flags flags) {
            ^~~~~~
../node_modules/nan/nan_new.h:325:29: error: expected primary-expression before ‘>’ token
 NanNew(v8::Handle<v8::String> pattern, v8::RegExp::Flags flags) {
                             ^
../node_modules/nan/nan_new.h:325:31: error: ‘pattern’ was not declared in this scope
 NanNew(v8::Handle<v8::String> pattern, v8::RegExp::Flags flags) {
                               ^~~~~~~
../node_modules/nan/nan_new.h:325:31: note: suggested alternative: ‘extern’
 NanNew(v8::Handle<v8::String> pattern, v8::RegExp::Flags flags) {
                               ^~~~~~~
                               extern
../node_modules/nan/nan_new.h:325:58: error: expected primary-expression before ‘flags’
 NanNew(v8::Handle<v8::String> pattern, v8::RegExp::Flags flags) {
                                                          ^~~~~
In file included from ../src/addon.cc:26:
../node_modules/nan/nan.h:124:9: error: ‘v8::Handle’ has not been declared
   , v8::Handle<v8::String> opt, bool def
         ^~~~~~
../node_modules/nan/nan.h:124:15: error: expected ‘,’ or ‘...’ before ‘<’ token
   , v8::Handle<v8::String> opt, bool def
               ^
../node_modules/nan/nan.h: In function ‘bool NanBooleanOptionValue(v8::Local<v8::Object>, int)’:
../node_modules/nan/nan.h:126:7: error: ‘def’ was not declared in this scope
   if (def) {
       ^~~
../node_modules/nan/nan.h:128:27: error: ‘opt’ was not declared in this scope
       || !optionsObj->Has(opt)
                           ^~~
../node_modules/nan/nan.h:128:27: note: suggested alternative: ‘open’
       || !optionsObj->Has(opt)
                           ^~~
                           open
../node_modules/nan/nan.h:132:26: error: ‘opt’ was not declared in this scope
       && optionsObj->Has(opt)
                          ^~~
../node_modules/nan/nan.h:132:26: note: suggested alternative: ‘open’
       && optionsObj->Has(opt)
                          ^~~
                          open
../node_modules/nan/nan.h: At global scope:
../node_modules/nan/nan.h:139:9: error: ‘v8::Handle’ has not been declared
   , v8::Handle<v8::String> opt
         ^~~~~~
../node_modules/nan/nan.h:139:15: error: expected ‘,’ or ‘...’ before ‘<’ token
   , v8::Handle<v8::String> opt
               ^
../node_modules/nan/nan.h:137:17: error: redefinition of ‘bool NanBooleanOptionValue(v8::Local<v8::Object>, int)’
 NAN_INLINE bool NanBooleanOptionValue(
                 ^~~~~~~~~~~~~~~~~~~~~
../node_modules/nan/nan.h:122:17: note: ‘bool NanBooleanOptionValue(v8::Local<v8::Object>, int)’ previously defined here
 NAN_INLINE bool NanBooleanOptionValue(
                 ^~~~~~~~~~~~~~~~~~~~~
../node_modules/nan/nan.h: In function ‘bool NanBooleanOptionValue(v8::Local<v8::Object>, int)’:
../node_modules/nan/nan.h:141:44: error: ‘opt’ was not declared in this scope
   return NanBooleanOptionValue(optionsObj, opt, false);
                                            ^~~
../node_modules/nan/nan.h:141:44: note: suggested alternative: ‘open’
   return NanBooleanOptionValue(optionsObj, opt, false);
                                            ^~~
                                            open
../node_modules/nan/nan.h: At global scope:
../node_modules/nan/nan.h:146:9: error: ‘v8::Handle’ has not been declared
   , v8::Handle<v8::String> opt
         ^~~~~~
../node_modules/nan/nan.h:146:15: error: expected ‘,’ or ‘...’ before ‘<’ token
   , v8::Handle<v8::String> opt
               ^
../node_modules/nan/nan.h: In function ‘uint32_t NanUInt32OptionValue(v8::Local<v8::Object>, int)’:
../node_modules/nan/nan.h:150:24: error: ‘opt’ was not declared in this scope
     && optionsObj->Has(opt)
                        ^~~
../node_modules/nan/nan.h:150:24: note: suggested alternative: ‘open’
     && optionsObj->Has(opt)
                        ^~~
                        open
../node_modules/nan/nan.h:153:9: error: ‘def’ was not declared in this scope
       : def;
         ^~~
../node_modules/nan/nan.h: At global scope:
../node_modules/nan/nan.h:157:25: error: ‘Handle’ is not a member of ‘v8’
 v8::Local<T> NanNew(v8::Handle<T>);
                         ^~~~~~
../node_modules/nan/nan.h:157:33: error: expected primary-expression before ‘>’ token
 v8::Local<T> NanNew(v8::Handle<T>);
                                 ^
../node_modules/nan/nan.h:157:34: error: expected primary-expression before ‘)’ token
 v8::Local<T> NanNew(v8::Handle<T>);
                                  ^
../node_modules/nan/nan.h:160:45: warning: inline variables are only available with -std=c++17 or -std=gnu++17
 NAN_INLINE v8::Local<T> _NanEnsureLocal(v8::Handle<T> val) {
                                             ^~~~~~
../node_modules/nan/nan.h:160:45: warning: ‘always_inline’ attribute ignored [-Wattributes]
../node_modules/nan/nan.h:160:45: error: ‘Handle’ is not a member of ‘v8’
../node_modules/nan/nan.h:160:53: error: expected primary-expression before ‘>’ token
 NAN_INLINE v8::Local<T> _NanEnsureLocal(v8::Handle<T> val) {
                                                     ^
../node_modules/nan/nan.h:160:55: error: ‘val’ was not declared in this scope
 NAN_INLINE v8::Local<T> _NanEnsureLocal(v8::Handle<T> val) {
                                                       ^~~
../node_modules/nan/nan.h:160:59: error: expected ‘;’ before ‘{’ token
 NAN_INLINE v8::Local<T> _NanEnsureLocal(v8::Handle<T> val) {
                                                           ^~
                                                           ;
../node_modules/nan/nan.h:165:57: error: ‘template<class T> v8::Local<T> _NanEnsureLocal(v8::Local<T>)’ conflicts with a previous declaration
 NAN_INLINE v8::Local<T> _NanEnsureLocal(v8::Local<T> val) {
                                                         ^
../node_modules/nan/nan.h:160:45: note: previous declaration ‘template<class T> v8::Local<T> _NanEnsureLocal<T>’
 NAN_INLINE v8::Local<T> _NanEnsureLocal(v8::Handle<T> val) {
                                             ^~~~~~
../node_modules/nan/nan.h: In function ‘bool NanIdleNotification(int)’:
../node_modules/nan/nan.h:187:39: error: ‘class v8::Isolate’ has no member named ‘IdleNotification’; did you mean ‘IdleNotificationDeadline’?
     return v8::Isolate::GetCurrent()->IdleNotification(idle_time_in_ms);
                                       ^~~~~~~~~~~~~~~~
                                       IdleNotificationDeadline
../node_modules/nan/nan.h: In function ‘v8::Local<v8::Primitive> NanUndefined()’:
../node_modules/nan/nan.h:296:58: error: missing template arguments before ‘(’ token
 # define NanEscapeScope(val) scope.Escape(_NanEnsureLocal(val))
                                                          ^
../node_modules/nan/nan.h:310:12: note: in expansion of macro ‘NanEscapeScope’
     return NanEscapeScope(NanNew(v8::Undefined(v8::Isolate::GetCurrent())));
            ^~~~~~~~~~~~~~
../node_modules/nan/nan.h:310:33: error: missing template arguments before ‘(’ token
     return NanEscapeScope(NanNew(v8::Undefined(v8::Isolate::GetCurrent())));
                                 ^
../node_modules/nan/nan.h:296:59: note: in definition of macro ‘NanEscapeScope’
 # define NanEscapeScope(val) scope.Escape(_NanEnsureLocal(val))
                                                           ^~~
../node_modules/nan/nan.h: In function ‘v8::Local<v8::Primitive> NanNull()’:
../node_modules/nan/nan.h:296:58: error: missing template arguments before ‘(’ token
 # define NanEscapeScope(val) scope.Escape(_NanEnsureLocal(val))
                                                          ^
../node_modules/nan/nan.h:315:12: note: in expansion of macro ‘NanEscapeScope’
     return NanEscapeScope(NanNew(v8::Null(v8::Isolate::GetCurrent())));
            ^~~~~~~~~~~~~~
../node_modules/nan/nan.h:315:33: error: missing template arguments before ‘(’ token
     return NanEscapeScope(NanNew(v8::Null(v8::Isolate::GetCurrent())));
                                 ^
../node_modules/nan/nan.h:296:59: note: in definition of macro ‘NanEscapeScope’
 # define NanEscapeScope(val) scope.Escape(_NanEnsureLocal(val))
                                                           ^~~
../node_modules/nan/nan.h: In function ‘v8::Local<v8::Boolean> NanTrue()’:
../node_modules/nan/nan.h:296:58: error: missing template arguments before ‘(’ token
 # define NanEscapeScope(val) scope.Escape(_NanEnsureLocal(val))
                                                          ^
../node_modules/nan/nan.h:320:12: note: in expansion of macro ‘NanEscapeScope’
     return NanEscapeScope(NanNew(v8::True(v8::Isolate::GetCurrent())));
            ^~~~~~~~~~~~~~
../node_modules/nan/nan.h:320:33: error: missing template arguments before ‘(’ token
     return NanEscapeScope(NanNew(v8::True(v8::Isolate::GetCurrent())));
                                 ^
../node_modules/nan/nan.h:296:59: note: in definition of macro ‘NanEscapeScope’
 # define NanEscapeScope(val) scope.Escape(_NanEnsureLocal(val))
                                                           ^~~
../node_modules/nan/nan.h: In function ‘v8::Local<v8::Boolean> NanFalse()’:
../node_modules/nan/nan.h:296:58: error: missing template arguments before ‘(’ token
 # define NanEscapeScope(val) scope.Escape(_NanEnsureLocal(val))
                                                          ^
../node_modules/nan/nan.h:325:12: note: in expansion of macro ‘NanEscapeScope’
     return NanEscapeScope(NanNew(v8::False(v8::Isolate::GetCurrent())));
            ^~~~~~~~~~~~~~
../node_modules/nan/nan.h:325:33: error: missing template arguments before ‘(’ token
     return NanEscapeScope(NanNew(v8::False(v8::Isolate::GetCurrent())));
                                 ^
../node_modules/nan/nan.h:296:59: note: in definition of macro ‘NanEscapeScope’
 # define NanEscapeScope(val) scope.Escape(_NanEnsureLocal(val))
                                                           ^~~
../node_modules/nan/nan.h: At global scope:
../node_modules/nan/nan.h:334:11: error: variable or field ‘NanSetTemplate’ declared void
       v8::Handle<v8::Template> templ
           ^~~~~~
../node_modules/nan/nan.h:334:11: error: ‘Handle’ is not a member of ‘v8’
../node_modules/nan/nan.h:334:30: error: expected primary-expression before ‘>’ token
       v8::Handle<v8::Template> templ
                              ^
../node_modules/nan/nan.h:334:32: error: ‘templ’ was not declared in this scope
       v8::Handle<v8::Template> templ
                                ^~~~~
../node_modules/nan/nan.h:335:7: error: expected primary-expression before ‘const’
     , const char *name
       ^~~~~
../node_modules/nan/nan.h:336:11: error: ‘Handle’ is not a member of ‘v8’
     , v8::Handle<v8::Data> value) {
           ^~~~~~
../node_modules/nan/nan.h:336:26: error: expected primary-expression before ‘>’ token
     , v8::Handle<v8::Data> value) {
                          ^
../node_modules/nan/nan.h:336:28: error: ‘value’ was not declared in this scope
     , v8::Handle<v8::Data> value) {
                            ^~~~~
../node_modules/nan/nan.h:341:11: error: variable or field ‘NanSetTemplate’ declared void
       v8::Handle<v8::Template> templ
           ^~~~~~
../node_modules/nan/nan.h:341:11: error: ‘Handle’ is not a member of ‘v8’
../node_modules/nan/nan.h:341:30: error: expected primary-expression before ‘>’ token
       v8::Handle<v8::Template> templ
                              ^
../node_modules/nan/nan.h:341:32: error: ‘templ’ was not declared in this scope
       v8::Handle<v8::Template> templ
                                ^~~~~
../node_modules/nan/nan.h:342:11: error: ‘Handle’ is not a member of ‘v8’
     , v8::Handle<v8::String> name
           ^~~~~~
../node_modules/nan/nan.h:342:28: error: expected primary-expression before ‘>’ token
     , v8::Handle<v8::String> name
                            ^
../node_modules/nan/nan.h:342:30: error: ‘name’ was not declared in this scope
     , v8::Handle<v8::String> name
                              ^~~~
../node_modules/nan/nan.h:342:30: note: suggested alternative: ‘node’
     , v8::Handle<v8::String> name
                              ^~~~
                              node
../node_modules/nan/nan.h:343:11: error: ‘Handle’ is not a member of ‘v8’
     , v8::Handle<v8::Data> value
           ^~~~~~
../node_modules/nan/nan.h:343:26: error: expected primary-expression before ‘>’ token
     , v8::Handle<v8::Data> value
                          ^
../node_modules/nan/nan.h:343:28: error: ‘value’ was not declared in this scope
     , v8::Handle<v8::Data> value
                            ^~~~~
../node_modules/nan/nan.h:344:29: error: expected primary-expression before ‘attributes’
     , v8::PropertyAttribute attributes) {
                             ^~~~~~~~~~
../node_modules/nan/nan.h:353:11: warning: inline variables are only available with -std=c++17 or -std=gnu++17
       v8::Handle<v8::Object> object
           ^~~~~~
../node_modules/nan/nan.h:353:11: warning: ‘always_inline’ attribute ignored [-Wattributes]
../node_modules/nan/nan.h:353:11: error: ‘Handle’ is not a member of ‘v8’
../node_modules/nan/nan.h:353:28: error: expected primary-expression before ‘>’ token
       v8::Handle<v8::Object> object
                            ^
../node_modules/nan/nan.h:353:30: error: ‘object’ was not declared in this scope
       v8::Handle<v8::Object> object
                              ^~~~~~
../node_modules/nan/nan.h:353:30: note: suggested alternative: ‘connect’
       v8::Handle<v8::Object> object
                              ^~~~~~
                              connect
../node_modules/nan/nan.h:354:7: error: expected primary-expression before ‘int’
     , int index) {
       ^~~
../node_modules/nan/nan.h:354:16: error: expression list treated as compound expression in initializer [-fpermissive]
     , int index) {
                ^
../node_modules/nan/nan.h:359:11: error: variable or field ‘NanSetInternalFieldPointer’ declared void
       v8::Handle<v8::Object> object
           ^~~~~~
../node_modules/nan/nan.h:359:11: error: ‘Handle’ is not a member of ‘v8’
../node_modules/nan/nan.h:359:28: error: expected primary-expression before ‘>’ token
       v8::Handle<v8::Object> object
                            ^
../node_modules/nan/nan.h:359:30: error: ‘object’ was not declared in this scope
       v8::Handle<v8::Object> object
                              ^~~~~~
../node_modules/nan/nan.h:359:30: note: suggested alternative: ‘connect’
       v8::Handle<v8::Object> object
                              ^~~~~~
                              connect
../node_modules/nan/nan.h:360:7: error: expected primary-expression before ‘int’
     , int index
       ^~~
../node_modules/nan/nan.h:361:7: error: expected primary-expression before ‘void’
     , void* value) {
       ^~~~
../node_modules/nan/nan.h:369:20: error: variable or field ‘NanAddGCEpilogueCallback’ declared void
       v8::Isolate::GCEpilogueCallback callback
                    ^~~~~~~~~~~~~~~~~~
../node_modules/nan/nan.h:369:20: error: ‘GCEpilogueCallback’ is not a member of ‘v8::Isolate’
../node_modules/nan/nan.h:370:18: error: expected primary-expression before ‘gc_type_filter’
     , v8::GCType gc_type_filter = v8::kGCTypeAll) {
                  ^~~~~~~~~~~~~~
../node_modules/nan/nan.h:375:20: error: variable or field ‘NanRemoveGCEpilogueCallback’ declared void
       v8::Isolate::GCEpilogueCallback callback) {
                    ^~~~~~~~~~~~~~~~~~
../node_modules/nan/nan.h:375:20: error: ‘GCEpilogueCallback’ is not a member of ‘v8::Isolate’
../node_modules/nan/nan.h:380:20: error: variable or field ‘NanAddGCPrologueCallback’ declared void
       v8::Isolate::GCPrologueCallback callback
                    ^~~~~~~~~~~~~~~~~~
../node_modules/nan/nan.h:380:20: error: ‘GCPrologueCallback’ is not a member of ‘v8::Isolate’
../node_modules/nan/nan.h:381:18: error: expected primary-expression before ‘gc_type_filter’
     , v8::GCType gc_type_filter = v8::kGCTypeAll) {
                  ^~~~~~~~~~~~~~
../node_modules/nan/nan.h:386:20: error: variable or field ‘NanRemoveGCPrologueCallback’ declared void
       v8::Isolate::GCPrologueCallback callback) {
                    ^~~~~~~~~~~~~~~~~~
../node_modules/nan/nan.h:386:20: error: ‘GCPrologueCallback’ is not a member of ‘v8::Isolate’
../node_modules/nan/nan.h: In function ‘v8::Local<v8::String> NanSymbol(const char*, int)’:
../node_modules/nan/nan.h:397:43: error: no match for call to ‘(v8::Local<v8::String>) (const char*&, int&)’
     return NanNew<v8::String>(data, length);
                                           ^
../node_modules/nan/nan.h: At global scope:
../node_modules/nan/nan.h:403:11: error: ‘v8::Handle’ has not been declared
     , v8::Handle<T> obj) {
           ^~~~~~
../node_modules/nan/nan.h:403:17: error: expected ‘,’ or ‘...’ before ‘<’ token
     , v8::Handle<T> obj) {
                 ^
../node_modules/nan/nan.h: In function ‘void NanAssignPersistent(v8::Persistent<T, v8::NonCopyablePersistentTraits<T> >&, int)’:
../node_modules/nan/nan.h:404:47: error: ‘obj’ was not declared in this scope
       handle.Reset(v8::Isolate::GetCurrent(), obj);
                                               ^~~
../node_modules/nan/nan.h: At global scope:
../node_modules/nan/nan.h:420:47: error: expected ‘)’ before ‘<’ token
     NAN_INLINE _NanWeakCallbackInfo(v8::Handle<T> handle, P* param, Callback cb)
                                    ~          ^
                                               )
../node_modules/nan/nan.h: In member function ‘v8::Local<T> _NanWeakCallbackData<T, P>::GetValue() const’:
../node_modules/nan/nan.h:441:20: error: missing template arguments before ‘(’ token
       return NanNew(info_->persistent);
                    ^
../node_modules/nan/nan.h: At global scope:
../node_modules/nan/nan.h:465:15: error: ‘WeakCallbackData’ in namespace ‘v8’ does not name a template type
     const v8::WeakCallbackData<T, _NanWeakCallbackInfo<T, P> > &data) {
               ^~~~~~~~~~~~~~~~
../node_modules/nan/nan.h:465:11: note: suggested alternative: ‘WeakCallbackType’
     const v8::WeakCallbackData<T, _NanWeakCallbackInfo<T, P> > &data) {
           ^~
           WeakCallbackType
../node_modules/nan/nan.h:465:31: error: expected ‘,’ or ‘...’ before ‘<’ token
     const v8::WeakCallbackData<T, _NanWeakCallbackInfo<T, P> > &data) {
                               ^
../node_modules/nan/nan.h: In function ‘void _NanWeakCallbackDispatcher(int)’:
../node_modules/nan/nan.h:466:42: error: ‘data’ was not declared in this scope
       _NanWeakCallbackInfo<T, P> *info = data.GetParameter();
                                          ^~~~
../node_modules/nan/nan.h: At global scope:
../node_modules/nan/nan.h:481:9: warning: inline variables are only available with -std=c++17 or -std=gnu++17
     v8::Handle<T> handle
         ^~~~~~
../node_modules/nan/nan.h:481:9: warning: ‘always_inline’ attribute ignored [-Wattributes]
../node_modules/nan/nan.h:481:9: error: ‘Handle’ is not a member of ‘v8’
../node_modules/nan/nan.h:481:17: error: expected primary-expression before ‘>’ token
     v8::Handle<T> handle
                 ^
../node_modules/nan/nan.h:481:19: error: ‘handle’ was not declared in this scope
     v8::Handle<T> handle
                   ^~~~~~
../node_modules/nan/nan.h:481:19: note: suggested alternative: ‘rand_r’
     v8::Handle<T> handle
                   ^~~~~~
                   rand_r
../node_modules/nan/nan.h:482:6: error: expected primary-expression before ‘*’ token
   , P* parameter
      ^
../node_modules/nan/nan.h:482:8: error: ‘parameter’ was not declared in this scope
   , P* parameter
        ^~~~~~~~~
../node_modules/nan/nan.h:483:51: error: expected ‘(’ before ‘callback’
   , typename _NanWeakCallbackInfo<T, P>::Callback callback) {
                                                   ^~~~~~~~
                                                   (
../node_modules/nan/nan.h:483:60: error: expected ‘;’ before ‘{’ token
   , typename _NanWeakCallbackInfo<T, P>::Callback callback) {
                                                            ^~
                                                            ;
../node_modules/nan/nan.h: In function ‘v8::Local<v8::Value> NanError(const char*)’:
../node_modules/nan/nan.h:494:63: error: no match for call to ‘(v8::Local<v8::String>) (const char*&)’
 # define _NAN_ERROR(fun, errmsg) fun(NanNew<v8::String>(errmsg))
                                                               ^
../node_modules/nan/nan.h:503:13: note: in expansion of macro ‘_NAN_ERROR’
     return  _NAN_ERROR(v8::Exception::Error, errmsg);
             ^~~~~~~~~~
../node_modules/nan/nan.h: In function ‘void NanThrowError(const char*)’:
../node_modules/nan/nan.h:494:63: error: no match for call to ‘(v8::Local<v8::String>) (const char*&)’
 # define _NAN_ERROR(fun, errmsg) fun(NanNew<v8::String>(errmsg))
                                                               ^
../node_modules/nan/nan.h:499:49: note: in expansion of macro ‘_NAN_ERROR’
       v8::Isolate::GetCurrent()->ThrowException(_NAN_ERROR(fun, errmsg));      \
                                                 ^~~~~~~~~~
../node_modules/nan/nan.h:507:5: note: in expansion of macro ‘_NAN_THROW_ERROR’
     _NAN_THROW_ERROR(v8::Exception::Error, errmsg);
     ^~~~~~~~~~~~~~~~
../node_modules/nan/nan.h: At global scope:
../node_modules/nan/nan.h:510:37: error: variable or field ‘NanThrowError’ declared void
   NAN_INLINE void NanThrowError(v8::Handle<v8::Value> error) {
                                     ^~~~~~
../node_modules/nan/nan.h:510:37: error: ‘Handle’ is not a member of ‘v8’
../node_modules/nan/nan.h:510:53: error: expected primary-expression before ‘>’ token
   NAN_INLINE void NanThrowError(v8::Handle<v8::Value> error) {
                                                     ^
../node_modules/nan/nan.h:510:55: error: ‘error’ was not declared in this scope
   NAN_INLINE void NanThrowError(v8::Handle<v8::Value> error) {
                                                       ^~~~~
../node_modules/nan/nan.h:510:55: note: suggested alternative: ‘herror’
   NAN_INLINE void NanThrowError(v8::Handle<v8::Value> error) {
                                                       ^~~~~
                                                       herror
../node_modules/nan/nan.h: In function ‘v8::Local<v8::Value> NanError(const char*, int)’:
../node_modules/nan/nan.h:519:75: error: no match for call to ‘(v8::Local<v8::String>) (const char*&)’
     v8::Local<v8::Value> err = v8::Exception::Error(NanNew<v8::String>(msg));
                                                                           ^
../node_modules/nan/nan.h:521:39: error: no match for call to ‘(v8::Local<v8::String>) (const char [5])’
     obj->Set(NanNew<v8::String>("code"), NanNew<v8::Integer>(errorNumber));
                                       ^
../node_modules/nan/nan.h:521:73: error: no match for call to ‘(v8::Local<v8::Integer>) (const int&)’
     obj->Set(NanNew<v8::String>("code"), NanNew<v8::Integer>(errorNumber));
                                                                         ^
../node_modules/nan/nan.h: In function ‘void NanThrowError(const char*, int)’:
../node_modules/nan/nan.h:529:45: error: no matching function for call to ‘NanThrowError(v8::Local<v8::Value>)’
     NanThrowError(NanError(msg, errorNumber));
                                             ^
../node_modules/nan/nan.h:506:19: note: candidate: ‘void NanThrowError(const char*)’
   NAN_INLINE void NanThrowError(const char* errmsg) {
                   ^~~~~~~~~~~~~
../node_modules/nan/nan.h:506:19: note:   no known conversion for argument 1 from ‘v8::Local<v8::Value>’ to ‘const char ’
../node_modules/nan/nan.h:525:19: note: candidate: ‘void NanThrowError(const char*, int)’
   NAN_INLINE void NanThrowError(
                   ^~~~~~~~~~~~~
../node_modules/nan/nan.h:525:19: note:   candidate expects 2 arguments, 1 provided
../node_modules/nan/nan.h: In function ‘v8::Local<v8::Value> NanTypeError(const char*)’:
../node_modules/nan/nan.h:494:63: error: no match for call to ‘(v8::Local<v8::String>) (const char*&)’
 # define _NAN_ERROR(fun, errmsg) fun(NanNew<v8::String>(errmsg))
                                                               ^
../node_modules/nan/nan.h:533:12: note: in expansion of macro ‘_NAN_ERROR’
     return _NAN_ERROR(v8::Exception::TypeError, errmsg);
            ^~~~~~~~~~
../node_modules/nan/nan.h: In function ‘void NanThrowTypeError(const char*)’:
../node_modules/nan/nan.h:494:63: error: no match for call to ‘(v8::Local<v8::String>) (const char*&)’
 # define _NAN_ERROR(fun, errmsg) fun(NanNew<v8::String>(errmsg))
                                                               ^
../node_modules/nan/nan.h:499:49: note: in expansion of macro ‘_NAN_ERROR’
       v8::Isolate::GetCurrent()->ThrowException(_NAN_ERROR(fun, errmsg));      \
                                                 ^~~~~~~~~~
../node_modules/nan/nan.h:537:5: note: in expansion of macro ‘_NAN_THROW_ERROR’
     _NAN_THROW_ERROR(v8::Exception::TypeError, errmsg);
     ^~~~~~~~~~~~~~~~
../node_modules/nan/nan.h: In function ‘v8::Local<v8::Value> NanRangeError(const char*)’:
../node_modules/nan/nan.h:494:63: error: no match for call to ‘(v8::Local<v8::String>) (const char*&)’
 # define _NAN_ERROR(fun, errmsg) fun(NanNew<v8::String>(errmsg))
                                                               ^
../node_modules/nan/nan.h:541:12: note: in expansion of macro ‘_NAN_ERROR’
     return _NAN_ERROR(v8::Exception::RangeError, errmsg);
            ^~~~~~~~~~
../node_modules/nan/nan.h: In function ‘void NanThrowRangeError(const char*)’:
../node_modules/nan/nan.h:494:63: error: no match for call to ‘(v8::Local<v8::String>) (const char*&)’
 # define _NAN_ERROR(fun, errmsg) fun(NanNew<v8::String>(errmsg))
                                                               ^
../node_modules/nan/nan.h:499:49: note: in expansion of macro ‘_NAN_ERROR’
       v8::Isolate::GetCurrent()->ThrowException(_NAN_ERROR(fun, errmsg));      \
                                                 ^~~~~~~~~~
../node_modules/nan/nan.h:545:5: note: in expansion of macro ‘_NAN_THROW_ERROR’
     _NAN_THROW_ERROR(v8::Exception::RangeError, errmsg);
     ^~~~~~~~~~~~~~~~
../node_modules/nan/nan.h: At global scope:
../node_modules/nan/nan.h:557:13: error: ‘node::smalloc’ has not been declared
     , node::smalloc::FreeCallback callback
             ^~~~~~~
../node_modules/nan/nan.h:557:35: error: expected ‘,’ or ‘...’ before ‘callback’
     , node::smalloc::FreeCallback callback
                                   ^~~~~~~~
../node_modules/nan/nan.h: In function ‘v8::Local<v8::Object> NanNewBufferHandle(char*, size_t, int)’:
../node_modules/nan/nan.h:561:50: error: ‘callback’ was not declared in this scope
         v8::Isolate::GetCurrent(), data, length, callback, hint);
                                                  ^~~~~~~~
../node_modules/nan/nan.h:561:50: note: suggested alternative: ‘calloc’
         v8::Isolate::GetCurrent(), data, length, callback, hint);
                                                  ^~~~~~~~
                                                  calloc
../node_modules/nan/nan.h:561:60: error: ‘hint’ was not declared in this scope
         v8::Isolate::GetCurrent(), data, length, callback, hint);
                                                            ^~~~
../node_modules/nan/nan.h:561:60: note: suggested alternative: ‘uint’
         v8::Isolate::GetCurrent(), data, length, callback, hint);
                                                            ^~~~
                                                            uint
../node_modules/nan/nan.h: In function ‘v8::Local<v8::Object> NanNewBufferHandle(const char*, uint32_t)’:
../node_modules/nan/nan.h:568:57: error: invalid conversion from ‘const char*’ to ‘char*’ [-fpermissive]
     return node::Buffer::New(v8::Isolate::GetCurrent(), data, size);
                                                         ^~~~
In file included from ../node_modules/nan/nan.h:25,
                 from ../src/addon.cc:26:
/home/pi/.cache/node-gyp/13.9.0/include/node/node_buffer.h:65:50: note:   initializing argument 2 of ‘v8::MaybeLocal<v8::Object> node::Buffer::New(v8::Isolate*, char*, size_t)’
                                            char* data,
                                            ~~~~~~^~~~
In file included from ../src/addon.cc:26:
../node_modules/nan/nan.h:568:29: error: could not convert ‘node::Buffer::New(v8::Isolate::GetCurrent(), ((char*)data), size)’ from ‘v8::MaybeLocal<v8::Object>’ to ‘v8::Local<v8::Object>’
     return node::Buffer::New(v8::Isolate::GetCurrent(), data, size);
            ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../node_modules/nan/nan.h: In function ‘v8::Local<v8::Object> NanNewBufferHandle(uint32_t)’:
../node_modules/nan/nan.h:572:29: error: could not convert ‘node::Buffer::New(v8::Isolate::GetCurrent(), size)’ from ‘v8::MaybeLocal<v8::Object>’ to ‘v8::Local<v8::Object>’
     return node::Buffer::New(v8::Isolate::GetCurrent(), size);
            ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../node_modules/nan/nan.h: In function ‘v8::Local<v8::Object> NanBufferUse(char*, uint32_t)’:
../node_modules/nan/nan.h:579:26: error: ‘Use’ is not a member of ‘node::Buffer’
     return node::Buffer::Use(v8::Isolate::GetCurrent(), data, size);
                          ^~~
../node_modules/nan/nan.h: At global scope:
../node_modules/nan/nan.h:584:11: error: ‘v8::Handle’ has not been declared
     , v8::Handle<v8::Value> value
           ^~~~~~
../node_modules/nan/nan.h:584:17: error: expected ‘,’ or ‘...’ before ‘<’ token
     , v8::Handle<v8::Value> value
                 ^
../node_modules/nan/nan.h: In function ‘bool NanHasInstance(const v8::Persistent<v8::FunctionTemplate>&, int)’:
../node_modules/nan/nan.h:586:18: error: missing template arguments before ‘(’ token
     return NanNew(function_template)->HasInstance(value);
                  ^
../node_modules/nan/nan.h:586:51: error: ‘value’ was not declared in this scope
     return NanNew(function_template)->HasInstance(value);
                                                   ^~~~~
../node_modules/nan/nan.h: At global scope:
../node_modules/nan/nan.h:591:11: error: ‘v8::Handle’ has not been declared
     , v8::Handle<v8::ObjectTemplate> tmpl = v8::Handle<v8::ObjectTemplate>()
           ^~~~~~
../node_modules/nan/nan.h:591:17: error: expected ‘,’ or ‘...’ before ‘<’ token
     , v8::Handle<v8::ObjectTemplate> tmpl = v8::Handle<v8::ObjectTemplate>()
                 ^
../node_modules/nan/nan.h:589:52: error: default argument missing for parameter 2 of ‘v8::Local<v8::Context> NanNewContextHandle(v8::ExtensionConfiguration*, int)’
   NAN_DEPRECATED NAN_INLINE v8::Local<v8::Context> NanNewContextHandle(
                                                    ^~~~~~~~~~~~~~~~~~~
../node_modules/nan/nan.h: In function ‘v8::Local<v8::Context> NanNewContextHandle(v8::ExtensionConfiguration*, int)’:
../node_modules/nan/nan.h:597:47: error: ‘tmpl’ was not declared in this scope
       , v8::Context::New(isolate, extensions, tmpl, obj)
                                               ^~~~
../node_modules/nan/nan.h:597:47: note: suggested alternative: ‘tm’
       , v8::Context::New(isolate, extensions, tmpl, obj)
                                               ^~~~
                                               tm
../node_modules/nan/nan.h:597:53: error: ‘obj’ was not declared in this scope
       , v8::Context::New(isolate, extensions, tmpl, obj)
                                                     ^~~
../node_modules/nan/nan.h: In function ‘v8::Local<v8::Script> NanCompileScript(v8::Local<v8::String>, const v8::ScriptOrigin&)’:
../node_modules/nan/nan.h:606:74: error: no matching function for call to ‘v8::ScriptCompiler::Compile(v8::Isolate*, v8::ScriptCompiler::Source*)’
     return v8::ScriptCompiler::Compile(v8::Isolate::GetCurrent(), &source);
                                                                          ^
In file included from /home/pi/.cache/node-gyp/13.9.0/include/node/node.h:67,
                 from ../src/addon.cc:25:
/home/pi/.cache/node-gyp/13.9.0/include/node/v8.h:1843:51: note: candidate: ‘static v8::MaybeLocal<v8::Script> v8::ScriptCompiler::Compile(v8::Local<v8::Context>, v8::ScriptCompiler::Source*, v8::ScriptCompiler::CompileOptions, v8::ScriptCompiler::NoCacheReason)’
   static V8_WARN_UNUSED_RESULT MaybeLocal<Script> Compile(
                                                   ^~~~~~~
/home/pi/.cache/node-gyp/13.9.0/include/node/v8.h:1843:51: note:   no known conversion for argument 1 from ‘v8::Isolate ’ to ‘v8::Local<v8::Context>’
/home/pi/.cache/node-gyp/13.9.0/include/node/v8.h:1870:51: note: candidate: ‘static v8::MaybeLocal<v8::Script> v8::ScriptCompiler::Compile(v8::Local<v8::Context>, v8::ScriptCompiler::StreamedSource*, v8::Local<v8::String>, const v8::ScriptOrigin&)’
   static V8_WARN_UNUSED_RESULT MaybeLocal<Script> Compile(
                                                   ^~~~~~~
/home/pi/.cache/node-gyp/13.9.0/include/node/v8.h:1870:51: note:   candidate expects 4 arguments, 2 provided
In file included from ../src/addon.cc:26:
../node_modules/nan/nan.h: In function ‘v8::Local<v8::Script> NanCompileScript(v8::Local<v8::String>)’:
../node_modules/nan/nan.h:613:74: error: no matching function for call to ‘v8::ScriptCompiler::Compile(v8::Isolate*, v8::ScriptCompiler::Source*)’
     return v8::ScriptCompiler::Compile(v8::Isolate::GetCurrent(), &source);
                                                                          ^
In file included from /home/pi/.cache/node-gyp/13.9.0/include/node/node.h:67,
                 from ../src/addon.cc:25:
/home/pi/.cache/node-gyp/13.9.0/include/node/v8.h:1843:51: note: candidate: ‘static v8::MaybeLocal<v8::Script> v8::ScriptCompiler::Compile(v8::Local<v8::Context>, v8::ScriptCompiler::Source*, v8::ScriptCompiler::CompileOptions, v8::ScriptCompiler::NoCacheReason)’
   static V8_WARN_UNUSED_RESULT MaybeLocal<Script> Compile(
                                                   ^~~~~~~
/home/pi/.cache/node-gyp/13.9.0/include/node/v8.h:1843:51: note:   no known conversion for argument 1 from ‘v8::Isolate ’ to ‘v8::Local<v8::Context>’
/home/pi/.cache/node-gyp/13.9.0/include/node/v8.h:1870:51: note: candidate: ‘static v8::MaybeLocal<v8::Script> v8::ScriptCompiler::Compile(v8::Local<v8::Context>, v8::ScriptCompiler::StreamedSource*, v8::Local<v8::String>, const v8::ScriptOrigin&)’
   static V8_WARN_UNUSED_RESULT MaybeLocal<Script> Compile(
                                                   ^~~~~~~
/home/pi/.cache/node-gyp/13.9.0/include/node/v8.h:1870:51: note:   candidate expects 4 arguments, 2 provided
In file included from ../src/addon.cc:26:
../node_modules/nan/nan.h: At global scope:
../node_modules/nan/nan.h:617:11: warning: inline variables are only available with -std=c++17 or -std=gnu++17
       v8::Handle<NanUnboundScript> script
           ^~~~~~
../node_modules/nan/nan.h:617:11: warning: ‘always_inline’ attribute ignored [-Wattributes]
../node_modules/nan/nan.h:617:11: error: ‘Handle’ is not a member of ‘v8’
../node_modules/nan/nan.h:617:34: error: expected primary-expression before ‘>’ token
       v8::Handle<NanUnboundScript> script
                                  ^
../node_modules/nan/nan.h:617:36: error: ‘script’ was not declared in this scope
       v8::Handle<NanUnboundScript> script
                                    ^~~~~~
../node_modules/nan/nan.h:617:36: note: suggested alternative: ‘accept’
       v8::Handle<NanUnboundScript> script
                                    ^~~~~~
                                    accept
../node_modules/nan/nan.h:618:5: error: expected ‘,’ or ‘;’ before ‘{’ token
   ) {
     ^
../node_modules/nan/nan.h:623:11: warning: inline variables are only available with -std=c++17 or -std=gnu++17
       v8::Handle<NanBoundScript> script
           ^~~~~~
../node_modules/nan/nan.h:623:11: warning: ‘always_inline’ attribute ignored [-Wattributes]
../node_modules/nan/nan.h:623:11: error: redefinition of ‘v8::Local<v8::Value> NanRunScript’
../node_modules/nan/nan.h:616:35: note: ‘v8::Local<v8::Value> NanRunScript’ previously declared here
   NAN_INLINE v8::Local<v8::Value> NanRunScript(
                                   ^~~~~~~~~~~~
../node_modules/nan/nan.h:623:11: error: ‘Handle’ is not a member of ‘v8’
       v8::Handle<NanBoundScript> script
           ^~~~~~
../node_modules/nan/nan.h:623:32: error: expected primary-expression before ‘>’ token
       v8::Handle<NanBoundScript> script
                                ^
../node_modules/nan/nan.h:623:34: error: ‘script’ was not declared in this scope
       v8::Handle<NanBoundScript> script
                                  ^~~~~~
../node_modules/nan/nan.h:623:34: note: suggested alternative: ‘accept’
       v8::Handle<NanBoundScript> script
                                  ^~~~~~
                                  accept
../node_modules/nan/nan.h:629:11: warning: inline variables are only available with -std=c++17 or -std=gnu++17
       v8::Handle<v8::Object> target
           ^~~~~~
../node_modules/nan/nan.h:629:11: warning: ‘always_inline’ attribute ignored [-Wattributes]
../node_modules/nan/nan.h:629:11: error: ‘Handle’ is not a member of ‘v8’
../node_modules/nan/nan.h:629:28: error: expected primary-expression before ‘>’ token
       v8::Handle<v8::Object> target
                            ^
../node_modules/nan/nan.h:629:30: error: ‘target’ was not declared in this scope
       v8::Handle<v8::Object> target
                              ^~~~~~
../node_modules/nan/nan.h:629:30: note: suggested alternative: ‘tzset’
       v8::Handle<v8::Object> target
                              ^~~~~~
                              tzset
../node_modules/nan/nan.h:630:11: error: ‘Handle’ is not a member of ‘v8’
     , v8::Handle<v8::Function> func
           ^~~~~~
../node_modules/nan/nan.h:630:30: error: expected primary-expression before ‘>’ token
     , v8::Handle<v8::Function> func
                              ^
../node_modules/nan/nan.h:630:32: error: ‘func’ was not declared in this scope
     , v8::Handle<v8::Function> func
                                ^~~~
../node_modules/nan/nan.h:630:32: note: suggested alternative: ‘fputc’
     , v8::Handle<v8::Function> func
                                ^~~~
                                fputc
../node_modules/nan/nan.h:631:7: error: expected primary-expression before ‘int’
     , int argc
       ^~~
../node_modules/nan/nan.h:632:11: error: ‘Handle’ is not a member of ‘v8’
     , v8::Handle<v8::Value>* argv) {
           ^~~~~~
../node_modules/nan/nan.h:632:27: error: expected primary-expression before ‘>’ token
     , v8::Handle<v8::Value>* argv) {
                           ^
../node_modules/nan/nan.h:632:30: error: ‘argv’ was not declared in this scope
     , v8::Handle<v8::Value>* argv) {
                              ^~~~
../node_modules/nan/nan.h:632:36: error: expected ‘,’ or ‘;’ before ‘{’ token
     , v8::Handle<v8::Value>* argv) {
                                    ^
../node_modules/nan/nan.h:638:11: warning: inline variables are only available with -std=c++17 or -std=gnu++17
       v8::Handle<v8::Object> target
           ^~~~~~
../node_modules/nan/nan.h:638:11: warning: ‘always_inline’ attribute ignored [-Wattributes]
../node_modules/nan/nan.h:638:11: error: redefinition of ‘v8::Local<v8::Value> NanMakeCallback’
../node_modules/nan/nan.h:628:35: note: ‘v8::Local<v8::Value> NanMakeCallback’ previously declared here
   NAN_INLINE v8::Local<v8::Value> NanMakeCallback(
                                   ^~~~~~~~~~~~~~~
../node_modules/nan/nan.h:638:11: error: ‘Handle’ is not a member of ‘v8’
       v8::Handle<v8::Object> target
           ^~~~~~
../node_modules/nan/nan.h:638:28: error: expected primary-expression before ‘>’ token
       v8::Handle<v8::Object> target
                            ^
../node_modules/nan/nan.h:638:30: error: ‘target’ was not declared in this scope
       v8::Handle<v8::Object> target
                              ^~~~~~
../node_modules/nan/nan.h:638:30: note: suggested alternative: ‘tzset’
       v8::Handle<v8::Object> target
                              ^~~~~~
                              tzset
../node_modules/nan/nan.h:639:11: error: ‘Handle’ is not a member of ‘v8’
     , v8::Handle<v8::String> symbol
           ^~~~~~
../node_modules/nan/nan.h:639:28: error: expected primary-expression before ‘>’ token
     , v8::Handle<v8::String> symbol
                            ^
../node_modules/nan/nan.h:639:30: error: ‘symbol’ was not declared in this scope
     , v8::Handle<v8::String> symbol
                              ^~~~~~
../node_modules/nan/nan.h:639:30: note: suggested alternative: ‘strtol’
     , v8::Handle<v8::String> symbol
                              ^~~~~~
                              strtol
../node_modules/nan/nan.h:640:7: error: expected primary-expression before ‘int’
     , int argc
       ^~~
../node_modules/nan/nan.h:641:11: error: ‘Handle’ is not a member of ‘v8’
     , v8::Handle<v8::Value>* argv) {
           ^~~~~~
../node_modules/nan/nan.h:641:27: error: expected primary-expression before ‘>’ token
     , v8::Handle<v8::Value>* argv) {
                           ^
../node_modules/nan/nan.h:641:30: error: ‘argv’ was not declared in this scope
     , v8::Handle<v8::Value>* argv) {
                              ^~~~
../node_modules/nan/nan.h:647:11: warning: inline variables are only available with -std=c++17 or -std=gnu++17
       v8::Handle<v8::Object> target
           ^~~~~~
../node_modules/nan/nan.h:647:11: warning: ‘always_inline’ attribute ignored [-Wattributes]
../node_modules/nan/nan.h:647:11: error: redefinition of ‘v8::Local<v8::Value> NanMakeCallback’
../node_modules/nan/nan.h:628:35: note: ‘v8::Local<v8::Value> NanMakeCallback’ previously declared here
   NAN_INLINE v8::Local<v8::Value> NanMakeCallback(
                                   ^~~~~~~~~~~~~~~
../node_modules/nan/nan.h:647:11: error: ‘Handle’ is not a member of ‘v8’
       v8::Handle<v8::Object> target
           ^~~~~~
../node_modules/nan/nan.h:647:28: error: expected primary-expression before ‘>’ token
       v8::Handle<v8::Object> target
                            ^
../node_modules/nan/nan.h:647:30: error: ‘target’ was not declared in this scope
       v8::Handle<v8::Object> target
                              ^~~~~~
../node_modules/nan/nan.h:647:30: note: suggested alternative: ‘tzset’
       v8::Handle<v8::Object> target
                              ^~~~~~
                              tzset
../node_modules/nan/nan.h:648:7: error: expected primary-expression before ‘const’
     , const char* method
       ^~~~~
../node_modules/nan/nan.h:649:7: error: expected primary-expression before ‘int’
     , int argc
       ^~~
../node_modules/nan/nan.h:650:11: error: ‘Handle’ is not a member of ‘v8’
     , v8::Handle<v8::Value>* argv) {
           ^~~~~~
../node_modules/nan/nan.h:650:27: error: expected primary-expression before ‘>’ token
     , v8::Handle<v8::Value>* argv) {
                           ^
../node_modules/nan/nan.h:650:30: error: ‘argv’ was not declared in this scope
     , v8::Handle<v8::Value>* argv) {
                              ^~~~
../node_modules/nan/nan.h:672:50: error: expected ‘)’ before ‘<’ token
     NAN_INLINE explicit NanAsciiString(v8::Handle<v8::Value> from) {
                                       ~          ^
                                                  )
../node_modules/nan/nan.h:706:49: error: expected ‘)’ before ‘<’ token
     NAN_INLINE explicit NanUtf8String(v8::Handle<v8::Value> from) {
                                      ~          ^
                                                 )
../node_modules/nan/nan.h:739:49: error: expected ‘)’ before ‘<’ token
     NAN_INLINE explicit NanUcs2String(v8::Handle<v8::Value> from) {
                                      ~          ^
                                                 )
../node_modules/nan/nan.h:1377:34: error: ‘Handle’ in namespace ‘v8’ does not name a template type
   explicit NanCallback(const v8::Handle<v8::Function> &fn) {
                                  ^~~~~~
../node_modules/nan/nan.h:1377:40: error: expected ‘,’ or ‘...’ before ‘<’ token
   explicit NanCallback(const v8::Handle<v8::Function> &fn) {
                                        ^
../node_modules/nan/nan.h:1389:41: error: ‘Handle’ in namespace ‘v8’ does not name a template type
   NAN_INLINE void SetFunction(const v8::Handle<v8::Function> &fn) {
                                         ^~~~~~
../node_modules/nan/nan.h:1389:47: error: expected ‘,’ or ‘...’ before ‘<’ token
   NAN_INLINE void SetFunction(const v8::Handle<v8::Function> &fn) {
                                               ^
../node_modules/nan/nan.h:1405:7: error: ‘Handle’ in namespace ‘v8’ does not name a template type
   v8::Handle<v8::Value> Call(int argc, v8::Handle<v8::Value> argv[]) const {
       ^~~~~~
../node_modules/nan/nan.h: In constructor ‘NanCallback::NanCallback()’:
../node_modules/nan/nan.h:1373:52: error: no match for call to ‘(v8::Local<v8::Object>) ()’
     v8::Local<v8::Object> obj = NanNew<v8::Object>();
                                                    ^
../node_modules/nan/nan.h:1374:36: error: no matching function for call to ‘NanAssignPersistent(v8::Persistent<v8::Object>&, v8::Local<v8::Object>&)’
     NanAssignPersistent(handle, obj);
                                    ^
../node_modules/nan/nan.h:401:19: note: candidate: ‘template<class T> void NanAssignPersistent(v8::Persistent<T, v8::NonCopyablePersistentTraits<T> >&, int)’
   NAN_INLINE void NanAssignPersistent(
                   ^~~~~~~~~~~~~~~~~~~
../node_modules/nan/nan.h:401:19: note:   template argument deduction/substitution failed:
../node_modules/nan/nan.h:1374:33: note:   cannot convert ‘obj’ (type ‘v8::Local<v8::Object>’) to type ‘int’
     NanAssignPersistent(handle, obj);
                                 ^~~
../node_modules/nan/nan.h:408:19: note: candidate: ‘template<class T> void NanAssignPersistent(v8::Persistent<T, v8::NonCopyablePersistentTraits<T> >&, const v8::Persistent<T, v8::NonCopyablePersistentTraits<T> >&)’
   NAN_INLINE void NanAssignPersistent(
                   ^~~~~~~~~~~~~~~~~~~
../node_modules/nan/nan.h:408:19: note:   template argument deduction/substitution failed:
../node_modules/nan/nan.h:1374:36: note:   ‘v8::Local<v8::Object>’ is not derived from ‘const v8::Persistent<T, v8::NonCopyablePersistentTraits<T> >’
     NanAssignPersistent(handle, obj);
                                    ^
../node_modules/nan/nan.h: In constructor ‘NanCallback::NanCallback(int)’:
../node_modules/nan/nan.h:1379:52: error: no match for call to ‘(v8::Local<v8::Object>) ()’
     v8::Local<v8::Object> obj = NanNew<v8::Object>();
                                                    ^
../node_modules/nan/nan.h:1380:36: error: no matching function for call to ‘NanAssignPersistent(v8::Persistent<v8::Object>&, v8::Local<v8::Object>&)’
     NanAssignPersistent(handle, obj);
                                    ^
../node_modules/nan/nan.h:401:19: note: candidate: ‘template<class T> void NanAssignPersistent(v8::Persistent<T, v8::NonCopyablePersistentTraits<T> >&, int)’
   NAN_INLINE void NanAssignPersistent(
                   ^~~~~~~~~~~~~~~~~~~
../node_modules/nan/nan.h:401:19: note:   template argument deduction/substitution failed:
../node_modules/nan/nan.h:1380:33: note:   cannot convert ‘obj’ (type ‘v8::Local<v8::Object>’) to type ‘int’
     NanAssignPersistent(handle, obj);
                                 ^~~
../node_modules/nan/nan.h:408:19: note: candidate: ‘template<class T> void NanAssignPersistent(v8::Persistent<T, v8::NonCopyablePersistentTraits<T> >&, const v8::Persistent<T, v8::NonCopyablePersistentTraits<T> >&)’
   NAN_INLINE void NanAssignPersistent(
                   ^~~~~~~~~~~~~~~~~~~
../node_modules/nan/nan.h:408:19: note:   template argument deduction/substitution failed:
../node_modules/nan/nan.h:1380:36: note:   ‘v8::Local<v8::Object>’ is not derived from ‘const v8::Persistent<T, v8::NonCopyablePersistentTraits<T> >’
     NanAssignPersistent(handle, obj);
                                    ^
../node_modules/nan/nan.h:1381:17: error: ‘fn’ was not declared in this scope
     SetFunction(fn);
                 ^~
../node_modules/nan/nan.h: In member function ‘void NanCallback::SetFunction(int)’:
../node_modules/nan/nan.h:1391:11: error: missing template arguments before ‘(’ token
     NanNew(handle)->Set(kCallbackIndex, fn);
           ^
../node_modules/nan/nan.h:1391:41: error: ‘fn’ was not declared in this scope
     NanNew(handle)->Set(kCallbackIndex, fn);
                                         ^~
../node_modules/nan/nan.h: In member function ‘v8::Local<v8::Function> NanCallback::GetFunction() const’:
../node_modules/nan/nan.h:296:58: error: missing template arguments before ‘(’ token
 # define NanEscapeScope(val) scope.Escape(_NanEnsureLocal(val))
                                                          ^
../node_modules/nan/nan.h:1396:12: note: in expansion of macro ‘NanEscapeScope’
     return NanEscapeScope(NanNew(handle)->Get(kCallbackIndex)
            ^~~~~~~~~~~~~~
../node_modules/nan/nan.h:1396:33: error: missing template arguments before ‘(’ token
     return NanEscapeScope(NanNew(handle)->Get(kCallbackIndex)
                                 ^
../node_modules/nan/nan.h:296:59: note: in definition of macro ‘NanEscapeScope’
 # define NanEscapeScope(val) scope.Escape(_NanEnsureLocal(val))
                                                           ^~~
../node_modules/nan/nan.h:1397:25: error: expected primary-expression before ‘>’ token
         .As<v8::Function>());
                         ^
../node_modules/nan/nan.h:296:59: note: in definition of macro ‘NanEscapeScope’
 # define NanEscapeScope(val) scope.Escape(_NanEnsureLocal(val))
                                                           ^~~
../node_modules/nan/nan.h:1397:27: error: expected primary-expression before ‘)’ token
         .As<v8::Function>());
                           ^
../node_modules/nan/nan.h:296:59: note: in definition of macro ‘NanEscapeScope’
 # define NanEscapeScope(val) scope.Escape(_NanEnsureLocal(val))
                                                           ^~~
../node_modules/nan/nan.h: In member function ‘bool NanCallback::IsEmpty() const’:
../node_modules/nan/nan.h:1402:18: error: missing template arguments before ‘(’ token
     return NanNew(handle)->Get(kCallbackIndex)->IsUndefined();
                  ^
../node_modules/nan/nan.h: In constructor ‘NanAsyncWorker::NanAsyncWorker(NanCallback*)’:
../node_modules/nan/nan.h:1449:52: error: no match for call to ‘(v8::Local<v8::Object>) ()’
     v8::Local<v8::Object> obj = NanNew<v8::Object>();
                                                    ^
../node_modules/nan/nan.h:1450:46: error: no matching function for call to ‘NanAssignPersistent(v8::Persistent<v8::Object>&, v8::Local<v8::Object>&)’
     NanAssignPersistent(persistentHandle, obj);
                                              ^
../node_modules/nan/nan.h:401:19: note: candidate: ‘template<class T> void NanAssignPersistent(v8::Persistent<T, v8::NonCopyablePersistentTraits<T> >&, int)’
   NAN_INLINE void NanAssignPersistent(
                   ^~~~~~~~~~~~~~~~~~~
../node_modules/nan/nan.h:401:19: note:   template argument deduction/substitution failed:
../node_modules/nan/nan.h:1450:43: note:   cannot convert ‘obj’ (type ‘v8::Local<v8::Object>’) to type ‘int’
     NanAssignPersistent(persistentHandle, obj);
                                           ^~~
../node_modules/nan/nan.h:408:19: note: candidate: ‘template<class T> void NanAssignPersistent(v8::Persistent<T, v8::NonCopyablePersistentTraits<T> >&, const v8::Persistent<T, v8::NonCopyablePersistentTraits<T> >&)’
   NAN_INLINE void NanAssignPersistent(
                   ^~~~~~~~~~~~~~~~~~~
../node_modules/nan/nan.h:408:19: note:   template argument deduction/substitution failed:
../node_modules/nan/nan.h:1450:46: note:   ‘v8::Local<v8::Object>’ is not derived from ‘const v8::Persistent<T, v8::NonCopyablePersistentTraits<T> >’
     NanAssignPersistent(persistentHandle, obj);
                                              ^
../node_modules/nan/nan.h: In member function ‘void NanAsyncWorker::SaveToPersistent(const char*, const v8::Local<v8::Object>&)’:
../node_modules/nan/nan.h:1477:42: error: missing template arguments before ‘(’ token
     v8::Local<v8::Object> handle = NanNew(persistentHandle);
                                          ^
../node_modules/nan/nan.h:1478:39: error: no match for call to ‘(v8::Local<v8::String>) (const char*&)’
     handle->Set(NanNew<v8::String>(key), obj);
                                       ^
../node_modules/nan/nan.h: In member function ‘v8::Local<v8::Object> NanAsyncWorker::GetFromPersistent(const char*) const’:
../node_modules/nan/nan.h:1483:42: error: missing template arguments before ‘(’ token
     v8::Local<v8::Object> handle = NanNew(persistentHandle);
                                          ^
../node_modules/nan/nan.h:296:58: error: missing template arguments before ‘(’ token
 # define NanEscapeScope(val) scope.Escape(_NanEnsureLocal(val))
                                                          ^
../node_modules/nan/nan.h:1484:12: note: in expansion of macro ‘NanEscapeScope’
     return NanEscapeScope(handle->Get(NanNew(key)).As<v8::Object>());
            ^~~~~~~~~~~~~~
../node_modules/nan/nan.h:1484:45: error: missing template arguments before ‘(’ token
     return NanEscapeScope(handle->Get(NanNew(key)).As<v8::Object>());
                                             ^
../node_modules/nan/nan.h:296:59: note: in definition of macro ‘NanEscapeScope’
 # define NanEscapeScope(val) scope.Escape(_NanEnsureLocal(val))
                                                           ^~~
../node_modules/nan/nan.h:1484:65: error: expected primary-expression before ‘>’ token
     return NanEscapeScope(handle->Get(NanNew(key)).As<v8::Object>());
                                                                 ^
../node_modules/nan/nan.h:296:59: note: in definition of macro ‘NanEscapeScope’
 # define NanEscapeScope(val) scope.Escape(_NanEnsureLocal(val))
                                                           ^~~
../node_modules/nan/nan.h:1484:67: error: expected primary-expression before ‘)’ token
     return NanEscapeScope(handle->Get(NanNew(key)).As<v8::Object>());
                                                                   ^
../node_modules/nan/nan.h:296:59: note: in definition of macro ‘NanEscapeScope’
 # define NanEscapeScope(val) scope.Escape(_NanEnsureLocal(val))
                                                           ^~~
../node_modules/nan/nan.h: In member function ‘virtual void NanAsyncWorker::HandleOKCallback()’:
../node_modules/nan/nan.h:1500:15: error: ‘class NanCallback’ has no member named ‘Call’
     callback->Call(0, NULL);
               ^~~~
../node_modules/nan/nan.h: In member function ‘virtual void NanAsyncWorker::HandleErrorCallback()’:
../node_modules/nan/nan.h:1507:63: error: no match for call to ‘(v8::Local<v8::String>) (const char*)’
         v8::Exception::Error(NanNew<v8::String>(ErrorMessage()))
                                                               ^
../node_modules/nan/nan.h:1509:15: error: ‘class NanCallback’ has no member named ‘Call’
     callback->Call(1, argv);
               ^~~~
../node_modules/nan/nan.h: In function ‘void NanAsyncQueueWorker(NanAsyncWorker*)’:
../node_modules/nan/nan.h:1652:25: 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]
     , (uv_after_work_cb)NanAsyncExecuteComplete
                         ^~~~~~~~~~~~~~~~~~~~~~~
../node_modules/nan/nan.h: At global scope:
../node_modules/nan/nan.h:1809:9: error: ‘Handle’ is not a member of ‘v8’
     v8::Handle<v8::Value> val
         ^~~~~~
../node_modules/nan/nan.h:1809:25: error: expected primary-expression before ‘>’ token
     v8::Handle<v8::Value> val
                         ^
../node_modules/nan/nan.h:1809:27: error: ‘val’ was not declared in this scope
     v8::Handle<v8::Value> val
                           ^~~
../node_modules/nan/nan.h:1810:5: error: expected primary-expression before ‘const’
   , const char** data
     ^~~~~
../node_modules/nan/nan.h:1811:11: error: expected primary-expression before ‘*’ token
   , size_t* len
           ^
../node_modules/nan/nan.h:1811:13: error: ‘len’ was not declared in this scope
   , size_t* len
             ^~~
../node_modules/nan/nan.h:1811:13: note: suggested alternative: ‘send’
   , size_t* len
             ^~~
             send
../node_modules/nan/nan.h:1812:1: error: expression list treated as compound expression in initializer [-fpermissive]
 ) {
 ^
../node_modules/nan/nan.h:1882:9: warning: inline variables are only available with -std=c++17 or -std=gnu++17
     v8::Handle<v8::Value> val, enum Nan::Encoding encoding = Nan::BINARY) {
         ^~~~~~
../node_modules/nan/nan.h:1882:9: warning: ‘always_inline’ attribute ignored [-Wattributes]
../node_modules/nan/nan.h:1882:9: error: ‘Handle’ is not a member of ‘v8’
../node_modules/nan/nan.h:1882:25: error: expected primary-expression before ‘>’ token
     v8::Handle<v8::Value> val, enum Nan::Encoding encoding = Nan::BINARY) {
                         ^
../node_modules/nan/nan.h:1882:27: error: ‘val’ was not declared in this scope
     v8::Handle<v8::Value> val, enum Nan::Encoding encoding = Nan::BINARY) {
                           ^~~
../node_modules/nan/nan.h:1882:32: error: expected primary-expression before ‘enum’
     v8::Handle<v8::Value> val, enum Nan::Encoding encoding = Nan::BINARY) {
                                ^~~~
../node_modules/nan/nan.h:1882:73: error: expression list treated as compound expression in initializer [-fpermissive]
     v8::Handle<v8::Value> val, enum Nan::Encoding encoding = Nan::BINARY) {
                                                                         ^
../node_modules/nan/nan.h:1901:9: error: ‘v8::Handle’ has not been declared
   , v8::Handle<v8::Value> val
         ^~~~~~
../node_modules/nan/nan.h:1901:15: error: expected ‘,’ or ‘...’ before ‘<’ token
   , v8::Handle<v8::Value> val
               ^
../node_modules/nan/nan.h: In function ‘ssize_t NanDecodeWrite(char*, size_t, int)’:
../node_modules/nan/nan.h:1908:7: error: ‘val’ was not declared in this scope
     , val
       ^~~
../node_modules/nan/nan.h:1909:35: error: ‘encoding’ was not declared in this scope
     , static_cast<node::encoding>(encoding));
                                   ^~~~~~~~
../node_modules/nan/nan.h:1909:35: note: suggested alternative:
In file included from ../src/addon.cc:25:
/home/pi/.cache/node-gyp/13.9.0/include/node/node.h:513:6: note:   ‘node::encoding’
 enum encoding {ASCII, UTF8, BASE64, UCS2, BINARY, HEX, BUFFER, LATIN1 = BINARY};
      ^~~~~~~~
In file included from ../src/addon.cc:26:
../node_modules/nan/nan.h: At global scope:
../node_modules/nan/nan.h:1925:9: warning: inline variables are only available with -std=c++17 or -std=gnu++17
     v8::Handle<v8::Value> from
         ^~~~~~
../node_modules/nan/nan.h:1925:9: warning: ‘always_inline’ attribute ignored [-Wattributes]
../node_modules/nan/nan.h:1925:9: error: ‘Handle’ is not a member of ‘v8’
../node_modules/nan/nan.h:1925:25: error: expected primary-expression before ‘>’ token
     v8::Handle<v8::Value> from
                         ^
../node_modules/nan/nan.h:1925:27: error: ‘from’ was not declared in this scope
     v8::Handle<v8::Value> from
                           ^~~~
../node_modules/nan/nan.h:1925:27: note: suggested alternative: ‘feof’
     v8::Handle<v8::Value> from
                           ^~~~
                           feof
../node_modules/nan/nan.h:1926:5: error: expected primary-expression before ‘enum’
   , enum Nan::Encoding encoding
     ^~~~
../node_modules/nan/nan.h:1927:12: error: expected primary-expression before ‘*’ token
   , size_t *datalen
            ^
../node_modules/nan/nan.h:1927:13: error: ‘datalen’ was not declared in this scope
   , size_t *datalen
             ^~~~~~~
../node_modules/nan/nan.h:1927:13: note: suggested alternative: ‘strlen’
   , size_t *datalen
             ^~~~~~~
             strlen
../node_modules/nan/nan.h:1928:5: error: expected primary-expression before ‘void’
   , void *buf
     ^~~~
../node_modules/nan/nan.h:1929:12: error: expected primary-expression before ‘buflen’
   , size_t buflen
            ^~~~~~
../node_modules/nan/nan.h:1930:5: error: expected primary-expression before ‘int’
   , int flags
     ^~~
../node_modules/nan/nan.h:1931:1: error: expression list treated as compound expression in initializer [-fpermissive]
 ) {
 ^
../node_modules/nan/nan.h:2073:9: warning: inline variables are only available with -std=c++17 or -std=gnu++17
     v8::Handle<v8::Value> from
         ^~~~~~
../node_modules/nan/nan.h:2073:9: warning: ‘always_inline’ attribute ignored [-Wattributes]
../node_modules/nan/nan.h:2073:9: error: ‘Handle’ is not a member of ‘v8’
../node_modules/nan/nan.h:2073:25: error: expected primary-expression before ‘>’ token
     v8::Handle<v8::Value> from
                         ^
../node_modules/nan/nan.h:2073:27: error: ‘from’ was not declared in this scope
     v8::Handle<v8::Value> from
                           ^~~~
../node_modules/nan/nan.h:2073:27: note: suggested alternative: ‘feof’
     v8::Handle<v8::Value> from
                           ^~~~
                           feof
../node_modules/nan/nan.h:2074:5: error: expected primary-expression before ‘enum’
   , enum Nan::Encoding encoding
     ^~~~
../node_modules/nan/nan.h:2075:12: error: expected primary-expression before ‘*’ token
   , size_t *datalen
            ^
../node_modules/nan/nan.h:2075:13: error: ‘datalen’ was not declared in this scope
   , size_t *datalen
             ^~~~~~~
../node_modules/nan/nan.h:2075:13: note: suggested alternative: ‘strlen’
   , size_t *datalen
             ^~~~~~~
             strlen
../node_modules/nan/nan.h:2076:5: error: expected primary-expression before ‘void’
   , void *buf
     ^~~~
../node_modules/nan/nan.h:2077:12: error: expected primary-expression before ‘buflen’
   , size_t buflen
            ^~~~~~
../node_modules/nan/nan.h:2078:5: error: expected primary-expression before ‘int’
   , int flags
     ^~~
../node_modules/nan/nan.h:2079:1: error: expression list treated as compound expression in initializer [-fpermissive]
 ) {
 ^
../node_modules/nan/nan.h:2085:9: warning: inline variables are only available with -std=c++17 or -std=gnu++17
     v8::Handle<v8::Value> from
         ^~~~~~
../node_modules/nan/nan.h:2085:9: warning: ‘always_inline’ attribute ignored [-Wattributes]
../node_modules/nan/nan.h:2085:9: error: ‘Handle’ is not a member of ‘v8’
../node_modules/nan/nan.h:2085:25: error: expected primary-expression before ‘>’ token
     v8::Handle<v8::Value> from
                         ^
../node_modules/nan/nan.h:2085:27: error: ‘from’ was not declared in this scope
     v8::Handle<v8::Value> from
                           ^~~~
../node_modules/nan/nan.h:2085:27: note: suggested alternative: ‘feof’
     v8::Handle<v8::Value> from
                           ^~~~
                           feof
../node_modules/nan/nan.h:2086:12: error: expected primary-expression before ‘*’ token
   , size_t *datalen
            ^
../node_modules/nan/nan.h:2086:13: error: ‘datalen’ was not declared in this scope
   , size_t *datalen
             ^~~~~~~
../node_modules/nan/nan.h:2086:13: note: suggested alternative: ‘strlen’
   , size_t *datalen
             ^~~~~~~
             strlen
../node_modules/nan/nan.h:2087:5: error: expected primary-expression before ‘char’
   , char *buf = NULL
     ^~~~
../node_modules/nan/nan.h:2088:12: error: expected primary-expression before ‘buflen’
   , size_t buflen = 0
            ^~~~~~
../node_modules/nan/nan.h:2089:5: error: expected primary-expression before ‘int’
   , int flags = v8::String::NO_OPTIONS
     ^~~
../node_modules/nan/nan.h:2090:1: error: expression list treated as compound expression in initializer [-fpermissive]
 ) {
 ^
../node_modules/nan/nan.h:2099:9: error: ‘v8::Handle’ has not been declared
   , v8::Handle<v8::Data> value
         ^~~~~~
../node_modules/nan/nan.h:2099:15: error: expected ‘,’ or ‘...’ before ‘<’ token
   , v8::Handle<v8::Data> value
               ^
../node_modules/nan/nan.h: In function ‘void NanSetPrototypeTemplate(v8::Local<v8::FunctionTemplate>, const char*, int)’:
../node_modules/nan/nan.h:2101:52: error: ‘value’ was not declared in this scope
   NanSetTemplate(templ->PrototypeTemplate(), name, value);
                                                    ^~~~~
../node_modules/nan/nan.h:2101:3: error: ‘NanSetTemplate’ was not declared in this scope
   NanSetTemplate(templ->PrototypeTemplate(), name, value);
   ^~~~~~~~~~~~~~
../node_modules/nan/nan.h: At global scope:
../node_modules/nan/nan.h:2106:9: error: ‘v8::Handle’ has not been declared
   , v8::Handle<v8::String> name
         ^~~~~~
../node_modules/nan/nan.h:2106:15: error: expected ‘,’ or ‘...’ before ‘<’ token
   , v8::Handle<v8::String> name
               ^
../node_modules/nan/nan.h: In function ‘void NanSetPrototypeTemplate(v8::Local<v8::FunctionTemplate>, int)’:
../node_modules/nan/nan.h:2110:46: error: ‘name’ was not declared in this scope
   NanSetTemplate(templ->PrototypeTemplate(), name, value, attributes);
                                              ^~~~
../node_modules/nan/nan.h:2110:46: note: suggested alternative: ‘node’
   NanSetTemplate(templ->PrototypeTemplate(), name, value, attributes);
                                              ^~~~
                                              node
../node_modules/nan/nan.h:2110:52: error: ‘value’ was not declared in this scope
   NanSetTemplate(templ->PrototypeTemplate(), name, value, attributes);
                                                    ^~~~~
../node_modules/nan/nan.h:2110:59: error: ‘attributes’ was not declared in this scope
   NanSetTemplate(templ->PrototypeTemplate(), name, value, attributes);
                                                           ^~~~~~~~~~
../node_modules/nan/nan.h:2110:59: note: suggested alternative: ‘__attribute__’
   NanSetTemplate(templ->PrototypeTemplate(), name, value, attributes);
                                                           ^~~~~~~~~~
                                                           __attribute__
../node_modules/nan/nan.h:2110:3: error: ‘NanSetTemplate’ was not declared in this scope
   NanSetTemplate(templ->PrototypeTemplate(), name, value, attributes);
   ^~~~~~~~~~~~~~
../node_modules/nan/nan.h: At global scope:
../node_modules/nan/nan.h:2116:9: error: ‘v8::Handle’ has not been declared
   , v8::Handle<v8::Data> value
         ^~~~~~
../node_modules/nan/nan.h:2116:15: error: expected ‘,’ or ‘...’ before ‘<’ token
   , v8::Handle<v8::Data> value
               ^
../node_modules/nan/nan.h: In function ‘void NanSetInstanceTemplate(v8::Local<v8::FunctionTemplate>, const char*, int)’:
../node_modules/nan/nan.h:2118:51: error: ‘value’ was not declared in this scope
   NanSetTemplate(templ->InstanceTemplate(), name, value);
                                                   ^~~~~
../node_modules/nan/nan.h:2118:3: error: ‘NanSetTemplate’ was not declared in this scope
   NanSetTemplate(templ->InstanceTemplate(), name, value);
   ^~~~~~~~~~~~~~
../node_modules/nan/nan.h:2118:3: note: suggested alternative: ‘NanSetInstanceTemplate’
   NanSetTemplate(templ->InstanceTemplate(), name, value);
   ^~~~~~~~~~~~~~
   NanSetInstanceTemplate
../node_modules/nan/nan.h: At global scope:
../node_modules/nan/nan.h:2123:9: error: ‘v8::Handle’ has not been declared
   , v8::Handle<v8::String> name
         ^~~~~~
../node_modules/nan/nan.h:2123:15: error: expected ‘,’ or ‘...’ before ‘<’ token
   , v8::Handle<v8::String> name
               ^
../node_modules/nan/nan.h: In function ‘void NanSetInstanceTemplate(v8::Local<v8::FunctionTemplate>, int)’:
../node_modules/nan/nan.h:2127:45: error: ‘name’ was not declared in this scope
   NanSetTemplate(templ->InstanceTemplate(), name, value, attributes);
                                             ^~~~
../node_modules/nan/nan.h:2127:45: note: suggested alternative: ‘node’
   NanSetTemplate(templ->InstanceTemplate(), name, value, attributes);
                                             ^~~~
                                             node
../node_modules/nan/nan.h:2127:51: error: ‘value’ was not declared in this scope
   NanSetTemplate(templ->InstanceTemplate(), name, value, attributes);
                                                   ^~~~~
../node_modules/nan/nan.h:2127:58: error: ‘attributes’ was not declared in this scope
   NanSetTemplate(templ->InstanceTemplate(), name, value, attributes);
                                                          ^~~~~~~~~~
../node_modules/nan/nan.h:2127:58: note: suggested alternative: ‘__attribute__’
   NanSetTemplate(templ->InstanceTemplate(), name, value, attributes);
                                                          ^~~~~~~~~~
                                                          __attribute__
../node_modules/nan/nan.h:2127:3: error: ‘NanSetTemplate’ was not declared in this scope
   NanSetTemplate(templ->InstanceTemplate(), name, value, attributes);
   ^~~~~~~~~~~~~~
../node_modules/nan/nan.h:2127:3: note: suggested alternative: ‘NanSetInstanceTemplate’
   NanSetTemplate(templ->InstanceTemplate(), name, value, attributes);
   ^~~~~~~~~~~~~~
   NanSetInstanceTemplate
../node_modules/nan/nan.h: At global scope:
../node_modules/nan/nan.h:2134:15: error: variable or field ‘NanExport’ declared void
 NanExport(v8::Handle<v8::Object> target, const char * name,
               ^~~~~~
../node_modules/nan/nan.h:2134:15: error: ‘Handle’ is not a member of ‘v8’
../node_modules/nan/nan.h:2134:32: error: expected primary-expression before ‘>’ token
 NanExport(v8::Handle<v8::Object> target, const char * name,
                                ^
../node_modules/nan/nan.h:2134:34: error: ‘target’ was not declared in this scope
 NanExport(v8::Handle<v8::Object> target, const char * name,
                                  ^~~~~~
../node_modules/nan/nan.h:2134:34: note: suggested alternative: ‘tzset’
 NanExport(v8::Handle<v8::Object> target, const char * name,
                                  ^~~~~~
                                  tzset
../node_modules/nan/nan.h:2134:42: error: expected primary-expression before ‘const’
 NanExport(v8::Handle<v8::Object> target, const char * name,
                                          ^~~~~
../node_modules/nan/nan.h:2135:25: error: expected primary-expression before ‘f’
     NanFunctionCallback f) {
                         ^
../node_modules/nan/nan.h:2143:29: error: expected ‘)’ before ‘<’ token
   explicit NanTap(v8::Handle<v8::Value> t) : t_() {
                  ~          ^
                             )
../node_modules/nan/nan.h: In member function ‘void NanTap::plan(int)’:
../node_modules/nan/nan.h:2150:9: error: ‘Handle’ is not a member of ‘v8’
     v8::Handle<v8::Value> arg = NanNew(i);
         ^~~~~~
../node_modules/nan/nan.h:2150:25: error: expected primary-expression before ‘>’ token
     v8::Handle<v8::Value> arg = NanNew(i);
                         ^
../node_modules/nan/nan.h:2150:27: error: ‘arg’ was not declared in this scope
     v8::Handle<v8::Value> arg = NanNew(i);
                           ^~~
../node_modules/nan/nan.h:2150:39: error: missing template arguments before ‘(’ token
     v8::Handle<v8::Value> arg = NanNew(i);
                                       ^
../node_modules/nan/nan.h:2151:27: error: missing template arguments before ‘(’ token
     NanMakeCallback(NanNew(t_), "plan", 1, &arg);
                           ^
../node_modules/nan/nan.h: In member function ‘void NanTap::ok(bool, const char*)’:
../node_modules/nan/nan.h:2155:9: error: ‘Handle’ is not a member of ‘v8’
     v8::Handle<v8::Value> args[2];
         ^~~~~~
../node_modules/nan/nan.h:2155:25: error: expected primary-expression before ‘>’ token
     v8::Handle<v8::Value> args[2];
                         ^
../node_modules/nan/nan.h:2155:27: error: ‘args’ was not declared in this scope
     v8::Handle<v8::Value> args[2];
                           ^~~~
../node_modules/nan/nan.h:2155:27: note: suggested alternative: ‘abs’
     v8::Handle<v8::Value> args[2];
                           ^~~~
                           abs
../node_modules/nan/nan.h:2156:21: error: missing template arguments before ‘(’ token
     args[0] = NanNew(isOk);
                     ^
../node_modules/nan/nan.h:2157:30: error: missing template arguments before ‘(’ token
     if (msg) args[1] = NanNew(msg);
                              ^
../node_modules/nan/nan.h:2158:27: error: missing template arguments before ‘(’ token
     NanMakeCallback(NanNew(t_), "ok", msg ? 2 : 1, args);
                           ^
../src/addon.cc: At global scope:
../src/addon.cc:32:11: error: ‘v8::Handle’ has not been declared
 using v8::Handle;
           ^~~~~~
../src/addon.cc:36:14: error: variable or field ‘InitAll’ declared void
 void InitAll(Handle<Object> exports) {
              ^~~~~~
../src/addon.cc:36:14: error: ‘Handle’ was not declared in this scope
../src/addon.cc:36:14: note: suggested alternative: ‘rand_r’
 void InitAll(Handle<Object> exports) {
              ^~~~~~
              rand_r
../src/addon.cc:36:27: error: expected primary-expression before ‘>’ token
 void InitAll(Handle<Object> exports) {
                           ^
../src/addon.cc:36:29: error: ‘exports’ was not declared in this scope
 void InitAll(Handle<Object> exports) {
                             ^~~~~~~
In file included from ../src/addon.cc:25:
../src/addon.cc:45:20: error: ‘InitAll’ was not declared in this scope
 NODE_MODULE(addon, InitAll)
                    ^~~~~~~
/home/pi/.cache/node-gyp/13.9.0/include/node/node.h:618:36: note: in definition of macro ‘NODE_MODULE_X’
       (node::addon_register_func) (regfunc),                          \
                                    ^~~~~~~
../src/addon.cc:45:1: note: in expansion of macro ‘NODE_MODULE’
 NODE_MODULE(addon, InitAll)
 ^~~~~~~~~~~
In file included from ../src/addon.cc:26:
../node_modules/nan/nan.h:1808:13: warning: ‘_NanGetExternalParts’ defined but not used [-Wunused-variable]
 static bool _NanGetExternalParts(
             ^~~~~~~~~~~~~~~~~~~~
make: *** [addon.target.mk:112: Release/obj.target/addon/src/addon.o] Fehler 1
AlexKutschera commented 4 years ago

fixed by using --force and inserting rpio.node by hand