Skip to content

Conversation

NoaHimesaka1873
Copy link

@NoaHimesaka1873 NoaHimesaka1873 commented Apr 28, 2025

With build target firmware 3.18 and newly added aarch64 support! (without Qt, which relies on libqsgepaper which is now distributed in .so form only so meaningless unless you're gonna use official toolchain) (now with Qt!)
NOTE: PR CI will fail because toltec-dev toolchain image does not have aarch64 build tools, but I tested building locally so it would work. Fixed this regression.
NOTE 2: stage1 toolchain build may fail randomly out of our control. Blame GNU Savannah. Temporary workaround disabling tool update until they make it stable.

@Eeems
Copy link
Member

Eeems commented Apr 28, 2025

As toltec has Qt packages, we will need to have the Qt image. While libqsgepaper is now being provided by rM officially in the toolchains where we just had an old static version of it, we will still need to provide it in our toolchains somehow.

You mention that the build is going to fail but it works locally, could you explain that more, shouldn't it just be reusing images from the previous builds? Or was that not accomplished in your previous PR?

@NoaHimesaka1873
Copy link
Author

For Qt, in the meantime I will add Qt 6 build without libqsgepaper.
The previous PR didn't include any aarch64-related things so this PR build has nothing to rely on for AArch64 stuff. (on toltec-dev side, I have one on my ghcr repo) The random build failure will happen anywhere, since it's GNU Savannah just going down randomly for no reason.

@Eeems
Copy link
Member

Eeems commented Apr 28, 2025

I guess I'm still not clear as to why it would fail the first time, as it should be building everything it should be needing and reusing from the pipeline, not relying on it being built and distributed already. That was supposed to be one of the benefits of splitting out the stages.

For Qt, yes it will need to be Qt6, but we will still need libqsgepaper included otherwise you cannot link against it.

@NoaHimesaka1873
Copy link
Author

How should I include libqsgepaper.so? Just toss 'em into somewhere?

As for the build fail, it actually grabs latest image (or given version if you provided one) and since all jobs are separate runners with no shared local cache, it won't work. It now failed anyways for that GNU Savannah issue though.

@Eeems
Copy link
Member

Eeems commented Apr 28, 2025

How should I include libqsgepaper.so? Just toss 'em into somewhere?

Well, I would just throw up a new version on the side to download instead of the libqsgepaper.a file, but the third-party folder is one I don't have access to push to. @matteodelabre will need to resolve that.

As for the build fail, it actually grabs latest image (or given version if you provided one) and since all jobs are separate runners with no shared local cache, it won't work. It now failed anyways for that GNU Savannah issue though.

So it's regressed from what it did previously, which was use the container that was built in the runner. This will need to be resolved where stage1 and stage 2 builds are shared so that stage 3 can use them, otherwise there is literally no purpose with having separate stages.

@NoaHimesaka1873
Copy link
Author

Docker buildx sure is cursed. But I found a workaround anyways...

@NoaHimesaka1873
Copy link
Author

Oof, got Savannah'ed again. Not my fault.

@NoaHimesaka1873 NoaHimesaka1873 marked this pull request as ready for review April 30, 2025 06:31
@NoaHimesaka1873
Copy link
Author

Since it's ready (minus libqsgepaper.so fetching step) for merge I moved it out from draft.

@Eeems Eeems mentioned this pull request Apr 30, 2025
@NoaHimesaka1873
Copy link
Author

cURL not following redirects strikes again!

@palfrey
Copy link

palfrey commented Sep 18, 2025

How's this one progressing? Mostly interested in a Rust image that supports the 2024 edition to fix issues with toltec-dev/toltec#951

@Eeems
Copy link
Member

Eeems commented Sep 18, 2025

How's this one progressing? Mostly interested in a Rust image that supports the 2024 edition to fix issues with toltec-dev/toltec#951

This will not resolve your problem, as v4.x images will not work for the current toltec OS target. You'll need to open a PR to create a v3.3 image with rust updated.

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.

4 participants