-
Notifications
You must be signed in to change notification settings - Fork 97
Open
Description
I have been seeing this error message in various kernel projects that use xargo
:
Compiling core v0.0.0 (file:///home/rob/.rustup/toolchains/nightly-2017-12-23-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libcore)
Compiling std_unicode v0.0.0 (file:///home/rob/.rustup/toolchains/nightly-2017-12-23-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libstd_unicode)
Compiling alloc v0.0.0 (file:///home/rob/.rustup/toolchains/nightly-2017-12-23-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/liballoc)
Finished release [optimized] target(s) in 24.22 secs
Compiling compiler_builtins v0.1.0 (file:///home/rob/.rustup/toolchains/nightly-2017-12-23-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libcompiler_builtins)
Finished release [optimized] target(s) in 2.45 secs
Updating git repository `https://github.com/japaric/utest`
Updating registry `https://github.com/rust-lang/crates.io-index`
Compiling rxinu v0.1.0 (file:///home/rob/rxinu)
error[E0460]: found possibly newer version of crate `core` which `bitflags` depends on
--> src/lib.rs:18:1
|
18 | extern crate bitflags;
| ^^^^^^^^^^^^^^^^^^^^^^
|
= note: perhaps that crate needs to be recompiled?
= note: the following crate versions were found:
crate `core`: /home/rob/.xargo/lib/rustlib/x86_64-rxinu/lib/libcore-0671f1c158fe3776.rlib
crate `bitflags`: /home/rob/rxinu/target/x86_64-rxinu/debug/deps/libbitflags-bed2609b99acd464.rlib
Reproducing the problem
I did some triage over in phil-opp/blog_os#378. Here's what I found.
This looks like an issue where xargo
or cargo
attempts to re-use stale dependencies built against a different version of core
.
The issue is intermittent in Travis, which makes debugging difficult. However, I recently discovered how to trigger the issue locally by setting my Xargo.toml
as follows
[dependencies.alloc]
stage = 0
[dependencies.compiler_builtins]
stage = 1
I then run the following commands in my rxinu
project directory:
git checkout feature/i686-scheduling
make clean
make
git checkout feature/test-framework
make # `xargo build` fails until we run `make clean`
Metadata
Metadata
Assignees
Labels
No labels