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’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Bug]: building native module fails in electron 21.1.1 #36045

Closed
3 tasks done
rfedericoni opened this issue Oct 17, 2022 · 3 comments
Closed
3 tasks done

[Bug]: building native module fails in electron 21.1.1 #36045

rfedericoni opened this issue Oct 17, 2022 · 3 comments
Labels

Comments

@rfedericoni
Copy link

rfedericoni commented Oct 17, 2022

Preflight Checklist

Electron Version

21.1.1

What operating system are you using?

macOS

Operating System Version

macOS Monterey 12.6

What arch are you using?

x64

Last Known Working Electron version

17.2.0, 19.4.0

Expected Behavior

after npm install npm rebuild @pokusew/pcsclite@0.6.0 ffi-napi@4.0.3 ref-napi@3.0.3 success without error

Actual Behavior

verbose cli /usr/local/bin/node /usr/local/lib/node_modules/npm/bin/npm-cli.js
1 info using npm@8.11.0
2 info using node@v16.16.0
3 timing npm:load:whichnode Completed in 0ms
4 timing config:load:defaults Completed in 3ms
5 timing config:load:file:/usr/local/lib/node_modules/npm/npmrc Completed in 1ms
6 timing config:load:builtin Completed in 1ms
7 timing config:load:cli Completed in 1ms
8 timing config:load:env Completed in 1ms
9 timing config:load:file:/Users/robertofedericoni/Documents/develop/namirialdev/namirial-sign/.npmrc Completed in 0ms
10 timing config:load:project Completed in 8ms
11 timing config:load:file:/Users/robertofedericoni/.npmrc Completed in 1ms
12 timing config:load:user Completed in 1ms
13 timing config:load:file:/usr/local/etc/npmrc Completed in 0ms
14 timing config:load:global Completed in 0ms
15 timing config:load:validate Completed in 1ms
16 timing config:load:credentials Completed in 1ms
17 timing config:load:setEnvs Completed in 1ms
18 timing config:load Completed in 18ms
19 timing npm:load:configload Completed in 18ms
20 timing npm:load:mkdirpcache Completed in 1ms
21 timing npm:load:mkdirplogs Completed in 1ms
22 verbose title npm rebuild @pokusew/pcsclite@0.6.0 ffi-napi@4.0.3 ref-napi@3.0.3
23 verbose argv "rebuild" "@pokusew/pcsclite@0.6.0" "ffi-napi@4.0.3" "ref-napi@3.0.3"
24 timing npm:load:setTitle Completed in 21ms
25 timing config:load:flatten Completed in 2ms
26 timing npm:load:display Completed in 2ms
27 verbose logfile logs-max:10 dir:/Users/robertofedericoni/.npm/_logs
28 verbose logfile /Users/robertofedericoni/.npm/_logs/2022-10-17T07_38_13_359Z-debug-0.log
29 timing npm:load:logFile Completed in 4ms
30 timing npm:load:timers Completed in 0ms
31 timing npm:load:configScope Completed in 0ms
32 timing npm:load Completed in 47ms
33 timing arborist:ctor Completed in 0ms
34 silly logfile start cleaning logs, removing 1 files
35 silly logfile done cleaning log files
36 timing arborist:ctor Completed in 0ms
37 timing build:queue Completed in 1ms
38 info run @pokusew/pcsclite@0.6.0 install node_modules/@pokusew/pcsclite node-gyp rebuild
39 info run ffi-napi@4.0.3 install node_modules/ffi-napi node-gyp-build
40 info run ref-napi@3.0.3 install node_modules/ref-napi node-gyp-build
41 info run ref-napi@3.0.3 install { code: 0, signal: null }
42 timing build:run:install:node_modules/ref-napi Completed in 213ms
43 info run @pokusew/pcsclite@0.6.0 install { code: 1, signal: null }
44 timing command:rebuild Completed in 10830ms
45 verbose stack Error: command failed
45 verbose stack at ChildProcess. (/usr/local/lib/node_modules/npm/node_modules/@npmcli/promise-spawn/lib/index.js:63:27)
45 verbose stack at ChildProcess.emit (node:events:527:28)
45 verbose stack at maybeClose (node:internal/child_process:1092:16)
45 verbose stack at Process.ChildProcess._handle.onexit (node:internal/child_process:302:5)
46 verbose pkgid @pokusew/pcsclite@0.6.0
47 verbose cwd /Users/robertofedericoni/Documents/develop/namirialdev/namirial-sign
48 verbose Darwin 21.6.0
49 verbose node v16.16.0
50 verbose npm v8.11.0
51 error code 1
52 error path /Users/robertofedericoni/Documents/develop/namirialdev/namirial-sign/node_modules/@pokusew/pcsclite
53 error command failed
54 error command sh -c node-gyp rebuild
55 error CXX(target) Release/obj.target/pcsclite/src/addon.o
56 error gyp info it worked if it ends with ok
56 error gyp info using node-gyp@9.0.0
56 error gyp info using node@16.16.0 | darwin | x64
56 error gyp info find Python using Python version 3.10.0 found at "/Library/Frameworks/Python.framework/Versions/3.10/bin/python3"
56 error gyp info spawn /Library/Frameworks/Python.framework/Versions/3.10/bin/python3
56 error gyp info spawn args [
56 error gyp info spawn args '/usr/local/lib/node_modules/npm/node_modules/node-gyp/gyp/gyp_main.py',
56 error gyp info spawn args 'binding.gyp',
56 error gyp info spawn args '-f',
56 error gyp info spawn args 'make',
56 error gyp info spawn args '-I',
56 error gyp info spawn args '/Users/robertofedericoni/Documents/develop/namirialdev/namirial-sign/node_modules/@pokusew/pcsclite/build/config.gypi',
56 error gyp info spawn args '-I',
56 error gyp info spawn args '/usr/local/lib/node_modules/npm/node_modules/node-gyp/addon.gypi',
56 error gyp info spawn args '-I',
56 error gyp info spawn args '/Users/robertofedericoni/.electron-gyp/21.1.1/include/node/common.gypi',
56 error gyp info spawn args '-Dlibrary=shared_library',
56 error gyp info spawn args '-Dvisibility=default',
56 error gyp info spawn args '-Dnode_root_dir=/Users/robertofedericoni/.electron-gyp/21.1.1',
56 error gyp info spawn args '-Dnode_gyp_dir=/usr/local/lib/node_modules/npm/node_modules/node-gyp',
56 error gyp info spawn args '-Dnode_lib_file=/Users/robertofedericoni/.electron-gyp/21.1.1/<(target_arch)/node.lib',
56 error gyp info spawn args '-Dmodule_root_dir=/Users/robertofedericoni/Documents/develop/namirialdev/namirial-sign/node_modules/@pokusew/pcsclite',
56 error gyp info spawn args '-Dnode_engine=v8',
56 error gyp info spawn args '--depth=.',
56 error gyp info spawn args '--no-parallel',
56 error gyp info spawn args '--generator-output',
56 error gyp info spawn args 'build',
56 error gyp info spawn args '-Goutput_dir=.'
56 error gyp info spawn args ]
56 error gyp info spawn make
56 error gyp info spawn args [ 'BUILDTYPE=Release', '-C', 'build' ]
56 error In file included from ../src/addon.cpp:1:
56 error In file included from ../src/pcsclite.h:4:
56 error In file included from ../../../nan/nan.h:58:
56 error In file included from /Users/robertofedericoni/.electron-gyp/21.1.1/include/node/node.h:69:
56 error In file included from /Users/robertofedericoni/.electron-gyp/21.1.1/include/node/v8.h:24:
56 error In file included from /Users/robertofedericoni/.electron-gyp/21.1.1/include/node/v8-array-buffer.h:12:
56 error In file included from /Users/robertofedericoni/.electron-gyp/21.1.1/include/node/v8-local-handle.h:12:
56 error /Users/robertofedericoni/.electron-gyp/21.1.1/include/node/v8-internal.h:471:30: warning: static_assert with no message is a C++17 extension [-Wc++17-extensions]
56 error SHARED_EXTERNAL_POINTER_TAGS(CHECK_SHARED_EXTERNAL_POINTER_TAGS)
56 error ^
56 error /Users/robertofedericoni/.electron-gyp/21.1.1/include/node/v8-internal.h:471:30: warning: static_assert with no message is a C++17 extension [-Wc++17-extensions]
56 error /Users/robertofedericoni/.electron-gyp/21.1.1/include/node/v8-internal.h:471:30: warning: static_assert with no message is a C++17 extension [-Wc++17-extensions]
56 error /Users/robertofedericoni/.electron-gyp/21.1.1/include/node/v8-internal.h:471:30: warning: static_assert with no message is a C++17 extension [-Wc++17-extensions]
56 error /Users/robertofedericoni/.electron-gyp/21.1.1/include/node/v8-internal.h:471:30: warning: static_assert with no message is a C++17 extension [-Wc++17-extensions]
56 error /Users/robertofedericoni/.electron-gyp/21.1.1/include/node/v8-internal.h:472:35: warning: static_assert with no message is a C++17 extension [-Wc++17-extensions]
56 error PER_ISOLATE_EXTERNAL_POINTER_TAGS(CHECK_NON_SHARED_EXTERNAL_POINTER_TAGS)
56 error ^
56 error /Users/robertofedericoni/.electron-gyp/21.1.1/include/node/v8-internal.h:472:35: warning: static_assert with no message is a C++17 extension [-Wc++17-extensions]
56 error /Users/robertofedericoni/.electron-gyp/21.1.1/include/node/v8-internal.h:472:35: warning: static_assert with no message is a C++17 extension [-Wc++17-extensions]
56 error /Users/robertofedericoni/.electron-gyp/21.1.1/include/node/v8-internal.h:472:35: warning: static_assert with no message is a C++17 extension [-Wc++17-extensions]
56 error /Users/robertofedericoni/.electron-gyp/21.1.1/include/node/v8-internal.h:472:35: warning: static_assert with no message is a C++17 extension [-Wc++17-extensions]
56 error /Users/robertofedericoni/.electron-gyp/21.1.1/include/node/v8-internal.h:472:35: warning: static_assert with no message is a C++17 extension [-Wc++17-extensions]
56 error /Users/robertofedericoni/.electron-gyp/21.1.1/include/node/v8-internal.h:472:35: warning: static_assert with no message is a C++17 extension [-Wc++17-extensions]
56 error /Users/robertofedericoni/.electron-gyp/21.1.1/include/node/v8-internal.h:472:35: warning: static_assert with no message is a C++17 extension [-Wc++17-extensions]
56 error /Users/robertofedericoni/.electron-gyp/21.1.1/include/node/v8-internal.h:472:35: warning: static_assert with no message is a C++17 extension [-Wc++17-extensions]
56 error /Users/robertofedericoni/.electron-gyp/21.1.1/include/node/v8-internal.h:472:35: warning: static_assert with no message is a C++17 extension [-Wc++17-extensions]
56 error /Users/robertofedericoni/.electron-gyp/21.1.1/include/node/v8-internal.h:472:35: warning: static_assert with no message is a C++17 extension [-Wc++17-extensions]
56 error /Users/robertofedericoni/.electron-gyp/21.1.1/include/node/v8-internal.h:472:35: warning: static_assert with no message is a C++17 extension [-Wc++17-extensions]
56 error /Users/robertofedericoni/.electron-gyp/21.1.1/include/node/v8-internal.h:472:35: warning: static_assert with no message is a C++17 extension [-Wc++17-extensions]
56 error /Users/robertofedericoni/.electron-gyp/21.1.1/include/node/v8-internal.h:655:61: warning: static_assert with no message is a C++17 extension [-Wc++17-extensions]
56 error static_assert(kJSObjectType + 1 == kFirstJSApiObjectType);
56 error ^
56 error , ""
56 error /Users/robertofedericoni/.electron-gyp/21.1.1/include/node/v8-internal.h:656:55: warning: static_assert with no message is a C++17 extension [-Wc++17-extensions]
56 error static_assert(kJSObjectType < kLastJSApiObjectType);
56 error ^
56 error , ""
56 error /Users/robertofedericoni/.electron-gyp/21.1.1/include/node/v8-internal.h:657:63: warning: static_assert with no message is a C++17 extension [-Wc++17-extensions]
56 error static_assert(kFirstJSApiObjectType < kLastJSApiObjectType);
56 error ^
56 error , ""
56 error In file included from ../src/addon.cpp:1:
56 error In file included from ../src/pcsclite.h:4:
56 error In file included from ../../../nan/nan.h:58:
56 error In file included from /Users/robertofedericoni/.electron-gyp/21.1.1/include/node/node.h:69:
56 error In file included from /Users/robertofedericoni/.electron-gyp/21.1.1/include/node/v8.h:24:
56 error In file included from /Users/robertofedericoni/.electron-gyp/21.1.1/include/node/v8-array-buffer.h:13:
56 error In file included from /Users/robertofedericoni/.electron-gyp/21.1.1/include/node/v8-object.h:9:
56 error /Users/robertofedericoni/.electron-gyp/21.1.1/include/node/v8-maybe.h:106:45: error: no template named 'is_lvalue_reference_v' in namespace 'std'; did you mean 'is_lvalue_reference'?
56 error template <class U, std::enable_if_t<!std::is_lvalue_reference_v>>
56 error ~~~~~^~~~~~~~~~~~~~~~~~~~~
56 error is_lvalue_reference
56 error /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/v1/type_traits:876:29: note: 'is_lvalue_reference' declared here
56 error struct _LIBCPP_TEMPLATE_VIS is_lvalue_reference : _BoolConstant<__is_lvalue_reference(_Tp)> { };
56 error ^
56 error In file included from ../src/addon.cpp:1:
56 error In file included from ../src/pcsclite.h:4:
56 error In file included from ../../../nan/nan.h:58:
56 error In file included from /Users/robertofedericoni/.electron-gyp/21.1.1/include/node/node.h:69:
56 error In file included from /Users/robertofedericoni/.electron-gyp/21.1.1/include/node/v8.h:24:
56 error In file included from /Users/robertofedericoni/.electron-gyp/21.1.1/include/node/v8-array-buffer.h:13:
56 error In file included from /Users/robertofedericoni/.electron-gyp/21.1.1/include/node/v8-object.h:9:
56 error /Users/robertofedericoni/.electron-gyp/21.1.1/include/node/v8-maybe.h:106:69: error: expected '(' for function-style cast or type construction
56 error template <class U, std::enable_if_t<!std::is_lvalue_reference_v>
>
56 error ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
56 error /Users/robertofedericoni/.electron-gyp/21.1.1/include/node/v8-maybe.h:123:43: error: no template named 'is_lvalue_reference_v' in namespace 'std'; did you mean 'is_lvalue_reference'?
56 error template <class T, std::enable_if_t<!std::is_lvalue_reference_v>* = nullptr>
56 error ~~~~~^~~~~~~~~~~~~~~~~~~~~
56 error is_lvalue_reference
56 error /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/v1/type_traits:876:29: note: 'is_lvalue_reference' declared here
56 error struct _LIBCPP_TEMPLATE_VIS is_lvalue_reference : _BoolConstant<__is_lvalue_reference(_Tp)> { };
56 error ^
56 error In file included from ../src/addon.cpp:1:
56 error In file included from ../src/pcsclite.h:4:
56 error In file included from ../../../nan/nan.h:58:
56 error In file included from /Users/robertofedericoni/.electron-gyp/21.1.1/include/node/node.h:69:
56 error In file included from /Users/robertofedericoni/.electron-gyp/21.1.1/include/node/v8.h:24:
56 error In file included from /Users/robertofedericoni/.electron-gyp/21.1.1/include/node/v8-array-buffer.h:13:
56 error In file included from /Users/robertofedericoni/.electron-gyp/21.1.1/include/node/v8-object.h:9:
56 error /Users/robertofedericoni/.electron-gyp/21.1.1/include/node/v8-maybe.h:123:67: error: expected '(' for function-style cast or type construction
56 error template <class T, std::enable_if_t<!std::is_lvalue_reference_v>* = nullptr>
56 error ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
56 error In file included from ../src/addon.cpp:1:
56 error In file included from ../src/pcsclite.h:4:
56 error In file included from ../../../nan/nan.h:178:
56 error ../../../nan/nan_callbacks.h:55:23: error: no member named 'AccessorSignature' in namespace 'v8'
56 error typedef v8::Localv8::AccessorSignature Sig;
56 error ~~~~^
56 error In file included from ../src/addon.cpp:1:
56 error In file included from ../src/pcsclite.h:4:
56 error ../../../nan/nan.h:2544:8: error: no matching member function for call to 'SetAccessor'
56 error tpl->SetAccessor(
56 error ~~~~~^~~~~~~~~~~
56 error /Users/robertofedericoni/.electron-gyp/21.1.1/include/node/v8-template.h:814:8: note: candidate function not viable: no known conversion from 'imp::Sig' (aka 'int') to 'v8::SideEffectType' for 7th argument
56 error void SetAccessor(
56 error ^
56 error /Users/robertofedericoni/.electron-gyp/21.1.1/include/node/v8-template.h:807:8: note: candidate function not viable: no known conversion from 'imp::NativeGetter' (aka 'void ()(v8::Localv8::Name, const v8::PropertyCallbackInfov8::Value &)') to 'v8::AccessorGetterCallback' (aka 'void ()(Localv8::String, const PropertyCallbackInfov8::Value &)') for 2nd argument
56 error void SetAccessor(
56 error ^
56 error 21 warnings and 6 errors generated.
56 error make: *** [Release/obj.target/pcsclite/src/addon.o] Error 1
56 error gyp ERR! build error
56 error gyp ERR! stack Error: make failed with exit code: 2
56 error gyp ERR! stack at ChildProcess.onExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:194:23)
56 error gyp ERR! stack at ChildProcess.emit (node:events:527:28)
56 error gyp ERR! stack at Process.ChildProcess._handle.onexit (node:internal/child_process:291:12)
56 error gyp ERR! System Darwin 21.6.0
56 error gyp ERR! command "/usr/local/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
56 error gyp ERR! cwd /Users/robertofedericoni/Documents/develop/namirialdev/namirial-sign/node_modules/@pokusew/pcsclite
56 error gyp ERR! node -v v16.16.0
56 error gyp ERR! node-gyp -v v9.0.0
56 error gyp ERR! not ok
57 verbose exit 1
58 timing npm Completed in 10926ms
59 verbose unfinished npm timer build 1665992294192
60 verbose unfinished npm timer build:deps 1665992294193
61 verbose unfinished npm timer build:run:install 1665992294194
62 verbose unfinished npm timer build:run:install:node_modules/@pokusew/pcsclite 1665992294194
63 verbose unfinished npm timer build:run:install:node_modules/ffi-napi 1665992294251
64 verbose code 1
65 error A complete log of this run can be found in:
65 error /Users/robertofedericoni/.npm/_logs/2022-10-17T07_38_13_359Z-debug-0.log

Testcase Gist URL

No response

Additional Information

No response

@VerteDinde
Copy link
Member

Potential dupe of #35869 - @rfedericoni, I see one error that should be fixed with the newest version of nan, I would try updating to latest to see if it resolves your issue.

@VerteDinde VerteDinde closed this as not planned Won't fix, can't repro, duplicate, stale Oct 17, 2022
@rfedericoni
Copy link
Author

Thanks Keeley, let me know

@cyrstron
Copy link

cyrstron commented May 10, 2024

Having same exact issue starting with electron@29 and later

error logs for 30.0.3:

In file included from ../src/addon.cpp:1:
In file included from ../src/pcsclite.h:4:
../../nan/nan.h:2548:8: error: no matching member function for call to 'SetAccessor'
  tpl->SetAccessor(
  ~~~~~^~~~~~~~~~~
/Users/kyryl.stronko/.electron-gyp/30.0.3/include/node/v8-template.h:1055:8: note: candidate function not viable: no known conversion from 'v8::AccessControl' to 'PropertyAttribute' for 5th argument
  void SetAccessor(
       ^
/Users/kyryl.stronko/.electron-gyp/30.0.3/include/node/v8-template.h:1049:8: note: candidate function not viable: no known conversion from 'imp::NativeGetter' (aka 'void (*)(v8::Local<v8::Name>, const v8::PropertyCallbackInfo<v8::Value> &)') to 'AccessorGetterCallback' (aka 'void (*)(Local<String>, const PropertyCallbackInfo<Value> &)') for 2nd argument
  void SetAccessor(
       ^
In file included from ../src/addon.cpp:1:
In file included from ../src/pcsclite.h:4:
../../nan/nan.h:2594:8: error: no matching member function for call to 'SetAccessor'
  tpl->SetAccessor(
  ~~~~~^~~~~~~~~~~
/Users/kyryl.stronko/.electron-gyp/30.0.3/include/node/v8-template.h:1055:8: note: candidate function not viable: no known conversion from 'v8::AccessControl' to 'PropertyAttribute' for 5th argument
  void SetAccessor(
       ^
/Users/kyryl.stronko/.electron-gyp/30.0.3/include/node/v8-template.h:1049:8: note: candidate function not viable: no known conversion from 'imp::NativeGetter' (aka 'void (*)(v8::Local<v8::Name>, const v8::PropertyCallbackInfo<v8::Value> &)') to 'AccessorGetterCallback' (aka 'void (*)(Local<String>, const PropertyCallbackInfo<Value> &)') for 2nd argument
  void SetAccessor(
       ^
2 errors generated.
make[1]: *** [Release/obj.target/pcsclite/src/addon.o] Error 1
Error: `make` failed with exit code: 2
    at ChildProcess.onExit (/Users/kyryl.stronko/Venuiti/web-ui/electron/node_modules/@electron/rebuild/node_modules/node-gyp/lib/build.js:203:23)
    at ChildProcess.emit (node:events:517:28)
    at ChildProcess._handle.onexit (node:internal/child_process:292:12)

✖ Rebuild Failed

An unhandled error occurred inside electron-rebuild
node-gyp failed to rebuild '/Users/kyryl.stronko/Venuiti/web-ui/electron/node_modules/pcsclite'

Error: node-gyp failed to rebuild '/Users/kyryl.stronko/Venuiti/web-ui/electron/node_modules/pcsclite'
    at ChildProcess.<anonymous> (/Users/kyryl.stronko/Venuiti/web-ui/electron/node_modules/@electron/rebuild/lib/module-type/node-gyp/node-gyp.js:118:24)
    at ChildProcess.emit (node:events:517:28)
    at ChildProcess._handle.onexit (node:internal/child_process:292:12)
make: *** [install] Error 255

UPD: updating nan dependency in a lock file to the latest version helped.

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

No branches or pull requests

3 participants