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

RHEL 8 no longer supported? #13085

Closed
dominikwerder opened this issue Aug 22, 2022 · 11 comments
Closed

RHEL 8 no longer supported? #13085

dominikwerder opened this issue Aug 22, 2022 · 11 comments

Comments

@dominikwerder
Copy link

rust-analyzer requires now glibc 2.29, so does that mean rust-analyzer no longer supports RHEL 8 ?

@lnicola
Copy link
Member

lnicola commented Aug 22, 2022

Duplicate of #13081

@lnicola lnicola marked this as a duplicate of #13081 Aug 22, 2022
@lnicola lnicola closed this as completed Aug 22, 2022
@dominikwerder
Copy link
Author

Seeing that #13081 is "closed" as well, does that mean that redhat 8 is not supported by rust-analyzer? Isn't redhat 8 quite widely used?

@lnicola
Copy link
Member

lnicola commented Aug 22, 2022

If you read the discussion, you can find an explanation and three workarounds (using rustup, installing the musl variant or staying on an older version of RA). Building from source also works.

@dominikwerder
Copy link
Author

Of course, I see the workarounds, it just got me wonder why it seems to be a no-goal to maintain the good user experience on such a widely used target..

@lnicola
Copy link
Member

lnicola commented Aug 22, 2022

The release binaries are built on GitHub. Except for the MUSL version, we don't have the infrastructure for cross-compilation set up, and the GHA workflows are already pretty complicated right now. If someone sends a PR for this, we might merge it, but it's probably not going to be a priority otherwise.

We generally don't go out of our way to support older software versions (we update to new toolchains relatively soon, we don't try to support older releases of Code etc.). Users who need (or want) to stay on older distros have some workarounds, at least.

@dominikwerder
Copy link
Author

Ok, thank you for the explanation!

@lnicola
Copy link
Member

lnicola commented Aug 22, 2022

@dominikwerder if you can use a beta toolchain, can you install the MUSL version and see if it works for you?

@lnicola
Copy link
Member

lnicola commented Aug 22, 2022

Error relocating /lib/libgcc_s.so.1: __cpu_indicator_init: symbol not found
Error relocating /lib/libgcc_s.so.1: __cpu_model: symbol not found
Error relocating /lib/libgcc_s.so.1: _dl_find_object: symbol not found

Well, I suppose not 😄.

@bjorn3
Copy link
Member

bjorn3 commented Aug 22, 2022

The musl version is dynamically linked, so you need musl libc.so installed locally:

RUSTFLAGS: "-C link-arg=-fuse-ld=lld -C target-feature=-crt-static"

@lnicola
Copy link
Member

lnicola commented Aug 22, 2022

Yeah, I posted some benchmarks in #13086.

@dominikwerder
Copy link
Author

@lnicola same for this musl executable it's not a static.

The workaround using the RA from nightly seems the easiest so far.

bors added a commit that referenced this issue Sep 11, 2022
Build release artifact against older Glibc

When GitHub [deprecated Ubuntu 18.04](https://github.blog/changelog/2022-08-09-github-actions-the-ubuntu-18-04-actions-runner-image-is-being-deprecated-and-will-be-removed-by-12-1-22/) runners, rust-analyzer was forced to bump runners to 20.04 which includes an updated Glib. This renders RA incompatible with the still popular Ubuntu 18.04 and other slightly older distro versions.

Until a deprecation plan is announced on RA's side, I propose binaries shall be built against older glibc to maintain compatibility.

This PR changes the Release CI workflow to build the `linux-x64/x86_64-unknown-linux-gnu` release in an Ubuntu 18.04 container.

Fixes #13081 and #13085
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

3 participants