在 Fedora 上使用 musl Clang

Mar 02, 2025 • 预计阅读时间 1 分钟

测试的系统环境是 Fedora 41

musl 是轻量级的 libc 实现,Docker 官方的容器使用的 Alpine 系统就是把 musl 作为它的默认 libc 库。

$ sudo dnf install musl-clang lld

musl 的头文件和库文件的路径是 /usr/{arch}-linux-musl,使用命令 musl-clang 可以像 clang 一样直接编译 C 源码,它已经把 musl 需要的环境都包装好了:

$ musl-clang -fuse-ld=lld main.c
$ ldd a.out
    linux-vdso.so.1 (0x0000ffff9ac36000)
    ld-musl-aarch64.so.1 => /lib/ld-musl-aarch64.so.1 (0x0000ffff9aae0000)

使用 -static 可以编译完全无依赖的程序:

$ musl-clang -fuse-ld=lld -static main.c
$ ldd a.out
    not a dynamic executable
FedoraClangmusl
版权声明:如果转发请带上本文链接和注明来源。

lvv.me

iOS/macOS Developer

安装 Alpine Linux

在 Fedora 上安装 Clang 开发环境