Bug 49687 - cargo run -Zbuild-std ожидает другой путь
Summary: cargo run -Zbuild-std ожидает другой путь
Status: ASSIGNED
Alias: None
Product: Sisyphus
Classification: Development
Component: rust-src (show other bugs)
Version: unstable
Hardware: x86_64 Linux
: P5 normal
Assignee: Ajrat Makhmutov
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2024-03-13 19:53 MSK by Ivan A. Melnikov
Modified: 2024-04-07 20:13 MSK (History)
5 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Ivan A. Melnikov 2024-03-13 19:53:39 MSK
Создадим тестовый проект:

$ cargo new hello; cd hello
[...]

И там попробуем воспользоваться нестабильными фичами карго:

$ RUSTC_BOOTSTRAP=1 cargo run -Zbuild-std --target x86_64-unknown-linux-gnu
error: "/usr/lib/rustlib/src/rust/Cargo.lock" does not exist, unable to build with the standard library, try:
        rustup component add rust-src

Путь, по которому будут искаться исходники, захардкожен вот тут:

https://git.altlinux.org/gears/r/rust.git?p=rust.git;a=blob;f=src/tools/cargo/src/cargo/core/compiler/standard_lib.rs;h=5272c211bd7474f1f881abdb89403e181bd088ed#l231

Однако у нас используется %_libdir:

$ rpm -ql rust-src  | grep -F '/Cargo.lock'
/usr/lib64/rustlib/src/rust/Cargo.lock
/usr/lib64/rustlib/src/rust/library/backtrace/Cargo.lock
/usr/lib64/rustlib/src/rust/library/portable-simd/Cargo.lock

Предлагаю перенести каталог rustlib в /usr/lib на всех архитектурах.
Comment 1 Ivan A. Melnikov 2024-03-13 19:55:08 MSK
sudo ln -sr /usr/lib64/rustlib/ /usr/lib

и правда помогает, но хотелось бы дистрибутивного решения.