fix(build): replace retired Linaro armhf toolchain with Debian's#3070
Merged
Conversation
releases.linaro.org has been retired, so the pi2/pi3 webview-builder's download of gcc-linaro-7.4.1 fails to connect (curl exit 7). Every master Docker build has gone red since, and because publish-latest only advances the floating latest-<board> tags on a fully green matrix, the latest-* images froze — users tracking latest stopped getting any merged fixes. - Install Debian's supported crossbuild-essential-armhf (gcc 14, same arm-linux-gnueabihf- prefix) instead of fetching the dead tarball - Symlink it under the legacy gcc-linaro path the frozen Qt 5 qmake.conf bakes into CROSS_COMPILE, so the pinned WebView-v2026.04.1 artifact needs no rebuild; the app still links against the Raspbian /sysroot, so the target glibc is unchanged - Apply the same swap to the offline toolchain-rebuild path (build_qt5.sh + its Dockerfile) so the dead URL is gone everywhere Validated by building the pi2 viewer image: qmake/make link the AnthiasViewer binary against the pinned Qt 5 libs with the Debian cross-gcc, producing a valid ARM EABI5 hardfloat executable. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
There was a problem hiding this comment.
Pull request overview
This PR unblocks the failing pi2/pi3 (armhf) webview build by removing the retired Linaro gcc-7.4.1 download and switching to Debian’s supported crossbuild-essential-armhf, while preserving the legacy gcc-linaro-7.4.1-… path expected by the pinned Qt 5 toolchain.
Changes:
- Install Debian’s
crossbuild-essential-armhfin the relevant builder images. - Replace the Linaro tarball fetch with a symlink shim that exposes
/usr/bin/arm-linux-gnueabihf-*under the legacy Linaro directory. - Apply the same approach to the offline Qt 5 toolchain rebuild path (
build_qt5.sh+ its builder Dockerfile).
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
src/anthias_webview/Dockerfile |
Adds crossbuild-essential-armhf to the Qt 5 toolchain builder image dependencies. |
src/anthias_webview/build_qt5.sh |
Replaces Linaro download/extract with a legacy-path symlink shim to Debian’s cross toolchain. |
docker/Dockerfile.qt5-webview-builder.j2 |
Installs Debian’s cross toolchain and swaps the Linaro download step for legacy-path symlinks in the viewer’s Qt 5 webview builder stage. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Addresses Copilot review on #3070: - build_qt5.sh: fail fast with a clear message if the armhf cross toolchain is absent (else the glob expands to a literal and errors confusingly), and use `ln -sf` so reruns are idempotent. - Dockerfile.qt5-webview-builder.j2: the amd64-pin comment referenced the removed Linaro download; the real reason is the pinned Qt 5 bundle's x86_64 host qmake (and the x86_64-hosted Debian cross-gcc). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.



Issues Fixed
The pi2/pi3 (armhf) image build has been failing on every push to master since 2026-06-10. The
qt5-webview-builderstage downloads the Linarogcc-7.4.1cross-compiler fromreleases.linaro.org, which Linaro has retired — the download now fails to connect (curl: (7) Failed to connect ... releases.linaro.org).Because
publish-latestonly advances the floatinglatest-<board>tags once the entire build matrix is green, two dead 32-bit builds frozelatest-*for every board. Users trackinglatest(e.g. viarun_upgrade.sh) stopped receiving any merged fixes — including the WAL playlist-reload fix (#3062), which is why that bug appeared to persist onlatesteven after it was merged.Description
crossbuild-essential-armhf(gcc 14, samearm-linux-gnueabihf-prefix).gcc-linaro-7.4.1-…path that the frozen Qt 5qmake.confbakes intoCROSS_COMPILE, so the pinnedWebView-v2026.04.1artifact needs no rebuild. The app still links against the Raspbian/sysroot(-sysroot), so the target glibc is unchanged.build_qt5.sh+ itsDockerfile) so the retired URL is gone everywhere.Validated locally by building the pi2 viewer image end-to-end:
qmake/makecompile the webview sources and linkAnthiasVieweragainst the pinned Qt 5.solibs using the Debian cross-gcc, producing a validELF 32-bit ARM EABI5 hardfloatexecutable (ld-linux-armhf.so.3).Checklist