Zainium Dynamics
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

  • gcc builds for musl, x86_64-zainium-linux-gnu-gcc and -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.1 or /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, the C.UTF-8 locale, iconv and system() (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

  • ldd on PATH is musl's; glibc's is in glibc's own bin.
  • glibc's loader searches only glibc's lib, and its cache is in glibc's own etc.
  • There is no glibc libc.so.6 in the shared lib, and no program of the base is linked against glibc.

Files