I’ve got an ARM / Apple Silicon / M1 Macbook, and I’m attempting to setup a project for development on it.
Generally, to build compilers and tooling, I’ve slowly learned to use
arch -arm64 before commands to ensure they’re not compiling slow, “translated” binaries that run through Rosetta. Unfortunately, I’m running into a weird issue with that at the moment.
I’ve already successfully produced a working OCaml compiler with the following:
arch -arm64 opam switch create default-arm64 4.12.0
However, now that I’m attempting to create a
4.06.1 switch for the actual project I’m working on, I’m running into strange issues:
./bs-slash-create $ arch -arm64 opam switch create bucklescript-arm64 4.06.1 [ERROR] No compiler matching '4.06.1' found, use 'opam switch list-available' to see what is available, or use '--packages' to select packages explicitly. ./bs-slash-create $ arch -arm64 opam switch list-available # ... lists only the latest version of OCaml ./bs-slash-create $ opam switch list-available # ... lists all versions of OCaml, including 4.06.1
Is there a particular reason opam is refusing to compile OCaml 4.06.1 under ARM? Unless I’m missing something, it looks like OCaml’s compiler has worked on ARM since 3.12, a little over a decade ago.
If it’s a tooling issue, is there a way to coax opam into compiling 4.06.1 on ARM?