mattytrentini / mpbuild

MicroPython build tool
MIT License
9 stars 5 forks source link

Bug: rp2/RPI_PICO2 does not build #27

Open hmaerki opened 2 months ago

hmaerki commented 2 months ago

Bug 1

The Raspberry Pi Pico RP2350 source is here: https://github.com/dpgeorge/micropython/tree/rp2-add-rp2350/ports/rp2/boards/RPI_PICO2

However, the build fails.

Bug 2

mpbuild uses container micropython/build-micropython-arm (See https://github.com/mattytrentini/mpbuild/blob/main/src/mpbuild/build.py#L7).

Where is the source (Dockerfile) of this container?

Rationale

It could be helpful for Damien to have regression tests running on octoprobe. For this, we have to fix above bugs.

If desired, I could

mattytrentini commented 2 months ago

micropython/build-micropython-arm:latest is built with Debian Bullseye which uses arm-none-eabi-gcc v8.5. I build this container manually and publish them periodically, the source is here.

The version of the pico-sdk that is currently used requires a GCC version of >9.1. That issue is the cause of the failed build.

RPi have addressed the issue but a new release hasn't yet been published.

I've also published an updated version of micropython/build-micropython-arm that is built with Debian Bookwork and uses arm-none-eabi-gcc v12.2. It can be used by picking up the bookworm tag (ie micropython/build-micropython-arm:bookworm). The source is on the update-to-bookworm branch.

You can build RPI_PICO2 using the bookworm container with the build-container option:

mpbuild build RPI_PICO2 --build-container micropython/build-micropython-arm:bookworm

Eventually I'd like to use bookworm as the default build container but I haven't tried it on enough other builds yet to be confident in updating the version of gcc.

hmaerki commented 1 month ago

@mattytrentini: Thanks a lot for the precise answer! I could build the images.

It looks like that RPI_PICO, variant RISCV is not supported yet.

This PR https://github.com/mattytrentini/build-micropython-arm-docker/pull/1 is a docker image which supports to build RPI_PICO, variant RISCV.