Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update builder image to ubuntu-20.04 #84

Merged
merged 1 commit into from
Jun 14, 2023

Conversation

wnienhaus
Copy link
Collaborator

GitHub has deprecated the ubuntu-18.04 builder image. So before that builder image is entirely removed, this PR updates the build process to use the ubuntu-20.04 image instead.

This commit also installs an older version of GCC (v7) because binutils-esp32ulp does not build successfully on Ubuntu 20.04 with its default GCC version (v9). (Solution was found here: espressif/binutils-esp32ulp#19 (comment))

Fixes: #80

PS: Ubuntu 22.04 no longer has GCC v7 in its repository, which is why this PR only changes to Ubuntu 20.04 for now (should last a while). It appears binutils-esp32ulp has some bigger change in the making (see this comment), which might make it compatible with a newer GCC in the near future, and then perhaps easier for us to update to Ubuntu 22.04.

GitHub has deprecated the ubuntu-18.04 builder image. So before
that builder image is entirely removed, this commit updates the
build process to use the ubuntu-20.04 image instead.

This commit also installs an older verion of GCC (v7) because
binutils-esp32ulp does not build successfully on Ubuntu 20.04
with the default GCC version (v9). (This solution was found
here: espressif/binutils-esp32ulp#19 (comment))

Fixes: micropython#80
@Jason2866
Copy link

Are you planning to release the new espressif ulp32 version which supports all MCU ulp soon for micropython?

@wnienhaus
Copy link
Collaborator Author

@Jason2866

Are you planning to release the new espressif ulp32 version which supports all MCU ulp soon for micropython?

Currently there are no plans to support additional ESP32 variants other than the original, even though it would of course be nice to have support.

My brief review of the Technical Reference Manual of the ESP32-S2 suggests that it should not be too hard to add support for it. I just added an issue for this (#85) with the help wanted label, so maybe some in the community wants to contribute support for this (I don't have any S2's around to test with).

Note that the ESP32-C2 and ESP32-C3 are very different and do not have a ULP. Also note, that we don't use the espressif binutils-esp32ulp for anything other than testing - i.e. during our tests, we compare whether the binary output from our assembler matches what binutils-esp32ulp produces (we treat binutils-esp32ulp as an authoritative reference).

@wnienhaus wnienhaus merged commit 5a73440 into micropython:master Jun 14, 2023
@wnienhaus wnienhaus deleted the build_on_ubuntu_2004 branch June 14, 2023 08:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Update Actions runner image
2 participants