← Back to issue list

Building for arm not possible on Raspberry Pi 3 (32 bit)

View original Github issue

Metadata

Project
rockcraft
Number
#319
Type
issue
State
open
Author
ghislainbourgeois
Labels
Created
Updated
Closed

Current evaluation

User tried to build a ROCK for 'arm' on a Raspberry Pi 3 (32-bit, armv7l) but rockcraft rejected it because 'arm' is not a valid platform name. The correct Debian architecture name for 32-bit ARM is 'armhf', as defined in rockcraft/architectures.py. The maintainer suggested 'armv7l' but that is also incorrect. This is a usage/configuration issue, not a bug.

Suggested action: close not a bug

Reason: The user used 'arm' as the platform name, but rockcraft uses Debian architecture names (per commit 340064d2 'feat: use debian arch in platforms (#380)'). The correct name for 32-bit ARM is 'armhf', as shown in rockcraft/architectures.py where 'armhf' maps to go_arch='arm', go_variant='v7'. The maintainer's suggestion of 'armv7l' was also incorrect. This is a usage error, not a bug — the user should have used 'armhf' in their rockcraft.yaml platforms section.

Impact: 20 Quick Win: 18.0 Staleness: 75 Complexity: 10 Confidence: 80 Support Request: 85

Issue body

### Bug Description Building a ROCK for arm does not work on a Raspberry Pi 3 running the 32 bit version of Ubuntu 22.04. Rockcraft simply refuses to build with the following error message: ``` Error for platform entry 'arm': this machine's architecture (armv7l) is not compatible with the ROCK's target architecture. Can only build a ROCK for arm if the host is compatible with ['arm']. ``` ### To Reproduce ``` rockcraft init sed -i "s/amd64/arm/" rockcraft.yaml rockcraft --verbose ``` ### Environment Raspberry Pi 3 Model B Ubuntu Server 22.04.2 LTS ### rockcraft.yaml ```shell name: my-rock-name # the name of your ROCK base: ubuntu:22.04 # the base environment for this ROCK version: '0.1' # just for humans. Semantic versioning is recommended summary: Single-line elevator pitch for your amazing ROCK # 79 char long summary description: | This is my my-rock-name's description. You have a paragraph or two to tell the most important story about it. Keep it under 100 words though, we live in tweetspace and your description wants to look good in the container registries out there. license: GPL-3.0 # your application's SPDX license platforms: # The platforms this ROCK should be built on and run on arm: parts: my-part: plugin: nil ``` ### Relevant log output ```shell Error for platform entry 'arm': this machine's architecture (armv7l) is not compatible with the ROCK's target architecture. Can only build a ROCK for arm if the host is compatible with ['arm']. ```

Evaluation history

Date Model Scores Action Summary
qwen/qwen3.8-27b
Impact: 20
Quick Win: 18.0
Staleness: 75
Complexity: 10
Confidence: 80
Support Request: 85
close not a bug User tried to build a ROCK for 'arm' on a Raspberry Pi 3 (32-bit, armv7l) but rockcraft rejected it because 'arm' is not a valid platform name. The correct Debian architecture name for 32-bit ARM is 'armhf', as defined in rockcraft/architectures.py. The maintainer suggested 'armv7l' but that is also incorrect. This is a usage/configuration issue, not a bug.
qwen/qwen3.6-35b-a3b
Staleness: 85
Complexity: 30
Confidence: 60
Support Request: 40
needs triage Unlabelled report of an architecture compatibility error when building for 'arm' on 32-bit Raspberry Pi. Maintainer suggested 'armv7l' but issue remains unprioritized and inactive for over a year.
qwen3.6-35b-a3b-mtp-q6
Staleness: 90
Complexity: 20
Confidence: 85
Support Request: 20
close stale Unresolved build failure on 32-bit ARM due to architecture compatibility check. Inactive for over 3 years with no follow-up after maintainer requested a test.
qwen3.6-35b-a3b-mtp-q6
Staleness: 92
Complexity: 40
Confidence: 85
Support Request: 15
close stale Rockcraft refuses to build for arm on Raspberry Pi 3 (32-bit) due to host architecture compatibility checks. Maintainer provided a potential workaround but received no follow-up in over 10 months.
qwen3.6-35b-a3b-mtp-q6
Staleness: 85
Complexity: 30
Confidence: 75
Support Request: 20
close stale Rockcraft rejects arm builds on 32-bit ARM hosts due to an armv7l to arm compatibility check. Issue remains open after 304 days. A workaround using armv7l was suggested but may fail. Needs architecture detection fix and triage.

Update history

No update history recorded yet.

Related work

  • Related To: rockcraft#380 (confidence 75%)

    Commit 340064d2 'feat: use debian arch in platforms' established that platform names must be Debian architecture names (armhf, arm64, amd64, etc.), which is why 'arm' is rejected.

Related issues

No related issues found above the similarity threshold.