Skip to content

Restore Windows ARM64 case builds when static CRT linking cannot locate psapi #608

Description

@LunaStev

Observed on PR #606 head 037baf248a9793be2b0563fb28972b5c4fb9714a (2026-09-12).

The Cases Windows GNU arm64 job now fails while building the native Rust compiler, before any Wave case runs.

Failing cases job:

error: could not find native static library `psapi`, perhaps an -L flag is missing?
error: could not compile `llvm-sys` (lib) due to 1 previous error

The failing command is:

cargo build --locked --release --no-default-features --features llvm-target-aarch64 --jobs 2

The same PR's native ARM64 build job successfully builds the compiler and passes the LLVM allocator regression. Its build command includes --target aarch64-pc-windows-msvc. The cases job also installs llvm-mingw and changes PATH. These are investigation leads, not a proven explanation.

Both logs show:

  • RUSTFLAGS: -C target-feature=+crt-static -l bcrypt -l ws2_32
  • LIB containing provisioned ARM64 libxml2, MSVC ARM64, Windows SDK UCRT ARM64, and Windows SDK UM ARM64 directories.
  • LLVM 21.1.8 and a native ARM64 Rust host.

Starting points:

Acceptance:

  • Capture cargo -vv/llvm-sys link-search output and verify the actual ARM64 SDK psapi.lib resolution.
  • Reconcile native target selection, SDK library search paths, and any PATH interaction; preserve the configured output path or update all consumers if an explicit Cargo target changes it.
  • Keep Rust, LLVM, and libxml2 in the compatible static-CRT allocator domain established for Investigate native Windows ARM64 access violations across Wave cases #493. Do not revert to the crashing allocation/free combination or mix x64 libraries into ARM64.
  • Native ARM64 compiler architecture verification and the case runner must execute after the build succeeds.
  • Review the analogous release workflow for the same setup pattern.

Related: #493, #292, #606. This is a compiler-build/link dependency failure, not evidence that generated GNU ARM64 programs failed.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugA problem that causes incorrect behavior or crashes.buildIssues related to building the project or compiling errors.ciGitHub CI or CIhelp wantedThe issue requires extra attention or help from others.os-specific bugA bug or issue that occurs only on a specific operating system.

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions