Skip to content

libperry_runtime.a for Android target not bundled in WinGet package #872

Description

@keufcp

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugConfirmed defect or regression

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions