Skip to content

macOS arm64: Rustler NIF link fails with undefined enif symbols #267

Description

@bobaikato

Summary

The released Ota v1.6.27 pressure matrix reproduced a macOS ARM64 linker failure while compiling the Rustler NIF. This is an evidence report only; it does not propose a fix because the isolated ownership boundary has not yet been established.

Environment

  • GitHub Actions macos-latest ARM64 runner
  • Elixir 1.16
  • OTP 26
  • Rust stable
  • Ota v1.6.27 from the contract-owned released bootstrap

Reproduction

The failure occurs in the setup closure used by both:

  • ota run verify:elixir-format
  • ota run verify:elixir-test

The Rust build reaches the linker, then reports undefined Erlang NIF symbols for architecture arm64, beginning with:

Undefined symbols for architecture arm64:
"_enif_alloc_env", referenced from:
librustler-...rlib

Hosted evidence:
https://github.com/bobaikato/pythiaLabs/actions/runs/33517820099/job/99958972200

Retained artifact:
ota-pre-release-native-pressure-macos-33517820099

Adjacent matrix results

On the same macOS run, these surfaces passed:

  • MCP smoke
  • Rust worker build and tests
  • site build
  • Action Envelope, VCE, ACI, and local CAEP conformance

The existing site-format/Prettier deviations are separate and intentionally unchanged.

Boundary

This report proves a reproducible macOS ARM64 NIF-link failure in the selected Elixir closure. It does not establish whether ownership belongs to Rustler configuration, linker flags, OTP packaging, or repository build setup, and it does not claim an Ota defect.

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions