Skip to content

Provide the libxml2 link dependency for native Windows ARM64 LLVM #482

Description

@LunaStev

Summary

The native Windows ARM64 compiler build cannot link against the official LLVM 21.1.8 ARM64 package because llvm-sys requests xml2s.lib, but that library is not available in the configured LLVM/MSVC library paths.

This currently blocks both the native Windows ARM64 build job and the Windows ARM64 cases job introduced by #474.

Reproduction

Run the native Windows ARM64 jobs from #474 with:

cargo build --locked --release --target aarch64-pc-windows-msvc \
  --no-default-features --features llvm-target-aarch64 --jobs 2

Observed linker failure:

LINK : fatal error LNK1181: cannot open input file 'xml2s.lib'

Affected CI jobs:

  • Build Windows ARM64 natively
  • Cases Windows GNU arm64 (the job currently runs on a native ARM64 Windows host despite its legacy display name)

Expected behavior

The native Windows ARM64 compiler links successfully using an explicitly provisioned, checksum-pinned libxml2 dependency or an LLVM distribution/link mode that does not leave xml2s.lib unresolved.

Acceptance criteria

  • Document why LLVM's ARM64 MSVC package requests xml2s.lib in this configuration.
  • Provision or avoid the dependency without using an unpinned binary download.
  • Keep the compiler and dependency architecture native ARM64.
  • Make both Windows ARM64 build and cases jobs reach their Wave validation steps.
  • Add a CI assertion that catches a mismatched x64/ARM64 dependency early.

Evidence

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.cross-platformIssues related to making Wave work seamlessly across multiple operating systems.needs testingIssues that require additional testing or verification.

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions