← Back to issue list

cannot build snapd snap with build-base: core w/o base: core

View original Launchpad issue

Metadata

Project
snapcraft (launchpad)
Number
#1857019
Type
issue
State
closed
Author
~anonymouse67
Labels
Created
Updated
Closed

Current evaluation

Closed without resolution or comments. The snapcraft TypeError when using build-base: core without base: core remains unresolved.

Suggested action:

No scores available.

Issue body

When using just `build-base: core` in the snapd snap, snapcraft fails thusly: ``` Priming fontconfig-bionic join() argument must be str or bytes, not 'NoneType' We would appreciate it if you anonymously reported this issue. No other data than the traceback and the version of snapcraft in use will be sent. Would you like to send this error data? (Yes/No/Always/View) [no]: view Traceback (most recent call last): File "/snap/snapcraft/3834/bin/snapcraft", line 11, in <module> load_entry_point('snapcraft==3.9.1', 'console_scripts', 'snapcraft')() File "/snap/snapcraft/3834/lib/python3.6/site-packages/click/core.py", line 764, in __call__ return self.main(*args, **kwargs) File "/snap/snapcraft/3834/lib/python3.6/site-packages/click/core.py", line 717, in main rv = self.invoke(ctx) File "/snap/snapcraft/3834/lib/python3.6/site-packages/click/core.py", line 1137, in invoke return _process_result(sub_ctx.command.invoke(sub_ctx)) File "/snap/snapcraft/3834/lib/python3.6/site-packages/snapcraft/cli/_command.py", line 88, in invoke return super().invoke(ctx) File "/snap/snapcraft/3834/lib/python3.6/site-packages/click/core.py", line 956, in invoke return ctx.invoke(self.callback, **ctx.params) File "/snap/snapcraft/3834/lib/python3.6/site-packages/click/core.py", line 555, in invoke return callback(*args, **kwargs) File "/snap/snapcraft/3834/lib/python3.6/site-packages/snapcraft/cli/lifecycle.py", line 288, in snap _execute(steps.PRIME, parts=[], pack_project=True, output=output, **kwargs) File "/snap/snapcraft/3834/lib/python3.6/site-packages/snapcraft/cli/lifecycle.py", line 79, in _execute lifecycle.execute(step, project_config, parts) File "/snap/snapcraft/3834/lib/python3.6/site-packages/snapcraft/internal/lifecycle/_runner.py", line 122, in execute executor.run(step, part_names) File "/snap/snapcraft/3834/lib/python3.6/site-packages/snapcraft/internal/lifecycle/_runner.py", line 176, in run self._handle_step(part_names, part, step, current_step, cli_config) File "/snap/snapcraft/3834/lib/python3.6/site-packages/snapcraft/internal/lifecycle/_runner.py", line 190, in _handle_step getattr(self, "_run_{}".format(current_step.name))(part) File "/snap/snapcraft/3834/lib/python3.6/site-packages/snapcraft/internal/lifecycle/_runner.py", line 265, in _run_prime self._run_step(step=steps.PRIME, part=part, progress="Priming") File "/snap/snapcraft/3834/lib/python3.6/site-packages/snapcraft/internal/lifecycle/_runner.py", line 309, in _run_step getattr(part, step.name)() File "/snap/snapcraft/3834/lib/python3.6/site-packages/snapcraft/internal/pluginhandler/__init__.py", line 798, in prime self._do_runner_step(steps.PRIME) File "/snap/snapcraft/3834/lib/python3.6/site-packages/snapcraft/internal/pluginhandler/__init__.py", line 245, in _do_runner_step return getattr(self._runner, "{}".format(step.name))() File "/snap/snapcraft/3834/lib/python3.6/site-packages/snapcraft/internal/pluginhandler/_runner.py", line 91, in prime "override-prime", self._override_prime_scriptlet, self._primedir File "/snap/snapcraft/3834/lib/python3.6/site-packages/snapcraft/internal/pluginhandler/_runner.py", line 137, in _run_scriptlet scriptlet_name, function_call.strip() File "/snap/snapcraft/3834/lib/python3.6/site-packages/snapcraft/internal/pluginhandler/_runner.py", line 193, in _handle_builtin_function function(**function_args) File "/snap/snapcraft/3834/lib/python3.6/site-packages/snapcraft/internal/pluginhandler/__init__.py", line 819, in _do_prime dependency_paths = self._handle_elf(snap_files) File "/snap/snapcraft/3834/lib/python3.6/site-packages/snapcraft/internal/pluginhandler/__init__.py", line 831, in _handle_elf core_path = common.get_installed_snap_path(self._base) File "/snap/snapcraft/3834/lib/python3.6/site-packages/snapcraft/internal/common.py", line 92, in get_installed_snap_path return os.path.join(os.path.sep, "snap", snap_name, "current") File "/snap/snapcraft/3834/usr/lib/python3.6/posixpath.py", line 94, in join genericpath._check_arg_types('join', a, *p) File "/snap/snapcraft/3834/usr/lib/python3.6/genericpath.py", line 149, in _check_arg_types (funcname, s.__class__.__name__)) from None TypeError: join() argument must be str or bytes, not 'NoneType' ``` I believe this is because the _handle_elf function assumes that there will always be a snap specified by `base: ...` when in this case there is not, there is only build-base.

Evaluation history

Date Model Scores Action Summary
qwen/qwen3.6-35b-a3b Closed without resolution or comments. The snapcraft TypeError when using build-base: core without base: core remains unresolved.
qwen/qwen3.6-35b-a3b Closed without resolution. Reported a snapcraft crash when using build-base: core without base: core due to an unhandled None base path. No fix or follow-up was documented.
qwen/qwen3.6-35b-a3b Closed without comments or resolution. The snapcraft crash report involving build-base without base appears abandoned, with no fix, merge, or external resolution documented.
qwen3.6-35b-a3b-mtp-q6 Closed without comments or resolution. The report details a snapcraft TypeError when using build-base without base, but no fix was provided, indicating the issue was abandoned or resolved externally.

Update history

No update history recorded yet.

Related issues

Issue Project State Summary Similarity
#1839604 build-base seems broken snapcraft (launchpad) open Seven-year-old question about snapcraft rejecting 'base: bare' with 'build-base: core18' via a confusing validation error. No maintainer response; validation was rewritten in snapcraft 8.x, where build-base is now required for bare bases, so the reported combination is now valid.
78%
#4972 Cannot create a snap with base:bare in destructive mode snapcraft open Snapcraft 8.3.2 fails with 'cannot determine build-for architecture' when building a base:bare snap in destructive mode without build-base. Maintainer confirmed build-base is required for bare and plans an earlier, clearer validation error.
73%
#4246 Reported error message building base: core18 with newer snapcrafts is wrong snapcraft closed Closed without resolution. A maintainer noted the error applies to any unsupported base like core17 and suggested improving the message to clarify base incompatibility instead of blaming the plugin.
73%
#1819290 Support for "base: core" snapcraft (launchpad) closed The request to support base: core in snapcraft.yaml was closed without implementation. After seven years of inactivity and snap base evolution, the feature was abandoned and superseded by newer framework versions.
72%
#1803776 snapcraft init missing a base snapcraft (launchpad) closed Closed without resolution. The base requirement for snapcraft init was later implemented in subsequent releases, superseding this report.
72%
#1862256 snapcraft should complain loudly when building base: core20 snap on i386 snapcraft (launchpad) closed Closed as superseded. Improved architecture parsing in snapcraft now correctly rejects unsupported base-architecture combinations, addressing the original request without requiring explicit i386 core20 checks.
72%
#1860550 Defining base snap breaks snapping Subiquity snapcraft (launchpad) open Subiquity snap build with base: core18 leaves /snap/bin empty and snapd stuck seeding in ISO; works without base keyword. Reported ~6.5 years ago with zero comments; core18 is EOL and snapcraft 8.x rewrote base handling, so it is no longer applicable.
72%
#1939713 snapcraft init create base: core18 snap snapcraft (launchpad) closed Closed without direct resolution, likely abandoned due to inactivity. Subsequent Snapcraft releases updated the init default to core20 and core22, effectively resolving the reported behavior.
72%
#2103643 snapcraft whoami fails if run in a place with recipe using base: core snapcraft (launchpad) closed Closed without resolution or fix. The snapcraft whoami command incorrectly parsed snapcraft.yaml and failed on outdated base: core configurations. The issue was abandoned after 513 days with no comments or patches.
72%
#1835532 snapcraft behavior for type: base snapcraft (launchpad) closed Closed without comments. The type: base and build-base configuration behavior was superseded by updated snapcraft core20 implementation.
72%