-
Notifications
You must be signed in to change notification settings - Fork 2.4k
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
build pipelining fails #6993
Comments
Thanks for the report! Is it possible to share the project that generated this error? |
Probably not. Is there a way to get debugging information out of cargo? |
If you're ok with it you can do a |
I can do that. The log is 67 MB. Can I email you a link to it? |
Sure! |
Sent. |
Is this a build where |
We don't set that anywhere. I think the most interesting thing going on in our build is a linker script. We don't have anything like ccache involved. |
The previous implementation of pipelining accidentally forgot to account for rlibs being compiled in `--test` mode. The compilations would be pipelined to where all the dependencies of an rlib might not be available yet, but `--test` actually performs linking in rustc! This commit fixes the issue by refactoring slightly and removing `Target::requires_upstream_objects` (moving it to `TargetKind`) and then making the source of truth a `Unit::requires_upstream_objects` method which takes into account the value from `TargetKind` as well as the `CompileMode`. Closes rust-lang#6993
Ok thanks for the clarification, digging more I believe #7008 should at least fix one of the issues I saw (and was able to reproduce locally). Could you test that out and see if it fixes the issues you're seeing? |
Unfortunately cargo master (and your PR) dies earlier with |
To double check, you're doing the equivalent of |
Apparently not! That gets me farther, to |
Can you send me the logs for that as well? |
After I cleared out the existing target/ directory to get a log from scratch, I haven't been able to reproduce this with your branch. So it appears that it is in fact fixed \o/ |
Handle pipelined tests of libraries The previous implementation of pipelining accidentally forgot to account for rlibs being compiled in `--test` mode. The compilations would be pipelined to where all the dependencies of an rlib might not be available yet, but `--test` actually performs linking in rustc! This commit fixes the issue by refactoring slightly and removing `Target::requires_upstream_objects` (moving it to `TargetKind`) and then making the source of truth a `Unit::requires_upstream_objects` method which takes into account the value from `TargetKind` as well as the `CompileMode`. Closes #6993
Seen in tikv here tikv/tikv#5130 |
Problem
When running
CARGO_BUILD_PIPELINING=true cargo build --all --tests
on my project, I getUnfortunately this project is not open source, so I'm not sure what else to report.
Notes
Output of
cargo version
: cargo 1.37.0-nightly (545f354 2019-05-23)The text was updated successfully, but these errors were encountered: