Skip to content

yarn install error in Arch Linux (linux-zen kernel) #1

@keyserjaya

Description

@keyserjaya

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

  1. do yarn install
  2. 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: make failed 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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions