pyflow icon indicating copy to clipboard operation
pyflow copied to clipboard

Target musl instead of libc

Open ksamuel opened this issue 4 years ago • 3 comments

I keep thinking this project is the future of boostraping python, so I'm testing it anywhere I can.

Recently I tried it on a debian 8 using the provided deb in the README, but got an error stating libc was too old (required 2.23, but got 2.19).

I don't know if it's possible, but could pyflow statically link against musl instead of libc? (see: https://stackoverflow.com/questions/63724484/build-and-bind-against-older-libc-version for details).

Indeed, if pyflow is compiled against libc, it will always only be usable by systems as recent as the one it has been compiled on. So you will always have to remember to build on the oldest OS you wish to support. But if it statically links against musl, it will run in a lot more systems, without having to worry about the version of any of them.

ksamuel avatar May 12 '21 11:05 ksamuel

That would make releases much easier. Currently I've been building Linux versions against Ubuntu 16.04 for the reason you mentioned Not sure how to do it though.

David-OConnor avatar May 15 '21 00:05 David-OConnor

I'm more of a Python dev, but I found this: https://doc.rust-lang.org/edition-guide/rust-2018/platform-and-target-support/musl-support-for-fully-static-binaries.html

ksamuel avatar May 16 '21 15:05 ksamuel

Using Python compiled with musl would break compatibility with packages built with libc. Debian 8 Jessie is EOL since April 2020. It has glibc 2.24, which satisfies the requirement of having glibc 2.23. You should just update your Jessie setup to get glibc 2.24 and consider moving to a supported operating system.

frafra avatar Jan 31 '22 13:01 frafra