Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [day] [month] [year] [list]
Date: Wed, 11 Nov 2015 22:42:40 -0500
From: Kylie McClain <>
	"" <>
Subject: Exherbo Linux now supports musl

Hi everyone,

I've been working on musl support in Exherbo over the past month, and just last
night, I finally got a stage made. :)

For the uninitiated: musl is a lightweight standard C library which aims to be
completely standards-compliant, robust, simple, and much quicker than
alternatives. It is great in low-memory situations, and has no external
dependencies other than a Linux kernel. Its primary developer, Rich Felker, is a
participant in the Austin Group, maintainers of the POSIX standards.

With all this in mind, I thought it'd be a perfect fit for Exherbo, since we
take the stance that if things are done, they should always be done correctly.

I'd also like to note that this new target for Exherbo could not have been made
possible without the work of Saleem (compnerd) for his work on our gcc package,
getting it to support musl, and Johannes (mixi) for his work in ::arbor, which
helped make the work a lot easier by providing patches for some things in the
system set, Alpine Linux and Void Linux, who's developers wrote many patches for
packages we use and definitely made the work of bootstrapping a lot easier.
Also, a thank you to all the people in #musl@...enode for pointing me in the
right directions whenever I had trouble solving some issues with packages.

Now that formalities are out of the way, let's get down to business.

musl is not anywhere near as widespread as glibc (yet!) in terms of usage, and
as such, packages are likely to hit compilation errors. I've checked and patched
all packages within the system set, and all with in the stages set (except
emacs, because I haven't bothered to update it to the latest version), but many
packages will still refuse to compile with musl due to bad #ifdefs, or
functionality which takes advantage of glibc-only extensions which musl has no
intention to support. As such, you should use musl only if you're able to cope
with that, or are willing to write or search out for patches to packages.

I am writing this from a functional and speedy Xfce4 desktop, so I know that it
is certainly usable as a desktop system. I have not tested GNOME or KDE, but I
know a few other developers who use those things have mentioned being interested
in working on musl support in our packages.

As of right now, there is only a stage for x86_64/amd64 (+ i686 cross
mostly because I have not had time to create one on i686/x86 or armv7. I welcome
others to create stages, and I plan on making an i686 one some time,
but of course
other things may sidetrack me from this. I plan to get musl stages
generated daily
in the future, hopefully utilizing our current Jenkins infrastructure to do so.

A few notes about this stage:
    - It does not have any init system. systemd developers make it a non-goal to
      support glibc, so you'll have to find an alternative or patch systemd.
      Alternatives to systemd can be found at
    - elfutils (and therefore dwz, which Paludis uses for stripping binaries)
      has not yet been fixed to work with musl; libelf is used instead. This
      means the stage is much bigger than normal, due to debug symbols.

So, without further ado:

Read the install guide:

Have a good rest of the week, everyone.

Powered by blists - more mailing lists

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.