You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在x86_64 Ubuntu22.04交叉编译Rust -sys crate到aarch64 Alpine遇工具缺失问题

解决aarch64-linux-musl-gcc找不到的问题

musl-tools仅提供x86_64架构的musl编译工具链,不会包含aarch64交叉编译所需的aarch64-linux-musl-gcc,你需要单独安装aarch64的musl交叉编译工具包,具体步骤如下:

1. 安装交叉编译工具链

Ubuntu 22.04的官方仓库里有现成的aarch64 musl交叉编译包,直接执行:

sudo apt update && sudo apt install gcc-aarch64-linux-musl

安装完成后,aarch64-linux-musl-gcc就会被添加到系统路径中。

2. 配置Rust使用该交叉编译器

有两种方式让Cargo识别这个交叉编译器:

  • 临时编译指定:在编译命令中通过环境变量指定链接器:
    CC_aarch64_unknown_linux_musl=aarch64-linux-musl-gcc cargo build --target aarch64-unknown-linux-musl
    
  • 永久全局配置:编辑~/.cargo/config.toml(如果没有就新建),添加以下内容:
    [target.aarch64-unknown-linux-musl]
    linker = "aarch64-linux-musl-gcc"
    
    之后编译时无需再手动指定环境变量。

补充说明

你启用的vendored标志仅作用于让-sys crate使用本地 vendored 的依赖源码(而非系统预装库),但如果-sys crate需要编译C代码,仍然需要对应目标架构的交叉编译器,因此这一步无法替代交叉工具链的安装。

内容的提问来源于stack exchange,提问作者Vana

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 07:15:52