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

Windows build fails with Visual Studio 2019 v16.10 #38872

Closed
targos opened this issue May 31, 2021 · 7 comments
Closed

Windows build fails with Visual Studio 2019 v16.10 #38872

targos opened this issue May 31, 2021 · 7 comments
Labels
build Issues and PRs related to build files or the CI. windows Issues and PRs related to the Windows platform.

Comments

@targos
Copy link
Member

targos commented May 31, 2021

Released last week: https://docs.microsoft.com/en-us/visualstudio/releases/2019/release-notes#16.10.0
This affects GitHub actions as they updated today: actions/runner-images#3452

Run ./vcbuild.bat
Looking for Python
Python found in C:\hostedtoolcache\windows\Python\3.9.5\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.10.0
** Copyright (c) 2021 Microsoft Corporation
**********************************************************************
[vcvarsall.bat] Environment initialized for: 'x64'
Found MSVS version 16.0
configure  --dest-cpu=x64
Node.js configure: Found Python 3.9.5...
Warning: Missing input files:
D:\a\node\node\tools\msvs\genfiles\node_etw_provider.rc
D:\a\node\node\tools\msvs\genfiles\node_etw_provider.h
INFO: configure completed successfully
Project files generated.
D:\a\node\node\deps\histogram\histogram.vcxproj : error MSB4057: The target "node" does not exist in the project.
D:\a\node\node\node_etw.vcxproj : error MSB4057: The target "node" does not exist in the project.
D:\a\node\node\deps\uvwasi\uvwasi.vcxproj : error MSB4057: The target "node" does not exist in the project.
D:\a\node\node\tools\v8_gypfiles\v8_libplatform.vcxproj : error MSB4057: The target "node" does not exist in the project.
D:\a\node\node\deps\zlib\zlib.vcxproj : error MSB4057: The target "node" does not exist in the project.
D:\a\node\node\deps\llhttp\llhttp.vcxproj : error MSB4057: The target "node" does not exist in the project.
D:\a\node\node\deps\cares\cares.vcxproj : error MSB4057: The target "node" does not exist in the project.
D:\a\node\node\deps\uv\libuv.vcxproj : error MSB4057: The target "node" does not exist in the project.
D:\a\node\node\deps\nghttp2\nghttp2.vcxproj : error MSB4057: The target "node" does not exist in the project.
D:\a\node\node\deps\brotli\brotli.vcxproj : error MSB4057: The target "node" does not exist in the project.
D:\a\node\node\deps\openssl\openssl.vcxproj : error MSB4057: The target "node" does not exist in the project.
D:\a\node\node\deps\ngtcp2\ngtcp2.vcxproj : error MSB4057: The target "node" does not exist in the project.
D:\a\node\node\deps\ngtcp2\nghttp3.vcxproj : error MSB4057: The target "node" does not exist in the project.
D:\a\node\node\tools\icu\icu_implementation.vcxproj : error MSB4057: The target "node" does not exist in the project.
D:\a\node\node\tools\icu\icu_uconfig.vcxproj : error MSB4057: The target "node" does not exist in the project.
D:\a\node\node\tools\icu\icu_uconfig_target.vcxproj : error MSB4057: The target "node" does not exist in the project.
D:\a\node\node\tools\v8_gypfiles\cppgc_base.vcxproj : error MSB4057: The target "node" does not exist in the project.
D:\a\node\node\tools\v8_gypfiles\v8_libsampler.vcxproj : error MSB4057: The target "node" does not exist in the project.
D:\a\node\node\tools\v8_gypfiles\v8_version.vcxproj : error MSB4057: The target "node" does not exist in the project.
D:\a\node\node\tools\v8_gypfiles\v8_cppgc_shared.vcxproj : error MSB4057: The target "node" does not exist in the project.
D:\a\node\node\tools\v8_gypfiles\v8_zlib.vcxproj : error MSB4057: The target "node" does not exist in the project.

/cc @nodejs/platform-windows

@targos targos added windows Issues and PRs related to the Windows platform. build Issues and PRs related to build files or the CI. labels May 31, 2021
@targos
Copy link
Member Author

targos commented May 31, 2021

I'm not 100% certain it is because of VS 16.10, as I didn't try to build on the same commit (16ae378) with the previous version...
@jasnell do you still have VS 16.9 or earlier? Can you confirm that it works with it?

@targos
Copy link
Member Author

targos commented May 31, 2021

FWIW, I can load node.sln without any issues in the Visual Studio GUI, and build histogram, uvwasi, etc...

@targos
Copy link
Member Author

targos commented May 31, 2021

This is probably the relevant part of vcbuild.bat:

node/vcbuild.bat

Lines 331 to 343 in 16ae378

if "%target%"=="Build" (
if defined no_cctest set target=node
if "%test_args%"=="" set target=node
if defined cctest set target="Build"
)
if "%target%"=="node" if exist "%config%\cctest.exe" del "%config%\cctest.exe"
if defined msbuild_args set "extra_msbuild_args=%extra_msbuild_args% %msbuild_args%"
@rem Setup env variables to use multiprocessor build
set UseMultiToolTask=True
set EnforceProcessCountAcrossBuilds=True
set MultiProcMaxCount=%NUMBER_OF_PROCESSORS%
msbuild node.sln %msbcpu% /t:%target% /p:Configuration=%config% /p:Platform=%msbplatform% /clp:NoItemAndPropertyList;Verbosity=minimal /nologo %extra_msbuild_args%
if errorlevel 1 (

@targos
Copy link
Member Author

targos commented May 31, 2021

I don't know what target=node is supposed to do. I forced line 342 to the following and am doing a build:

msbuild node.sln %msbcpu% /t:Build /p:Configuration=%config% /p:Platform=%msbplatform% /clp:NoItemAndPropertyList;Verbosity=minimal /nologo %extra_msbuild_args%

@targos
Copy link
Member Author

targos commented May 31, 2021

Well, the above works, but target=node was added to speed up the build, so I don't know exactly what to do now...

Refs: 8514ea9

@targos
Copy link
Member Author

targos commented May 31, 2021

It's actually a known issue in MSBuild 16.10.0 !

https://github.com/dotnet/msbuild/releases/tag/v16.10.0
dotnet/msbuild#6373
dotnet/msbuild#6465

If I understand correctly, this will be fixed in v16.10.1.

targos added a commit to targos/node that referenced this issue May 31, 2021
This allows to build Node.js at the (temporary) cost of longer build
times.

Refs: nodejs#38872
Refs: https://github.com/dotnet/msbuild/releases/tag/v16.10.0
Refs: dotnet/msbuild#6465
Refs: dotnet/msbuild#6373
@jasnell
Copy link
Member

jasnell commented May 31, 2021

Nice to know. I'm still on 16.9 and was thinking about updating. I guess I'll wait!

aduh95 pushed a commit to targos/node that referenced this issue May 31, 2021
This allows to build Node.js at the (temporary) cost of longer build
times.

Refs: nodejs#38872
Refs: https://github.com/dotnet/msbuild/releases/tag/v16.10.0
Refs: dotnet/msbuild#6465
Refs: dotnet/msbuild#6373

PR-URL: nodejs#38873
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: Antoine du Hamel <[email protected]>
Reviewed-By: Gerhard Stöbich <[email protected]>
danielleadams pushed a commit that referenced this issue Jun 1, 2021
This allows to build Node.js at the (temporary) cost of longer build
times.

Refs: #38872
Refs: https://github.com/dotnet/msbuild/releases/tag/v16.10.0
Refs: dotnet/msbuild#6465
Refs: dotnet/msbuild#6373

PR-URL: #38873
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: Antoine du Hamel <[email protected]>
Reviewed-By: Gerhard Stöbich <[email protected]>
targos added a commit that referenced this issue Jun 5, 2021
This allows to build Node.js at the (temporary) cost of longer build
times.

Refs: #38872
Refs: https://github.com/dotnet/msbuild/releases/tag/v16.10.0
Refs: dotnet/msbuild#6465
Refs: dotnet/msbuild#6373

PR-URL: #38873
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: Antoine du Hamel <[email protected]>
Reviewed-By: Gerhard Stöbich <[email protected]>
targos added a commit that referenced this issue Jun 5, 2021
This allows to build Node.js at the (temporary) cost of longer build
times.

Refs: #38872
Refs: https://github.com/dotnet/msbuild/releases/tag/v16.10.0
Refs: dotnet/msbuild#6465
Refs: dotnet/msbuild#6373

PR-URL: #38873
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: Antoine du Hamel <[email protected]>
Reviewed-By: Gerhard Stöbich <[email protected]>
targos added a commit that referenced this issue Jun 5, 2021
This allows to build Node.js at the (temporary) cost of longer build
times.

Refs: #38872
Refs: https://github.com/dotnet/msbuild/releases/tag/v16.10.0
Refs: dotnet/msbuild#6465
Refs: dotnet/msbuild#6373

PR-URL: #38873
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: Antoine du Hamel <[email protected]>
Reviewed-By: Gerhard Stöbich <[email protected]>
targos added a commit to targos/node that referenced this issue Jun 9, 2021
This reverts commit 3457130.

Visual Studio v16.10.1 is out.

Closes: nodejs#38872
targos added a commit that referenced this issue Jun 11, 2021
This allows to build Node.js at the (temporary) cost of longer build
times.

Refs: #38872
Refs: https://github.com/dotnet/msbuild/releases/tag/v16.10.0
Refs: dotnet/msbuild#6465
Refs: dotnet/msbuild#6373

PR-URL: #38873
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: Antoine du Hamel <[email protected]>
Reviewed-By: Gerhard Stöbich <[email protected]>
danielleadams pushed a commit that referenced this issue Jun 21, 2021
This reverts commit 3457130.

Visual Studio v16.10.1 is out.

Closes: #38872

PR-URL: #38977
Fixes: #38872
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: James M Snell <[email protected]>
richardlau pushed a commit that referenced this issue Jul 19, 2021
This reverts commit 3457130.

Visual Studio v16.10.1 is out.

Closes: #38872

PR-URL: #38977
Fixes: #38872
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: James M Snell <[email protected]>
richardlau pushed a commit that referenced this issue Jul 20, 2021
This reverts commit 3457130.

Visual Studio v16.10.1 is out.

Closes: #38872

PR-URL: #38977
Fixes: #38872
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: James M Snell <[email protected]>
foxxyz pushed a commit to foxxyz/node that referenced this issue Oct 18, 2021
This reverts commit 3457130.

Visual Studio v16.10.1 is out.

Closes: nodejs#38872

PR-URL: nodejs#38977
Fixes: nodejs#38872
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
build Issues and PRs related to build files or the CI. windows Issues and PRs related to the Windows platform.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants