Closed
Description
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?
Activity
alexcrichton commentedon Jan 23, 2016
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 commentedon Jan 23, 2016
Ok makes sense, we can work around it until the stage0 compilers get resynced.
alexcrichton commentedon Jan 23, 2016
Ok, in that case I'll close this for now, but thanks for the report!