Skip to content

Removing ort/ndarray compatibility pin also breaks Linux arm64 builds #1323

@chenrui333

Description

@chenrui333

The compatibility pin from #1312 appears to be needed for more than just the original x86_64 Homebrew case.

In Homebrew we currently carry the patch from that PR in the magika formula:

When I tried removing that patch in this Homebrew PR:

Linux arm64 also failed to build from source in CI.

Direct failing Linux arm job:

The useful part of the failing linker output on ubuntu-22.04-arm was:

/usr/bin/ld: ...libort_sys-....rlib(...): undefined reference to `__cxa_call_terminate`
/usr/bin/ld: ...inference_session.cc.o: undefined reference to `__isoc23_strtol`
/usr/bin/ld: ...allocator_adapters.cc.o: undefined reference to `__isoc23_strtoll`
/usr/bin/ld: ...parser.cc.o: undefined reference to `__isoc23_strtoull`
collect2: error: ld returned 1 exit status

This was coming from the ort / ort-sys objects, not Magika's own Rust code.

For comparison, rebuilding current main in Homebrew with the patch still present succeeded on Linux arm64:

That run produced a successful ubuntu-22.04-arm bottle, while the patch-removal PR above did not.

So from the Homebrew side, dropping the pin regresses Linux arm64 in addition to the earlier x86_64 compatibility issue.

Questions:

  • Is Linux arm64 / aarch64-unknown-linux-gnu intended to be supported for the Rust CLI right now?
  • If yes, should the fix from rust: pin ort/ndarray for x86_64 build compatibility #1312 (or a follow-up equivalent) stay in upstream until ort / ndarray can be moved forward safely?
  • If not, it would help to document that current Linux support is narrower than generic linux.

If useful, I can also provide the exact Homebrew formula patch block and the full failing CI excerpt from the patch-removal PR.

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