robotjs: nodejs v12 fails to build

$ yarn add robotjs
yarn add v1.19.1
info No lockfile found.
[1/4] šŸ”  Resolving packages...
[2/4] 🚚  Fetching packages...
[3/4] šŸ”—  Linking dependencies...
[4/4] šŸ”Ø  Building fresh packages...
error /Users/bros/Desktop/node_modules/robotjs: Command failed.
Exit code: 1
Command: prebuild-install || node-gyp rebuild
Arguments: 
Directory: /Users/bros/Desktop/node_modules/robotjs
Output:
prebuild-install WARN install No prebuilt binaries found (target=12.13.0 runtime=node arch=x64 platform=darwin)
gyp info it worked if it ends with ok
gyp info using node-gyp@5.0.5
gyp info using node@12.13.0 | darwin | x64
gyp info find Python using Python version 2.7.15 found at "/usr/local/opt/python@2/bin/python2.7"
gyp info spawn /usr/local/opt/python@2/bin/python2.7
gyp info spawn args [
gyp info spawn args   '/usr/local/node-v12.13.0-darwin-x64/lib/node_modules/npm/node_modules/node-gyp/gyp/gyp_main.py',
gyp info spawn args   'binding.gyp',
gyp info spawn args   '-f',
gyp info spawn args   'make',
gyp info spawn args   '-I',
gyp info spawn args   '/Users/bros/Desktop/node_modules/robotjs/build/config.gypi',
gyp info spawn args   '-I',
gyp info spawn args   '/usr/local/node-v12.13.0-darwin-x64/lib/node_modules/npm/node_modules/node-gyp/addon.gypi',
gyp info spawn args   '-I',
gyp info spawn args   '/Users/bros/Library/Caches/node-gyp/12.13.0/include/node/common.gypi',
gyp info spawn args   '-Dlibrary=shared_library',
gyp info spawn args   '-Dvisibility=default',
gyp info spawn args   '-Dnode_root_dir=/Users/bros/Library/Caches/node-gyp/12.13.0',
gyp info spawn args   '-Dnode_gyp_dir=/usr/local/node-v12.13.0-darwin-x64/lib/node_modules/npm/node_modules/node-gyp',
gyp info spawn args   '-Dnode_lib_file=/Users/bros/Library/Caches/node-gyp/12.13.0/<(target_arch)/node.lib',
gyp info spawn args   '-Dmodule_root_dir=/Users/bros/Desktop/node_modules/robotjs',
gyp info spawn args   '-Dnode_engine=v8',
gyp info spawn args   '--depth=.',
gyp info spawn args   '--no-parallel',
gyp info spawn args   '--generator-output',
gyp info spawn args   'build',
gyp info spawn args   '-Goutput_dir=.'
gyp info spawn args ]
gyp info spawn make
gyp info spawn args [ 'BUILDTYPE=Release', '-C', 'build' ]
  CXX(target) Release/obj.target/robotjs/src/robotjs.o
../src/robotjs.cc:63:39: error: too few arguments to function call, single argument 'context' was not specified
        const size_t x = info[0]->Int32Value();
                         ~~~~~~~~~~~~~~~~~~~ ^
/Users/bros/Library/Caches/node-gyp/12.13.0/include/node/v8.h:2613:3: note: 'Int32Value' declared here
  V8_WARN_UNUSED_RESULT Maybe<int32_t> Int32Value(Local<Context> context) const;
  ^
/Users/bros/Library/Caches/node-gyp/12.13.0/include/node/v8config.h:351:31: note: expanded from macro 'V8_WARN_UNUSED_RESULT'
#define V8_WARN_UNUSED_RESULT __attribute__((warn_unused_result))
                              ^
../src/robotjs.cc:64:39: error: too few arguments to function call, single argument 'context' was not specified
        const size_t y = info[1]->Int32Value();
                         ~~~~~~~~~~~~~~~~~~~ ^
/Users/bros/Library/Caches/node-gyp/12.13.0/include/node/v8.h:2613:3: note: 'Int32Value' declared here
  V8_WARN_UNUSED_RESULT Maybe<int32_t> Int32Value(Local<Context> context) const;
  ^
/Users/bros/Library/Caches/node-gyp/12.13.0/include/node/v8config.h:351:31: note: expanded from macro 'V8_WARN_UNUSED_RESULT'
#define V8_WARN_UNUSED_RESULT __attribute__((warn_unused_result))
                              ^
../src/robotjs.cc:97:33: error: too few arguments to function call, single argument 'context' was not specified
        size_t x = info[0]->Int32Value();
                   ~~~~~~~~~~~~~~~~~~~ ^
/Users/bros/Library/Caches/node-gyp/12.13.0/include/node/v8.h:2613:3: note: 'Int32Value' declared here
  V8_WARN_UNUSED_RESULT Maybe<int32_t> Int32Value(Local<Context> context) const;
  ^
/Users/bros/Library/Caches/node-gyp/12.13.0/include/node/v8config.h:351:31: note: expanded from macro 'V8_WARN_UNUSED_RESULT'
#define V8_WARN_UNUSED_RESULT __attribute__((warn_unused_result))
                              ^
../src/robotjs.cc:98:33: error: too few arguments to function call, single argument 'context' was not specified
        size_t y = info[1]->Int32Value();
                   ~~~~~~~~~~~~~~~~~~~ ^
/Users/bros/Library/Caches/node-gyp/12.13.0/include/node/v8.h:2613:3: note: 'Int32Value' declared here
  V8_WARN_UNUSED_RESULT Maybe<int32_t> Int32Value(Local<Context> context) const;
  ^
/Users/bros/Library/Caches/node-gyp/12.13.0/include/node/v8config.h:351:31: note: expanded from macro 'V8_WARN_UNUSED_RESULT'
#define V8_WARN_UNUSED_RESULT __attribute__((warn_unused_result))
                              ^
../src/robotjs.cc:114:33: error: too few arguments to function call, single argument 'context' was not specified
        size_t x = info[0]->Int32Value();
                   ~~~~~~~~~~~~~~~~~~~ ^
/Users/bros/Library/Caches/node-gyp/12.13.0/include/node/v8.h:2613:3: note: 'Int32Value' declared here
  V8_WARN_UNUSED_RESULT Maybe<int32_t> Int32Value(Local<Context> context) const;
  ^
/Users/bros/Library/Caches/node-gyp/12.13.0/include/node/v8config.h:351:31: note: expanded from macro 'V8_WARN_UNUSED_RESULT'
#define V8_WARN_UNUSED_RESULT __attribute__((warn_unused_result))
                              ^
../src/robotjs.cc:115:33: error: too few arguments to function call, single argument 'context' was not specified
        size_t y = info[1]->Int32Value();
                   ~~~~~~~~~~~~~~~~~~~ ^
/Users/bros/Library/Caches/node-gyp/12.13.0/include/node/v8.h:2613:3: note: 'Int32Value' declared here
  V8_WARN_UNUSED_RESULT Maybe<int32_t> Int32Value(Local<Context> context) const;
  ^
/Users/bros/Library/Caches/node-gyp/12.13.0/include/node/v8config.h:351:31: note: expanded from macro 'V8_WARN_UNUSED_RESULT'
#define V8_WARN_UNUSED_RESULT __attribute__((warn_unused_result))
                              ^
../src/robotjs.cc:143:39: error: no matching member function for call to 'ToString'
                v8::String::Utf8Value bstr(info[0]->ToString());
                                           ~~~~~~~~~^~~~~~~~
/Users/bros/Library/Caches/node-gyp/12.13.0/include/node/v8.h:2572:44: note: candidate function not viable: requires single argument 'context', but no arguments were provided
  V8_WARN_UNUSED_RESULT MaybeLocal<String> ToString(
                                           ^
/Users/bros/Library/Caches/node-gyp/12.13.0/include/node/v8.h:2588:31: note: candidate function not viable: requires single argument 'isolate', but no arguments were provided
                Local<String> ToString(Isolate* isolate) const);
                              ^
../src/robotjs.cc:159:22: error: no matching member function for call to 'BooleanValue'
                doubleC = info[1]->BooleanValue();
                          ~~~~~~~~~^~~~~~~~~~~~
/Users/bros/Library/Caches/node-gyp/12.13.0/include/node/v8.h:2603:8: note: candidate function not viable: requires single argument 'isolate', but no arguments were provided
  bool BooleanValue(Isolate* isolate) const;
       ^
/Users/bros/Library/Caches/node-gyp/12.13.0/include/node/v8.h:2606:51: note: candidate function not viable: requires single argument 'context', but no arguments were provided
                V8_WARN_UNUSED_RESULT Maybe<bool> BooleanValue(
                                                  ^
../src/robotjs.cc:239:35: error: too few arguments to function call, single argument 'context' was not specified
        mouseDelay = info[0]->Int32Value();
                     ~~~~~~~~~~~~~~~~~~~ ^
/Users/bros/Library/Caches/node-gyp/12.13.0/include/node/v8.h:2613:3: note: 'Int32Value' declared here
  V8_WARN_UNUSED_RESULT Maybe<int32_t> Int32Value(Local<Context> context) const;
  ^
/Users/bros/Library/Caches/node-gyp/12.13.0/include/node/v8config.h:351:31: note: expanded from macro 'V8_WARN_UNUSED_RESULT'
#define V8_WARN_UNUSED_RESULT __attribute__((warn_unused_result))
                              ^
../src/robotjs.cc:251:30: error: too few arguments to function call, single argument 'context' was not specified
        int x = info[0]->Int32Value();
                ~~~~~~~~~~~~~~~~~~~ ^
/Users/bros/Library/Caches/node-gyp/12.13.0/include/node/v8.h:2613:3: note: 'Int32Value' declared here
  V8_WARN_UNUSED_RESULT Maybe<int32_t> Int32Value(Local<Context> context) const;
  ^
/Users/bros/Library/Caches/node-gyp/12.13.0/include/node/v8config.h:351:31: note: expanded from macro 'V8_WARN_UNUSED_RESULT'
#define V8_WARN_UNUSED_RESULT __attribute__((warn_unused_result))
                              ^
../src/robotjs.cc:252:30: error: too few arguments to function call, single argument 'context' was not specified
        int y = info[1]->Int32Value();
                ~~~~~~~~~~~~~~~~~~~ ^
/Users/bros/Library/Caches/node-gyp/12.13.0/include/node/v8.h:2613:3: note: 'Int32Value' declared here
  V8_WARN_UNUSED_RESULT Maybe<int32_t> Int32Value(Local<Context> context) const;
  ^
/Users/bros/Library/Caches/node-gyp/12.13.0/include/node/v8config.h:351:31: note: expanded from macro 'V8_WARN_UNUSED_RESULT'
#define V8_WARN_UNUSED_RESULT __attribute__((warn_unused_result))
                              ^
../src/robotjs.cc:418:44: error: expected '(' for function-style cast or type construction
int GetFlagsFromString(v8::Handle<v8::Value> value, MMKeyFlags* flags)
                                  ~~~~~~~~~^
../src/robotjs.cc:418:28: error: no member named 'Handle' in namespace 'v8'
int GetFlagsFromString(v8::Handle<v8::Value> value, MMKeyFlags* flags)
                       ~~~~^
../src/robotjs.cc:418:46: error: use of undeclared identifier 'value'; did you mean 'False'?
int GetFlagsFromString(v8::Handle<v8::Value> value, MMKeyFlags* flags)
                                             ^~~~~
                                             False
/Users/bros/Library/Caches/node-gyp/12.13.0/include/node/v8.h:304:25: note: 'False' declared here
  friend Local<Boolean> False(Isolate* isolate);
                        ^
../src/robotjs.cc:418:53: error: unexpected type name 'MMKeyFlags': expected expression
int GetFlagsFromString(v8::Handle<v8::Value> value, MMKeyFlags* flags)
                                                    ^
../src/robotjs.cc:418:65: error: use of undeclared identifier 'flags'
int GetFlagsFromString(v8::Handle<v8::Value> value, MMKeyFlags* flags)
                                                                ^
../src/robotjs.cc:418:71: error: expected ';' after top level declarator
int GetFlagsFromString(v8::Handle<v8::Value> value, MMKeyFlags* flags)
                                                                      ^
                                                                      ;
../src/robotjs.cc:762:1: error: unknown type name 'BMP'
BMP buildBMP(Local<Object> info)
^
../src/robotjs.cc:766:2: error: unknown type name 'BMP'
        BMP img;
        ^
../src/robotjs.cc:768:19: warning: 'Get' is deprecated: Use maybe version [-Wdeprecated-declarations]
        img.width = obj->Get(Nan::New("width").ToLocalChecked())->Uint32Value();
                         ^
/Users/bros/Library/Caches/node-gyp/12.13.0/include/node/v8.h:3457:3: note: 'Get' has been explicitly marked deprecated here
  V8_DEPRECATED("Use maybe version", Local<Value> Get(Local<Value> key));
  ^
/Users/bros/Library/Caches/node-gyp/12.13.0/include/node/v8config.h:311:29: note: expanded from macro 'V8_DEPRECATED'
  declarator __attribute__((deprecated(message)))
                            ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
1 warning and 20 errors generated.
make: *** [Release/obj.target/robotjs/src/robotjs.o] Error 1
gyp ERR! build error 
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/usr/local/node-v12.13.0-darwin-x64/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:194:23)
gyp ERR! stack     at ChildProcess.emit (events.js:210:5)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:272:12)
gyp ERR! System Darwin 17.7.0
gyp ERR! command "/usr/local/node-v12.13.0-darwin-x64/bin/node" "/usr/local/node-v12.13.0-darwin-x64/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /Users/bros/Desktop/node_modules/robotjs
gyp ERR! node -v v12.13.0
gyp ERR! node-gyp -v v5.0.5
gyp ERR! not ok

About this issue

  • Original URL
  • State: closed
  • Created 5 years ago
  • Reactions: 8
  • Comments: 19

Most upvoted comments

Me tow

> robotjs@0.5.1 install /var/www/node_sass/node_modules/robotjs
> prebuild-install || node-gyp rebuild

prebuild-install WARN install No prebuilt binaries found (target=12.13.0 runtime=node arch=x64 platform=linux)
make: Entering directory '/var/www/node_sass/node_modules/robotjs/build'
  CXX(target) Release/obj.target/robotjs/src/robotjs.o
cc1plus: warning: command line option '-Wbad-function-cast' is valid for C/ObjC but not for C++
In file included from ../src/robotjs.cc:2:
../../nan/nan.h: In function 'void Nan::AsyncQueueWorker(Nan::AsyncWorker*)':
../../nan/nan.h:2298:62: warning: cast between incompatible function types from 'void (*)(uv_work_t*)' {aka 'void (*)(uv_work_s*)'} to 'uv_after_work_cb' {aka 'void (*)(uv_work_s*, int)'} [-Wcast-function-type]
 2298 |     , reinterpret_cast<uv_after_work_cb>(AsyncExecuteComplete)
      |                                                              ^
../src/robotjs.cc: In function 'Nan::NAN_METHOD_RETURN_TYPE dragMouse(Nan::NAN_METHOD_ARGS_TYPE)':
../src/robotjs.cc:63:39: error: no matching function for call to 'v8::Value::Int32Value()'
   63 |  const size_t x = info[0]->Int32Value();
      |                                       ^
In file included from /root/.cache/node-gyp/12.13.0/include/node/node.h:63,
                 from ../src/robotjs.cc:1:
/root/.cache/node-gyp/12.13.0/include/node/v8.h:2613:40: note: candidate: 'v8::Maybe<int> v8::Value::Int32Value(v8::Local<v8::Context>) const'
 2613 |   V8_WARN_UNUSED_RESULT Maybe<int32_t> Int32Value(Local<Context> context) const;
      |                                        ^~~~~~~~~~
/root/.cache/node-gyp/12.13.0/include/node/v8.h:2613:40: note:   candidate expects 1 argument, 0 provided
../src/robotjs.cc:64:39: error: no matching function for call to 'v8::Value::Int32Value()'
   64 |  const size_t y = info[1]->Int32Value();
      |                                       ^
In file included from /root/.cache/node-gyp/12.13.0/include/node/node.h:63,
                 from ../src/robotjs.cc:1:
/root/.cache/node-gyp/12.13.0/include/node/v8.h:2613:40: note: candidate: 'v8::Maybe<int> v8::Value::Int32Value(v8::Local<v8::Context>) const'
 2613 |   V8_WARN_UNUSED_RESULT Maybe<int32_t> Int32Value(Local<Context> context) const;
      |                                        ^~~~~~~~~~
/root/.cache/node-gyp/12.13.0/include/node/v8.h:2613:40: note:   candidate expects 1 argument, 0 provided
../src/robotjs.cc: In function 'Nan::NAN_METHOD_RETURN_TYPE moveMouse(Nan::NAN_METHOD_ARGS_TYPE)':
../src/robotjs.cc:97:33: error: no matching function for call to 'v8::Value::Int32Value()'
   97 |  size_t x = info[0]->Int32Value();
      |                                 ^
In file included from /root/.cache/node-gyp/12.13.0/include/node/node.h:63,
                 from ../src/robotjs.cc:1:
/root/.cache/node-gyp/12.13.0/include/node/v8.h:2613:40: note: candidate: 'v8::Maybe<int> v8::Value::Int32Value(v8::Local<v8::Context>) const'
 2613 |   V8_WARN_UNUSED_RESULT Maybe<int32_t> Int32Value(Local<Context> context) const;
      |                                        ^~~~~~~~~~
/root/.cache/node-gyp/12.13.0/include/node/v8.h:2613:40: note:   candidate expects 1 argument, 0 provided
../src/robotjs.cc:98:33: error: no matching function for call to 'v8::Value::Int32Value()'
   98 |  size_t y = info[1]->Int32Value();
      |                                 ^
In file included from /root/.cache/node-gyp/12.13.0/include/node/node.h:63,
                 from ../src/robotjs.cc:1:
/root/.cache/node-gyp/12.13.0/include/node/v8.h:2613:40: note: candidate: 'v8::Maybe<int> v8::Value::Int32Value(v8::Local<v8::Context>) const'
 2613 |   V8_WARN_UNUSED_RESULT Maybe<int32_t> Int32Value(Local<Context> context) const;
      |                                        ^~~~~~~~~~
/root/.cache/node-gyp/12.13.0/include/node/v8.h:2613:40: note:   candidate expects 1 argument, 0 provided
../src/robotjs.cc: In function 'Nan::NAN_METHOD_RETURN_TYPE moveMouseSmooth(Nan::NAN_METHOD_ARGS_TYPE)':
../src/robotjs.cc:114:33: error: no matching function for call to 'v8::Value::Int32Value()'
  114 |  size_t x = info[0]->Int32Value();
      |                                 ^
In file included from /root/.cache/node-gyp/12.13.0/include/node/node.h:63,
                 from ../src/robotjs.cc:1:
/root/.cache/node-gyp/12.13.0/include/node/v8.h:2613:40: note: candidate: 'v8::Maybe<int> v8::Value::Int32Value(v8::Local<v8::Context>) const'
 2613 |   V8_WARN_UNUSED_RESULT Maybe<int32_t> Int32Value(Local<Context> context) const;
      |                                        ^~~~~~~~~~
/root/.cache/node-gyp/12.13.0/include/node/v8.h:2613:40: note:   candidate expects 1 argument, 0 provided
../src/robotjs.cc:115:33: error: no matching function for call to 'v8::Value::Int32Value()'
  115 |  size_t y = info[1]->Int32Value();
      |                                 ^
In file included from /root/.cache/node-gyp/12.13.0/include/node/node.h:63,
                 from ../src/robotjs.cc:1:
/root/.cache/node-gyp/12.13.0/include/node/v8.h:2613:40: note: candidate: 'v8::Maybe<int> v8::Value::Int32Value(v8::Local<v8::Context>) const'
 2613 |   V8_WARN_UNUSED_RESULT Maybe<int32_t> Int32Value(Local<Context> context) const;
      |                                        ^~~~~~~~~~
/root/.cache/node-gyp/12.13.0/include/node/v8.h:2613:40: note:   candidate expects 1 argument, 0 provided
../src/robotjs.cc: In function 'Nan::NAN_METHOD_RETURN_TYPE mouseClick(Nan::NAN_METHOD_ARGS_TYPE)':
../src/robotjs.cc:143:48: error: no matching function for call to 'v8::Value::ToString()'
  143 |   v8::String::Utf8Value bstr(info[0]->ToString());
      |                                                ^
In file included from /root/.cache/node-gyp/12.13.0/include/node/node.h:63,
                 from ../src/robotjs.cc:1:
/root/.cache/node-gyp/12.13.0/include/node/v8.h:2572:44: note: candidate: 'v8::MaybeLocal<v8::String> v8::Value::ToString(v8::Local<v8::Context>) const'
 2572 |   V8_WARN_UNUSED_RESULT MaybeLocal<String> ToString(
      |                                            ^~~~~~~~
/root/.cache/node-gyp/12.13.0/include/node/v8.h:2572:44: note:   candidate expects 1 argument, 0 provided
In file included from /root/.cache/node-gyp/12.13.0/include/node/v8-internal.h:14,
                 from /root/.cache/node-gyp/12.13.0/include/node/v8.h:25,
                 from /root/.cache/node-gyp/12.13.0/include/node/node.h:63,
                 from ../src/robotjs.cc:1:
/root/.cache/node-gyp/12.13.0/include/node/v8.h:2588:31: note: candidate: 'v8::Local<v8::String> v8::Value::ToString(v8::Isolate*) const'
 2588 |                 Local<String> ToString(Isolate* isolate) const);
      |                               ^~~~~~~~
/root/.cache/node-gyp/12.13.0/include/node/v8config.h:311:3: note: in definition of macro 'V8_DEPRECATED'
  311 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
/root/.cache/node-gyp/12.13.0/include/node/v8.h:2588:31: note:   candidate expects 1 argument, 0 provided
 2588 |                 Local<String> ToString(Isolate* isolate) const);
      |                               ^~~~~~~~
/root/.cache/node-gyp/12.13.0/include/node/v8config.h:311:3: note: in definition of macro 'V8_DEPRECATED'
  311 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
../src/robotjs.cc:159:35: error: no matching function for call to 'v8::Value::BooleanValue()'
  159 |   doubleC = info[1]->BooleanValue();
      |                                   ^
In file included from /root/.cache/node-gyp/12.13.0/include/node/node.h:63,
                 from ../src/robotjs.cc:1:
/root/.cache/node-gyp/12.13.0/include/node/v8.h:2603:8: note: candidate: 'bool v8::Value::BooleanValue(v8::Isolate*) const'
 2603 |   bool BooleanValue(Isolate* isolate) const;
      |        ^~~~~~~~~~~~
/root/.cache/node-gyp/12.13.0/include/node/v8.h:2603:8: note:   candidate expects 1 argument, 0 provided
In file included from /root/.cache/node-gyp/12.13.0/include/node/v8-internal.h:14,
                 from /root/.cache/node-gyp/12.13.0/include/node/v8.h:25,
                 from /root/.cache/node-gyp/12.13.0/include/node/node.h:63,
                 from ../src/robotjs.cc:1:
/root/.cache/node-gyp/12.13.0/include/node/v8.h:2606:51: note: candidate: 'v8::Maybe<bool> v8::Value::BooleanValue(v8::Local<v8::Context>) const'
 2606 |                 V8_WARN_UNUSED_RESULT Maybe<bool> BooleanValue(
      |                                                   ^~~~~~~~~~~~
/root/.cache/node-gyp/12.13.0/include/node/v8config.h:311:3: note: in definition of macro 'V8_DEPRECATED'
  311 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
/root/.cache/node-gyp/12.13.0/include/node/v8.h:2606:51: note:   candidate expects 1 argument, 0 provided
 2606 |                 V8_WARN_UNUSED_RESULT Maybe<bool> BooleanValue(
      |                                                   ^~~~~~~~~~~~
/root/.cache/node-gyp/12.13.0/include/node/v8config.h:311:3: note: in definition of macro 'V8_DEPRECATED'
  311 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
../src/robotjs.cc: In function 'Nan::NAN_METHOD_RETURN_TYPE setMouseDelay(Nan::NAN_METHOD_ARGS_TYPE)':
../src/robotjs.cc:239:35: error: no matching function for call to 'v8::Value::Int32Value()'
  239 |  mouseDelay = info[0]->Int32Value();
      |                                   ^
In file included from /root/.cache/node-gyp/12.13.0/include/node/node.h:63,
                 from ../src/robotjs.cc:1:
/root/.cache/node-gyp/12.13.0/include/node/v8.h:2613:40: note: candidate: 'v8::Maybe<int> v8::Value::Int32Value(v8::Local<v8::Context>) const'
 2613 |   V8_WARN_UNUSED_RESULT Maybe<int32_t> Int32Value(Local<Context> context) const;
      |                                        ^~~~~~~~~~
/root/.cache/node-gyp/12.13.0/include/node/v8.h:2613:40: note:   candidate expects 1 argument, 0 provided
../src/robotjs.cc: In function 'Nan::NAN_METHOD_RETURN_TYPE scrollMouse(Nan::NAN_METHOD_ARGS_TYPE)':
../src/robotjs.cc:251:30: error: no matching function for call to 'v8::Value::Int32Value()'
  251 |  int x = info[0]->Int32Value();
      |                              ^
In file included from /root/.cache/node-gyp/12.13.0/include/node/node.h:63,
                 from ../src/robotjs.cc:1:
/root/.cache/node-gyp/12.13.0/include/node/v8.h:2613:40: note: candidate: 'v8::Maybe<int> v8::Value::Int32Value(v8::Local<v8::Context>) const'
 2613 |   V8_WARN_UNUSED_RESULT Maybe<int32_t> Int32Value(Local<Context> context) const;
      |                                        ^~~~~~~~~~
/root/.cache/node-gyp/12.13.0/include/node/v8.h:2613:40: note:   candidate expects 1 argument, 0 provided
../src/robotjs.cc:252:30: error: no matching function for call to 'v8::Value::Int32Value()'
  252 |  int y = info[1]->Int32Value();
      |                              ^
In file included from /root/.cache/node-gyp/12.13.0/include/node/node.h:63,
                 from ../src/robotjs.cc:1:
/root/.cache/node-gyp/12.13.0/include/node/v8.h:2613:40: note: candidate: 'v8::Maybe<int> v8::Value::Int32Value(v8::Local<v8::Context>) const'
 2613 |   V8_WARN_UNUSED_RESULT Maybe<int32_t> Int32Value(Local<Context> context) const;
      |                                        ^~~~~~~~~~
/root/.cache/node-gyp/12.13.0/include/node/v8.h:2613:40: note:   candidate expects 1 argument, 0 provided
../src/robotjs.cc: At global scope:
../src/robotjs.cc:418:28: error: 'Handle' is not a member of 'v8'
  418 | int GetFlagsFromString(v8::Handle<v8::Value> value, MMKeyFlags* flags)
      |                            ^~~~~~
../src/robotjs.cc:418:44: error: expected primary-expression before '>' token
  418 | int GetFlagsFromString(v8::Handle<v8::Value> value, MMKeyFlags* flags)
      |                                            ^
../src/robotjs.cc:418:46: error: 'value' was not declared in this scope
  418 | int GetFlagsFromString(v8::Handle<v8::Value> value, MMKeyFlags* flags)
      |                                              ^~~~~
../src/robotjs.cc:418:63: error: expected primary-expression before '*' token
  418 | int GetFlagsFromString(v8::Handle<v8::Value> value, MMKeyFlags* flags)
      |                                                               ^
../src/robotjs.cc:418:65: error: 'flags' was not declared in this scope
  418 | int GetFlagsFromString(v8::Handle<v8::Value> value, MMKeyFlags* flags)
      |                                                                 ^~~~~
../src/robotjs.cc:418:70: error: expression list treated as compound expression in initializer [-fpermissive]
  418 | int GetFlagsFromString(v8::Handle<v8::Value> value, MMKeyFlags* flags)
      |                                                                      ^
../src/robotjs.cc:424:27: error: 'Handle' is not a member of 'v8'
  424 | int GetFlagsFromValue(v8::Handle<v8::Value> value, MMKeyFlags* flags)
      |                           ^~~~~~
../src/robotjs.cc:424:43: error: expected primary-expression before '>' token
  424 | int GetFlagsFromValue(v8::Handle<v8::Value> value, MMKeyFlags* flags)
      |                                           ^
../src/robotjs.cc:424:45: error: 'value' was not declared in this scope
  424 | int GetFlagsFromValue(v8::Handle<v8::Value> value, MMKeyFlags* flags)
      |                                             ^~~~~
../src/robotjs.cc:424:62: error: expected primary-expression before '*' token
  424 | int GetFlagsFromValue(v8::Handle<v8::Value> value, MMKeyFlags* flags)
      |                                                              ^
../src/robotjs.cc:424:64: error: 'flags' was not declared in this scope
  424 | int GetFlagsFromValue(v8::Handle<v8::Value> value, MMKeyFlags* flags)
      |                                                                ^~~~~
../src/robotjs.cc:424:69: error: expression list treated as compound expression in initializer [-fpermissive]
  424 | int GetFlagsFromValue(v8::Handle<v8::Value> value, MMKeyFlags* flags)
      |                                                                     ^
../src/robotjs.cc: In function 'Nan::NAN_METHOD_RETURN_TYPE keyTap(Nan::NAN_METHOD_ARGS_TYPE)':
../src/robotjs.cc:457:47: error: no matching function for call to 'v8::Value::ToString()'
  457 |  v8::String::Utf8Value kstr(info[0]->ToString());
      |                                               ^
In file included from /root/.cache/node-gyp/12.13.0/include/node/node.h:63,
                 from ../src/robotjs.cc:1:
/root/.cache/node-gyp/12.13.0/include/node/v8.h:2572:44: note: candidate: 'v8::MaybeLocal<v8::String> v8::Value::ToString(v8::Local<v8::Context>) const'
 2572 |   V8_WARN_UNUSED_RESULT MaybeLocal<String> ToString(
      |                                            ^~~~~~~~
/root/.cache/node-gyp/12.13.0/include/node/v8.h:2572:44: note:   candidate expects 1 argument, 0 provided
In file included from /root/.cache/node-gyp/12.13.0/include/node/v8-internal.h:14,
                 from /root/.cache/node-gyp/12.13.0/include/node/v8.h:25,
                 from /root/.cache/node-gyp/12.13.0/include/node/node.h:63,
                 from ../src/robotjs.cc:1:
/root/.cache/node-gyp/12.13.0/include/node/v8.h:2588:31: note: candidate: 'v8::Local<v8::String> v8::Value::ToString(v8::Isolate*) const'
 2588 |                 Local<String> ToString(Isolate* isolate) const);
      |                               ^~~~~~~~
/root/.cache/node-gyp/12.13.0/include/node/v8config.h:311:3: note: in definition of macro 'V8_DEPRECATED'
  311 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
/root/.cache/node-gyp/12.13.0/include/node/v8.h:2588:31: note:   candidate expects 1 argument, 0 provided
 2588 |                 Local<String> ToString(Isolate* isolate) const);
      |                               ^~~~~~~~
/root/.cache/node-gyp/12.13.0/include/node/v8config.h:311:3: note: in definition of macro 'V8_DEPRECATED'
  311 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
../src/robotjs.cc:463:45: error: 'GetFlagsFromValue' cannot be used as a function
  463 |    switch (GetFlagsFromValue(info[1], &flags))
      |                                             ^
../src/robotjs.cc: In function 'Nan::NAN_METHOD_RETURN_TYPE keyToggle(Nan::NAN_METHOD_ARGS_TYPE)':
../src/robotjs.cc:515:45: error: 'GetFlagsFromValue' cannot be used as a function
  515 |    switch (GetFlagsFromValue(info[2], &flags))
      |                                             ^
../src/robotjs.cc: In function 'Nan::NAN_METHOD_RETURN_TYPE typeStringDelayed(Nan::NAN_METHOD_ARGS_TYPE)':
../src/robotjs.cc:589:35: error: no matching function for call to 'v8::Value::Int32Value()'
  589 |  size_t cpm = info[1]->Int32Value();
      |                                   ^
In file included from /root/.cache/node-gyp/12.13.0/include/node/node.h:63,
                 from ../src/robotjs.cc:1:
/root/.cache/node-gyp/12.13.0/include/node/v8.h:2613:40: note: candidate: 'v8::Maybe<int> v8::Value::Int32Value(v8::Local<v8::Context>) const'
 2613 |   V8_WARN_UNUSED_RESULT Maybe<int32_t> Int32Value(Local<Context> context) const;
      |                                        ^~~~~~~~~~
/root/.cache/node-gyp/12.13.0/include/node/v8.h:2613:40: note:   candidate expects 1 argument, 0 provided
../src/robotjs.cc: In function 'Nan::NAN_METHOD_RETURN_TYPE setKeyboardDelay(Nan::NAN_METHOD_ARGS_TYPE)':
../src/robotjs.cc:603:38: error: no matching function for call to 'v8::Value::Int32Value()'
  603 |  keyboardDelay = info[0]->Int32Value();
      |                                      ^
In file included from /root/.cache/node-gyp/12.13.0/include/node/node.h:63,
                 from ../src/robotjs.cc:1:
/root/.cache/node-gyp/12.13.0/include/node/v8.h:2613:40: note: candidate: 'v8::Maybe<int> v8::Value::Int32Value(v8::Local<v8::Context>) const'
 2613 |   V8_WARN_UNUSED_RESULT Maybe<int32_t> Int32Value(Local<Context> context) const;
      |                                        ^~~~~~~~~~
/root/.cache/node-gyp/12.13.0/include/node/v8.h:2613:40: note:   candidate expects 1 argument, 0 provided
../src/robotjs.cc: In function 'Nan::NAN_METHOD_RETURN_TYPE getPixelColor(Nan::NAN_METHOD_ARGS_TYPE)':
../src/robotjs.cc:639:33: error: no matching function for call to 'v8::Value::Int32Value()'
  639 |  size_t x = info[0]->Int32Value();
      |                                 ^
In file included from /root/.cache/node-gyp/12.13.0/include/node/node.h:63,
                 from ../src/robotjs.cc:1:
/root/.cache/node-gyp/12.13.0/include/node/v8.h:2613:40: note: candidate: 'v8::Maybe<int> v8::Value::Int32Value(v8::Local<v8::Context>) const'
 2613 |   V8_WARN_UNUSED_RESULT Maybe<int32_t> Int32Value(Local<Context> context) const;
      |                                        ^~~~~~~~~~
/root/.cache/node-gyp/12.13.0/include/node/v8.h:2613:40: note:   candidate expects 1 argument, 0 provided
../src/robotjs.cc:640:33: error: no matching function for call to 'v8::Value::Int32Value()'
  640 |  size_t y = info[1]->Int32Value();
      |                                 ^
In file included from /root/.cache/node-gyp/12.13.0/include/node/node.h:63,
                 from ../src/robotjs.cc:1:
/root/.cache/node-gyp/12.13.0/include/node/v8.h:2613:40: note: candidate: 'v8::Maybe<int> v8::Value::Int32Value(v8::Local<v8::Context>) const'
 2613 |   V8_WARN_UNUSED_RESULT Maybe<int32_t> Int32Value(Local<Context> context) const;
      |                                        ^~~~~~~~~~
/root/.cache/node-gyp/12.13.0/include/node/v8.h:2613:40: note:   candidate expects 1 argument, 0 provided
../src/robotjs.cc: In function 'Nan::NAN_METHOD_RETURN_TYPE captureScreen(Nan::NAN_METHOD_ARGS_TYPE)':
../src/robotjs.cc:708:27: error: no matching function for call to 'v8::Value::Int32Value()'
  708 |   x = info[0]->Int32Value();
      |                           ^
In file included from /root/.cache/node-gyp/12.13.0/include/node/node.h:63,
                 from ../src/robotjs.cc:1:
/root/.cache/node-gyp/12.13.0/include/node/v8.h:2613:40: note: candidate: 'v8::Maybe<int> v8::Value::Int32Value(v8::Local<v8::Context>) const'
 2613 |   V8_WARN_UNUSED_RESULT Maybe<int32_t> Int32Value(Local<Context> context) const;
      |                                        ^~~~~~~~~~
/root/.cache/node-gyp/12.13.0/include/node/v8.h:2613:40: note:   candidate expects 1 argument, 0 provided
../src/robotjs.cc:709:27: error: no matching function for call to 'v8::Value::Int32Value()'
  709 |   y = info[1]->Int32Value();
      |                           ^
In file included from /root/.cache/node-gyp/12.13.0/include/node/node.h:63,
                 from ../src/robotjs.cc:1:
/root/.cache/node-gyp/12.13.0/include/node/v8.h:2613:40: note: candidate: 'v8::Maybe<int> v8::Value::Int32Value(v8::Local<v8::Context>) const'
 2613 |   V8_WARN_UNUSED_RESULT Maybe<int32_t> Int32Value(Local<Context> context) const;
      |                                        ^~~~~~~~~~
/root/.cache/node-gyp/12.13.0/include/node/v8.h:2613:40: note:   candidate expects 1 argument, 0 provided
../src/robotjs.cc:710:27: error: no matching function for call to 'v8::Value::Int32Value()'
  710 |   w = info[2]->Int32Value();
      |                           ^
In file included from /root/.cache/node-gyp/12.13.0/include/node/node.h:63,
                 from ../src/robotjs.cc:1:
/root/.cache/node-gyp/12.13.0/include/node/v8.h:2613:40: note: candidate: 'v8::Maybe<int> v8::Value::Int32Value(v8::Local<v8::Context>) const'
 2613 |   V8_WARN_UNUSED_RESULT Maybe<int32_t> Int32Value(Local<Context> context) const;
      |                                        ^~~~~~~~~~
/root/.cache/node-gyp/12.13.0/include/node/v8.h:2613:40: note:   candidate expects 1 argument, 0 provided
../src/robotjs.cc:711:27: error: no matching function for call to 'v8::Value::Int32Value()'
  711 |   h = info[3]->Int32Value();
      |                           ^
In file included from /root/.cache/node-gyp/12.13.0/include/node/node.h:63,
                 from ../src/robotjs.cc:1:
/root/.cache/node-gyp/12.13.0/include/node/v8.h:2613:40: note: candidate: 'v8::Maybe<int> v8::Value::Int32Value(v8::Local<v8::Context>) const'
 2613 |   V8_WARN_UNUSED_RESULT Maybe<int32_t> Int32Value(Local<Context> context) const;
      |                                        ^~~~~~~~~~
/root/.cache/node-gyp/12.13.0/include/node/v8.h:2613:40: note:   candidate expects 1 argument, 0 provided
../src/robotjs.cc: In function 'BMP buildBMP(v8::Local<v8::Object>)':
../src/robotjs.cc:768:57: warning: 'v8::Local<v8::Value> v8::Object::Get(v8::Local<v8::Value>)' is deprecated: Use maybe version [-Wdeprecated-declarations]
  768 |  img.width = obj->Get(Nan::New("width").ToLocalChecked())->Uint32Value();
      |                                                         ^
In file included from /root/.cache/node-gyp/12.13.0/include/node/v8-internal.h:14,
                 from /root/.cache/node-gyp/12.13.0/include/node/v8.h:25,
                 from /root/.cache/node-gyp/12.13.0/include/node/node.h:63,
                 from ../src/robotjs.cc:1:
/root/.cache/node-gyp/12.13.0/include/node/v8.h:3457:51: note: declared here
 3457 |   V8_DEPRECATED("Use maybe version", Local<Value> Get(Local<Value> key));
      |                                                   ^~~
/root/.cache/node-gyp/12.13.0/include/node/v8config.h:311:3: note: in definition of macro 'V8_DEPRECATED'
  311 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
../src/robotjs.cc:768:72: error: no matching function for call to 'v8::Value::Uint32Value()'
  768 |  img.width = obj->Get(Nan::New("width").ToLocalChecked())->Uint32Value();
      |                                                                        ^
In file included from /root/.cache/node-gyp/12.13.0/include/node/node.h:63,
                 from ../src/robotjs.cc:1:
/root/.cache/node-gyp/12.13.0/include/node/v8.h:2611:41: note: candidate: 'v8::Maybe<unsigned int> v8::Value::Uint32Value(v8::Local<v8::Context>) const'
 2611 |   V8_WARN_UNUSED_RESULT Maybe<uint32_t> Uint32Value(
      |                                         ^~~~~~~~~~~
/root/.cache/node-gyp/12.13.0/include/node/v8.h:2611:41: note:   candidate expects 1 argument, 0 provided
../src/robotjs.cc:769:59: warning: 'v8::Local<v8::Value> v8::Object::Get(v8::Local<v8::Value>)' is deprecated: Use maybe version [-Wdeprecated-declarations]
  769 |  img.height = obj->Get(Nan::New("height").ToLocalChecked())->Uint32Value();
      |                                                           ^
In file included from /root/.cache/node-gyp/12.13.0/include/node/v8-internal.h:14,
                 from /root/.cache/node-gyp/12.13.0/include/node/v8.h:25,
                 from /root/.cache/node-gyp/12.13.0/include/node/node.h:63,
                 from ../src/robotjs.cc:1:
/root/.cache/node-gyp/12.13.0/include/node/v8.h:3457:51: note: declared here
 3457 |   V8_DEPRECATED("Use maybe version", Local<Value> Get(Local<Value> key));
      |                                                   ^~~
/root/.cache/node-gyp/12.13.0/include/node/v8config.h:311:3: note: in definition of macro 'V8_DEPRECATED'
  311 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
../src/robotjs.cc:769:74: error: no matching function for call to 'v8::Value::Uint32Value()'
  769 |  img.height = obj->Get(Nan::New("height").ToLocalChecked())->Uint32Value();
      |                                                                          ^
In file included from /root/.cache/node-gyp/12.13.0/include/node/node.h:63,
                 from ../src/robotjs.cc:1:
/root/.cache/node-gyp/12.13.0/include/node/v8.h:2611:41: note: candidate: 'v8::Maybe<unsigned int> v8::Value::Uint32Value(v8::Local<v8::Context>) const'
 2611 |   V8_WARN_UNUSED_RESULT Maybe<uint32_t> Uint32Value(
      |                                         ^~~~~~~~~~~
/root/.cache/node-gyp/12.13.0/include/node/v8.h:2611:41: note:   candidate expects 1 argument, 0 provided
../src/robotjs.cc:770:65: warning: 'v8::Local<v8::Value> v8::Object::Get(v8::Local<v8::Value>)' is deprecated: Use maybe version [-Wdeprecated-declarations]
  770 |  img.byteWidth = obj->Get(Nan::New("byteWidth").ToLocalChecked())->Uint32Value();
      |                                                                 ^
In file included from /root/.cache/node-gyp/12.13.0/include/node/v8-internal.h:14,
                 from /root/.cache/node-gyp/12.13.0/include/node/v8.h:25,
                 from /root/.cache/node-gyp/12.13.0/include/node/node.h:63,
                 from ../src/robotjs.cc:1:
/root/.cache/node-gyp/12.13.0/include/node/v8.h:3457:51: note: declared here
 3457 |   V8_DEPRECATED("Use maybe version", Local<Value> Get(Local<Value> key));
      |                                                   ^~~
/root/.cache/node-gyp/12.13.0/include/node/v8config.h:311:3: note: in definition of macro 'V8_DEPRECATED'
  311 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
../src/robotjs.cc:770:80: error: no matching function for call to 'v8::Value::Uint32Value()'
  770 |  img.byteWidth = obj->Get(Nan::New("byteWidth").ToLocalChecked())->Uint32Value();
      |                                                                                ^
In file included from /root/.cache/node-gyp/12.13.0/include/node/node.h:63,
                 from ../src/robotjs.cc:1:
/root/.cache/node-gyp/12.13.0/include/node/v8.h:2611:41: note: candidate: 'v8::Maybe<unsigned int> v8::Value::Uint32Value(v8::Local<v8::Context>) const'
 2611 |   V8_WARN_UNUSED_RESULT Maybe<uint32_t> Uint32Value(
      |                                         ^~~~~~~~~~~
/root/.cache/node-gyp/12.13.0/include/node/v8.h:2611:41: note:   candidate expects 1 argument, 0 provided
../src/robotjs.cc:771:71: warning: 'v8::Local<v8::Value> v8::Object::Get(v8::Local<v8::Value>)' is deprecated: Use maybe version [-Wdeprecated-declarations]
  771 |  img.bitsPerPixel = obj->Get(Nan::New("bitsPerPixel").ToLocalChecked())->Uint32Value();
      |                                                                       ^
In file included from /root/.cache/node-gyp/12.13.0/include/node/v8-internal.h:14,
                 from /root/.cache/node-gyp/12.13.0/include/node/v8.h:25,
                 from /root/.cache/node-gyp/12.13.0/include/node/node.h:63,
                 from ../src/robotjs.cc:1:
/root/.cache/node-gyp/12.13.0/include/node/v8.h:3457:51: note: declared here
 3457 |   V8_DEPRECATED("Use maybe version", Local<Value> Get(Local<Value> key));
      |                                                   ^~~
/root/.cache/node-gyp/12.13.0/include/node/v8config.h:311:3: note: in definition of macro 'V8_DEPRECATED'
  311 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
../src/robotjs.cc:771:86: error: no matching function for call to 'v8::Value::Uint32Value()'
  771 |  img.bitsPerPixel = obj->Get(Nan::New("bitsPerPixel").ToLocalChecked())->Uint32Value();
      |                                                                                      ^
In file included from /root/.cache/node-gyp/12.13.0/include/node/node.h:63,
                 from ../src/robotjs.cc:1:
/root/.cache/node-gyp/12.13.0/include/node/v8.h:2611:41: note: candidate: 'v8::Maybe<unsigned int> v8::Value::Uint32Value(v8::Local<v8::Context>) const'
 2611 |   V8_WARN_UNUSED_RESULT Maybe<uint32_t> Uint32Value(
      |                                         ^~~~~~~~~~~
/root/.cache/node-gyp/12.13.0/include/node/v8.h:2611:41: note:   candidate expects 1 argument, 0 provided
../src/robotjs.cc:772:73: warning: 'v8::Local<v8::Value> v8::Object::Get(v8::Local<v8::Value>)' is deprecated: Use maybe version [-Wdeprecated-declarations]
  772 |  img.bytesPerPixel = obj->Get(Nan::New("bytesPerPixel").ToLocalChecked())->Uint32Value();
      |                                                                         ^
In file included from /root/.cache/node-gyp/12.13.0/include/node/v8-internal.h:14,
                 from /root/.cache/node-gyp/12.13.0/include/node/v8.h:25,
                 from /root/.cache/node-gyp/12.13.0/include/node/node.h:63,
                 from ../src/robotjs.cc:1:
/root/.cache/node-gyp/12.13.0/include/node/v8.h:3457:51: note: declared here
 3457 |   V8_DEPRECATED("Use maybe version", Local<Value> Get(Local<Value> key));
      |                                                   ^~~
/root/.cache/node-gyp/12.13.0/include/node/v8config.h:311:3: note: in definition of macro 'V8_DEPRECATED'
  311 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
../src/robotjs.cc:772:88: error: no matching function for call to 'v8::Value::Uint32Value()'
  772 |  img.bytesPerPixel = obj->Get(Nan::New("bytesPerPixel").ToLocalChecked())->Uint32Value();
      |                                                                                        ^
In file included from /root/.cache/node-gyp/12.13.0/include/node/node.h:63,
                 from ../src/robotjs.cc:1:
/root/.cache/node-gyp/12.13.0/include/node/v8.h:2611:41: note: candidate: 'v8::Maybe<unsigned int> v8::Value::Uint32Value(v8::Local<v8::Context>) const'
 2611 |   V8_WARN_UNUSED_RESULT Maybe<uint32_t> Uint32Value(
      |                                         ^~~~~~~~~~~
/root/.cache/node-gyp/12.13.0/include/node/v8.h:2611:41: note:   candidate expects 1 argument, 0 provided
../src/robotjs.cc:774:76: warning: 'v8::Local<v8::Value> v8::Object::Get(v8::Local<v8::Value>)' is deprecated: Use maybe version [-Wdeprecated-declarations]
  774 |  char* buf = node::Buffer::Data(obj->Get(Nan::New("image").ToLocalChecked()));
      |                                                                            ^
In file included from /root/.cache/node-gyp/12.13.0/include/node/v8-internal.h:14,
                 from /root/.cache/node-gyp/12.13.0/include/node/v8.h:25,
                 from /root/.cache/node-gyp/12.13.0/include/node/node.h:63,
                 from ../src/robotjs.cc:1:
/root/.cache/node-gyp/12.13.0/include/node/v8.h:3457:51: note: declared here
 3457 |   V8_DEPRECATED("Use maybe version", Local<Value> Get(Local<Value> key));
      |                                                   ^~~
/root/.cache/node-gyp/12.13.0/include/node/v8config.h:311:3: note: in definition of macro 'V8_DEPRECATED'
  311 |   declarator __attribute__((deprecated(message)))
      |   ^~~~~~~~~~
../src/robotjs.cc: In function 'Nan::NAN_METHOD_RETURN_TYPE getColor(Nan::NAN_METHOD_ARGS_TYPE)':
../src/robotjs.cc:788:33: error: no matching function for call to 'v8::Value::Int32Value()'
  788 |  size_t x = info[1]->Int32Value();
      |                                 ^
In file included from /root/.cache/node-gyp/12.13.0/include/node/node.h:63,
                 from ../src/robotjs.cc:1:
/root/.cache/node-gyp/12.13.0/include/node/v8.h:2613:40: note: candidate: 'v8::Maybe<int> v8::Value::Int32Value(v8::Local<v8::Context>) const'
 2613 |   V8_WARN_UNUSED_RESULT Maybe<int32_t> Int32Value(Local<Context> context) const;
      |                                        ^~~~~~~~~~
/root/.cache/node-gyp/12.13.0/include/node/v8.h:2613:40: note:   candidate expects 1 argument, 0 provided
../src/robotjs.cc:789:33: error: no matching function for call to 'v8::Value::Int32Value()'
  789 |  size_t y = info[2]->Int32Value();
      |                                 ^
In file included from /root/.cache/node-gyp/12.13.0/include/node/node.h:63,
                 from ../src/robotjs.cc:1:
/root/.cache/node-gyp/12.13.0/include/node/v8.h:2613:40: note: candidate: 'v8::Maybe<int> v8::Value::Int32Value(v8::Local<v8::Context>) const'
 2613 |   V8_WARN_UNUSED_RESULT Maybe<int32_t> Int32Value(Local<Context> context) const;
      |                                        ^~~~~~~~~~
/root/.cache/node-gyp/12.13.0/include/node/v8.h:2613:40: note:   candidate expects 1 argument, 0 provided
In file included from ../src/robotjs.cc:1:
../src/robotjs.cc: At global scope:
/root/.cache/node-gyp/12.13.0/include/node/node.h:560:43: warning: cast between incompatible function types from 'void (*)(Nan::ADDON_REGISTER_FUNCTION_ARGS_TYPE)' {aka 'void (*)(v8::Local<v8::Object>)'} to 'node::addon_register_func' {aka 'void (*)(v8::Local<v8::Object>, v8::Local<v8::Value>, void*)'} [-Wcast-function-type]
  560 |       (node::addon_register_func) (regfunc),                          \
      |                                           ^
/root/.cache/node-gyp/12.13.0/include/node/node.h:594:3: note: in expansion of macro 'NODE_MODULE_X'
  594 |   NODE_MODULE_X(modname, regfunc, NULL, 0)  // NOLINT (readability/null_usage)
      |   ^~~~~~~~~~~~~
../src/robotjs.cc:875:1: note: in expansion of macro 'NODE_MODULE'
  875 | NODE_MODULE(robotjs, InitAll)
      | ^~~~~~~~~~~
In file included from /root/.cache/node-gyp/12.13.0/include/node/node.h:63,
                 from ../src/robotjs.cc:1:
/root/.cache/node-gyp/12.13.0/include/node/v8.h: In instantiation of 'void v8::PersistentBase<T>::SetWeak(P*, typename v8::WeakCallbackInfo<P>::Callback, v8::WeakCallbackType) [with P = node::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo<P>::Callback = void (*)(const v8::WeakCallbackInfo<node::ObjectWrap>&)]':
/root/.cache/node-gyp/12.13.0/include/node/node_object_wrap.h:84:78:   required from here
/root/.cache/node-gyp/12.13.0/include/node/v8.h:10004:16: warning: cast between incompatible function types from 'v8::WeakCallbackInfo<node::ObjectWrap>::Callback' {aka 'void (*)(const v8::WeakCallbackInfo<node::ObjectWrap>&)'} to 'Callback' {aka 'void (*)(const v8::WeakCallbackInfo<void>&)'} [-Wcast-function-type]
10004 |                reinterpret_cast<Callback>(callback), type);
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/root/.cache/node-gyp/12.13.0/include/node/v8.h: In instantiation of 'void v8::PersistentBase<T>::SetWeak(P*, typename v8::WeakCallbackInfo<P>::Callback, v8::WeakCallbackType) [with P = Nan::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo<P>::Callback = void (*)(const v8::WeakCallbackInfo<Nan::ObjectWrap>&)]':
../../nan/nan_object_wrap.h:65:61:   required from here
/root/.cache/node-gyp/12.13.0/include/node/v8.h:10004:16: warning: cast between incompatible function types from 'v8::WeakCallbackInfo<Nan::ObjectWrap>::Callback' {aka 'void (*)(const v8::WeakCallbackInfo<Nan::ObjectWrap>&)'} to 'Callback' {aka 'void (*)(const v8::WeakCallbackInfo<void>&)'} [-Wcast-function-type]
make: *** [robotjs.target.mk:128: Release/obj.target/robotjs/src/robotjs.o] Error 1
make: Leaving directory '/var/www/node_sass/node_modules/robotjs/build'
gyp ERR! build error
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/usr/local/lib/nodejs/node-v12.13.0-linux-x64/lib/node_modules/npm/node_modules/npm-lifecycle/node_modules/node-gyp/lib/build.js:194:23)
gyp ERR! stack     at ChildProcess.emit (events.js:210:5)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:272:12)
gyp ERR! System Linux 4.19.67-microsoft-standard
gyp ERR! command "/usr/local/lib/nodejs/node-v12.13.0-linux-x64/bin/node" "/usr/local/lib/nodejs/node-v12.13.0-linux-x64/lib/node_modules/npm/node_modules/npm-lifecycle/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /var/www/node_sass/node_modules/robotjs
gyp ERR! node -v v12.13.0
gyp ERR! node-gyp -v v5.0.5
gyp ERR! not ok
npm WARN node_sass@1.0.0 No description
npm WARN node_sass@1.0.0 No repository field.

npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! robotjs@0.5.1 install: `prebuild-install || node-gyp rebuild`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the robotjs@0.5.1 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!     /root/.npm/_logs/2019-11-03T19_56_23_804Z-debug.log

I’m doing my best to have it deployed ASAP

A new version of robotjs supporting the latest NodeJS version will be published soon.

Same for me

I was trying to install robotjs 0.5.1

0.6.0 works well on nodejs v12

Happens for me with node 11 and node 12. Getting the same as above

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