Skip to content

rustbuild: --build doesn't actually work when you don't already have the stage0 compiler #42116

Closed
@segevfiner

Description

@segevfiner

I tried to build a different ABI/triplet than the one rustbuild automatically guesses by using the --build command line option. As suggested in README.md#specifying-an-abi, But it didn't work and failed with:

Segev@Segev-PC MINGW64 ~/rust
$ ./x.py build --build x86_64-pc-windows-msvc src/libtest
    Finished dev [unoptimized] target(s) in 0.7 secs


failed to execute command: "C:\\Users\\Segev\\prj\\rust\\msys64\\home\\Segev\\rust\\build\\x86_64-pc-windows-msvc\\stage0/bin\\rustc.exe" "--version" "--verbose"
error: The system cannot find the file specified. (os error 2)


Build completed unsuccessfully in 0:00:00

Setting "build" in cargo.toml works correctly.

The bootstrap.py script is responsible for downloading the stage0 compiler and building bootstrap (rustbuild), but it only checks which stage0 to download and use in config.toml/config.mk. It doesn't look at the command line at all for deciding this, which I think is the cause for this. See: bootstrap.py:410-545.

Metadata

Metadata

Assignees

No one assigned

    Labels

    C-bugCategory: This is a bug.T-bootstrapRelevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap)

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions