Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We鈥檒l occasionally send you account related emails.

Already on GitHub? Sign in to your account

nodejs v12 fails to build #514

Closed
brandonros opened this issue Nov 1, 2019 · 19 comments
Closed

nodejs v12 fails to build #514

brandonros opened this issue Nov 1, 2019 · 19 comments
Milestone

Comments

@brandonros
Copy link

$ 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
@mo-kalaleeb
Copy link

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

@Vashkatsi
Copy link

Same for me

@shanfengliudd01
Copy link

I change node from v13.0.1 to v11.0.0, it works

@Ciriak
Copy link

Ciriak commented Nov 7, 2019

Same issue here

@corwin-of-amber
Copy link

Probably solved by #489 ?

@angelhdzmultimedia
Copy link

What version of Visual Studio does it need? 2017 or 2019? I have 20019 but i get KeyError '2019'.
Also tried installing Visual Studio Build Tools 2017.
I tried Node 12, 11, and now 10.
node-gyp is all good.

@dsteinman
Copy link

Branch "fix/node13" is working on v12 as well:

#523

@oktapodia
Copy link
Collaborator

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

@oktapodia oktapodia added this to the v0.6.0 milestone Nov 24, 2019
@alxAgu
Copy link

alxAgu commented Nov 29, 2019

how soon?

@oktapodia
Copy link
Collaborator

oktapodia commented Nov 29, 2019

I'm doing my best to have it deployed ASAP

@alxAgu
Copy link

alxAgu commented Jan 23, 2020

Any updates on this?

@Haroenv
Copy link

Haroenv commented Feb 3, 2020

Note that on Yarn & node 12 / 13 it fails silently, but doesn't work either.

@corwin-of-amber
Copy link

Some of the functionality works for me (node v12.14, macOS Mojave) but some doesn't:

> robotjs.moveMouse(100, 4)  // works ok
1
> robotjs.getScreenSize()   // hmm
{ width: 0, height: 0 }
> robotjs.keyTap("right")    // oops
zsh: segmentation fault  node

This happens with the Git master as well :(

@oktapodia
Copy link
Collaborator

The new robotjs version has been published but there is a bug into the NodeJS core about the screen sizing, it should be packaged soon into a new NodeJS version libuv/libuv#2566

@avidrucker
Copy link

avidrucker commented Apr 12, 2020

Any updates, fixes, or workarounds on this? I'm experiencing the same issue on Linux Mint, Node v12.16.1

@kagurakana
Copy link

I can't install robotjs with node v12 too, it throwed UnicodeDecodeError: 'ascii' codec can't decode byte 0xc9 in position 2691: ordinal not in range(128)

$ npm install robotjs

> robotjs@0.6.0 install E:\robotojs\node_modules\robotjs
> prebuild-install || node-gyp rebuild

prebuild-install WARN install No prebuilt binaries found (target=12.16.3 runtime=node arch=x64 libc= platform=win32)

E:\robotojs\node_modules\robotjs>if not defined npm_config_node_gyp (node "C:\Program Files\nodejs\node_modules\npm\node_modules\npm-lifecycle\node-gyp-bin\\..\..\node_modules\node-gyp\bin\node-gyp.js" rebuild )
else (node "C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\bin\node-gyp.js" rebuild )
Traceback (most recent call last):
  File "C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\gyp\gyp_main.py", line 50, in <module>
    sys.exit(gyp.script_main())
  File "C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\gyp\pylib\gyp\__init__.py", line 554, in script_main
    return main(sys.argv[1:])
  File "C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\gyp\pylib\gyp\__init__.py", line 547, in main
    return gyp_main(args)
  File "C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\gyp\pylib\gyp\__init__.py", line 532, in gyp_main
    generator.GenerateOutput(flat_list, targets, data, params)
  File "C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\gyp\pylib\gyp\generator\msvs.py", line 2015, in GenerateOutput
    generator_flags))
  File "C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\gyp\pylib\gyp\generator\msvs.py", line 950, in _GenerateProject
    return _GenerateMSBuildProject(project, options, version, generator_flags)
  File "C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\gyp\pylib\gyp\generator\msvs.py", line 3396, in _GenerateMSBuildProject
    easy_xml.WriteXmlIfChanged(content, project.path, pretty=True, win32=True)
  File "C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\gyp\pylib\gyp\easy_xml.py", line 123, in WriteXmlIfChanged
    xml_string = xml_string.encode(encoding)
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc9 in position 2691: ordinal not in range(128)
?[37;40mgyp?[0m ?[0m?[31;40mERR!?[0m ?[0m?[35mconfigure error?[0m
?[0m?[37;40mgyp?[0m ?[0m?[31;40mERR!?[0m ?[0m?[35mstack?[0m Error: `gyp` failed with exit code: 1
?[0m?[37;40mgyp?[0m ?[0m?[31;40mERR!?[0m ?[0m?[35mstack?[0m     at ChildProcess.onCpExit (C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\lib\configure.js:351:16)
?[0m?[37;40mgyp?[0m ?[0m?[31;40mERR!?[0m ?[0m?[35mstack?[0m     at ChildProcess.emit (events.js:310:20)
?[0m?[37;40mgyp?[0m ?[0m?[31;40mERR!?[0m ?[0m?[35mstack?[0m     at Process.ChildProcess._handle.onexit (internal/child_process.js:275:12)
?[0m?[37;40mgyp?[0m ?[0m?[31;40mERR!?[0m ?[0m?[35mSystem?[0m Windows_NT 10.0.17763
?[0m?[37;40mgyp?[0m ?[0m?[31;40mERR!?[0m ?[0m?[35mcommand?[0m "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild"
?[0m?[37;40mgyp?[0m ?[0m?[31;40mERR!?[0m ?[0m?[35mcwd?[0m E:\robotojs\node_modules\robotjs
?[0m?[37;40mgyp?[0m ?[0m?[31;40mERR!?[0m ?[0m?[35mnode -v?[0m v12.16.3
?[0m?[37;40mgyp?[0m ?[0m?[31;40mERR!?[0m ?[0m?[35mnode-gyp -v?[0m v5.1.0
?[0m?[37;40mgyp?[0m ?[0m?[31;40mERR!?[0m ?[0m?[35mnot ok?[0m
?[0mnpm WARN robotojs@1.0.0 No description
npm WARN robotojs@1.0.0 No repository field.

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.

npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\绁炰箰鑺辫彍\AppData\Roaming\npm-cache\_logs\2020-05-22T01_21_51_832Z-debug.log

@cduduc
Copy link

cduduc commented Jun 5, 2020

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.

@brandonros
Copy link
Author

$ npm install

> robotjs@0.5.1 install /Users/bros/vpn/node_modules/robotjs
> prebuild-install || node-gyp rebuild

prebuild-install WARN install No prebuilt binaries found (target=12.18.2 runtime=node arch=x64 platform=darwin)
  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.18.2/include/node/v8.h:2709:3: note: 
      'Int32Value' declared here
  V8_WARN_UNUSED_RESULT Maybe<int32_t> Int32Value(Local<Context> context) const;
  ^
/Users/bros/Library/Caches/node-gyp/12.18.2/include/node/v8config.h:368: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.18.2/include/node/v8.h:2709:3: note: 
      'Int32Value' declared here
  V8_WARN_UNUSED_RESULT Maybe<int32_t> Int32Value(Local<Context> context) const;
  ^
/Users/bros/Library/Caches/node-gyp/12.18.2/include/node/v8config.h:368: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.18.2/include/node/v8.h:2709:3: note: 
      'Int32Value' declared here
  V8_WARN_UNUSED_RESULT Maybe<int32_t> Int32Value(Local<Context> context) const;
  ^
/Users/bros/Library/Caches/node-gyp/12.18.2/include/node/v8config.h:368: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.18.2/include/node/v8.h:2709:3: note: 
      'Int32Value' declared here
  V8_WARN_UNUSED_RESULT Maybe<int32_t> Int32Value(Local<Context> context) const;
  ^
/Users/bros/Library/Caches/node-gyp/12.18.2/include/node/v8config.h:368: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.18.2/include/node/v8.h:2709:3: note: 
      'Int32Value' declared here
  V8_WARN_UNUSED_RESULT Maybe<int32_t> Int32Value(Local<Context> context) const;
  ^
/Users/bros/Library/Caches/node-gyp/12.18.2/include/node/v8config.h:368: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.18.2/include/node/v8.h:2709:3: note: 
      'Int32Value' declared here
  V8_WARN_UNUSED_RESULT Maybe<int32_t> Int32Value(Local<Context> context) const;
  ^
/Users/bros/Library/Caches/node-gyp/12.18.2/include/node/v8config.h:368: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.18.2/include/node/v8.h:2668: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.18.2/include/node/v8.h:2684: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.18.2/include/node/v8.h:2699: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.18.2/include/node/v8.h:2702: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.18.2/include/node/v8.h:2709:3: note: 
      'Int32Value' declared here
  V8_WARN_UNUSED_RESULT Maybe<int32_t> Int32Value(Local<Context> context) const;
  ^
/Users/bros/Library/Caches/node-gyp/12.18.2/include/node/v8config.h:368: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.18.2/include/node/v8.h:2709:3: note: 
      'Int32Value' declared here
  V8_WARN_UNUSED_RESULT Maybe<int32_t> Int32Value(Local<Context> context) const;
  ^
/Users/bros/Library/Caches/node-gyp/12.18.2/include/node/v8config.h:368: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.18.2/include/node/v8.h:2709:3: note: 
      'Int32Value' declared here
  V8_WARN_UNUSED_RESULT Maybe<int32_t> Int32Value(Local<Context> context) const;
  ^
/Users/bros/Library/Caches/node-gyp/12.18.2/include/node/v8config.h:368: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.18.2/include/node/v8.h:307: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.18.2/include/node/v8.h:3553: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.18.2/include/node/v8config.h:328: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.

Whole slew of errors trying to pull in the latest libuv changes in node.js v12.18.2 to try and fix #548

@brandonros
Copy link
Author

I was trying to install robotjs 0.5.1

0.6.0 works well on nodejs v12

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests