Skip to content

Build stage 0 rust-std from rust-src with local rust #145859

@weihanglo

Description

@weihanglo

Summary

This is a reopen of #94781

We are actually building rust-std from rust-src with local rust built from the same rust-src.

For example,

  • I have a full toolchain installed locally and built from rust-stc in 2948388
  • I'd like to build a dist tarball of rust-std with the toolchain I just built in the same 2948388 commit.

Command used

A stripped down version of our configuration is roughly this:

./congfigure
	# we have this historically to avoid building LLVM
	--codegen-backends= 
	--enable-locked-deps
	--set rust.codegen-units-std=1
	--set rust.remap-debuginfo
	--debuginfo-level-std=1
	--dist-compression-formats=xz
	--release-channel=stable
	--enable-vendor
	--enable-local-rust
	--enable-local-rebuild
	--set "target.$TARGET_TRIPLE.linker=cc"
	--set "target.$TARGET_TRIPLE.ar=ar"
	--set "target.$TARGET_TRIPLE.ranlib=ranlib"
	--prefix "$INSTALL_DIR"
	--sysconfdir "etc"
	--build "$TARGET_TRIPLE"
	--target "$CROSS_TARGET"
	# other corss-target-specific flags…

python x.py dist --stage 0 rust-std

Expected behaviour

Before the bootstrap redesign, it worked without recompiling LLVM and stage1 compiler artifacts.
Now you need to rebuild them all, which is a bit undesired.

HEAD

1.89.0 is the only commit failed this process. I haven't tested other commits newer than that though.

Additional context

See #145587 (comment)

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