Snap build breaking on non-amd64 architectures
Metadata
Current evaluation
Closed without a public fix. The snap build failure on non-amd64 architectures due to a missing libgit2 dependency was abandoned, with no resolution or code changes provided.
Suggested action: —
No scores available.
Issue body
### Bug Description
The snap build is failing on architectures other than amd64
- https://launchpad.net/~charmcraft-team/charmcraft/+snap/charmcraft-edge/+build/2719505
### To Reproduce
Build on a non-amd64 arch
### Environment
n/a
### charmcraft.yaml
```yaml
n/a
```
### Relevant log output
```shell
Skipping build for charmcraft (already ran)
Staging charmcraft (required to build 'bash-completion')
Building bash-completion
:: + python3 -m craft_cli.completion charmcraft charmcraft.application:get_app_info
:: Traceback (most recent call last):
:: File "/build/charmcraft/stage/lib/python3.10/site-packages/craft_application/git/_git_repo.py", line 37, in <module>
:: import pygit2 # type: ignore[import-untyped]
:: File "/build/charmcraft/stage/lib/python3.10/site-packages/pygit2/__init__.py", line 32, in <module>
:: from ._pygit2 import *
:: ImportError: libgit2.so.1.7: cannot open shared object file: No such file or directory
::
:: During handling of the above exception, another exception occurred:
::
:: Traceback (most recent call last):
:: File "/build/charmcraft/stage/usr/lib/python3.10/runpy.py", line 196, in _run_module_as_main
:: return _run_code(code, main_globals, None,
:: File "/build/charmcraft/stage/usr/lib/python3.10/runpy.py", line 86, in _run_code
:: exec(code, run_globals)
:: File "/build/charmcraft/stage/lib/python3.10/site-packages/craft_cli/completion/__main__.py", line 5, in <module>
:: main()
:: File "/build/charmcraft/stage/lib/python3.10/site-packages/craft_cli/completion/completion.py", line 291, in main
:: args = parser.parse_args(sys.argv[1:])
:: File "/build/charmcraft/stage/usr/lib/python3.10/argparse.py", line 1845, in parse_args
:: args, argv = self.parse_known_args(args, namespace)
:: File "/build/charmcraft/stage/usr/lib/python3.10/argparse.py", line 1878, in parse_known_args
:: namespace, args = self._parse_known_args(args, namespace)
:: File "/build/charmcraft/stage/usr/lib/python3.10/argparse.py", line 2094, in _parse_known_args
:: stop_index = consume_positionals(start_index)
:: File "/build/charmcraft/stage/usr/lib/python3.10/argparse.py", line 2050, in consume_positionals
:: take_action(action, args)
:: File "/build/charmcraft/stage/usr/lib/python3.10/argparse.py", line 1939, in take_action
:: argument_values = self._get_values(action, argument_strings)
:: File "/build/charmcraft/stage/usr/lib/python3.10/argparse.py", line 2474, in _get_values
:: value = self._get_value(action, arg_string)
:: File "/build/charmcraft/stage/usr/lib/python3.10/argparse.py", line 2507, in _get_value
:: result = type_func(arg_string)
:: File "/build/charmcraft/stage/lib/python3.10/site-packages/craft_cli/completion/completion.py", line 262, in _validate_app_info
:: module = importlib.import_module(mod_path)
:: File "/build/charmcraft/stage/usr/lib/python3.10/importlib/__init__.py", line 126, in import_module
:: return _bootstrap._gcd_import(name[level:], package, level)
:: File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
:: File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
:: File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
:: File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
:: File "<frozen importlib._bootstrap_external>", line 883, in exec_module
:: File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
:: File "/build/charmcraft/stage/lib/python3.10/site-packages/charmcraft/application/__init__.py", line 25, in <module>
:: from charmcraft.application.main import APP_METADATA, Charmcraft, main, get_app_info
:: File "/build/charmcraft/stage/lib/python3.10/site-packages/charmcraft/application/main.py", line 24, in <module>
:: import craft_application
:: File "/build/charmcraft/stage/lib/python3.10/site-packages/craft_application/__init__.py", line 18, in <module>
:: from craft_application.application import Application, AppFeatures, AppMetadata
:: File "/build/charmcraft/stage/lib/python3.10/site-packages/craft_application/application.py", line 39, in <module>
:: from craft_application import _config, commands, errors, grammar, models, secrets, util
:: File "/build/charmcraft/stage/lib/python3.10/site-packages/craft_application/commands/__init__.py", line 18, in <module>
:: from .base import AppCommand, ExtensibleCommand
:: File "/build/charmcraft/stage/lib/python3.10/site-packages/craft_application/commands/base.py", line 28, in <module>
:: from craft_application.services import service_factory
:: File "/build/charmcraft/stage/lib/python3.10/site-packages/craft_application/services/__init__.py", line 22, in <module>
:: from craft_application.services.init import InitService
:: File "/build/charmcraft/stage/lib/python3.10/site-packages/craft_application/services/init.py", line 31, in <module>
:: from craft_application.git import GitError, GitRepo, is_repo, parse_describe
:: File "/build/charmcraft/stage/lib/python3.10/site-packages/craft_application/git/__init__.py", line 27, in <module>
:: from ._git_repo import (
:: File "/build/charmcraft/stage/lib/python3.10/site-packages/craft_application/git/_git_repo.py", line 43, in <module>
:: import pygit2 # type: ignore[import-untyped]
:: File "/build/charmcraft/stage/lib/python3.10/site-packages/pygit2/__init__.py", line 32, in <module>
:: from ._pygit2 import *
:: ImportError: libgit2.so.1.7: cannot open shared object file: No such file or directory
'override-build' in part 'bash-completion' failed with code 1.
:: + python3 -m craft_cli.completion charmcraft charmcraft.application:get_app_info
:: Traceback (most recent call last):
:: File "/build/charmcraft/stage/lib/python3.10/site-packages/craft_application/git/_git_repo.py", line 37, in <module>
:: import pygit2 # type: ignore[import-untyped]
:: File "/build/charmcraft/stage/lib/python3.10/site-packages/pygit2/__init__.py", line 32, in <module>
:: from ._pygit2 import *
:: ImportError: libgit2.so.1.7: cannot open shared object file: No such file or directory
:: During handling of the above exception, another exception occurred:
:: Traceback (most recent call last):
:: File "/build/charmcraft/stage/usr/lib/python3.10/runpy.py", line 196, in _run_module_as_main
:: return _run_code(code, main_globals, None,
:: File "/build/charmcraft/stage/usr/lib/python3.10/runpy.py", line 86, in _run_code
:: exec(code, run_globals)
:: File "/build/charmcraft/stage/lib/python3.10/site-packages/craft_cli/completion/__main__.py", line 5, in <module>
:: main()
:: File "/build/charmcraft/stage/lib/python3.10/site-packages/craft_cli/completion/completion.py", line 291, in main
:: args = parser.parse_args(sys.argv[1:])
:: File "/build/charmcraft/stage/usr/lib/python3.10/argparse.py", line 1845, in parse_args
:: args, argv = self.parse_known_args(args, namespace)
:: File "/build/charmcraft/stage/usr/lib/python3.10/argparse.py", line 1878, in parse_known_args
:: namespace, args = self._parse_known_args(args, namespace)
:: File "/build/charmcraft/stage/usr/lib/python3.10/argparse.py", line 2094, in _parse_known_args
:: stop_index = consume_positionals(start_index)
:: File "/build/charmcraft/stage/usr/lib/python3.10/argparse.py", line 2050, in consume_positionals
:: take_action(action, args)
:: File "/build/charmcraft/stage/usr/lib/python3.10/argparse.py", line 1939, in take_action
:: argument_values = self._get_values(action, argument_strings)
:: File "/build/charmcraft/stage/usr/lib/python3.10/argparse.py", line 2474, in _get_values
:: value = self._get_value(action, arg_string)
:: File "/build/charmcraft/stage/usr/lib/python3.10/argparse.py", line 2507, in _get_value
:: result = type_func(arg_string)
:: File "/build/charmcraft/stage/lib/python3.10/site-packages/craft_cli/completion/completion.py", line 262, in _validate_app_info
:: module = importlib.import_module(mod_path)
:: File "/build/charmcraft/stage/usr/lib/python3.10/importlib/__init__.py", line 126, in import_module
:: return _bootstrap._gcd_import(name[level:], package, level)
:: File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
:: File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
:: File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
:: File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
:: File "<frozen importlib._bootstrap_external>", line 883, in exec_module
:: File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
:: File "/build/charmcraft/stage/lib/python3.10/site-packages/charmcraft/application/__init__.py", line 25, in <module>
:: from charmcraft.application.main import APP_METADATA, Charmcraft, main, get_app_info
:: File "/build/charmcraft/stage/lib/python3.10/site-packages/charmcraft/application/main.py", line 24, in <module>
:: import craft_application
:: File "/build/charmcraft/stage/lib/python3.10/site-packages/craft_application/__init__.py", line 18, in <module>
:: from craft_application.application import Application, AppFeatures, AppMetadata
:: File "/build/charmcraft/stage/lib/python3.10/site-packages/craft_application/application.py", line 39, in <module>
:: from craft_application import _config, commands, errors, grammar, models, secrets, util
:: File "/build/charmcraft/stage/lib/python3.10/site-packages/craft_application/commands/__init__.py", line 18, in <module>
:: from .base import AppCommand, ExtensibleCommand
:: File "/build/charmcraft/stage/lib/python3.10/site-packages/craft_application/commands/base.py", line 28, in <module>
:: from craft_application.services import service_factory
:: File "/build/charmcraft/stage/lib/python3.10/site-packages/craft_application/services/__init__.py", line 22, in <module>
:: from craft_application.services.init import InitService
:: File "/build/charmcraft/stage/lib/python3.10/site-packages/craft_application/services/init.py", line 31, in <module>
:: from craft_application.git import GitError, GitRepo, is_repo, parse_describe
:: File "/build/charmcraft/stage/lib/python3.10/site-packages/craft_application/git/__init__.py", line 27, in <module>
:: from ._git_repo import (
:: File "/build/charmcraft/stage/lib/python3.10/site-packages/craft_application/git/_git_repo.py", line 43, in <module>
:: import pygit2 # type: ignore[import-untyped]
:: File "/build/charmcraft/stage/lib/python3.10/site-packages/pygit2/__init__.py", line 32, in <module>
:: from ._pygit2 import *
:: ImportError: libgit2.so.1.7: cannot open shared object file: No such file or directory
Review the scriptlet and make sure it's correct.
Full execution log: '/root/.local/state/snapcraft/log/snapcraft-20250204-224012.811515.log'
Build failed
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/lpbuildd/target/build_snap.py", line 302, in run
self.build()
File "/usr/lib/python3/dist-packages/lpbuildd/target/build_snap.py", line 286, in build
self.run_build_command(["snapcraft"], cwd=output_path, env=env)
File "/usr/lib/python3/dist-packages/lpbuildd/target/operation.py", line 62, in run_build_command
return self.backend.run(args, cwd=cwd, env=full_env, **kwargs)
File "/usr/lib/python3/dist-packages/lpbuildd/target/lxd.py", line 762, in run
return self._run_command(
File "/usr/lib/python3/dist-packages/lpbuildd/target/lxd.py", line 699, in _run_command
subprocess.check_call(cmd, **kwargs)
File "/usr/lib/python3.8/subprocess.py", line 364, in check_call
raise CalledProcessError(retcode, cmd)
```
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| qwen3.6-35b-a3b-mtp-q6 | — | — | Closed without a public fix. The snap build failure on non-amd64 architectures due to a missing libgit2 dependency was abandoned, with no resolution or code changes provided. | |
| qwen/qwen3.6-35b-a3b | — | — | Closed without a fix. The issue was synced to internal Jira tracking (CRAFT-4122) and remains unresolved. | |
| qwen/qwen3.6-35b-a3b | — | — | Closed without a public fix. A bot comment notes the snap build failure on non-amd64 architectures due to a missing libgit2 dependency was synced to internal Jira ticket CRAFT-4122. No further resolution or merge details are available. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Closed without resolution. The non-amd64 snap build failure caused by a missing libgit2 library was synced to an internal Jira ticket but received no fixes or follow-up actions. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Closed without resolution. The non-amd64 snap build failure due to a missing libgit2 dependency was synced to internal Jira ticket CRAFT-4122. The issue was abandoned with no public fix applied. |
Update history
No update history recorded yet.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #1369 Snap not building on platforms without a cryptography wheel | charmcraft | closed | Closed without resolution. No comments or linked pull requests were added. The snap build failure on architectures lacking cryptography wheels remains unfixed. | |
| #1737532 "snapcraft cleanbuild --target-arch=i386" produces amd64 executables | snapcraft (launchpad) | closed | Closed without resolution. Cross-compilation for i386 via snapcraft cleanbuild continued producing amd64 binaries due to an incorrect container architecture and missing cross-compiler configuration. | |
| #4376 fix(snap): add missing build-packages for git | snapcraft | closed | Closed after the CI dependency discussion moved elsewhere. The change addressed a libgit2 version mismatch causing build failures on s390x. | |
| #1665165 classic snaps fail to build in launchpad in archs other than amd64 | snapcraft (launchpad) | closed | Closed without resolution or comments. Classic snap build failures on non-amd64 architectures due to cross-compilation errors were abandoned or superseded by updated build infrastructure. | |
| #1520248 snap with only scripts gets wrongs architecture set | snapcraft (launchpad) | closed | Closed without comments or resolution. Snapcraft 0.5 incorrectly flagged script-only snaps as missing amd64 binaries. The issue was abandoned and likely resolved in later snapcraft versions. | |
| #1817288 snapcraft cleanbuild produces incorrect architecture snap | snapcraft (launchpad) | closed | Abandoned and closed without resolution. The legacy mode cleanbuild multi-arch naming bug remains unfixed due to lack of activity and deprecation of legacy mode. | |
| #1569280 Snapcraft fails to strip go binaries on arm | snapcraft (launchpad) | closed | Closed without resolution. Snapcraft failed to strip Go binaries on ARM during Launchpad builds, causing failures despite amd64 success. No fix or comments were provided. | |
| #4478 bug: remote-build broke in snapcraft 8.0 | snapcraft | closed | Abandoned after investigation identified a libgit2 issue with large repositories causing SSL/broken pipe errors during remote builds. No fix was implemented. | |
| #4142 snapcraft remote-build exits with return code 0 even when some snaps failed to build for a given arch | snapcraft | closed | Closed without comments or resolution, indicating the request was abandoned. No official fix or merge details were provided. |