Crystal projects don't properly install and build due to "pull" copying lib/ and bin/ folders from host
Metadata
Current evaluation
Crystal source pulls can include host-built bin/lib artifacts, breaking isolated builds; the issue remains open with a manual cleanup workaround and an unmerged quick-fix PR.
Suggested action: keep open
Reason: The problem was independently reproduced on both old and new plugins with Snapcraft 4.8.3 and 5.0.0, and the reporter confirmed that host-built dependency binaries in bin/ trigger ELF dependency failures. Maintainers acknowledged the issue, but workaround PR #3567 was closed unmerged and no resolving commit or release is identified.
Evaluated by: mr-cal-bot
Impact:
45
Quick Win:
16
Complexity:
52
Confidence:
88
Actionability:
76
Issue body
The initial error i got was:
`Failed to copy 'libevent-2.1.so.7': no such file or directory.`
This error occurs because the lib on the host system doesn't match the version on the snap's multipass instance. `shards install` doesn't update the lib/ and bin/ folder on the multipass instance, which leads to a stale build.
My current workaround is to delete the two folders on "pull" to ensure that the shards are built on the multipass instance:
```
override-pull: |
snapcraftctl pull
rm -rf $SNAPCRAFT_PART_SRC/lib $SNAPCRAFT_PART_SRC/bin
```
I'm not sure if this issue is specific to Crystal, or if the behaviour is fundamentally problematic, and built files from the host shouldn't be copied over at all. Potentially `.gitignore` could be considered.
If the issue is specific to Crystal we could add the delete command or something similar to https://github.com/snapcore/snapcraft/blob/master/snapcraft/plugins/v1/crystal.py#L92.
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha |
Impact:
45
Quick Win:
16
Complexity:
52
Confidence:
88
Actionability:
76
|
keep open | Crystal source pulls can include host-built bin/lib artifacts, breaking isolated builds; the issue remains open with a manual cleanup workaround and an unmerged quick-fix PR. | |
| stealth/space-bunny-alpha |
Impact:
48
Quick Win:
18
Complexity:
55
Confidence:
91
Actionability:
84
|
keep open | Confirmed Crystal pull can include host-built bin/lib artifacts, causing ELF dependency failures in the build instance; workaround PR #3567 was closed unmerged. | |
| qwen/qwen3.6-35b-a3b |
Impact:
30
Quick Win:
11
Complexity:
40
Confidence:
60
Actionability:
60
|
keep open | Crystal projects fail to build due to stale lib/ and bin/ folders pulled from host. User provides workaround and suggests fix in crystal plugin. | |
| qwen/qwen3.8-27b |
Impact:
35
Quick Win:
19
Staleness:
88
Complexity:
45
Confidence:
52
Support Request:
15
|
needs triage | Crystal snap builds fail because 'pull' copies host lib/ and bin/ into the multipass instance, causing stale shards builds. Workaround deletes those folders on pull. 5 years old, no maintainer response, unassessed. | |
| qwen/qwen3.6-35b-a3b |
Staleness:
95
Complexity:
60
Confidence:
80
Support Request:
20
|
close stale | Crystal snap builds fail due to stale host lib/bin folders copied during pull. Untriaged, no maintainer response, over 4 years inactive. | |
| qwen/qwen3.6-35b-a3b |
Staleness:
95
Complexity:
40
Confidence:
80
Support Request:
15
|
close stale | Crystal plugin build fails due to snapcraft pull copying stale host lib/bin folders to the build environment. Issue is five years old, has no maintainer response, and references a deprecated v1 plugin architecture. | |
| qwen3.6-35b-a3b-mtp-q6 |
Staleness:
98
Complexity:
45
Confidence:
80
Support Request:
25
|
close stale | Crystal Snapcraft plugin fails to build due to host lib/bin files being copied during pull, causing version mismatches. Issue is 5 years old with no maintainer response and references deprecated v1 plugin code. |
Update history
| Date | Change |
|---|---|
| created |
Related work
-
Related To:
snapcore/snapcraft#3567
(confidence 100%)
Proposed a Crystal-specific quick fix, but it was closed without being merged.
Related issues
No related issues found above the similarity threshold.