snapcraft 2.42 not working in trusty armhf
Metadata
Current evaluation
Snapcraft 2.42's armhf startup failure was fixed by merged PR #2126 (commit 5230460c7); the reporter confirmed it in edge rev 1561.
Resolution: closed resolved
Reason: PR #2126 corrected armhf library lookup for ctypes and was merged as commit 5230460c7. The reporter then confirmed Snapcraft worked in edge revision 1561.
Evaluated by: mr-cal-bot
No scores available.
Issue body
After getting the snapcraft snap automatically refreshed to the 1503 revision (2.42) I am having this problem when trying to execute "snapcraft", "snapcraft clean" or just "snapcraft --version":
Traceback (most recent call last):
File "/snap/snapcraft/1503/bin/snapcraft", line 11, in <module>
load_entry_point('snapcraft==2.42', 'console_scripts', 'snapcraft')()
File "/snap/snapcraft/1503/lib/python3.5/site-packages/pkg_resources/__init__.py", line 480, in load_entry_point
return get_distribution(dist).load_entry_point(group, name)
File "/snap/snapcraft/1503/lib/python3.5/site-packages/pkg_resources/__init__.py", line 2693, in load_entry_point
return ep.load()
File "/snap/snapcraft/1503/lib/python3.5/site-packages/pkg_resources/__init__.py", line 2324, in load
return self.resolve()
File "/snap/snapcraft/1503/lib/python3.5/site-packages/pkg_resources/__init__.py", line 2330, in resolve
module = __import__(self.module_name, fromlist=['__name__'], level=0)
File "/snap/snapcraft/1503/lib/python3.5/site-packages/snapcraft/__init__.py", line 386, in <module>
from snapcraft._store import ( # noqa
File "/snap/snapcraft/1503/lib/python3.5/site-packages/snapcraft/_store.py", line 37, in <module>
from snapcraft import storeapi
File "/snap/snapcraft/1503/lib/python3.5/site-packages/snapcraft/storeapi/__init__.py", line 19, in <module>
import pymacaroons
File "/snap/snapcraft/1503/lib/python3.5/site-packages/pymacaroons/__init__.py", line 2, in <module>
from .macaroon import Macaroon
File "/snap/snapcraft/1503/lib/python3.5/site-packages/pymacaroons/macaroon.py", line 13, in <module>
from pymacaroons.caveat_delegates import (
File "/snap/snapcraft/1503/lib/python3.5/site-packages/pymacaroons/caveat_delegates/__init__.py", line 4, in <module>
from .encrypted_first_party import (
File "/snap/snapcraft/1503/lib/python3.5/site-packages/pymacaroons/caveat_delegates/encrypted_first_party.py", line 5, in <module>
from pymacaroons.field_encryptors import SecretBoxEncryptor
File "/snap/snapcraft/1503/lib/python3.5/site-packages/pymacaroons/field_encryptors/__init__.py", line 2, in <module>
from .secret_box_encryptor import SecretBoxEncryptor
File "/snap/snapcraft/1503/lib/python3.5/site-packages/pymacaroons/field_encryptors/secret_box_encryptor.py", line 3, in <module>
from libnacl.secret import SecretBox
File "/snap/snapcraft/1503/lib/python3.5/site-packages/libnacl/__init__.py", line 70, in <module>
nacl = _get_nacl()
File "/snap/snapcraft/1503/lib/python3.5/site-packages/libnacl/__init__.py", line 51, in _get_nacl
return ctypes.cdll.LoadLibrary('libsodium.so')
File "/snap/snapcraft/1503/usr/lib/python3.5/ctypes/__init__.py", line 451, in LoadLibrary
return self._dlltype(name)
File "/snap/snapcraft/1503/usr/lib/python3.5/ctypes/__init__.py", line 362, in __init__
name)
File "/snap/snapcraft/1503/usr/lib/python3.5/posixpath.py", line 89, in join
genericpath._check_arg_types('join', a, *p)
File "/snap/snapcraft/1503/usr/lib/python3.5/genericpath.py", line 143, in _check_arg_types
(funcname, s.__class__.__name__)) from None
TypeError: join() argument must be str or bytes, not 'NoneType'
I'm trying to do it in an armhf using Trusty. I reverted to the previous version (2.41 - rev 1427) and everything works as usual.
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha | — | closed resolved | Snapcraft 2.42's armhf startup failure was fixed by merged PR #2126 (commit 5230460c7); the reporter confirmed it in edge rev 1561. | |
| stealth/space-bunny-alpha | — | closed resolved | snapcraft 2.42 (rev 1503) crashed on armhf/Trusty because libsodium.so wasn't found by ctypes. Fixed by merged PR #2126 (commit 5230460c7) adding armhf to the ctypes library search path; reporter confirmed on edge rev 1561. | |
| stealth/space-bunny-alpha | — | closed stale | Closed with no recorded fix; the reporter reverted to Snapcraft 2.41 (rev 1427), leaving the 2.42 armhf startup failure unresolved in the tracker. | |
| qwen/qwen3.6-35b-a3b | — | — | Closed without comments or resolution. The author reverted to version 2.41, indicating the issue was abandoned or superseded by newer releases. | |
| qwen/qwen3.6-35b-a3b | — | — | Closed without resolution, likely abandoned. The issue reported a libnacl ctypes TypeError crashing snapcraft 2.42 on Trusty armhf; reverting to 2.41 resolved the problem. |
Update history
| Date | Change |
|---|---|
| created |
Related work
-
Likely Fixed By:
canonical/snapcraft#2126
(confidence 100%)
Merged armhf packaging fix that loads architecture-specific libraries for ctypes.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #5638 Snapcraft fails to run on 32bit userspace container on 64bit ARM kernel. | snapcraft | closed | Fixed by merged PR #6394 (commit e51640488): Snapcraft now maps armv8l to armv7l, supporting ARMHF builds in 32-bit ARM userspace on 64-bit ARM kernels. | |
| #1752964 Snapcraft snap broken on trusty | snapcraft (launchpad) | closed | Snapcraft 2.39.2 snap failed on Trusty: mksquashfs couldn't find liblz4.so.1 because ELF rpaths weren't set. Fixed by snapcore/snapcraft#1988 (commit 17f1f8c2f), which only sets rpaths to libs of the same arch; verified via edge/1752964-fix-trusty channel. | |
| #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. | |
| #1947968 snapcraft missing 22.04 branch | snapcraft (launchpad) | closed | Resolved by opening stable/ubuntu-22.04 and releasing snapcraft revisions 7010 (amd64) and 7013 (s390x), restoring the branch required by the 22.04 package. | |
| #1534531 snapcraft-examples opencv example cannot run on armhf | snapcraft (launchpad) | closed | Duplicate of snapcraft#1534530, where the armhf OpenCV failure was attributed to building on Wily for an older target; building on Xenial worked, so no code fix was needed. | |
| #5132 push of locally built snap fails on arm64 device | snapcraft | closed | Fixed in Snapcraft 8.6 by merged PR #5136 (commit 2e7f5c3b), which migrated Snapcraft to core24 and updated bundled unsquashfs to 4.6.1; overlapping PR #5147 was closed. | |
| #1757094 snapcraft in edge channel (2.39.2+git46.c22d7e2) fails to cross-compile kernel | snapcraft (launchpad) | closed | 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. | |
| #2012074 snapcraft cannot build snap by default on aarch64 | snapcraft (launchpad) | open | ARM64 default builds failed on Snapcraft 7.3.1 because core20 selected amd64-only Multipass images; later defaults use core22/LXD on Linux, addressing the reported path. | |
| #1650458 snaps tests fail in armhf | snapcraft (launchpad) | closed | Armhf snap test builds were fixed by snapcore/snapcraft#990, merged as f467e55bc; installation testing remained deferred because runners used LXC. |