On the path to compiling Marlin. Last obstacle

I have spent another half-day trying to compile Marlin using PlatformIO. After downloading Python and a host of other files and configurations,
I’m using Windows 11 (ARM) with VS Code and PlatformIO

I’m at the stage that when I hit “Build” I get this message
UnknownPackageError: Could not find the package with ‘platformio/toolchain-gccarmnoneeabi @ ~1.90201.0’ requirements for your system ‘windows_arm64’

Can anyone assist please I have no idea what it means.

Oh oh.

The error essentially means that the PlatformIO registry does not have a ARM64 package for the arm-none-eabi-gcc package. See registry. PlatformIO sources the packages in this case from https://github.com/xpack-dev-tools/arm-none-eabi-gcc-xpack/releases/tag/v9.2.1-1.1, which fails to provide a package compiled for Windows ARM. Only Windows Intel x32 and AMD64 are provided. This essentially means that compilation is only possible on 32-bit or 64-bit Windows, not Windows ARM.

There has been a similar topic for MacOS ARM (M1). When this processor was released, none of the old packages were natively compiled for the M1. However, since MacOS for the M1 did include Rosetta as a binary translation layer to still execute the Intel based binaries, we could just mark the Intel x64 packages as “Mac ARM” compatible and have them executed under the hood by Rosetta.

I presume Windows ARM has a similiar feature to still execute x64 binaries? If so, all Windows x64 pacakges could be marked Windows ARM compatible. You can test this yourself by downloading toolchain-gccarmnoneeabi-windows_amd64-1.90201.191206.tar.gz, unpacking, and trying to run bin\arm-none-eabi-gcc.exe --version on the commandline.

CC @ivankravets.

1 Like