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

Use x86_64-unknown-linux-gnu for releases #4157

Merged
merged 1 commit into from
Apr 28, 2020

Conversation

lnicola
Copy link
Member

@lnicola lnicola commented Apr 26, 2020

The reasoning here is that we don't call much C code, and libstd should already be compatible with older Linux distributions.

Tested by running rust-analyzer analysis-stats on Ubuntu 14.04 with a binary compiled on Arch Linux.

This should make for faster binaries and avoid some problems with musl dlopen() not working (thus breaking procedural macro support).

@bors
Copy link
Contributor

bors bot commented Apr 28, 2020

✌️ lnicola can now approve this pull request. To approve and merge a pull request, simply reply with bors r+. More detailed instructions are available here.

@lnicola
Copy link
Member Author

lnicola commented Apr 28, 2020

Maybe they've fixed it?

bors r=maklad

@lnicola
Copy link
Member Author

lnicola commented Apr 28, 2020

Guess not. @matklad pretty please?

@matklad matklad merged commit fdaa5e7 into rust-lang:master Apr 28, 2020
@lnicola lnicola deleted the glibc-releases branch April 28, 2020 18:42
@Veetaha
Copy link
Contributor

Veetaha commented Apr 29, 2020

@lnicola how should it make for faster binaries?

@lnicola
Copy link
Member Author

lnicola commented Apr 29, 2020

rust-analyzer go BRRR

Faster, and more compatible with proc macros. Also possibly more crashy.

@lnicola
Copy link
Member Author

lnicola commented Apr 29, 2020

@Veetaha #3459

@lnicola
Copy link
Member Author

lnicola commented May 1, 2020

Some bad news: our binaries don't work on CentOS 7:

./rust-analyzer: /usr/lib64/libc.so.6: version `GLIBC_2.18' not found (required by ./rust-analyzer)

See rust-lang/rust#57497. CentOS 7 has glibc 2.17. I'm not sure how I feel about this. CentOS has pretty old software (glibc 2.17 is from 2012), but it might be popular in enterprise environments. This will probably be solver when moving to the build infra of the rust-lang project.

@cuviper
Copy link
Member

cuviper commented May 4, 2020

This will probably be solver when moving to the build infra of the rust-lang project.

Are there specific plans for this? You could look at how rustup is borrowing the same images:
https://github.com/rust-lang/rustup/blob/master/ci/fetch-rust-docker.bash
rust-lang/rustup#1724

@ivan
Copy link
Contributor

ivan commented May 5, 2020

The new build does not run on any NixOS either (NixOS doesn't have a /lib), but it can be patched:

nix-env -iA patchelf
patchelf --set-interpreter "$(patchelf --print-interpreter /run/current-system/sw/bin/sh)" ~/.vscode-server/data/User/globalStorage/matklad.rust-analyzer/rust-analyzer-linux

@matklad
Copy link
Member

matklad commented May 5, 2020

@cuviper no, no specific plans -- the current assumption is that for most users the binaries we publish are fine. SO, I don't think it makes sense to make our current CI more complicated to get the long tail. Once we ship via rustup, that should be fixed.

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

Successfully merging this pull request may close these issues.

5 participants