$ 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 [email protected]
gyp info using [email protected] | 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
Me tow
> [email protected] 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 [email protected] No description
npm WARN [email protected] No repository field.
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] install: `prebuild-install || node-gyp rebuild`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] 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
Same for me
I change node from v13.0.1 to v11.0.0, it works
Same issue here
Probably solved by #489 ?
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.
Branch "fix/node13" is working on v12 as well:
A new version of robotjs supporting the latest NodeJS version will be published soon.
how soon?
I'm doing my best to have it deployed ASAP
Any updates on this?
Note that on Yarn & node 12 / 13 it fails silently, but doesn't work either.
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 :(
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 https://github.com/libuv/libuv/issues/2566
Any updates, fixes, or workarounds on this? I'm experiencing the same issue on Linux Mint, Node v12.16.1
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
> [email protected] 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 [email protected] No description
npm WARN [email protected] No repository field.
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] install: `prebuild-install || node-gyp rebuild`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] 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
Happens for me with node 11 and node 12. Getting the same as above
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] install: prebuild-install || node-gyp rebuild
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
$ npm install
> [email protected] 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 https://github.com/octalmage/robotjs/issues/548
I was trying to install robotjs 0.5.1
0.6.0 works well on nodejs v12
Most helpful comment
Me tow