snapcraft in edge channel (2.39.2+git46.c22d7e2) fails to cross-compile kernel
Metadata
Current evaluation
Cross-compile priming was fixed by snapcore/snapcraft#2012, merged as eae356003, skipping ELF dependency and linker checks for non-app snaps such as kernel snaps.
Resolution: closed resolved
Reason: PR #2012 was merged in commit eae356003. It limited ELF/libc checks and patching to app-type snaps, preventing kernel-snap firmware priming from failing linker detection.
Evaluated by: mr-cal-bot
No scores available.
Issue body
Cross-compiling a kernel snap using snapcraft in edge channel fails. Installing the one in the stable channel works though. This is in artful.
$ /snap/bin/snapcraft --target-arch=armhf
Setting target machine to 'armhf'
Cross compiling kernel target 'arm'
Skipping pull firmware (already ran)
Skipping build firmware (already ran)
Skipping stage firmware (already ran)
Skipping pull kernel (already ran)
Skipping build kernel (already ran)
Skipping stage kernel (already ran)
Priming firmware
Unable to determine library dependencies for '/home/abeato/src/tillamook/linux/prime/firmware/ath6k/AR6004/hw3.0/abtfilt-sf'
Unable to determine library dependencies for '/home/abeato/src/tillamook/linux/prime/firmware/ath10k/Qcmbr-hfp'
Unable to determine library dependencies for '/home/abeato/src/tillamook/linux/prime/firmware/ec21/quectel-CM-hf'
Unable to determine library dependencies for '/home/abeato/src/tillamook/linux/prime/firmware/ec21/quectel-CM-sf'
Unable to determine library dependencies for '/home/abeato/src/tillamook/linux/prime/firmware/ath10k/Qcmbr-sfp'
Unable to determine library dependencies for '/home/abeato/src/tillamook/linux/prime/firmware/ath6k/AR6004/hw3.0/abtfilt-hf'
Cannot find the linker to use for the target base 'core'.
Please verify that the linker exists at the expected path '/snap/core/current/lib/ld-linux-armhf.so.3' and try again. If the linker does not exist contact the author of the base (run `snap info core` to get information for this base).
$ snap info snapcraft
name: snapcraft
summary: easily create snaps
publisher: canonical
contact: <email address hidden>
license: unknown
description: |
Snapcraft aims to make upstream developers' lives easier and as such is not a
single toolset, but instead is a collection of tools that enable the natural
workflow of an upstream to be extended with a simple release step into Snappy
enabled system.
snap-id: vMTKRaLjnOJQetI78HjntT37VuoyssFE
commands:
- snapcraft
tracking: edge
installed: 2.39.2+git46.c22d7e2 (1309) 43MB classic
refreshed: 2018-03-20 05:09:48 +0100 CET
channels:
stable: 2.39.2 (1177) 46MB classic
candidate: ↑
beta: ↑
edge: 2.39.2+git46.c22d7e2 (1309) 43MB classic
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha | — | closed resolved | Cross-compile priming was fixed by snapcore/snapcraft#2012, merged as eae356003, skipping ELF dependency and linker checks for non-app snaps such as kernel snaps. | |
| stealth/space-bunny-alpha | — | closed resolved | Edge snapcraft wrongly ran ELF/linker checks on the kernel snap; fixed by PR #2012 (commit eae356003) limiting elf checking and patching to type: app snaps, clearing LP #1757094. | |
| stealth/space-bunny-alpha | — | closed stale | Snapcraft edge failed to cross-compile an armhf kernel because the core linker was missing; stable worked, but no fix, rejection, or superseding change is recorded. | |
| qwen/qwen3.6-35b-a3b | — | — | Closed without comments. The cross-compilation failure was likely resolved in later stable releases or abandoned due to inactivity. The stable channel served as a functional workaround. | |
| qwen/qwen3.6-35b-a3b | — | — | Closed without resolution. Cross-compilation failed due to missing target linker and library dependency errors in the edge channel. Issue appears abandoned or resolved by switching to the stable channel. |
Update history
| Date | Change |
|---|---|
| created |
Related work
-
Likely Fixed By:
snapcraft#2012
(confidence 100%)
The merged PR restricted ELF processing to app snaps and was cited in the issue's final maintainer comment.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #5219 Snapcraft unable to compile ARM64 kernel | snapcraft | open | ARM64 core20 kernel cross-builds fail while fetching snapd:arm64; a minimal apt reproducer exists, but the report has no maintainer triage or release mapping. | |
| #1569734 snapcraft kernel: Failed to download 'ubuntu-core/edge' | snapcraft (launchpad) | closed | Store downloading was fixed by merged PR snapcraft#452 (commit f5a1bf971), allowing the kernel plugin to download ubuntu-core/edge successfully. | |
| #1838098 snapcraft prime fails if it finds an invalid ELF file | snapcraft (launchpad) | closed | Snapcraft now skips invalid ELF files during priming; PR #2663 was merged in commit 89490853e. | |
| #1570835 snapcraft 2.8 fails on s390x | snapcraft (launchpad) | closed | Snapcraft 2.8's missing s390x handling was fixed by ubuntu-core/snapcraft PR #461, merged as commit d3c242fa2. | |
| #1943603 snapcraft --target-arch=i386 does not build i386 images, because core20 does not support i386 and yet the build starts and wastes time | snapcraft (launchpad) | open | Legacy Snapcraft accepted an unsupported core20/i386 target, wasted build time, and produced an amd64 snap; current validation excludes i386 and drops core20. | |
| #1769551 snapcraft 2.42 not working in trusty armhf | snapcraft (launchpad) | closed | Snapcraft 2.42's armhf startup failure was fixed by merged PR #2126 (commit 5230460c7); the reporter confirmed it in edge rev 1561. | |
| #1752766 Snapcraft fails to prime part containg device files | snapcraft (launchpad) | closed | Merged PR #1976 (commit ef3309f3c) fixed device-node priming by limiting ELF inspection to regular files and symlinks. |