Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

The workflow for building Linux doesn't work #42

Open
ejbergdk opened this issue Jan 18, 2025 · 2 comments
Open

The workflow for building Linux doesn't work #42

ejbergdk opened this issue Jan 18, 2025 · 2 comments

Comments

@ejbergdk
Copy link

A few days ago, I made a fork of SampleAnalyzer, and even before I made any changes, the Linux workflow wouldn't build.
I believe it is a recent update of ubuntu-latest that has removed gcc v10. I solved it by changing Ubuntu to ver 22, but I don't know if you consider that the "right" solution, or it is time to move on to a newer gcc.

@Marcus10110
Copy link
Contributor

Thanks for reporting this, and sorry for the trouble!

Pinning to gcc-10 was my stop-gap solution to try and avoid increasing the glibc dependencies introduced by CI builds. (It just happened to be lucky that using an older version of gcc resulted in the builds of our own analyzers being able to run on older Ubuntu releases. However this was just luck, and not a real solution.)

Our plan, which has been stalled for a long time, is to switch the Linux build to use a docker container so we can more easily pin the OS version and other dependencies, so we could still support distros with older versions of glibc.

The work was nearly completed here:
saleae/atmel-swi-analyzer#1
(I used the Atmel SWI Analyzer as a testing ground. The idea is that it would be pulled into the Sample Analyzer once we were happy with it, then it would be rolled back out to all out our analyzers)

However the idea of adding docker to the CI build didn't sit well with my desire to keep the CI build as simple as possible, so I shelved the project indefinitely.

I'd like to solve this one way or another, but I'm swamped at the moment, and can't add this to the list right now.

I'll plan to fix this the next time we re-build our own analyzers, since we use the same CI configuration for all of our included analyzers. Unfortunately I don't think I can get back to this before then.

In the meantime, I'm open to suggestions! Our goals are:

  • Limit the glibc version that the compiled libraries require, to maximize compatibility with different Linux distros.
  • Beyond that, use the latest compiler versions that are practical.

@ejbergdk
Copy link
Author

I fully understand not having the time to look into this problem for the time being. I also won't pretend to know what the right solution to this problem is in the long run.
I have made a quick fix for myself by using Ubuntu 22 instead of latest. While it isn't a long-term solution, I do believe Ubuntu 22 is supported until 2027, giving a couple of years to come up with a more permanent fix. I can make a pull request with this quick fix.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants