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.
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
magikaformula: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-armwas:This was coming from the
ort/ort-sysobjects, not Magika's own Rust code.For comparison, rebuilding current
mainin Homebrew with the patch still present succeeded on Linux arm64:That run produced a successful
ubuntu-22.04-armbottle, 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:
aarch64-unknown-linux-gnuintended to be supported for the Rust CLI right now?ort/ndarraycan be moved forward safely?linux.If useful, I can also provide the exact Homebrew formula patch block and the full failing CI excerpt from the patch-removal PR.