Repository navigation
Find the ARM64 toolset by its libraries in build_native.bat - #98
Merged
Merged
Conversation
The ARM64 bridge build pinned MSVC 14.44, since a Visual Studio 2022 default such as 14.34 has no ARM64 C++ libraries. GitHub's windows-latest is now Visual Studio 2026, which installs 14.44 for x86 and x64 only and the ARM64 libraries for its default toolset, so the first release run failed to link with LNK1104 on libcpmt.lib. The script now uses the default toolset when it has lib\arm64\libcpmt.lib, otherwise the newest installed toolset that does, and stops with a clear message when none has them. Signed-off-by: Sam Bourne <sbourne@nvidia.com> Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
kazumasa200
pushed a commit
to kazumasa200/rtx-remix-minecraft-26-3
that referenced
this pull request
Nov 8, 2026
…meWorks#98) The first run of the release workflow ([run 42147449740](https://github.com/NVIDIAGameWorks/rtx-remix-minecraft/actions/runs/42147449740)) failed while compiling the ARM64 bridge: ``` LINK : fatal error LNK1104: cannot open file 'libcpmt.lib' ``` `build_native.bat` pinned MSVC 14.44 for ARM64 builds, because a Visual Studio 2022 default such as 14.34 has no ARM64 C++ libraries. `windows-latest` is now `windows-2025-vs2026`. Its Visual Studio 2026 installs the 14.44 toolset for x86 and x64 only (`VC.14.44.17.14.x86.x64`) and the ARM64 libraries for its default toolset (`VC.Tools.ARM64`). So the pinned build found 14.44's cross-compiler but no ARM64 runtime to link against. The regular CI only builds the x64 bridge, which is why nothing caught this earlier. The script now picks the ARM64 toolset by whether it has `lib\arm64\libcpmt.lib`: - It uses the default toolset when that has the libraries, as on the Visual Studio 2026 runner. - Otherwise it uses the newest installed toolset that does, pinned through `-vcvars_ver`, as on a Visual Studio 2022 machine with 14.44's ARM64 tools. - When no toolset has them, it stops with a message saying which Visual Studio component to add. The x64 build is unchanged. `docs/GETTING_STARTED.md` no longer names 14.44. **Testing** - x64 builds as before on this machine (Visual Studio 2022). - ARM64 on this machine, which has no ARM64 libraries, now stops early with the new message instead of failing at link. - The toolset picker against three fake Visual Studio layouts: VS 2026 picks its default, VS 2022 falls back to 14.44, and a machine with none fails with the message. - Not yet run on the GitHub runner. The release workflow is the only job that builds ARM64, so a rerun after merge is the real check. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Signed-off-by: Sam Bourne <sbourne@nvidia.com> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> (cherry picked from commit 7d2ba9f) Signed-off-by: kazumasa200 <100530291+kazumasa200@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The first run of the release workflow (run 42147449740) failed while compiling the ARM64 bridge:
build_native.batpinned MSVC 14.44 for ARM64 builds, because a Visual Studio 2022 default such as 14.34 has no ARM64 C++ libraries.windows-latestis nowwindows-2025-vs2026. Its Visual Studio 2026 installs the 14.44 toolset for x86 and x64 only (VC.14.44.17.14.x86.x64) and the ARM64 libraries for its default toolset (VC.Tools.ARM64). So the pinned build found 14.44's cross-compiler but no ARM64 runtime to link against. The regular CI only builds the x64 bridge, which is why nothing caught this earlier.The script now picks the ARM64 toolset by whether it has
lib\arm64\libcpmt.lib:-vcvars_ver, as on a Visual Studio 2022 machine with 14.44's ARM64 tools.The x64 build is unchanged.
docs/GETTING_STARTED.mdno longer names 14.44.Testing
🤖 Generated with Claude Code