musl是一个简单高效c库,像libc一样,并且它提供应用程序构建功能像gcc,所以它是一个libc + gcc的合体,经常被使用在嵌入式系统中。
安装需要的依赖
安装sha256sum
brew install coreutils
安装gnu-sed默认的sed不支持-r
参数
brew install gnu-sed PATH="/usr/local/opt/gnu-sed/libexec/gnubin:$PATH"
准备编译环境
MacOS系统默认的磁盘分区是大小写不敏感的,所以会出错
scripts/Makefile.headersinst:55: *** Missing UAPI file ./include/uapi/linux/netfilter/xt_CONNMARK.h. Stop.
需要建立一个大小写敏感的卷(创建一个镜像文件挂载到卷)
hdiutil create -type SPARSE -fs 'Case-sensitive Journaled HFS+' -size 8g -volname buildvol buildvol hdiutil attach buildvol.sparseimage
开始构建
cd /Volumes/buildvol/ git clone https://github.com/richfelker/musl-cross-make cd musl-cross-make/
执行编译前需要对配置文件内容中的路径和目标平台进行指定
cp config.mak.dist config.mak
执行构建和安装
make make install