Adjective-Object / good-fences-rs-core

9 stars 0 forks source link

Downgrade ubuntu version #19

Closed flickyiyo closed 1 year ago

flickyiyo commented 1 year ago

GLIBC version in owa-build agents is lower than the ones here, because of that *.node files cannot be used in there.

Adjective-Object commented 1 year ago

I've never heard of gclib. Is it glibc? Afaik the installed version at compile time shouldn't affect the required versions of linked libraries used at runtime.

If it's a glibc issue this may be the problem:

https://blog.rust-lang.org/2022/08/01/Increasing-glibc-kernel-requirements.html

Rust recently increased the min glibc version as well. We could try downgrading the rust version, or updating the owa build agents to à contemporary Linux. It's kind of concerning that they don't match the version of glibc shipped with Ubuntu 18 since that's far our of LTS

flickyiyo commented 1 year ago

The agents in owa-build pipelines use ubuntu 18 which comes with glibc 2.27

Error: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.29' not found (required by @good-fences.linux-x64-gnu.node.)

This is the error in owa-build. Since ubuntu-latest = ubuntu-20.04 it comes with a more recent version of glibc.

Anyway, I have installed an image of ubuntu-18 and reproduced the problem in my local to test the artifacts this PR generates to see if it solves the problem.

flickyiyo commented 1 year ago

Seems that rust version isn't the problem and compiling with ubuntu 18 solved it, also I think having this compiled in a prior version of glibc would be better in terms of more people being able to use this without the friction of having to update their pipelines (e.g. I do not have a SAW to update the 1ES_Linux definition).

Adjective-Object commented 1 year ago

Ubuntu 18.04 is EOL next April. https://computing.cs.cmu.edu/news/2022/eol-ubuntu-1804

This is a footgun waiting to happen, the pipeline will start to spontaneously fail on April 4th of next year.

https://github.com/actions/runner-images/issues/6002

Did you try compiling statically linking against musl instead of dynamically linking glibc? https://kobzol.github.io/rust/ci/2021/05/07/building-rust-binaries-in-ci-that-work-with-older-glibc.html