# here as accepted emulation, and are now simply not installed on ARM64. That
# is the whole shape of the change - the exceptions that were tolerable one at
# a time added up to a VM full of x64 binaries.
+ #
+ # rsync came off this list when the release started publishing an arm64
+ # asset. An x64 rsync.exe on an ARM64 box is now a leftover from a run before
+ # that, not an accepted exception, so it warns and gets a remedy below.
$KnownEmulated = @{
- 'rsync.exe' = 'no ARM64 asset published; transfer is socket-bound, not CPU-bound'
'iperf3.exe' = 'no ARM64 build published; network-bound anyway'
'py.exe' = 'python.org ships the launcher shim as x86; it execs the native python.exe'
'vswhere.exe' = 'Microsoft ships x86 only; runs once per script'
$Remedies = @{
'ninja.exe' = 'Visual Studio bundles an x64 ninja. Install the native one (winget install Ninja-build.Ninja) and re-run - the NinjaPath step puts its directory at the front of the user PATH.'
'cmake.exe' = 'Install the native build with: winget install Kitware.CMake (its MSI is machine-scope, so it needs an administrator).'
+ 'rsync.exe' = 'Left over from before the release published an arm64 asset. Re-run setup-windows-with-uac.ps1 as an administrator to replace it, and the ARM64 ssh.exe beside it, with the native build.'
}
$vs = $null