Skip to content

Can't build for electron on Windows #132

@artch

Description

@artch

We're having issues with building isolated-vm for electron on Windows. We're trying electron 4.x branch since it ships nodejs 10. This is what I get when trying to build isolated-vm 2.0.1 against electron 4.2.12 using MSBuild 2017:

C:\Users\chivc\isolated-vm>node-gyp rebuild --target=4.2.12 --arch=x64 --dist-url=https://atom.io/electron/headers
gyp info it worked if it ends with ok
gyp info using [email protected]
gyp info using [email protected] | win32 | x64
gyp info find Python using Python version 2.7.17 found at "C:\Python27\python.exe"
gyp info find VS using VS2017 (15.9.28307.905) found at:
gyp info find VS "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community"
gyp info find VS run with --verbose for detailed information
gyp info spawn C:\Python27\python.exe
gyp info spawn args [ 'C:\\Users\\chivc\\AppData\\Roaming\\npm\\node_modules\\node-gyp\\gyp\\gyp_main.py',
gyp info spawn args   'binding.gyp',
gyp info spawn args   '-f',
gyp info spawn args   'msvs',
gyp info spawn args   '-I',
gyp info spawn args   'C:\\Users\\chivc\\isolated-vm\\build\\config.gypi',
gyp info spawn args   '-I',
gyp info spawn args   'C:\\Users\\chivc\\AppData\\Roaming\\npm\\node_modules\\node-gyp\\addon.gypi',
gyp info spawn args   '-I',
gyp info spawn args   'C:\\Users\\chivc\\AppData\\Local\\node-gyp\\Cache\\4.2.12\\include\\node\\common.gypi',
gyp info spawn args   '-Dlibrary=shared_library',
gyp info spawn args   '-Dvisibility=default',
gyp info spawn args   '-Dnode_root_dir=C:\\Users\\chivc\\AppData\\Local\\node-gyp\\Cache\\4.2.12',
gyp info spawn args   '-Dnode_gyp_dir=C:\\Users\\chivc\\AppData\\Roaming\\npm\\node_modules\\node-gyp',
gyp info spawn args   '-Dnode_lib_file=C:\\\\Users\\\\chivc\\\\AppData\\\\Local\\\\node-gyp\\\\Cache\\\\4.2.12\\\\<(target_arch)\\\\node.lib',
gyp info spawn args   '-Dmodule_root_dir=C:\\Users\\chivc\\isolated-vm',
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   'C:\\Users\\chivc\\isolated-vm\\build',
gyp info spawn args   '-Goutput_dir=.' ]
gyp info spawn C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\15.0\Bin\MSBuild.exe
gyp info spawn args [ 'build/binding.sln',
gyp info spawn args   '/clp:Verbosity=minimal',
gyp info spawn args   '/nologo',
gyp info spawn args   '/p:Configuration=Release;Platform=x64' ]
Building the projects in this solution one at a time. To enable parallel build, please add the "/m" switch.
cl : Command line warning D9025: overriding '/GR-' with '/GR' [C:\Users\chivc\isolated-vm\build\nortti.vcxproj]
cl : Command line warning D9025: overriding '/GR-' with '/GR' [C:\Users\chivc\isolated-vm\build\nortti.vcxproj]
cl : Command line warning D9025: overriding '/GR-' with '/GR' [C:\Users\chivc\isolated-vm\build\nortti.vcxproj]
  external_copy_nortti.cc
  win_delay_load_hook.cc
  nortti.vcxproj -> C:\Users\chivc\isolated-vm\build\Release\\nortti.lib
cl : Command line warning D9025: overriding '/GR-' with '/GR' [C:\Users\chivc\isolated-vm\build\isolated_vm.vcxproj]
cl : Command line warning D9025: overriding '/GR-' with '/GR' [C:\Users\chivc\isolated-vm\build\isolated_vm.vcxproj]
cl : Command line warning D9025: overriding '/GR-' with '/GR' [C:\Users\chivc\isolated-vm\build\isolated_vm.vcxproj]
  allocator.cc
cl : Command line warning D9025: overriding '/GR-' with '/GR' [C:\Users\chivc\isolated-vm\build\isolated_vm.vcxproj]
  class_handle.cc
cl : Command line warning D9025: overriding '/GR-' with '/GR' [C:\Users\chivc\isolated-vm\build\isolated_vm.vcxproj]
  environment.cc
cl : Command line warning D9025: overriding '/GR-' with '/GR' [C:\Users\chivc\isolated-vm\build\isolated_vm.vcxproj]
  holder.cc
  inspector.cc
cl : Command line warning D9025: overriding '/GR-' with '/GR' [C:\Users\chivc\isolated-vm\build\isolated_vm.vcxproj]
cl : Command line warning D9025: overriding '/GR-' with '/GR' [C:\Users\chivc\isolated-vm\build\isolated_vm.vcxproj]
cl : Command line warning D9025: overriding '/GR-' with '/GR' [C:\Users\chivc\isolated-vm\build\isolated_vm.vcxproj]
  stack_trace.cc
  three_phase_task.cc
  context_handle.cc
  external_copy.cc
  external_copy_handle.cc
  isolate.cc
  isolate_handle.cc
  lib_handle.cc
  native_module_handle.cc
  reference_handle.cc
  script_handle.cc
  module_handle.cc
  session_handle.cc
  transferable.cc
  win_delay_load_hook.cc
     Creating library C:\Users\chivc\isolated-vm\build\Release\isolated_vm.lib and object C:\Users\chivc\isolated-vm\bu
  ild\Release\isolated_vm.exp
environment.obj : error LNK2001: unresolved external symbol "public: static class v8::Platform * __cdecl v8::internal::
V8::GetCurrentPlatform(void)" (?GetCurrentPlatform@V8@internal@v8@@SAPEAVPlatform@3@XZ) [C:\Users\chivc\isolated-vm\bui
ld\isolated_vm.vcxproj]
inspector.obj : error LNK2001: unresolved external symbol "__declspec(dllimport) public: static class std::unique_ptr<c
lass v8_inspector::V8Inspector,struct std::default_delete<class v8_inspector::V8Inspector> > __cdecl v8_inspector::V8In
spector::create(class v8::Isolate *,class v8_inspector::V8InspectorClient *)" (__imp_?create@V8Inspector@v8_inspector@@
SA?AV?$unique_ptr@VV8Inspector@v8_inspector@@U?$default_delete@VV8Inspector@v8_inspector@@@std@@@std@@PEAVIsolate@v8@@P
EAVV8InspectorClient@2@@Z) [C:\Users\chivc\isolated-vm\build\isolated_vm.vcxproj]
C:\Users\chivc\isolated-vm\build\Release\isolated_vm.node : fatal error LNK1120: 2 unresolved externals [C:\Users\chivc
\isolated-vm\build\isolated_vm.vcxproj]
gyp ERR! build error
gyp ERR! stack Error: `C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\15.0\Bin\MSBuild.exe` failed with exit code: 1
gyp ERR! stack     at ChildProcess.onExit (C:\Users\chivc\AppData\Roaming\npm\node_modules\node-gyp\lib\build.js:194: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.18362
gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "C:\\Users\\chivc\\AppData\\Roaming\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild" "--target=4.2.12" "--arch=x64" "--dist-url=https://atom.io/electron/headers"
gyp ERR! cwd C:\Users\chivc\isolated-vm
gyp ERR! node -v v10.16.3
gyp ERR! node-gyp -v v6.0.0
gyp ERR! not ok

Building with local Node.js 10.16.3 works fine. Building for electron on Linux also works fine.

Note: there is a small unrelated problem with node-gyp 6.0.0 which we had to overcome using this workaround.

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