-
Notifications
You must be signed in to change notification settings - Fork 73
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
Statically link linux build #444
Statically link linux build #444
Conversation
Codecov Report
@@ Coverage Diff @@
## master #444 +/- ##
==========================================
+ Coverage 96.42% 96.44% +0.01%
==========================================
Files 14 14
Lines 5228 5257 +29
==========================================
+ Hits 5041 5070 +29
Misses 187 187
Continue to review full report at Codecov.
|
Thanks for the PR! Could we instead put this flag in the (Also no idea why the code coverage has changed here..., seems unrelated, probably flaky) |
I did that initially, seen here https://github.com/JohnnyMorganz/StyLua/runs/6049194259?check_suite_focus=true and other action failures, but I was getting the same error mentioned in that blog post. I thought the easiest solution was to statically link only the release build, rather than figuring out how to pass in |
Nope, no particular preference here! Did a bit more digging into the actual cause of this issue (wasn't happening before), and stumbled across rust-analyzer having the same issue: rust-lang/rust-analyzer#11558 It turns out this is because they switched their CI to Ubuntu 20.04 from 18.04, and Rust now requires a newer version of glibc. Our action is on Maybe instead of statically linking the whole C runtime here, we just downgrade our CI to Ubuntu 18.04? I think that should also fix the problem, and I don't see any downside to it |
I think this is the way to go. The issue is with incompatible ABI changes. The newer version will be able to handle the old version linking, just not the other way around. Possibly in the future (depending on support) CI could even build for each version of libc? This may be unsupported by foreman workflows though. |
ubuntu-latest uses Ubuntu 20.04, this causes issues with glibc as older versions of ubuntu/other distros use an older version. This is fixed by building the release binary on `ubuntu-18.04`, which uses a version of glibc more widely available. Ref: JohnnyMorganz/StyLua#444 JohnnyMorganz/StyLua#445
ubuntu-latest uses Ubuntu 20.04, this causes issues with glibc as older versions of ubuntu/other distros use an older version. This is fixed by building the release binary on `ubuntu-18.04`, which uses a version of glibc more widely available. Ref: JohnnyMorganz/StyLua#444 JohnnyMorganz/StyLua#445
ubuntu-latest uses Ubuntu 20.04, this causes issues with glibc as older versions of ubuntu/other distros use an older version. This is fixed by building the release binary on `ubuntu-18.04`, which uses a version of glibc more widely available. Ref: JohnnyMorganz/StyLua#444 JohnnyMorganz/StyLua#445
stylua's linux build fails to run on Ubuntu 18:
One oddity was that
--target
must be passed explicitly, as documented by this blog post