[GH-ISSUE #1148] Binary CI job failing #8781

Closed
opened 2026-05-23 03:54:17 +01:00 by JakeStanger · 8 comments
Owner

Originally created by @JakeStanger on GitHub (Sep 7, 2025).
Original GitHub issue: https://github.com/JakeStanger/ironbar/issues/1148

Describe the bug
The binary CI job is failing when attempting to link to the colpetto crate. This occurs indifr the GH Actions Runner at least, when compiling under Cross on both x86_64 and ARM64.

https://github.com/JakeStanger/ironbar/actions/runs/17534068248/job/49794809579

   --- stderr

  thread 'main' panicked at /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/colpetto-0.6.0/build.rs:40:13:
  Failed to link to libinput version 1.22. Make sure it's installed on your system.
  note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
warning: build failed, waiting for other jobs to finish...

It's currently unknown whether the build succeeds when run outside of CI; further investigation is needed.

Tagging @morr0ne for visibility.

Originally created by @JakeStanger on GitHub (Sep 7, 2025). Original GitHub issue: https://github.com/JakeStanger/ironbar/issues/1148 **Describe the bug** The binary CI job is failing when attempting to link to the `colpetto` crate. This occurs indifr the GH Actions Runner at least, when compiling under Cross on both x86_64 and ARM64. https://github.com/JakeStanger/ironbar/actions/runs/17534068248/job/49794809579 ``` --- stderr thread 'main' panicked at /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/colpetto-0.6.0/build.rs:40:13: Failed to link to libinput version 1.22. Make sure it's installed on your system. note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace warning: build failed, waiting for other jobs to finish... ``` It's currently unknown whether the build succeeds when run outside of CI; further investigation is needed. Tagging @morr0ne for visibility.
JakeStanger 2026-05-23 03:54:17 +01:00
Author
Owner

@JakeStanger commented on GitHub (Sep 8, 2025):

Testing shows this is due to Cross using Ubuntu 20.02 images, which ships neolithic package versions. Trying to use a custom image and get cross-compilation working, and trying to build a newer libinput version are both painful, so waiting for this:

https://github.com/cross-rs/cross/pull/1580

<!-- gh-comment-id:3267791503 --> @JakeStanger commented on GitHub (Sep 8, 2025): Testing shows this is due to Cross using Ubuntu 20.02 images, which ships neolithic package versions. Trying to use a custom image and get cross-compilation working, and trying to build a newer libinput version are both painful, so waiting for this: https://github.com/cross-rs/cross/pull/1580
Author
Owner

@puppymati commented on GitHub (Sep 9, 2025):

To add some context: this issue is pretty much not ironbar fault but cross shipping a nearly 6 years old version of libinput. Colpetto's libinput support was originally based on Debian 12, which was the stable release at that time.

<!-- gh-comment-id:3268473625 --> @puppymati commented on GitHub (Sep 9, 2025): To add some context: this issue is pretty much not ironbar fault but cross shipping a nearly 6 years old version of libinput. Colpetto's libinput support was originally based on Debian 12, which was the stable release at that time.
Author
Owner

@slowsage commented on GitHub (Sep 16, 2025):

I think cross is more pain than what it is worth. I vote for ditching cross and only outputting x86_64 binary for now.

This and this are probably relevant for a new approach with the latest packages on arm.

<!-- gh-comment-id:3298961986 --> @slowsage commented on GitHub (Sep 16, 2025): I think cross is more pain than what it is worth. I vote for ditching cross and only outputting x86_64 binary for now. [This](https://github.blog/changelog/2024-09-25-actions-new-images-and-ubuntu-latest-changes/) and [this](https://github.blog/changelog/2024-06-24-github-actions-ubuntu-24-04-image-now-available-for-arm64-runners/) are probably relevant for a new approach with the latest packages on arm.
Author
Owner

@puppymati commented on GitHub (Sep 16, 2025):

If there's arm images available. Can't we just ditch cross in favor of having a build action happen on the arm images?

<!-- gh-comment-id:3298991509 --> @puppymati commented on GitHub (Sep 16, 2025): If there's arm images available. Can't we just ditch cross in favor of having a build action happen on the arm images?
Author
Owner

@JakeStanger commented on GitHub (Sep 16, 2025):

Oh neat, I didn't know about those. Sounds easy enough to test...

<!-- gh-comment-id:3299098802 --> @JakeStanger commented on GitHub (Sep 16, 2025): Oh neat, I didn't know about those. Sounds easy enough to test...
Author
Owner

@JakeStanger commented on GitHub (Sep 16, 2025):

Well that worked for x64 at least. The ARM runner seems to be a single RPi running on somebody's desk, judging by the queue times, so we'll see about that later I guess

<!-- gh-comment-id:3299358156 --> @JakeStanger commented on GitHub (Sep 16, 2025): Well that worked for x64 at least. The ARM runner seems to be a single RPi running on somebody's desk, judging by the queue times, so we'll see about that later I guess
Author
Owner

@slowsage commented on GitHub (Sep 17, 2025):

Relevant: https://github.com/orgs/community/discussions/148648#discussioncomment-11858287. Try ubuntu-24.04-arm.
FWIW: I was working on a way to cross compile without cross - may be a backup if native arm64 image does not work.

<!-- gh-comment-id:3301829527 --> @slowsage commented on GitHub (Sep 17, 2025): Relevant: https://github.com/orgs/community/discussions/148648#discussioncomment-11858287. Try ubuntu-24.04-arm. FWIW: I was working on a way to cross compile without cross - may be a backup if native arm64 image does not work.
Author
Owner

@JakeStanger commented on GitHub (Sep 17, 2025):

You'd think that if you provided an invalid runner name, it'd do something intelligent like tell you that, and not sit there indefinitely.

I've updated the Docker image to support ARM64, and updated the binary job to run on both platforms, and that's got it. Binaries are now available on the latest release for both platforms.

I'll work to clear up Cross now that it's no longer required.

Cheers both

<!-- gh-comment-id:3302436700 --> @JakeStanger commented on GitHub (Sep 17, 2025): You'd think that if you provided an invalid runner name, it'd do something intelligent like tell you that, and not sit there indefinitely. I've updated the Docker image to support ARM64, and updated the binary job to run on both platforms, and that's got it. Binaries are now available on the latest release for both platforms. I'll work to clear up Cross now that it's no longer required. Cheers both
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
JakeStanger/ironbar#8781
No description provided.