mongodb-js / boxednode

📦 boxednode – Ship a JS file with Node.js in a box
Apache License 2.0
599 stars 10 forks source link

Boxednode fails on Windows with Node v16.x #20

Closed asamuzaK closed 2 years ago

asamuzaK commented 2 years ago

Boxednode fails when running on Windows + Node.js v16.x. Job log Note that running on Windows + Node.js v16 is the issue, not that fetching Node.js v16 for bundling.

It seems that tests are also failing since #19. Use wmain for argv Unicode support (#19) · mongodb-js/boxednode@a66af5d

addaleax commented 2 years ago

@asamuzaK Thanks for reporting this! I’ll take a look when there’s some extra time.

asamuzaK commented 2 years ago

I got another log.

This log is from a try build on node 17.x v7.0.1-a.5 · asamuzaK/withExEditorHost@2ef3c18

→  Running .\vcbuild.bat projgen release vs2019 link-module ./lib/index/index.js link-module ./lib/index/index_src.js ...
Looking for Python
Python found in C:\hostedtoolcache\windows\Python\3.10.0\x64\\python.exe
Looking for NASM
Looking for Visual Studio 2019
calling: "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\\Auxiliary\Build\vcvarsall.bat" amd64
**********************************************************************
** Visual Studio 2019 Developer Command Prompt v16.11.5
** Copyright (c) 2021 Microsoft Corporation
**********************************************************************
[vcvarsall.bat] Environment initialized for: 'x64'
Found MSVS version 16.0
configure  --with-ltcg  --link-module=./lib/index/index_src.js --link-module=./lib/index/index.js --dest-cpu=x64
Please use python3.9 or python3.8 or python3.7 or python3.6 or python3.5 or python2.7.
    C:\ProgramData\Chocolatey\bin\python2.7.EXE configure
Node.js configure: Found Python 3.10.0...
Failed to create vc project files.
  ✖  Failed: Command failed: .\vcbuild.bat projgen release vs2019 link-module ./lib/index/index.js link-module ./lib/index/index_src.js (code 1)
Error: Command failed: .\vcbuild.bat projgen release vs2019 link-module ./lib/index/index.js link-module ./lib/index/index_src.js (code 1)
    at Object.spawnBuildCommand (D:\a\withExEditorHost\withExEditorHost\node_modules\boxednode\lib\helpers.js:33:15)
    at runMicrotasks (<anonymous>)
    at processTicksAndRejections (node:internal/process/task_queues:96:5)
    at async compileNode (D:\a\withExEditorHost\withExEditorHost\node_modules\boxednode\lib\index.js:148:9)
    at async compileJSFileAsBinaryImpl (D:\a\withExEditorHost\withExEditorHost\node_modules\boxednode\lib\index.js:232:24)
    at async compileJSFileAsBinary (D:\a\withExEditorHost\withExEditorHost\node_modules\boxednode\lib\index.js:254:9)
    at async main (D:\a\withExEditorHost\withExEditorHost\node_modules\boxednode\bin\boxednode.js:37:5)
Error: Process completed with exit code 1.
addaleax commented 2 years ago

@asamuzaK I just tried this with the latest boxednode and Node.js versions, on Windows, and it worked fine. Maybe this is a Python version mismatch, based on the log output here? Maybe https://github.com/nodejs/node/pull/40296 (in Node.js 16.11.0) fixed this?

asamuzaK commented 2 years ago

Thanks for your feedback. I'll make a try build and tell you the result.

asamuzaK commented 2 years ago

Confirmed that the issue is fixed. Thanks a lot.