小编fzg*_*gor的帖子

如何使用自定义标签构建Rust标准库?

我想使用自定义版本的musl构建静态Rust可执行文件。首先,我要使自己熟悉Rust的构建系统。

我接受了稍稍过时的docker-rust-muslGitHub项目,并更新了过时的URL。一切似乎都可以很好地与构建一起使用,但是当我想使用编译x86_64-unknown-linux-musl器进行编译时,找不到多层std包装箱:

root@beb234fba4af:/build# cat example.rs
fn main() { println!("hi!"); panic!("failed"); }

root@beb234fba4af:/build# rustc --target=x86_64-unknown-linux-musl example.rs
error[E0463]: can't find crate for `std`
  |
  = note: the `x86_64-unknown-linux-musl` target may not be installed

error: aborting due to previous error
Run Code Online (Sandbox Code Playgroud)

实际上,即使构建过程中的输出表明已构建,/usr/local/lib/rustlib/x86_64-unknown-linux-gnu目录也仅包含目录x86_64-unknown-linux-musl

[...]
Building stage2 std artifacts (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-musl)
[...]
Run Code Online (Sandbox Code Playgroud)

但是,当涉及到安装步骤时x86_64-unknown-linux-gnu,无处可见:

[...]
Install std stage2 (x86_64-unknown-linux-gnu)
install: creating uninstall script at /usr/local/lib/rustlib/uninstall.sh
install: installing component 'rust-std-x86_64-unknown-linux-gnu'

    std is standing …
Run Code Online (Sandbox Code Playgroud)

build rust musl

5
推荐指数
0
解决办法
725
查看次数

标签 统计

build ×1

musl ×1

rust ×1