News
November 3, 2026
glibc next to musl: test report
35 checks of glibc 2.44 on an installed Zainium OS, against every rule of the musl and glibc page. All passed.
Zainium OS is built on musl, and glibc can be installed next to it for prebuilt software (how it works). Before the release we tested that on an installed system with glibc 2.44, glibc-dev and the glibc toolchain from the Store. Every rule on that page was checked by a script you can run yourself. 35 of 35 checks passed.
What was tested
Building and loading
gccbuilds for musl,x86_64-zainium-linux-gnu-gccand-g++build for glibc; the same program built both ways runs both ways.- Each program names the loader of its own C library:
/overlayer/syshub/x86_64-zainium-linux-musl/lib/ld-musl-x86_64.so.1or/overlayer/zexlib/union/x86_64-zainium-linux-gnu/lib/ld-linux-x86-64.so.2. - A program built the way other distributions build it, asking for
/lib64/ld-linux-x86-64.so.2, runs, although there is no/lib64.
A glibc program on Zainium OS
- It reads the same users, groups, hosts, DNS and time zone as musl programs, from
/overlayer/syshub/etc. - Threads,
dlopen, theC.UTF-8locale,iconvandsystem()(which runs/overlayer/syshub/bin/sh) work. - A C++ program loads glibc's own
libstdc++, from glibc's directory. - No musl library is loaded into a glibc process. The one library both share is
libsys_resolver.so, which needs no C library at all and is preloaded on purpose: it is what maps the paths other distributions use.
Kept apart
lddonPATHis musl's; glibc's is in glibc's ownbin.- glibc's loader searches only glibc's
lib, and its cache is in glibc's ownetc. - There is no glibc
libc.so.6in the sharedlib, and no program of the base is linked against glibc.
Files
- glibc test results and the script — run it as your user after
elevate zex install glibc glibc-toolchain:python3 -I glibc-tests.py