← Back to issue list

Python plugins install wheels for the host architecture, not the target architecture.

View original Github issue

Metadata

Project
craft-parts
Number
#974
Type
issue
State
open
Author
lengau
Labels
—
Created
Updated
Closed
—

Current evaluation

Cross-compiled Python plugin parts can succeed while installing host-architecture wheels, leaving binary dependencies such as cryptography unusable; the report remains open and untriaged.

Suggested action: needs triage

Reason: The reproducer is concrete: a cross-compiled Python part with cryptography succeeds but ships the host-architecture package. The current implementation still creates a venv with host python3 and runs pip without target architecture or platform arguments; despite this clear evidence, the issue has no labels, comments, assignee, or other maintainer triage, and lacks explicit host/target architecture details.

Evaluated by: mr-cal-bot

Impact: 58 Quick Win: 14 Complexity: 68 Confidence: 84 Actionability: 76

Issue body

### Bug Description All of the Python plugins create their virtual environments for the host architecture. While this isn't a problem if all packages are python-native, including a package with binary components will fail when doing a cross-compile. ### To Reproduce Try cross-compiling a snap with the parts specified below. It will succeed, but the snap won't have the correct cryptography package. ### part yaml ```shell parts: my-part: plugin: python source: . python-packages: - cryptography ``` ### Relevant log output ```shell n/a ```

Evaluation history

Date Model Scores Action Summary
stealth/space-bunny-alpha
Impact: 58
Quick Win: 14
Complexity: 68
Confidence: 84
Actionability: 76
needs triage Cross-compiled Python plugin parts can succeed while installing host-architecture wheels, leaving binary dependencies such as cryptography unusable; the report remains open and untriaged.
qwen/qwen3.6-35b-a3b
Impact: 70
Quick Win: 22
Complexity: 60
Confidence: 80
Actionability: 80
needs triage Python plugin creates virtual environments for host architecture, breaking cross-compilation with binary packages like cryptography. Issue is open, unlabelled, and has no maintainer response after 614 days.
qwen/qwen3.8-27b
Impact: 55
Quick Win: 16
Staleness: 75
Complexity: 70
Confidence: 70
Support Request: 5
needs triage Python plugins (python, poetry, uv) create venvs and pip-install wheels for the host architecture, so cross-compiling a snap with binary Python packages (e.g. cryptography) silently produces a broken snap. Open, unlabelled, no comments, inactive ~16 months; bug still present in current code.
qwen/qwen3.6-35b-a3b
Staleness: 92
Complexity: 65
Confidence: 75
Support Request: 5
needs triage Python plugin installs host architecture wheels instead of target, breaking cross-compilation. Unlabelled, no maintainer comments, inactive for ~16 months.
qwen3.6-35b-a3b-mtp-q6
Staleness: 80
Complexity: 60
Confidence: 70
Support Request: 5
needs triage Python plugins create virtual environments for the host architecture, breaking cross-compilation with binary packages. The issue is unlabelled, has zero comments, and has been inactive for over a year.

Update history

No update history recorded yet.

Related issues

No related issues found above the similarity threshold.