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

Rustup:如何为自定义工具链添加/构建组件

自定义Rust工具链的rust-src、rustc-dev、llvm-tools-preview组件安装/构建方案

认知纠正

你的认知不完全准确:rustup可以为通过rustup toolchain link链接的自定义工具链安装对应组件,但组件必须与工具链的commit哈希/版本严格匹配,且该组件包存在于rustup的官方组件索引中。如果你的自定义工具链是完全自行编译(如修改rustc源码后编译)的非官方版本,rustup无法直接获取适配的组件包,此时需要自行构建。


方案一:基于官方分支的自定义工具链(复用rustup组件源)

如果你的自定义工具链是基于官方Rust分支修改、且commit哈希与某一官方版本完全一致,可按以下步骤操作:

  1. 将自定义工具链目录链接到rustup的工具链管理路径:
    rustup toolchain link my-custom /path/to/your/compiled/toolchain
    
  2. 指定工具链安装组件:
    rustup component add rust-src rustc-dev llvm-tools-preview --toolchain my-custom
    
    若rustup提示找不到组件,说明该commit不在官方组件索引中,需切换到方案二自行构建。

方案二:完全自行构建组件(针对修改过Rust源码的自定义工具链)

1. 准备Rust源码环境

克隆Rust源码仓库并切换到你编译自定义工具链时使用的分支/commit:

git clone https://github.com/rust-lang/rust.git
cd rust
git checkout <your-custom-commit-hash>

2. 配置构建参数

复制config.example.toml为config.toml,并修改以下关键配置:

[build]
build-stage = 2  # 至少需要stage2才能构建rustc-dev等开发组件
rustc-src = true  # 启用rust-src组件构建
llvm-tools = true  # 启用llvm-tools-preview组件构建

[rust]
dev = true  # 开启rustc的开发模式,生成rustc-dev所需的库与符号

3. 执行构建

运行构建命令,等待编译完成:

./x.py build

构建产物会输出在build/<你的目标架构>/stage2/目录下:

  • rust-src:build/<target>/stage2/rust-src(标准库源码目录)
  • rustc-dev:build/<target>/stage2/lib/rustlib/<target>/lib(rustc开发库)及build/<target>/stage2/lib/rustlib/<target>/rustc-dev(开发元数据)
  • llvm-tools-preview:build/<target>/stage2/lib/rustlib/<target>/bin(llvm系列工具二进制)

4. 集成到自定义工具链

将构建好的组件复制到你的自定义工具链对应目录:

  • 把rust-src目录复制到<自定义工具链路径>/lib/rustlib/<target>/
  • 把rustc-dev相关的库和目录复制到<自定义工具链路径>/lib/rustlib/<target>/
  • 把llvm-tools的二进制文件复制到<自定义工具链路径>/lib/rustlib/<target>/bin/

5. 验证组件可用性

执行以下命令确认组件正常工作:

# 验证rust-src
rustc --print sysroot && ls $(rustc --print sysroot)/lib/rustlib/src/rust

# 验证rustc-dev
rustc -Z help  # 能看到rustc专属的-Z开发选项即为生效

# 验证llvm-tools-preview
llvm-objdump --version  # 版本需与自定义工具链匹配

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 04:20:57