Skip to content

make build-release fails with linker crash (cc error, truncated pointer tag) on Termux (Android, aarch64) #4782

@QuantumCrypt-creator

Description

@QuantumCrypt-creator

Summary

Running make build-release on Namada (latest main branch) inside Termux on Android (aarch64) causes a crash at the linking stage with cc. The linker fails due to a pointer tag truncation issue and crashes with signal Aborted.


Environment

  • 📱 Device: Samsung device (ARM64 / aarch64)
  • 🧪 OS / Shell: Android 13 with Termux (latest version)
  • 🛠 Toolchain:
    • rustc 1.88.0 (6b00bc388 2025-06-23)
    • cargo 1.88.0 (873a06493 2025-05-10)
    • cc (Termux default)
  • 🧱 Build target: make build-release

Steps to Reproduce

  1. Install Rust via pkg install rust
  2. Clone the Namada repo:
    git clone https://github.com/anoma/namada.git
    cd namada
  3. Run:
    make build-release

Expected Behavior

Successful compilation of Namada in release profile, or at least meaningful error message if the platform is unsupported.


Actual Behavior

error: linking with `cc` failed: exit status: 1
...
Pointer tag for 0x5eee000000060106 was truncated, see 'https://source.android.com/devices/tech/debug/tagged-pointers'.
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
cc: error: unable to execute command: Aborted
cc: error: linker command failed due to signal
error: could not compile `rend` (build script) due to previous error

The build then fails with:

make: *** [Makefile:80: build-release] Error 101

Additional Notes

  • Building with make build (debug profile) does work — so the issue appears isolated to release optimizations and linker behavior.
  • Possibly caused by aggressive LTO or -pie flag + Android memory protections?
  • Related system message indicates Android's pointer tagging mechanism truncates data passed to cc.

Suggested Follow-Up

  • Can the build-release process be made more resilient on Termux environments?
  • Alternatively, should it fail early with a clear message that full release builds on Termux are unsupported?

Thanks for your time!

Screenshot:
Image

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions