project_loader: improve the logic to install patchelf as a build tool
Metadata
Current evaluation
Merged PR #1967 as commit 84aaac591, improving patchelf build-tool installation and excluding broken Xenial armhf/s390x packages.
Resolution: closed resolved
Reason: PR #1967 was merged as commit 84aaac591. It excluded automatic patchelf installation on Xenial armhf and s390x; deb users must provide patchelf through a part or use build-snap.
Evaluated by: mr-cal-bot
No scores available.
Issue body
patchelf is a broken build on xenial/armhf and xenial/s390x so we do not add it as a build tool.
Users of the snapcraft deb will need to provide it in a part or use the build-snap.
Signed-off-by: Sergio Schvezov <sergio.schvezov@canonical.com>
- [x] Have you followed the [guidelines for contributing](https://github.com/snapcore/snapcraft/blob/master/CONTRIBUTING.md)?
- [x] Have you signed the [CLA](http://www.ubuntu.com/legal/contributors/)?
- [x] If this is a bugfix. Have you checked that there is a bug report open for the issue you are trying to fix on [bug reports](https://bugs.launchpad.net/snapcraft)?
- [x] If this is a new feature. Have you discussed the design on the [forum](https://forum.snapcraft.io)?
- [x] Have you successfully run `./runtests.sh static`?
- [x] Have you successfully run `./runtests.sh unit`?
-----
Integrating changes in #1943 one step at a time
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha | — | closed resolved | Merged PR #1967 as commit 84aaac591, improving patchelf build-tool installation and excluding broken Xenial armhf/s390x packages. | |
| stealth/space-bunny-alpha | — | closed resolved | Merged #1967, excluding automatic patchelf installation on Xenial armhf/s390x; deb users must provide patchelf in a part or use build-snap. | |
| qwen/qwen3.6-35b-a3b | — | — | Merged changes improving patchelf installation logic by excluding it on xenial/armhf and xenial/s390x due to broken builds. Users must provide it manually or use the build-snap. Approved and merged after clarifying error handling and architecture exclusions. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged logic to exclude patchelf as a build tool on xenial/armhf and xenial/s390x due to broken builds. The change prevents unnecessary tracebacks and requires users to provide patchelf manually or use the build-snap. |
Update history
No update history recorded yet.
Related work
-
Related To:
snapcraft#1943
(confidence 98%)
The PR description says these changes were integrated into #1943 incrementally; that separate PR was later closed unmerged.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #1888 elf: make patchelf a dependency | snapcraft | merged | Merged PR #1888 via commit 7c947f5ec, moving Patchelf out of project_loader build tools and into the deb and snap delivery mechanisms. | |
| #5486 build: add patchelf to make dependencies | snapcraft | merged | Merged PR #5486 (commit 8ae6349b9) adds the patchelf apt package to the Make dev dependencies, fixing test failures on self-hosted CI runners where patchelf was missing. | |
| #6455 fix(patchelf): use the build-for architecture's dynamic linker | snapcraft | closed | PR #6455 was closed unmerged; its patchelf cross-compilation linker fix was not delivered, and #5836 remains open. | |
| #3588 snap: patch patchelf on riscv64 (CRAFT-566) | snapcraft | merged | Merged PR #3588 via commit bf99dbdb2, conditionally patching PatchELF on riscv64 while leaving other architectures unchanged. | |
| #6511 build(deps): update patchelf to 0.19 | snapcraft | open | Updates bundled patchelf from 0.9 to 0.19 to fix ELF corruption bugs with Qt 6 plugins. Blocked by external PR canonical/patchelf#4. Has 1 unresolved review comment and one failing CI check (OSV-scanner). | |
| #2519 packaging: use local patchelf | snapcraft | merged | Merged as e39d2404c, adopting Patchelf 0.10 and relinking dynamic Go executables; later reverted by #2531 after architecture tests exposed unreliable binaries. | |
| #2531 snap: revert to patchelf 0.9 with local patches | snapcraft | merged | Merged PR #2531 as commit 44be372e3, reverting from Patchelf 0.10 to locally patched 0.9 after architecture tests exposed unreliable binaries. | |
| #2528 packaging: use our patchelf branch | snapcraft | merged | Merged (commit bd26cafd6, squashed merge of #2528): snapcraft.yaml now points patchelf sources at Snapcore's own patchelf branch with the failing s390x test disabled, unblocking s390x package builds; later reverted by #2531. | |
| #2006 many: use packaging logic to get patchelf | snapcraft | merged | Merged PR #2006 in commit aa2a40322, replacing separate patchelf retrieval with shared packaging logic so snap and deb builds use the same version. | |
| #3277 pluginhandler: support using patchelf on strict snaps | snapcraft | merged | Merged PR #3277 as fd8e95c3d, adding per-part enable-patchelf support to patch ELF rpaths and interpreters in strictly confined snaps. |