← Back to issue list

Snap build breaking on non-amd64 architectures

View original Github issue

Metadata

Project
charmcraft
Number
#2149
Type
issue
State
closed
Author
lengau
Labels
—
Created
Updated
Closed

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.
82%