Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rust bootstrap fails with recent stage0 build #31142

Closed
antonblanchard opened this issue Jan 23, 2016 · 3 comments
Closed

Rust bootstrap fails with recent stage0 build #31142

antonblanchard opened this issue Jan 23, 2016 · 3 comments

Comments

@antonblanchard
Copy link
Contributor

I built a powerpc64le stage0 snapshot today, and I get a bootstrap failure when trying to use it:

src/libcore/option.rs:172:79: 172:81 error: This node does not have a stability attribute
src/libcore/option.rs:172 Some(#[cfg_attr(not(stage0), stable(feature = "rust1", since = "1.0.0"))] T)

I made progress by removing the stage0 checks, but assume that the check is there for a reason. Did old stage0 builds have issues with stability attributes?

@alexcrichton
Copy link
Member

This is likely because the bootstrap is only designed to work when starting from one compiler version. If you just successfully bootstrapped a new architecture and tried to turn around and rebootstrap again, that's a different version of the compiler which we can't bootstrap from.

What's specifically happening here is that the current snapshot does not require an attribute at this location, but the compiled compiler does. This means that there's a cfg(stage0) guard, but when you use a brand new compiler to bootstrap it'll require the attribute.

This basically ends up meaning that all our snapshot compilers must be kept in sync (e.g. all built from the same revision)

@antonblanchard
Copy link
Contributor Author

Ok makes sense, we can work around it until the stage0 compilers get resynced.

@alexcrichton
Copy link
Member

Ok, in that case I'll close this for now, but thanks for the report!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants