← 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

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.
74%
#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.
73%
#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.
72%
#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.
72%
#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.
72%
#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.
71%
#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.
70%
#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.
70%
#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.
70%