Skip to content

Build Idriç for 32-bit ARMv7 Termux - #10

Draft
isomorphisms wants to merge 18 commits into
Idriçfrom
termux-armv7-binary
Draft

isomorphisms wants to merge 18 commits into
Idriçfrom
termux-armv7-binary

Conversation

@isomorphisms

@isomorphisms isomorphisms commented Aug 26, 2026

Copy link
Copy Markdown
Owner

Summary

  • cross-build the Idriç compiler and Chez runtime for the phone's 32-bit armeabi-v7a Termux ABI
  • pin Android API 24, NDK 29.0.14206865, and the Chez commit that provides tarm7le
  • publish a relocatable compiler bundle with structural ELF verification
  • include an installer that runs an end-to-end compile-and-execute smoke test on the phone before activation

Boundary

The CI build proves the executables are ELF32 ARM EABI5 and use Android's 32-bit linker. It cannot execute the artifact on the x86-64 runner. Merge remains blocked until the bundle compiles and runs the included .idric fixture on the actual ARMv7 Termux device.

Physical-phone result — 2026-09-10

The real ARMv7 Termux run did not pass acceptance, so this PR is parked as an experimental compiler path and must not be consumed by IB or ordinary Android package builds.

Two independent packaging defects were observed before any usable compiler receipt:

  1. smoke-test.sh changed into its temporary build directory but passed the bundled smoke/Main.idric by an external absolute path; Idriç rejected it because the source was outside the active source directory.
  2. After manually copying Main.idric into that source directory, the bundled compiler/runtime aborted because Chez could not find a compatible scheme.boot in its search path.

The installer correctly skipped activation after the failed acceptance run. Keep the retained phone evidence for later compiler work; do not repair or promote this path merely to unblock an application.

For current Android application integration, the selected direction is direct DEX plus the narrow JNI boundary. Real-phone Edriç/Grease testing remains required and useful, but unfinished ARM/Thumb/ARMv7 backends are not application build dependencies.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant