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

doc: Windows building officially supported only on x64 hosts #21443

Merged
merged 1 commit into from
Aug 16, 2018

Conversation

refack
Copy link
Contributor

@refack refack commented Jun 21, 2018

Since we are CI testing on x64 hosts, we can only commit to x64 hosts.
We could add x86_x86 and x86_x64 as Experimental, to indicate willingness to accept community PRs.

Ref: #21402
Ref: #21437

Checklist
  • make -j4 test (UNIX), or vcbuild test (Windows) passes
  • documentation is changed or added
  • commit message follows commit guidelines

@nodejs-github-bot nodejs-github-bot added build Issues and PRs related to build files or the CI. doc Issues and PRs related to the documentations. labels Jun 21, 2018
@refack refack added windows Issues and PRs related to the Windows platform. and removed build Issues and PRs related to build files or the CI. doc Issues and PRs related to the documentations. labels Jun 21, 2018
@refack
Copy link
Contributor Author

refack commented Jun 21, 2018

/CC @nodejs/platform-windows @nodejs/build

BUILDING.md Outdated
@@ -42,7 +42,7 @@ platforms in production.
| GNU/Linux | Tier 1 | kernel >= 2.6.32, glibc >= 2.12 | x64, arm | |
| GNU/Linux | Tier 1 | kernel >= 3.10, glibc >= 2.17 | arm64 | |
| macOS | Tier 1 | >= 10.10 | x64 | |
| Windows | Tier 1 | >= Windows 7/2008 R2/2012 R2 | x86, x64 | vs2017 |
| Windows | Tier 1 | >= Windows 7/2008 R2/2012 R2 | x86_x86, x64 | vs2017 |
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What is x86_x86?

BUILDING.md Outdated
@@ -89,7 +89,7 @@ Depending on host platform, the selection of toolchains may vary.

#### Windows

* Visual Studio 2017 or the Build Tools thereof
* Visual Studio 2017 or the "Build Tools" thereof, on an x64 host.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why add quotes?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Unless this is supposed to imply that Visual Studio 2017 is not required on a non-x64 host, "on an x64 host" doesn't belong here.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's a proper product name.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Visual Studio 2017 is a product name, why isn't it in quotes?

BUILDING.md Outdated
@@ -42,7 +42,7 @@ platforms in production.
| GNU/Linux | Tier 1 | kernel >= 2.6.32, glibc >= 2.12 | x64, arm | |
| GNU/Linux | Tier 1 | kernel >= 3.10, glibc >= 2.17 | arm64 | |
| macOS | Tier 1 | >= 10.10 | x64 | |
| Windows | Tier 1 | >= Windows 7/2008 R2/2012 R2 | x86, x64 | vs2017 |
| Windows | Tier 1 | >= Windows 7/2008 R2/2012 R2 | x64_x86, x64 | vs2017 |
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What is "x64_x86"?

BUILDING.md Outdated
@@ -89,7 +89,7 @@ Depending on host platform, the selection of toolchains may vary.

#### Windows

* Visual Studio 2017 or the Build Tools thereof
* Visual Studio 2017 or the "Build Tools" thereof, on an x64 host.
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's a proper product name.

BUILDING.md Outdated
@@ -42,7 +42,7 @@ platforms in production.
| GNU/Linux | Tier 1 | kernel >= 2.6.32, glibc >= 2.12 | x64, arm | |
| GNU/Linux | Tier 1 | kernel >= 3.10, glibc >= 2.17 | arm64 | |
| macOS | Tier 1 | >= 10.10 | x64 | |
| Windows | Tier 1 | >= Windows 7/2008 R2/2012 R2 | x86, x64 | vs2017 |
| Windows | Tier 1 | >= Windows 7/2008 R2/2012 R2 | x64_x86, x64 | vs2017 |
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

x86_x86 was a typo
x64_x86 is Microsoft designation for cross compiling x86 (32bit) target, on an x64(64bit) host.

calling: "C:\Program Files\VSCommunity2017\VC\\Auxiliary\Build\vcvarsall.bat" x86_x86
[ERROR:vcvarsall.bat] Invalid argument found : x86_x86
[ERROR:vcvarsall.bat] Error in script usage. The correct usage is:
Syntax:
    vcvarsall.bat [arch] [platform_type] [winsdk_version] [-vcvars_ver=vc_version]
where :
    [arch]: x86 | amd64 | x86_amd64 | x86_arm | x86_arm64 | amd64_x86 | amd64_arm | amd64_arm64

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"x64_x86" is a Microsoft-specific thing, it will confuse people. They expect the Architectures column to list the architecture on which Node runs, not how it's built.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I also think this is confusing. IMHO we should keep this as it is, and add the note about x64 host.

bzoz
bzoz previously requested changes Jun 25, 2018
Copy link
Contributor

@bzoz bzoz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm -1 on x64_x86. IMHO we should put note about only support compilation on 64bit machines in the "Notes" column

@refack
Copy link
Contributor Author

refack commented Jul 19, 2018

@seishun @bzoz @mmarchini @jasnell PTAL.
I Moved the change to a note. Since there were already a few heterogeneous notes, I made them uniform, but I'd be happy to hear comments about the style.

@refack refack added doc Issues and PRs related to the documentations. build Issues and PRs related to build files or the CI. meta Issues and PRs related to the general management of the project. labels Jul 19, 2018
BUILDING.md Outdated
@@ -89,7 +92,7 @@ Depending on host platform, the selection of toolchains may vary.

#### Windows

* Visual Studio 2017 or the Build Tools thereof
* "Visual Studio 2017" or the "Build Tools" thereof, on a 64 bit host.
Copy link
Contributor

@seishun seishun Jul 19, 2018

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I should have been more explicit: please don't put product names in quotes.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We actually don't test with the Build Tools package anymore. And we only use Windows SDK 10.

BUILDING.md Outdated
*Note*: On Windows, running Node.js in windows terminal emulators like `mintty`
requires the usage of [winpty](https://github.com/rprichard/winpty) for
Node's tty channels to work correctly (e.g. `winpty node.exe script.js`).
<em id="fn2">2</em>: Teir 1 support for building on Windows is only on 64 bit
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Teir -> Tier

BUILDING.md Outdated
<em id="fn2">2</em>: Teir 1 support for building on Windows is only on 64 bit
hosts. Support is experimental for 32 bit hosts.

<em id="fn3">3</em>: On Windows, running Node.js in windows terminal emulators
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

windows -> Windows

BUILDING.md Outdated

<em id="fn3">3</em>: On Windows, running Node.js in windows terminal emulators
like `mintty` requires the usage of [winpty](https://github.com/rprichard/winpty)
for Node's tty channels to work correctly (e.g. `winpty node.exe script.js`).
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Node's -> Node.js's? (A bit awkward, but it seems we try to be consistent here.)

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How about Node's -> the

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Seems good.

@@ -89,7 +92,7 @@ Depending on host platform, the selection of toolchains may vary.

#### Windows

* Visual Studio 2017 or the Build Tools thereof
* Visual Studio 2017 with the Windows 10 SDK on a 64 bit host.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is under "Supported Toolchains". There is no need to mention Windows 10 SDK or bitness here. The specific requirements are listed in a separate section. Why change this line at all?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

IMHO SDK and host bitness are parts of the toolchain 🤷‍♂️

@bzoz bzoz dismissed their stale review July 21, 2018 12:59

I'm on vacation, so I can't review this. I'm dismissing my -1 to not block this

@gibfahn
Copy link
Member

gibfahn commented Jul 22, 2018

I Moved the change to a note. Since there were already a few heterogeneous notes, I made them uniform, but I'd be happy to hear comments about the style.

Notes look really good FWIW.

Copy link
Contributor

@mmarchini mmarchini left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Still LGTM. Nice job improving the notes!

@refack refack force-pushed the refack-patch-3 branch 2 times, most recently from 2bc2c58 to 796d510 Compare August 16, 2018 22:00
Since we are CI testing on x64 hosts, we can only commit to x64 hosts.

PR-URL: nodejs#21443
Refs: nodejs#21402
Refs: nodejs#21437
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Matheus Marchini <matheus@sthima.com>
Reviewed-By: João Reis <reis@janeasystems.com>
@refack refack merged commit 73b8dde into nodejs:master Aug 16, 2018
@refack refack deleted the refack-patch-3 branch August 16, 2018 23:09
targos pushed a commit that referenced this pull request Aug 19, 2018
Since we are CI testing on x64 hosts, we can only commit to x64 hosts.

PR-URL: #21443
Refs: #21402
Refs: #21437
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Matheus Marchini <matheus@sthima.com>
Reviewed-By: João Reis <reis@janeasystems.com>
targos pushed a commit that referenced this pull request Sep 3, 2018
Since we are CI testing on x64 hosts, we can only commit to x64 hosts.

PR-URL: #21443
Refs: #21402
Refs: #21437
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Matheus Marchini <matheus@sthima.com>
Reviewed-By: João Reis <reis@janeasystems.com>
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. doc Issues and PRs related to the documentations. meta Issues and PRs related to the general management of the project. windows Issues and PRs related to the Windows platform.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

9 participants