CRUX : Home

Home :: Documentation :: Download :: Development :: Community :: Wiki :: Ports :: Bugs :: Links :: About

Back to wiki start page

Categories: Development

ports in the CRUX-MUSL overlay

Author: John McQuah


Overview

Ripping out the GNU C library and replacing it with an alternative libc requires some patching of the official ports. Likewise, removal of linux-pam will necessitate some patching. This page provides a summary of the affected ports, and how they are modified for CRUX-MUSL.

PortModifications for MUSL
bash./configure --without-bash-malloc
binutils./configure --disable-multilib --disable-gprof --disable-gprofng --enable-install-libiberty
btrfs-progs./configure --disable-backtrace
cdrkitsed -e 's/#define HAVE_RCMD 1/#undef HAVE_RCMD/' -i include/xconfig.h.in; and pass an additional flag -D__THROW='' to cmake
cupsremove linux-pam dependency
clangpatch to add musl targets
elfutilspatch for musl, adding utility functions that need argp and fts, ./configure ... ac_cv_c99=yes
f2fs-toolsadd no-lfs64.patch
fakerootapply fakeroot-no64.patch
fdminsert '#define REG_STARTEND (1<<2)' into fdm.h
gcc./configure --disable-multilib --disable-libsanitizer, and populate /usr/lib/bfd-plugins with a symlink to liblto_plugin.so
gnu-efised 's/-Werror//' -i Make.defaults
jfsutilsinsert missing includes into fscklog/extract.c (sys/types.h) and libfs/devices.c (sys/sysmacros.h)
libcapremove linux-pam dependency
llvmadd musl-stack-size.patch
nnnadd LDFLAGS=-lfts
npthadd patch to fix the build with musl
opendoas./configure --without-pam
openjdk21-jdkuse AlpineLinux binaries for bootstrapping
openssh./configure --without-pam
reiserfsprogsadd patches for musl
shadowremove linux-pam dependency
shared-mime-infoinclude patch for musl
start-stop-daemondon't actually define HAVE_ERROR_H
util-linuxbuild with autotools, not meson
xorg-xdmremove linux-pam dependency