What happened
Compiling for Android fails at the linking stage with Could not find libperry_runtime.a. The WinGet package does not include libperry_runtime.a for aarch64-linux-android — a recursive search of the install directory returns no .a files at all.
What you expected
The WinGet package should either bundle libperry_runtime.a for the Android target, or perry setup android should download and install it automatically. Currently perry setup android only configures Play Store publishing credentials and does not help with this error.
Minimal reproduction
// src/index.tsx — any Perry app targeting Android
import { App, Text } from "perry/ui";
App({ title: "Hello" }, () => Text("Hello, Android!"));
Command you ran:
perry compile --target android src/index.tsx
Environment
- Perry version: 0.5.891
- Host OS: Windows 11
- Target: android
- Rust toolchain: N/A (not building from source)
- Installed via: winget
Diagnostic output
Linking (runtime-only)...
Error: Could not find libperry_runtime.a (for target "android").
Searched:
- target/aarch64-linux-android/release/libperry_runtime.a
- target/aarch64-linux-android/debug/libperry_runtime.a
- C:\Users\<user>\AppData\Local\Microsoft\WinGet\Packages\aarch64-linux-android\release\libperry_runtime.a
- C:\Users\<user>\AppData\Local\Microsoft\WinGet\Packages\aarch64-linux-android\debug\libperry_runtime.a
- D:\a\perry\perry\crates\perry\..\..\target\aarch64-linux-android\release\libperry_runtime.a
Fixes:
- From the perry workspace: cargo build --release -p perry-runtime --target aarch64-linux-android
- Out-of-tree install: set PERRY_RUNTIME_DIR to the directory containing libperry_runtime.a
Anything else
This looks like part of a broader WinGet packaging issue — similar omissions were reported for other runtimes in #352 (Windows runtime libs not added to path) and #225 (libperry_jsruntime.a missing). The Android cross-compile runtime appears to be affected by the same problem.
The suggested workaround (cargo build --release -p perry-runtime --target aarch64-linux-android) requires cloning the full Perry source repo, which is not realistic for end users installing via WinGet.
What happened
Compiling for Android fails at the linking stage with
Could not find libperry_runtime.a. The WinGet package does not includelibperry_runtime.aforaarch64-linux-android— a recursive search of the install directory returns no.afiles at all.What you expected
The WinGet package should either bundle
libperry_runtime.afor the Android target, orperry setup androidshould download and install it automatically. Currentlyperry setup androidonly configures Play Store publishing credentials and does not help with this error.Minimal reproduction
Command you ran:
Environment
Diagnostic output
Anything else
This looks like part of a broader WinGet packaging issue — similar omissions were reported for other runtimes in #352 (Windows runtime libs not added to path) and #225 (
libperry_jsruntime.amissing). The Android cross-compile runtime appears to be affected by the same problem.The suggested workaround (
cargo build --release -p perry-runtime --target aarch64-linux-android) requires cloning the full Perry source repo, which is not realistic for end users installing via WinGet.