mscdex/cap

Does not compile under the newest node-gyp / electron-gyp

rreed opened this issue · 2 comments

rreed commented

MCVE here: https://github.com/rreed/cap-electron-mcve

Trying to update to the newest version of Electron, which requires the newest Node.

I've attached a quick example above, but here's the stack trace of a giant pile of :

C:\Users\RR\workspace\cap-gyp-mcve>node_modules\.bin\electron-builder
  • electron-builder  version=21.2.0 os=10.0.17134
  • description is missed in the package.json  appPackageFile=C:\Users\RR\workspace\cap-gyp-mcve\package.json
  • author is missed in the package.json  appPackageFile=C:\Users\RR\workspace\cap-gyp-mcve\package.json
  • writing effective config  file=dist\builder-effective-config.yaml
  • rebuilding native dependencies  dependencies=cap@0.2.0 platform=win32 arch=x64
  ⨯ cannot execute  cause=exit status 1
                    out=
    > cap@0.2.0 install C:\Users\RR\workspace\cap-gyp-mcve\node_modules\cap
    > node-gyp rebuild


    C:\Users\RR\workspace\cap-gyp-mcve\node_modules\cap>if not defined npm_config_node_gyp (node "C:\Users\RR\AppData\Roaming\npm\node_modules\npm\node_modules\npm-lifecycle\node-gyp-bin\\..\..\node_modules\node-gyp\bin\node-gyp.js" rebuild )  else (node "C:\Users\RR\AppData\Roaming\npm\node_modules\npm\node_modules\node-gyp\bin\node-gyp.js" rebuild )
    Building the projects in this solution one at a time. To enable parallel build, please add the "/m" switch.
      binding.cc
      win_delay_load_hook.cc
    c:\users\rr\.electron-gyp\6.0.0\include\node\v8.h(8205): warning C4996: 'v8::MicrotasksCompletedCallback': was declared deprecated (compiling source file ..\src\binding.cc) [C:\Users\RR\workspace\cap-gyp-mcve\node_modules\cap\build\cap.vcxproj]
      c:\users\rr\.electron-gyp\6.0.0\include\node\v8.h(6667): note: see declaration of 'v8::MicrotasksCompletedCallback' (compiling source file ..\src\binding.cc)
    c:\users\rr\.electron-gyp\6.0.0\include\node\v8.h(8214): warning C4996: 'v8::MicrotasksCompletedCallback': was declared deprecated (compiling source file ..\src\binding.cc) [C:\Users\RR\workspace\cap-gyp-mcve\node_modules\cap\build\cap.vcxproj]
      c:\users\rr\.electron-gyp\6.0.0\include\node\v8.h(6667): note: see declaration of 'v8::MicrotasksCompletedCallback' (compiling source file ..\src\binding.cc)
    c:\users\rr\workspace\cap-gyp-mcve\node_modules\cap\src\binding.cc(54): warning C4996: 'v8::Object::Set': was declared deprecated [C:\Users\RR\workspace\cap-gyp-mcve\node_modules\cap\build\cap.vcxproj]
      c:\users\rr\.electron-gyp\6.0.0\include\node\v8.h(3330): note: see declaration of 'v8::Object::Set'
    c:\users\rr\workspace\cap-gyp-mcve\node_modules\cap\src\binding.cc(56): warning C4996: 'v8::Object::Set': was declared deprecated [C:\Users\RR\workspace\cap-gyp-mcve\node_modules\cap\build\cap.vcxproj]
      c:\users\rr\.electron-gyp\6.0.0\include\node\v8.h(3330): note: see declaration of 'v8::Object::Set'
    c:\users\rr\workspace\cap-gyp-mcve\node_modules\cap\src\binding.cc(466): error C2061: syntax error: identifier 'Handle' [C:\Users\RR\workspace\cap-gyp-mcve\node_modules\cap\build\cap.vcxproj]
    c:\users\rr\workspace\cap-gyp-mcve\node_modules\cap\src\binding.cc(142): warning C4996: 'Nan::MakeCallback': was declared deprecated [C:\Users\RR\workspace\cap-gyp-mcve\node_modules\cap\build\cap.vcxproj]
      c:\users\rr\workspace\cap-gyp-mcve\node_modules\nan\nan.h(1024): note: see declaration of 'Nan::MakeCallback'
    c:\users\rr\workspace\cap-gyp-mcve\node_modules\cap\src\binding.cc(220): warning C4996: 'v8::Object::Get': was declared deprecated [C:\Users\RR\workspace\cap-gyp-mcve\node_modules\cap\build\cap.vcxproj]
      c:\users\rr\.electron-gyp\6.0.0\include\node\v8.h(3384): note: see declaration of 'v8::Object::Get'
    c:\users\rr\workspace\cap-gyp-mcve\node_modules\cap\src\binding.cc(241): warning C4996: 'v8::Value::Uint32Value': was declared deprecated [C:\Users\RR\workspace\cap-gyp-mcve\node_modules\cap\build\cap.vcxproj]
      c:\users\rr\.electron-gyp\6.0.0\include\node\v8.h(2544): note: see declaration of 'v8::Value::Uint32Value'
    c:\users\rr\workspace\cap-gyp-mcve\node_modules\cap\src\binding.cc(291): warning C4996: 'v8::String::Utf8Value::Utf8Value': was declared deprecated [C:\Users\RR\workspace\cap-gyp-mcve\node_modules\cap\build\cap.vcxproj]
      c:\users\rr\.electron-gyp\6.0.0\include\node\v8.h(2964): note: see declaration of 'v8::String::Utf8Value::Utf8Value'
    c:\users\rr\workspace\cap-gyp-mcve\node_modules\cap\src\binding.cc(292): warning C4996: 'v8::String::Utf8Value::Utf8Value': was declared deprecated [C:\Users\RR\workspace\cap-gyp-mcve\node_modules\cap\build\cap.vcxproj]
      c:\users\rr\.electron-gyp\6.0.0\include\node\v8.h(2964): note: see declaration of 'v8::String::Utf8Value::Utf8Value'
    c:\users\rr\workspace\cap-gyp-mcve\node_modules\cap\src\binding.cc(293): warning C4996: 'v8::Value::Int32Value': was declared deprecated [C:\Users\RR\workspace\cap-gyp-mcve\node_modules\cap\build\cap.vcxproj]
      c:\users\rr\.electron-gyp\6.0.0\include\node\v8.h(2545): note: see declaration of 'v8::Value::Int32Value'
    c:\users\rr\workspace\cap-gyp-mcve\node_modules\cap\src\binding.cc(452): warning C4996: 'v8::Value::Uint32Value': was declared deprecated [C:\Users\RR\workspace\cap-gyp-mcve\node_modules\cap\build\cap.vcxproj]
      c:\users\rr\.electron-gyp\6.0.0\include\node\v8.h(2544): note: see declaration of 'v8::Value::Uint32Value'
    c:\users\rr\workspace\cap-gyp-mcve\node_modules\cap\src\binding.cc(485): error C2065: 'target': undeclared identifier [C:\Users\RR\workspace\cap-gyp-mcve\node_modules\cap\build\cap.vcxproj]
    c:\users\rr\workspace\cap-gyp-mcve\node_modules\cap\src\binding.cc(485): error C2660: 'v8::FunctionTemplate::GetFunction': function does not take 0 arguments [C:\Users\RR\workspace\cap-gyp-mcve\node_modules\cap\build\cap.vcxproj]
      c:\users\rr\.electron-gyp\6.0.0\include\node\v8.h(5891): note: see declaration of 'v8::FunctionTemplate::GetFunction' (compiling source file ..\src\binding.cc)
    c:\users\rr\workspace\cap-gyp-mcve\node_modules\cap\src\binding.cc(513): warning C4996: 'v8::Object::Set': was declared deprecated [C:\Users\RR\workspace\cap-gyp-mcve\node_modules\cap\build\cap.vcxproj]
      c:\users\rr\.electron-gyp\6.0.0\include\node\v8.h(3330): note: see declaration of 'v8::Object::Set'
    c:\users\rr\workspace\cap-gyp-mcve\node_modules\cap\src\binding.cc(516): warning C4996: 'v8::Object::Set': was declared deprecated [C:\Users\RR\workspace\cap-gyp-mcve\node_modules\cap\build\cap.vcxproj]
      c:\users\rr\.electron-gyp\6.0.0\include\node\v8.h(3330): note: see declaration of 'v8::Object::Set'
    c:\users\rr\workspace\cap-gyp-mcve\node_modules\cap\src\binding.cc(531): warning C4996: 'v8::Object::Set': was declared deprecated [C:\Users\RR\workspace\cap-gyp-mcve\node_modules\cap\build\cap.vcxproj]
      c:\users\rr\.electron-gyp\6.0.0\include\node\v8.h(3330): note: see declaration of 'v8::Object::Set'
    c:\users\rr\workspace\cap-gyp-mcve\node_modules\cap\src\binding.cc(536): warning C4996: 'v8::Object::Set': was declared deprecated [C:\Users\RR\workspace\cap-gyp-mcve\node_modules\cap\build\cap.vcxproj]
      c:\users\rr\.electron-gyp\6.0.0\include\node\v8.h(3330): note: see declaration of 'v8::Object::Set'
    c:\users\rr\workspace\cap-gyp-mcve\node_modules\cap\src\binding.cc(539): warning C4996: 'v8::Object::Set': was declared deprecated [C:\Users\RR\workspace\cap-gyp-mcve\node_modules\cap\build\cap.vcxproj]
      c:\users\rr\.electron-gyp\6.0.0\include\node\v8.h(3330): note: see declaration of 'v8::Object::Set'
    c:\users\rr\workspace\cap-gyp-mcve\node_modules\cap\src\binding.cc(543): warning C4996: 'v8::Object::Set': was declared deprecated [C:\Users\RR\workspace\cap-gyp-mcve\node_modules\cap\build\cap.vcxproj]
      c:\users\rr\.electron-gyp\6.0.0\include\node\v8.h(3330): note: see declaration of 'v8::Object::Set'
    c:\users\rr\workspace\cap-gyp-mcve\node_modules\cap\src\binding.cc(617): error C2065: 'Handle': undeclared identifier [C:\Users\RR\workspace\cap-gyp-mcve\node_modules\cap\build\cap.vcxproj]
    c:\users\rr\workspace\cap-gyp-mcve\node_modules\cap\src\binding.cc(617): error C2275: 'v8::Object': illegal use of this type as an expression [C:\Users\RR\workspace\cap-gyp-mcve\node_modules\cap\build\cap.vcxproj]
      c:\users\rr\.electron-gyp\6.0.0\include\node\v8.h(3328): note: see declaration of 'v8::Object'
    c:\users\rr\workspace\cap-gyp-mcve\node_modules\cap\src\binding.cc(617): error C2065: 'target': undeclared identifier [C:\Users\RR\workspace\cap-gyp-mcve\node_modules\cap\build\cap.vcxproj]
    c:\users\rr\workspace\cap-gyp-mcve\node_modules\cap\src\binding.cc(617): error C2182: 'init': illegal use of type 'void' [C:\Users\RR\workspace\cap-gyp-mcve\node_modules\cap\build\cap.vcxproj]
    c:\users\rr\workspace\cap-gyp-mcve\node_modules\cap\src\binding.cc(617): error C2448: 'init': function-style initializer appears to be a function definition [C:\Users\RR\workspace\cap-gyp-mcve\node_modules\cap\build\cap.vcxproj]
    c:\users\rr\workspace\cap-gyp-mcve\node_modules\cap\src\binding.cc(626): warning C4312: 'type cast': conversion from 'int' to 'node::addon_register_func' of greater size [C:\Users\RR\workspace\cap-gyp-mcve\node_modules\cap\build\cap.vcxproj]

                    errorOut=gyp ERR! build error
    gyp ERR! stack Error: `C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\Bin\MSBuild.exe` failed with exit code: 1
    gyp ERR! stack     at ChildProcess.onExit (C:\Users\RR\AppData\Roaming\npm\node_modules\npm\node_modules\node-gyp\lib\build.js:262:23)
    gyp ERR! stack     at ChildProcess.emit (events.js:198:13)
    gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:248:12)
    gyp ERR! System Windows_NT 10.0.17134
    gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "C:\\Users\\RR\\AppData\\Roaming\\npm\\node_modules\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild"
    gyp ERR! cwd C:\Users\RR\workspace\cap-gyp-mcve\node_modules\cap
    gyp ERR! node -v v10.16.0
    gyp ERR! node-gyp -v v3.8.0
    gyp ERR! not ok
    npm ERR! code ELIFECYCLE
    npm ERR! errno 1
    npm ERR! cap@0.2.0 install: `node-gyp rebuild`
    npm ERR! Exit status 1
    npm ERR!
    npm ERR! Failed at the cap@0.2.0 install script.
    npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

    npm ERR! A complete log of this run can be found in:
    npm ERR!     C:\Users\RR\AppData\Roaming\npm-cache\_logs\2019-07-31T21_53_26_754Z-debug.log
                    command=npm.cmd rebuild cap@0.2.0
                    workingDir=

This works in Electron 3, so I'm not sure if this requires an update here or on the Electron / Node side. Shrug!

This should be fixed in cap v0.2.1. Please test it and let me know if it works for you.

rreed commented

It does indeed! Thank you kindly.