Snap build breaking on non-amd64 architectures
Metadata
Current evaluation
Fixed by merged PR #2151 (commit 8a98680e), correcting the bash-completion build path on non-amd64 architectures, including RISC-V.
Resolution: closed resolved
Reason: PR #2151 corrected the architecture-specific bash-completion build path and was merged as commit 8a98680e, resolving the non-amd64 snap build failure.
Evaluated by: mr-cal-bot
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 |
|---|---|---|---|---|
| stealth/space-bunny-alpha | — | closed resolved | Fixed by merged PR #2151 (commit 8a98680e), correcting the bash-completion build path on non-amd64 architectures, including RISC-V. | |
| stealth/space-bunny-alpha | — | closed resolved | Fixed by merged PR #2151 (commit 8a98680e), correcting the bash-completion build path on non-amd64 architectures, including RISC-V. | |
| 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. |
Update history
No update history recorded yet.
Related work
-
Likely Fixed By:
canonical/charmcraft#2151
(confidence 100%)
The merged fix corrects the bash-completion build path for non-amd64 architectures.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #2151 fix(completion): correct path to build bash completion on non-amd64 | charmcraft | merged | Merged #2151 in commit 8a98680e, correcting the bash-completion build path on non-amd64 systems; RISC-V was confirmed fixed and #2149 was closed. |