-
Notifications
You must be signed in to change notification settings - Fork 5
Description
First of all, thank you for sharing this project!
here's the detail of the issue:
Environment:
- OS: Arch Linux
- Kernel: linux-zen x64
- Desktop Environment: KDE Plasma (QT 6.8.0)
- Display: Wayland
- NodeJS version: 23.1.0
Step to reproduce
- do
yarn install - here's the log before the error:
[4/4] Building fresh packages...
[1/5] ⠐ core-js-pure
[-/5] ⠐ waiting...
[3/5] ⠐ robotjs
[-/5] ⠐ waiting...
error /home/verseos/Downloads/remote-desktop-controller/node_modules/robotjs: Command failed.
Exit code: 1
Command: prebuild-install || node-gyp rebuild
Arguments:
Directory: /home/verseos/Downloads/remote-desktop-controller/node_modules/robotjs
Output:
prebuild-install WARN install No prebuilt binaries found (target=23.1.0 runtime=node arch=x64 libc= platform=linux)
gyp info it worked if it ends with ok
gyp info using node-gyp@10.2.0
gyp info using node@23.1.0 | linux | x64
gyp info find Python using Python version 3.12.7 found at "/usr/bin/python3"gyp info spawn /usr/bin/python3
gyp info spawn args [
gyp info spawn args '/usr/lib/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 '/home/verseos/Downloads/remote-desktop-controller/node_modules/robotjs/build/config.gypi',
gyp info spawn args '-I',
gyp info spawn args '/usr/lib/node_modules/node-gyp/addon.gypi',
gyp info spawn args '-I',
gyp info spawn args '/home/verseos/.cache/node-gyp/23.1.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=/home/verseos/.cache/node-gyp/23.1.0',
gyp info spawn args '-Dnode_gyp_dir=/usr/lib/node_modules/node-gyp',
gyp info spawn args '-Dnode_lib_file=/home/verseos/.cache/node-gyp/23.1.0/<(target_arch)/node.lib',
gyp info spawn args '-Dmodule_root_dir=/home/verseos/Downloads/remote-desktop-controller/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' ]
make: Entering directory '/home/verseos/Downloads/remote-desktop-controller/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:1:
/home/verseos/.cache/node-gyp/23.1.0/include/node/node.h:1232:7: warning: cast between incompatible function types from ‘void ()(Nan::ADDON_REGISTER_FUNCTION_ARGS_TYPE)’ {aka ‘void ()(v8::Localv8::Object)’} to ‘node::addon_register_func’ {aka ‘void ()(v8::Localv8::Object, v8::Localv8::Value, void)’} [-Wcast-function-type]
1232 | (node::addon_register_func) (regfunc),
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/verseos/.cache/node-gyp/23.1.0/include/node/node.h:1266:3: note: in expansion of macro ‘NODE_MODULE_X’
1266 | NODE_MODULE_X(modname, regfunc, NULL, 0) // NOLINT (readability/null_usage)
| ^~~~~~~~~~~~~
../src/robotjs.cc:907:1: note: in expansion of macro ‘NODE_MODULE’
907 | NODE_MODULE(robotjs, InitAll)
| ^~~~~~~~~~~
In file included from ../../nan/nan_new.h:189,
from ../../nan/nan.h:308,
from ../src/robotjs.cc:2:
In function ‘typename Nan::imp::Factory::return_t Nan::New(FunctionCallback, v8::Localv8::Value) [with T = v8::FunctionTemplate]’,
inlined from ‘void InitAll(Nan::ADDON_REGISTER_FUNCTION_ARGS_TYPE)’ at ../src/robotjs.cc:868:19:
../../nan/nan_implementation_12_inl.h:119:1: warning: inlining failed in call to ‘static Nan::imp::FactoryBasev8::FunctionTemplate::return_t Nan::imp::Factoryv8::FunctionTemplate::New(Nan::FunctionCallback, v8::Localv8::Value, v8::Localv8::Signature)’: --param large-function-growth limit reached [-Winline]
119 | Factoryv8::FunctionTemplate::New( FunctionCallback callback
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../nan/nan_new.h:239:32: note: called from here
239 | return imp::Factory::New(callback, data);
| ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~
../../nan/nan_implementation_12_inl.h:119:1: warning: inlining failed in call to ‘static Nan::imp::FactoryBasev8::FunctionTemplate::return_t Nan::imp::Factoryv8::FunctionTemplate::New(Nan::FunctionCallback, v8::Localv8::Value, v8::Localv8::Signature)’: --param large-function-growth limit reached [-Winline]
119 | Factoryv8::FunctionTemplate::New( FunctionCallback callback
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../nan/nan_new.h:239:32: note: called from here
239 | return imp::Factory::New(callback, data);
| ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~
In function ‘typename Nan::imp::Factory::return_t Nan::New(FunctionCallback, v8::Localv8::Value) [with T = v8::FunctionTemplate]’,
inlined from ‘void InitAll(Nan::ADDON_REGISTER_FUNCTION_ARGS_TYPE)’ at ../src/robotjs.cc:871:19:
../../nan/nan_implementation_12_inl.h:119:1: warning: inlining failed in call to ‘static Nan::imp::FactoryBasev8::FunctionTemplate::return_t Nan::imp::Factoryv8::FunctionTemplate::New(Nan::FunctionCallback, v8::Localv8::Value, v8::Localv8::Signature)’: --param large-function-growth limit reached [-Winline]
119 | Factoryv8::FunctionTemplate::New( FunctionCallback callback
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../nan/nan_new.h:239:32: note: called from here
239 | return imp::Factory::New(callback, data);
| ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~
../../nan/nan_implementation_12_inl.h:119:1: warning: inlining failed in call to ‘static Nan::imp::FactoryBasev8::FunctionTemplate::return_t Nan::imp::Factoryv8::FunctionTemplate::New(Nan::FunctionCallback, v8::Localv8::Value, v8::Localv8::Signature)’: --param large-function-growth limit reached [-Winline]
119 | Factoryv8::FunctionTemplate::New( FunctionCallback callback
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../nan/nan_new.h:239:32: note: called from here
239 | return imp::Factory::New(callback, data);
| ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~
In function ‘typename Nan::imp::Factory::return_t Nan::New(FunctionCallback, v8::Localv8::Value) [with T = v8::FunctionTemplate]’,
inlined from ‘void InitAll(Nan::ADDON_REGISTER_FUNCTION_ARGS_TYPE)’ at ../src/robotjs.cc:874:19:
../../nan/nan_implementation_12_inl.h:119:1: warning: inlining failed in call to ‘static Nan::imp::FactoryBasev8::FunctionTemplate::return_t Nan::imp::Factoryv8::FunctionTemplate::New(Nan::FunctionCallback, v8::Localv8::Value, v8::Localv8::Signature)’: --param large-function-growth limit reached [-Winline]
119 | Factoryv8::FunctionTemplate::New( FunctionCallback callback
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../nan/nan_new.h:239:32: note: called from here
239 | return imp::Factory::New(callback, data);
| ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~
../../nan/nan_implementation_12_inl.h:119:1: warning: inlining failed in call to ‘static Nan::imp::FactoryBasev8::FunctionTemplate::return_t Nan::imp::Factoryv8::FunctionTemplate::New(Nan::FunctionCallback, v8::Localv8::Value, v8::Localv8::Signature)’: --param large-function-growth limit reached [-Winline]
119 | Factoryv8::FunctionTemplate::New( FunctionCallback callback
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../nan/nan_new.h:239:32: note: called from here
239 | return imp::Factory::New(callback, data);
| ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~
In function ‘typename Nan::imp::Factory::return_t Nan::New(FunctionCallback, v8::Localv8::Value) [with T = v8::FunctionTemplate]’,
inlined from ‘void InitAll(Nan::ADDON_REGISTER_FUNCTION_ARGS_TYPE)’ at ../src/robotjs.cc:877:19:
../../nan/nan_implementation_12_inl.h:119:1: warning: inlining failed in call to ‘static Nan::imp::FactoryBasev8::FunctionTemplate::return_t Nan::imp::Factoryv8::FunctionTemplate::New(Nan::FunctionCallback, v8::Localv8::Value, v8::Localv8::Signature)’: --param large-function-growth limit reached [-Winline]
119 | Factoryv8::FunctionTemplate::New( FunctionCallback callback
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../nan/nan_new.h:239:32: note: called from here
239 | return imp::Factory::New(callback, data);
| ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~
../../nan/nan_implementation_12_inl.h:119:1: warning: inlining failed in call to ‘static Nan::imp::FactoryBasev8::FunctionTemplate::return_t Nan::imp::Factoryv8::FunctionTemplate::New(Nan::FunctionCallback, v8::Localv8::Value, v8::Localv8::Signature)’: --param large-function-growth limit reached [-Winline]
119 | Factoryv8::FunctionTemplate::New( FunctionCallback callback
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../nan/nan_new.h:239:32: note: called from here
239 | return imp::Factory::New(callback, data);
| ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~
In function ‘typename Nan::imp::Factory::return_t Nan::New(FunctionCallback, v8::Localv8::Value) [with T = v8::FunctionTemplate]’,
inlined from ‘void InitAll(Nan::ADDON_REGISTER_FUNCTION_ARGS_TYPE)’ at ../src/robotjs.cc:904:19:
../../nan/nan_implementation_12_inl.h:119:1: warning: inlining failed in call to ‘static Nan::imp::FactoryBasev8::FunctionTemplate::return_t Nan::imp::Factoryv8::FunctionTemplate::New(Nan::FunctionCallback, v8::Localv8::Value, v8::Localv8::Signature)’: --param large-function-growth limit reached [-Winline]
119 | Factoryv8::FunctionTemplate::New( FunctionCallback callback
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../nan/nan_new.h:239:32: note: called from here
239 | return imp::Factory::New(callback, data);
| ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~
../../nan/nan_implementation_12_inl.h:119:1: warning: inlining failed in call to ‘static Nan::imp::FactoryBasev8::FunctionTemplate::return_t Nan::imp::Factoryv8::FunctionTemplate::New(Nan::FunctionCallback, v8::Localv8::Value, v8::Localv8::Signature)’: --param large-function-growth limit reached [-Winline]
119 | Factoryv8::FunctionTemplate::New( FunctionCallback callback
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../../nan/nan_new.h:239:32: note: called from here
239 | return imp::Factory::New(callback, data);
| ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~
../src/robotjs.cc: In function ‘Nan::NAN_METHOD_RETURN_TYPE keyToggle(Nan::NAN_METHOD_ARGS_TYPE)’:
../src/robotjs.cc:592:38: warning: ‘down’ may be used uninitialized [-Wmaybe-uninitialized]
592 | toggleKeyCode(key, down, flags);
| ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
../src/robotjs.cc:530:14: note: ‘down’ was declared here
530 | bool down;
| ^~~~
CC(target) Release/obj.target/robotjs/src/deadbeef_rand.o
CC(target) Release/obj.target/robotjs/src/mouse.o
CC(target) Release/obj.target/robotjs/src/keypress.o
../src/keypress.c: In function ‘typeString’:
../src/keypress.c:259:39: warning: ‘n’ may be used uninitialized [-Wmaybe-uninitialized]
259 | #define toggleUniKey(c, down) toggleKey(c, down, MOD_NONE)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/keypress.c:305:17: note: in expansion of macro ‘toggleUniKey’
305 | toggleUniKey(n, true);
| ^~~~~~~~~~~~
../src/keypress.c:274:23: note: ‘n’ was declared here
274 | unsigned long n;
| ^
CC(target) Release/obj.target/robotjs/src/keycode.o
CC(target) Release/obj.target/robotjs/src/screen.o
CC(target) Release/obj.target/robotjs/src/screengrab.o
CC(target) Release/obj.target/robotjs/src/snprintf.o
../src/snprintf.c: In function ‘portable_vsnprintf’:
../src/snprintf.c:557:35: warning: operand of ‘?:’ changes signedness from ‘long int’ to ‘size_t’ {aka ‘long unsigned int’} due to unsignedness of other operand [-Wsign-compare]
557 | size_t n = !q ? strlen(p) : (q-p);
| ^~~~~
../src/snprintf.c:704:42: warning: operand of ‘?:’ changes signedness from ‘long int’ to ‘size_t’ {aka ‘long unsigned int’} due to unsignedness of other operand [-Wsign-compare]
704 | str_arg_l = !q ? precision : (q-str_arg);
| ^~~~~~~~~~~
../src/snprintf.c:943:62: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare]
943 | fast_memset(str+str_l, (zero_padding?'0':' '), (n>avail?avail:n));
| ^
../src/snprintf.c:372:35: note: in definition of macro ‘fast_memset’
372 | { register size_t nn = (size_t)(n);
| ^
../src/snprintf.c:943:75: warning: operand of ‘?:’ changes signedness from ‘int’ to ‘size_t’ {aka ‘long unsigned int’} due to unsignedness of other operand [-Wsign-compare]
943 | fast_memset(str+str_l, (zero_padding?'0':' '), (n>avail?avail:n));
| ^
../src/snprintf.c:372:35: note: in definition of macro ‘fast_memset’
372 | { register size_t nn = (size_t)(n);
| ^
../src/snprintf.c:960:47: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare]
960 | fast_memcpy(str+str_l, str_arg, (n>avail?avail:n));
| ^
../src/snprintf.c:365:35: note: in definition of macro ‘fast_memcpy’
365 | { register size_t nn = (size_t)(n);
| ^
../src/snprintf.c:960:60: warning: operand of ‘?:’ changes signedness from ‘int’ to ‘size_t’ {aka ‘long unsigned int’} due to unsignedness of other operand [-Wsign-compare]
960 | fast_memcpy(str+str_l, str_arg, (n>avail?avail:n));
| ^
../src/snprintf.c:365:35: note: in definition of macro ‘fast_memcpy’
365 | { register size_t nn = (size_t)(n);
| ^
../src/snprintf.c:969:43: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare]
969 | fast_memset(str+str_l, '0', (n>avail?avail:n));
| ^
../src/snprintf.c:372:35: note: in definition of macro ‘fast_memset’
372 | { register size_t nn = (size_t)(n);
| ^
../src/snprintf.c:969:56: warning: operand of ‘?:’ changes signedness from ‘int’ to ‘size_t’ {aka ‘long unsigned int’} due to unsignedness of other operand [-Wsign-compare]
969 | fast_memset(str+str_l, '0', (n>avail?avail:n));
| ^
../src/snprintf.c:372:35: note: in definition of macro ‘fast_memset’
372 | { register size_t nn = (size_t)(n);
| ^
../src/snprintf.c:981:27: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare]
981 | (n>avail?avail:n));
| ^
../src/snprintf.c:365:35: note: in definition of macro ‘fast_memcpy’
365 | { register size_t nn = (size_t)(n);
| ^
../src/snprintf.c:981:40: warning: operand of ‘?:’ changes signedness from ‘int’ to ‘size_t’ {aka ‘long unsigned int’} due to unsignedness of other operand [-Wsign-compare]
981 | (n>avail?avail:n));
| ^
../src/snprintf.c:365:35: note: in definition of macro ‘fast_memcpy’
365 | { register size_t nn = (size_t)(n);
| ^
../src/snprintf.c:992:43: warning: comparison of integer expressions of different signedness: ‘int’ and ‘size_t’ {aka ‘long unsigned int’} [-Wsign-compare]
992 | fast_memset(str+str_l, ' ', (n>avail?avail:n));
| ^
../src/snprintf.c:372:35: note: in definition of macro ‘fast_memset’
372 | { register size_t nn = (size_t)(n);
| ^
../src/snprintf.c:992:56: warning: operand of ‘?:’ changes signedness from ‘int’ to ‘size_t’ {aka ‘long unsigned int’} due to unsignedness of other operand [-Wsign-compare]
992 | fast_memset(str+str_l, ' ', (n>avail?avail:n));
| ^
../src/snprintf.c:372:35: note: in definition of macro ‘fast_memset’
372 | { register size_t nn = (size_t)(n);
| ^
../src/snprintf.c:564:19: warning: variable ‘starting_p’ set but not used [-Wunused-but-set-variable]
564 | const char *starting_p;
| ^~~~~~~~~~
../src/snprintf.c:369:48: warning: ‘str_arg’ may be used uninitialized [-Wmaybe-uninitialized]
369 | for (ss=(s), dd=(d); nn>0; nn--) *dd++ = *ss++; } }
| ^~~~~
../src/snprintf.c:980:13: note: in expansion of macro ‘fast_memcpy’
980 | fast_memcpy(str+str_l, str_arg+zero_padding_insertion_ind,
| ^~~~~~~~~~~
../src/snprintf.c:573:19: note: ‘str_arg’ was declared here
573 | const char str_arg; / string address in case of string argument */
| ^~~~~~~
CC(target) Release/obj.target/robotjs/src/MMBitmap.o
CC(target) Release/obj.target/robotjs/src/xdisplay.o
../src/xdisplay.c: In function ‘setXDisplay’:
../src/xdisplay.c:53:23: error: implicit declaration of function ‘strdup’ [-Wimplicit-function-declaration]
53 | displayName = strdup(name);
| ^~~~~~
../src/xdisplay.c:53:23: warning: incompatible implicit declaration of built-in function ‘strdup’ [-Wbuiltin-declaration-mismatch]
make: *** [robotjs.target.mk:128: Release/obj.target/robotjs/src/xdisplay.o] Error 1
make: Leaving directory '/home/verseos/Downloads/remote-desktop-controller/node_modules/robotjs/build'
gyp ERR! build error
gyp ERR! stack Error:makefailed with exit code: 2
gyp ERR! stack at ChildProcess. (/usr/lib/node_modules/node-gyp/lib/build.js:216:23)
gyp ERR! System Linux 6.12.1-zen1-1-zen
gyp ERR! command "/usr/bin/node" "/usr/bin/node-gyp" "rebuild"
gyp ERR! cwd /home/verseos/Downloads/remote-desktop-controller/node_modules/robotjs
Is there a clue to fix it?
Thank you.