A Trial on Musl

Musl is a “libc”, an implementation of the standard library functionality described in the ISO C and POSIX standards, plus common extensions, intended for use on Linux-based systems.

Musl is a new general-purpose implementation of the C library. It is lightweight, fast, simple, free, and aims to be correct in the sense of standards-conformance and safety.

At the moment, we can run musl on x86-based Linux distributions already. However, most of top-level packages heavily depend on GNU libc, which may cause a lot of compatibility issues. Even so, there are still some Linux distributions shipped with musl. Other Linux distributions such as Gentoo and Debian also provide musl as an optional package.

Fortunately, Gentoo offered an experimental stage3 tarball based on musl, and I tried it in my spare time last week. Of course, the result is terrible. When I upgraded my world, there some packages which can’t pass compilation. Also, I am not able to solve the problems refer to glibc. We can only wait the porting work to musl.

So, let’s just use glibc now. It’s large, but at least universal.