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 musl libc for published binaries #2235
Comments
Which I actually filed to have a place to post updates: Building a musl toolchain for gcc turned out to be the musl-recommended, but incorrect approach to this task. We would then need to build libstdc++ manually, and all other libraries we depend on as well. Instead, the easy solution is to compile on Alpine Linux, which is a linux distribution that entirely uses musl, so it has already resolved the task of how to build all dependencies with musl. I've gotten FoundationDB compiling against musl, with a number of changes...
So for us to actually proceed with doing this, we'd need to:
And then we could begin the Sisyphean task of running an incredible amount of testing on the result to build confidence. |
There's an article on arangodb using musl for similar reasons. They comment that there's an unexpected gain also, that the resulting binary then works under the Windows Subsystem for Linux, which could be an interesting future story for our Windows support... |
This is something I might throw random weekend time at, but not anything that I'm actively working on. |
ref: apple#2235
We've fought with glibc versioning issues over time, and it's the reason for our docker dev environment being centos 6, as it's the oldest glibc (2.12) that has a c++17 toolchain backported to it. Finding a way to link against musl to avoid glibc would free us from having to use older distributions, and be able to use modern tools to produce binaries that could run on ancient systems.
(Filing to have an issue for this, as it's been discussed a few times, but without anything to track the idea.)
The text was updated successfully, but these errors were encountered: