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!
mscdex commented
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.