Void Linux supports both the musl and GNU libc implementations, patching incompatible software when necessary and working with upstream developers to improve the correctness and portability of their projects.
musl practices very strict and minimal standard compliance. Many commonly used platform-specific extensions are not present. Because of this, it is common for software to need modification to compile and/or function properly. Void developers work to patch such software and hopefully get portability/correctness changes accepted into the upstream projects.
Proprietary software usually supports only glibc systems, though sometimes such applications are available as flatpaks and can be run on a musl system. In particular, the proprietary NVIDIA drivers do not support musl, which should be taken into account when evaluating hardware compatibility.
Even if it’s supported, it doesn’t mean it needs to be installed in every system. If the user wants to use a Musl-based system, the software working only on glibc needs to be patched. At least that’s how I understood these statements.
Yes, there are basically 2 builds for every architecture. One is glibc, the other is musl. I haven’t used the musl builds that much, just toyed with them a few times (mainly because of lack of software), but if you only use open source software that doesn’t specifically depend on the GNU toolchain, yes, you can daily drive it, no doubt there. And yes, it is faster than the glibc builds.
Does it support glibc while it supports musl?
Yes. From their website:
“Patching incompatible software”
What does that mean? If glibc is supported why there is a portability issueand requirement of patches?
Presumably so it can work with either libc implementation.
I have checked the void website and it does NOT support glibc. Here is it:
Wait edit: there is musl variant and glibc variant…
musl practices very strict and minimal standard compliance. Many commonly used platform-specific extensions are not present. Because of this, it is common for software to need modification to compile and/or function properly. Void developers work to patch such software and hopefully get portability/correctness changes accepted into the upstream projects.
Proprietary software usually supports only glibc systems, though sometimes such applications are available as flatpaks and can be run on a musl system. In particular, the proprietary NVIDIA drivers do not support musl, which should be taken into account when evaluating hardware compatibility.
glibc chroot
Software requiring glibc can be run in a glibc chroot.
Well if glibc is supported all glibc softwares must work right?? Patching the software to support musl would not be needed if it does support glibc
Even if it’s supported, it doesn’t mean it needs to be installed in every system. If the user wants to use a Musl-based system, the software working only on glibc needs to be patched. At least that’s how I understood these statements.
Some patches are there for software that reauires systemd or parts of it.
But the Void Linux team specifically wants to support both glibc and musl
They are likely referring to musl. Patches might be needed for some programs to work with musl.
Not just musl, software that depends on systemd (or parts of it) as well.
We also need to patch binaries as well sometimes 😁. It is fun though, cutter and/or iaito are great tools.
Yes, there are basically 2 builds for every architecture. One is glibc, the other is musl. I haven’t used the musl builds that much, just toyed with them a few times (mainly because of lack of software), but if you only use open source software that doesn’t specifically depend on the GNU toolchain, yes, you can daily drive it, no doubt there. And yes, it is faster than the glibc builds.
Yeah different builds. Not what i expected