-
Notifications
You must be signed in to change notification settings - Fork 13.2k
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
Update MSVC INSTALL.md instructions to recommend VS 2022 + recent Windows 10/11 SDK #137949
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm.
I think the rustup docs are fine. When using rustup you're generally using a pre-built rustc
which doesn't care which msvc version is targeted. So long as you're consistent within your own build it'll be fine. Maybe we should bump it up to 2019 but I don't know if that's really necessary.
The problem for rustc
itself is when using a pre-build LLVM it's important that the local msvc toolchain matches. The Windows SDK version shouldn't really matter. Although using the latest for tests that need cdb
is certainly an advantage.
@bors r+ rollup |
🌲 The tree is currently closed for pull requests below priority 102. This pull request will be tested once the tree is reopened. |
Err, why windows 11 sdk? I'm using windows 10 sdk 10.0.20348.0 (latest one from build tools 2022) and it works. Didn't attempted to build rustc's llvm, but can build original llvm from it's own repo. |
Yes it doesn't matter for either rust or llvm. The only thing I can see it matter for is debugging tools like |
The changes in this PR here is basically "whatever worked on my machine to unbrick I, for one, am not going to test the minimum SDK version that's going to work... The cdb.exe version matters for testing, not necessarily building. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In which case I think the text should be weaker. Because it's definitely a bug if rustc doesn't build with old Windows SDK. That would likely mean the compiled binary doesn't actually work on Windows 10 which would be bad.
INSTALL.md
Outdated
- A recent Windows 11 SDK. | ||
|
||
The simplest way is to get [Visual Studio], check the "C++ build tools" and | ||
select the latest "Windows 11 SDK" workload. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- A recent Windows 11 SDK. | |
The simplest way is to get [Visual Studio], check the "C++ build tools" and | |
select the latest "Windows 11 SDK" workload. | |
- A recent Windows 10 or 11 SDK. | |
The simplest way is to get [Visual Studio], check the "C++ build tools". |
The Windows 11 SDK will be selected by default anyway.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Changed the wording to recommend "recent" Windows 10 or 11 SDK to be more "slippery".
@bors r- |
Changed text, PR title/description to recommend recent Win 10/11 SDK. |
@bors r+ |
…nton Update MSVC INSTALL.md instructions to recommend VS 2022 + recent Windows 10/11 SDK This is generally iffy because we don't consistently [document the exact minimum versions of build tools required to build a given Rust toolchain](rust-lang#129307). cc rust-lang#129307, *maybe* rustup docs are outdated? Anyway, I updated this because I was on a slightly older VS toolchain and I couldn't `./x build library` on MSVC (even though maybe a month ago I could) due to CI `rustc_llvm` using stuff from newer Windows 11 SDK maybe. I updated the VS toolchain + Windows 11 SDK, and then I could build. I'm not 100% sure the requirements here are accurate. It might be too high? r? `@ChrisDenton`
Rollup of 13 pull requests Successful merges: - rust-lang#136581 (Retire the legacy `Makefile`-based `run-make` test infra) - rust-lang#136865 (Perform deeper compiletest path normalization for `$TEST_BUILD_DIR` to account for compare-mode/debugger cases, and normalize long type file filename hashes) - rust-lang#137147 (Add exclude to config.toml) - rust-lang#137327 (Undeprecate env::home_dir) - rust-lang#137463 ([illumos] attempt to use posix_spawn to spawn processes) - rust-lang#137477 (uefi: Add Service Binding Protocol abstraction) - rust-lang#137502 (Don't include global asm in `mir_keys`, fix error body synthesis) - rust-lang#137534 ([rustdoc] hide item that is not marked as doc(inline) and whose src is doc(hidden)) - rust-lang#137565 (Try to point of macro expansion from resolver and method errors if it involves macro var) - rust-lang#137643 (Add DWARF test case for non-C-like `repr128` enums) - rust-lang#137722 (`librustdoc`: 2024 edition! 🎊) - rust-lang#137836 (Set `target_vendor = "openwrt"` on `mips64-openwrt-linux-musl`) - rust-lang#137949 (Update MSVC INSTALL.md instructions to recommend VS 2022 + recent Windows 10/11 SDK) Failed merges: - rust-lang#137798 (ci: use ubuntu 24 on arm large runner) r? `@ghost` `@rustbot` modify labels: rollup
…nton Update MSVC INSTALL.md instructions to recommend VS 2022 + recent Windows 10/11 SDK This is generally iffy because we don't consistently [document the exact minimum versions of build tools required to build a given Rust toolchain](rust-lang#129307). cc rust-lang#129307, *maybe* rustup docs are outdated? Anyway, I updated this because I was on a slightly older VS toolchain and I couldn't `./x build library` on MSVC (even though maybe a month ago I could) due to CI `rustc_llvm` using stuff from newer Windows 11 SDK maybe. I updated the VS toolchain + Windows 11 SDK, and then I could build. I'm not 100% sure the requirements here are accurate. It might be too high? r? ``@ChrisDenton``
Rollup of 6 pull requests Successful merges: - rust-lang#135695 (Support raw-dylib link kind on ELF) - rust-lang#137836 (Set `target_vendor = "openwrt"` on `mips64-openwrt-linux-musl`) - rust-lang#137913 (Allow struct field default values to reference struct's generics) - rust-lang#137949 (Update MSVC INSTALL.md instructions to recommend VS 2022 + recent Windows 10/11 SDK) - rust-lang#137963 (Add ``dyn`` keyword to `E0373` examples) - rust-lang#137975 (Remove unused `PpMode::needs_hir`) r? `@ghost` `@rustbot` modify labels: rollup
…nton Update MSVC INSTALL.md instructions to recommend VS 2022 + recent Windows 10/11 SDK This is generally iffy because we don't consistently [document the exact minimum versions of build tools required to build a given Rust toolchain](rust-lang#129307). cc rust-lang#129307, *maybe* rustup docs are outdated? Anyway, I updated this because I was on a slightly older VS toolchain and I couldn't `./x build library` on MSVC (even though maybe a month ago I could) due to CI `rustc_llvm` using stuff from newer Windows 11 SDK maybe. I updated the VS toolchain + Windows 11 SDK, and then I could build. I'm not 100% sure the requirements here are accurate. It might be too high? r? ```@ChrisDenton```
…kingjubilee Rollup of 33 pull requests Successful merges: - rust-lang#136581 (Retire the legacy `Makefile`-based `run-make` test infra) - rust-lang#136764 (Make `ptr_cast_add_auto_to_object` lint into hard error) - rust-lang#136798 (Added documentation for flushing per rust-lang#74348) - rust-lang#136865 (Perform deeper compiletest path normalization for `$TEST_BUILD_DIR` to account for compare-mode/debugger cases, and normalize long type file filename hashes) - rust-lang#136975 (Look for `python3` first on MacOS, not `py`) - rust-lang#137240 (Slightly reformat `std::fs::remove_dir_all` error docs) - rust-lang#137303 (Remove `MaybeForgetReturn` suggestion) - rust-lang#137327 (Undeprecate env::home_dir) - rust-lang#137502 (Don't include global asm in `mir_keys`, fix error body synthesis) - rust-lang#137534 ([rustdoc] hide item that is not marked as doc(inline) and whose src is doc(hidden)) - rust-lang#137565 (Try to point of macro expansion from resolver and method errors if it involves macro var) - rust-lang#137643 (Add DWARF test case for non-C-like `repr128` enums) - rust-lang#137758 (fix usage of ty decl macro fragments in attributes) - rust-lang#137764 (Ensure that negative auto impls are always applicable) - rust-lang#137772 (Fix char count in `Display` for `ByteStr`) - rust-lang#137798 (ci: use ubuntu 24 on arm large runner) - rust-lang#137805 (adjust Layout debug printing to match the internal field name) - rust-lang#137808 (Do not require that unsafe fields lack drop glue) - rust-lang#137820 (Clarify why InhabitedPredicate::instantiate_opt exists) - rust-lang#137825 (Provide more context on resolve error caused from incorrect RTN) - rust-lang#137829 (Stabilize [T]::split_off... methods) - rust-lang#137834 (rustc_fluent_macro: use CARGO_CRATE_NAME instead of CARGO_PKG_NAME) - rust-lang#137850 (Stabilize `box_uninit_write`) - rust-lang#137912 (Do not recover missing lifetime with random in-scope lifetime) - rust-lang#137913 (Allow struct field default values to reference struct's generics) - rust-lang#137923 (Simplify `<Postorder as Iterator>::size_hint`) - rust-lang#137949 (Update MSVC INSTALL.md instructions to recommend VS 2022 + recent Windows 10/11 SDK) - rust-lang#137963 (Add ``dyn`` keyword to `E0373` examples) - rust-lang#137975 (Remove unused `PpMode::needs_hir`) - rust-lang#137986 (Fix some typos) - rust-lang#137991 (Add `avr-none` to SUMMARY.md and platform-support.md) - rust-lang#137993 (Remove obsolete comment from DeduceReadOnly) - rust-lang#137996 (Revert "compiler/rustc_data_structures/src/sync/worker_local.rs: delete "unsafe impl Sync"") r? `@ghost` `@rustbot` modify labels: rollup
…kingjubilee Rollup of 15 pull requests Successful merges: - rust-lang#137829 (Stabilize [T]::split_off... methods) - rust-lang#137850 (Stabilize `box_uninit_write`) - rust-lang#137912 (Do not recover missing lifetime with random in-scope lifetime) - rust-lang#137913 (Allow struct field default values to reference struct's generics) - rust-lang#137923 (Simplify `<Postorder as Iterator>::size_hint`) - rust-lang#137949 (Update MSVC INSTALL.md instructions to recommend VS 2022 + recent Windows 10/11 SDK) - rust-lang#137963 (Add ``dyn`` keyword to `E0373` examples) - rust-lang#137975 (Remove unused `PpMode::needs_hir`) - rust-lang#137981 (rustdoc search: increase strictness of typechecking) - rust-lang#137986 (Fix some typos) - rust-lang#137991 (Add `avr-none` to SUMMARY.md and platform-support.md) - rust-lang#137993 (Remove obsolete comment from DeduceReadOnly) - rust-lang#137996 (Revert "compiler/rustc_data_structures/src/sync/worker_local.rs: delete "unsafe impl Sync"") - rust-lang#138019 (Pretty-print `#[deprecated]` attribute in HIR.) - rust-lang#138026 (Make CrateItem::body() function return an option) r? `@ghost` `@rustbot` modify labels: rollup
Rollup merge of rust-lang#137949 - jieyouxu:update-install, r=ChrisDenton Update MSVC INSTALL.md instructions to recommend VS 2022 + recent Windows 10/11 SDK This is generally iffy because we don't consistently [document the exact minimum versions of build tools required to build a given Rust toolchain](rust-lang#129307). cc rust-lang#129307, *maybe* rustup docs are outdated? Anyway, I updated this because I was on a slightly older VS toolchain and I couldn't `./x build library` on MSVC (even though maybe a month ago I could) due to CI `rustc_llvm` using stuff from newer Windows 11 SDK maybe. I updated the VS toolchain + Windows 11 SDK, and then I could build. I'm not 100% sure the requirements here are accurate. It might be too high? r? ````@ChrisDenton````
…kingjubilee Rollup of 15 pull requests Successful merges: - rust-lang#137829 (Stabilize [T]::split_off... methods) - rust-lang#137850 (Stabilize `box_uninit_write`) - rust-lang#137912 (Do not recover missing lifetime with random in-scope lifetime) - rust-lang#137913 (Allow struct field default values to reference struct's generics) - rust-lang#137923 (Simplify `<Postorder as Iterator>::size_hint`) - rust-lang#137949 (Update MSVC INSTALL.md instructions to recommend VS 2022 + recent Windows 10/11 SDK) - rust-lang#137963 (Add ``dyn`` keyword to `E0373` examples) - rust-lang#137975 (Remove unused `PpMode::needs_hir`) - rust-lang#137981 (rustdoc search: increase strictness of typechecking) - rust-lang#137986 (Fix some typos) - rust-lang#137991 (Add `avr-none` to SUMMARY.md and platform-support.md) - rust-lang#137993 (Remove obsolete comment from DeduceReadOnly) - rust-lang#137996 (Revert "compiler/rustc_data_structures/src/sync/worker_local.rs: delete "unsafe impl Sync"") - rust-lang#138019 (Pretty-print `#[deprecated]` attribute in HIR.) - rust-lang#138026 (Make CrateItem::body() function return an option) r? `@ghost` `@rustbot` modify labels: rollup
This is generally iffy because we don't consistently document the exact minimum versions of build tools required to build a given Rust toolchain.
cc #129307, maybe rustup docs are outdated?
Anyway, I updated this because I was on a slightly older VS toolchain and I couldn't
./x build library
on MSVC (even though maybe a month ago I could) due to CIrustc_llvm
using stuff from newer Windows 11 SDK maybe. I updated the VS toolchain + Windows 11 SDK, and then I could build.I'm not 100% sure the requirements here are accurate. It might be too high?
r? @ChrisDenton