3 ms·
Cross-compiling ? Aren't M1 and Pi both ARM processors ? I've been building apps for my M1 to run on Pi without any issue. Some optimization options maybe ?
by edarchis 2y ago
Cross-compiling ? Aren't M1 and Pi both ARM processors ? I've been building apps for my M1 to run on Pi without any issue. Some optimization options maybe ?
- jcelerier 2y agoIf the app leverages the page size in some way you can get into very subtle crashes - app is built on M1 (with 16k page size), page size is stored in a constant in the binary because it's a macro, then you trt to access the entire range of a page in a pi (4k pages) - and things break.
- nappy-doo 2y agoCross compiling is really defined as different platforms, not limiting it to instruction sets. Also, the M1 is an ARM, but the instruction sets aren't exactly the same.
- mrtz 2y agoCross-compilling from MacOS to Linux. By default OCaml does dynamic linking of all C dependencies. Even with static linking there is a dependency on libc (or the MacOS equivalent) as far as I remember. I had some success so far with Rust, Nim and Go using a musl toolchain[1], but no luck for OCaml. At the moment I'm just using a docker container which mirrors the Debian distribution running on the Pi. [1] https://github.com/messense/homebrew-macos-cross-toolchains https://github.com/messense/homebrew-macos-cross-toolchains