← Back to issue list

Cannot package Python3 package - missing binary

View original Launchpad issue

Metadata

Project
snapcraft (launchpad)
Number
#1811362
Type
issue
State
open
Author
~radek-sprta
Labels
—
Created
Updated
Closed
—

Current evaluation

Snapcraft 2.43.1 on Mariner crashes with raw FileNotFoundError for prime/bin/mariner when wrapping the app command; report unlabelled, no maintainer reply, and the 2.x _snap_packaging code path no longer exists upstream.

Suggested action: close stale

Reason: The reported failure is in snapcraft 2.43.1's snapcraft/internal/meta/_snap_packaging.py::_wrap_exe, a code path that no longer exists in the repo: pickaxe search on _wrap_exe ends with 921d0f1cb 'meta: remove dead code from snap packaging (#2898)' and ffb164b7a 'chore: remove snapcraft_legacy', and grep for _wrap_exe/FileNotFoundError in the current tree finds nothing, so the crash is unfixable and unobservable in current snapcraft. The unhelpful raw traceback was also improved later for legacy snapcraft by 65ba888da 'meta: friendlier message for incorrect app command (#2272)' and e0cb7cb94 'meta: add InvalidAppCommand errors for non-existent and not-found (#2539)'. With zero comments, no labels, and no maintainer triage in ~7.8 years against a retired 2.x line, the report is obsolete; residual uncertainty is that the reporter's own YAML (app command vs. generated console script) was likely the real fault, as in closed bug #1795171.

Evaluated by: mr-cal-bot

Impact: 30 Quick Win: 8 Complexity: 35 Confidence: 70 Actionability: 40

Issue body

The snap builds for Mariner have started failing without any change to snapcraft.yml. The error is below: Sorry, an error occurred in Snapcraft: Traceback (most recent call last): File "/usr/bin/snapcraft", line 9, in <module> load_entry_point('snapcraft==2.43.1', 'console_scripts', 'snapcraft')() File "/usr/lib/python3/dist-packages/click/core.py", line 716, in __call__ return self.main(*args, **kwargs) File "/usr/lib/python3/dist-packages/click/core.py", line 696, in main rv = self.invoke(ctx) File "/usr/lib/python3/dist-packages/click/core.py", line 1037, in invoke return Command.invoke(self, ctx) File "/usr/lib/python3/dist-packages/click/core.py", line 889, in invoke return ctx.invoke(self.callback, **ctx.params) File "/usr/lib/python3/dist-packages/click/core.py", line 534, in invoke return callback(*args, **kwargs) File "/usr/lib/python3/dist-packages/click/decorators.py", line 17, in new_func return f(get_current_context(), *args, **kwargs) File "/usr/lib/python3/dist-packages/snapcraft/cli/_runner.py", line 93, in run ctx.forward(lifecyclecli.commands["snap"]) File "/usr/lib/python3/dist-packages/click/core.py", line 552, in forward return self.invoke(cmd, **kwargs) File "/usr/lib/python3/dist-packages/click/core.py", line 534, in invoke return callback(*args, **kwargs) File "/usr/lib/python3/dist-packages/snapcraft/cli/lifecycle.py", line 136, in snap project = _execute(steps.PRIME, parts=[], **kwargs) File "/usr/lib/python3/dist-packages/snapcraft/cli/lifecycle.py", line 35, in _execute lifecycle.execute(step, project_config, parts) File "/usr/lib/python3/dist-packages/snapcraft/internal/lifecycle/_runner.py", line 90, in execute executor.run(step, part_names) File "/usr/lib/python3/dist-packages/snapcraft/internal/lifecycle/_runner.py", line 196, in run self._create_meta(step, processed_part_names) File "/usr/lib/python3/dist-packages/snapcraft/internal/lifecycle/_runner.py", line 359, in _create_meta self.config.validator.schema, File "/usr/lib/python3/dist-packages/snapcraft/internal/meta/_snap_packaging.py", line 109, in create_snap_packaging packaging.write_snap_yaml() File "/usr/lib/python3/dist-packages/snapcraft/internal/meta/_snap_packaging.py", line 312, in write_snap_yaml snap_yaml = self._compose_snap_yaml() File "/usr/lib/python3/dist-packages/snapcraft/internal/meta/_snap_packaging.py", line 468, in _compose_snap_yaml snap_yaml["apps"] = self._wrap_apps(self._config_data["apps"]) File "/usr/lib/python3/dist-packages/snapcraft/internal/meta/_snap_packaging.py", line 567, in _wrap_apps self._wrap_app(app, apps[app]) File "/usr/lib/python3/dist-packages/snapcraft/internal/meta/_snap_packaging.py", line 575, in _wrap_app app[k] = self._wrap_exe(app[k], "{}-{}".format(k, name)) File "/usr/lib/python3/dist-packages/snapcraft/internal/meta/_snap_packaging.py", line 546, in _wrap_exe with open(exepath, "rb") as exefile: FileNotFoundError: [Errno 2] No such file or directory: '/home/test/mariner/prime/bin/mariner' We would appreciate it if you created a bug report at https://launchpad.net/snapcraft/+filebug with the above text included. You can find the snapcraft.yaml here https://gitlab.com/radek-sprta/mariner/blob/90a6fb89c4354223ab844d5e14d77ec9f5d75db7/snapcraft.yaml. For the above test, I have used setup.py generated by poetry-setup (https://pypi.org/project/poetry-setup/). python3 setup.py bdist_wheel produces a valid package.

Evaluation history

Date Model Scores Action Summary
stealth/space-bunny-alpha
Impact: 30
Quick Win: 8
Complexity: 35
Confidence: 70
Actionability: 40
close stale Snapcraft 2.43.1 on Mariner crashes with raw FileNotFoundError for prime/bin/mariner when wrapping the app command; report unlabelled, no maintainer reply, and the 2.x _snap_packaging code path no longer exists upstream.
stealth/space-bunny-alpha
Impact: 40
Quick Win: 9
Complexity: 65
Confidence: 86
Actionability: 62
needs triage Mariner packaging with Snapcraft 2.43.1 fails on missing prime/bin/mariner despite a valid wheel. The unlabelled report has no maintainer response or diagnosis.
qwen/qwen3.8-27b
Impact: 15
Quick Win: 10
Staleness: 95
Complexity: 30
Confidence: 75
Support Request: 70
close stale Snapcraft 2.43.1 build fails with FileNotFoundError for bin/mariner in prime during _wrap_exe; app command points to a binary the Python package does not install. 7.6 years old, no maintainer interaction, snapcraft 2.x EOL and code path removed.
qwen/qwen3.6-35b-a3b
Staleness: 98
Complexity: 35
Confidence: 90
Support Request: 60
close stale Reported Snapcraft build failure for a Python package due to a missing binary. The report has been inactive for over 7 years with no maintainer response or updates.
qwen/qwen3.6-35b-a3b
Staleness: 98
Complexity: 20
Confidence: 90
Support Request: 80
close stale Snapcraft 2.43.1 packaging fails due to a missing binary. Issue is 7.5 years old, unlabelled, and has no maintainer interaction.
qwen3.6-35b-a3b-mtp-q6
Staleness: 98
Complexity: 25
Confidence: 90
Support Request: 75
close stale Unresolved report from 7.5 years ago detailing a Snapcraft build failure due to a missing binary in the prime stage. No maintainer response or activity.

Update history

Date Change
created

Related work

  • Duplicate Of: snapcraft (launchpad)#1812435 (confidence 80%)

    Same snapcraft 2.43.1 FileNotFoundError for a missing prime/bin app binary ('prime/bin/mockpyairpulse is absent'), still open, likewise with insufficient YAML to tell whether the app command or the generated entry point is misconfigured.

  • Duplicate Of: snapcraft (launchpad)#1808043 (confidence 78%)

    Highest-similarity report (0.77): FileNotFoundError when snapcraft 2.43.1 tries to wrap an executable absent from prime/bin — the same failure mode and version as this report.

  • Related To: snapcraft (launchpad)#1795171 (confidence 72%)

    Same 2.43.1 prime-time crash closed as working-as-intended: @ogra explained the app command was misconfigured (literal $SNAP/bin path vs bin/ags) and the reporter confirmed the corrected snippet.

  • Related To: snapcraft (launchpad)#1830520 (confidence 70%)

    Later open report of the identical raw FileNotFoundError for a missing prime-directory app binary on 2.43.1, with a 2019 patch linked but no merge or closure recorded.

Related issues

No related issues found above the similarity threshold.