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

rustbuild: Fix recompilation of stage0 tools dir #41227

Merged
merged 1 commit into from
Apr 13, 2017

Conversation

alexcrichton
Copy link
Member

This commit knocks out a longstanding FIXME in rustbuild which should correctly
recompile stage0 compiletest and such whenever libstd itself changes. The
solution implemented here was to implement a notion of "order only" dependencies
and then add a new dependency stage for clearing out the tools dir, using
order-only deps to ensure that it happens correctly.

The dependency drawing for tools is a bit wonky now but I think this'll get the
job done.

Closes #39396

@rust-highfive
Copy link
Collaborator

r? @aturon

(rust_highfive has picked a reviewer for you, use r? to override)

@aturon
Copy link
Member

aturon commented Apr 12, 2017

@bors: r+

@bors
Copy link
Contributor

bors commented Apr 12, 2017

📌 Commit d1298c8 has been approved by aturon

@bors
Copy link
Contributor

bors commented Apr 13, 2017

⌛ Testing commit d1298c8 with merge 1c4a98c...

@bors
Copy link
Contributor

bors commented Apr 13, 2017

💔 Test failed - status-travis

@TimNN
Copy link
Contributor

TimNN commented Apr 13, 2017

[00:48:34] error: failed to run custom build command for `openssl-sys v0.9.10`
[00:48:34] process didn't exit successfully: `/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/release/build/openssl-sys-af1f288687ffbc04/build-script-build` (exit code: 101)
[00:48:34] --- stderr
[00:48:34] thread 'main' panicked at 'OpenSSL library directory does not exist: /checkout/obj/build/x86_64-unknown-linux-gnu/openssl/install/lib', /cargo/registry/src/github.com-1ecc6299db9ec823/openssl-sys-0.9.10/build.rs:55
[00:48:34] note: Run with `RUST_BACKTRACE=1` for a backtrace.
[00:48:34] 
[00:48:34] Build failed, waiting for other jobs to finish...
[00:48:36] error: build failed
[00:48:36] 
[00:48:36] 
[00:48:36] command did not execute successfully: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "build" "-j" "4" "--target" "x86_64-unknown-linux-gnu" "--release" "--locked" "--manifest-path" "/checkout/rls/Cargo.toml"
[00:48:36] expected success, got: exit code: 101
[00:48:36] 
[00:48:36] 
[00:48:36] Build completed unsuccessfully in 0:47:31

This commit knocks out a longstanding FIXME in rustbuild which should correctly
recompile stage0 compiletest and such whenever libstd itself changes. The
solution implemented here was to implement a notion of "order only" dependencies
and then add a new dependency stage for clearing out the tools dir, using
order-only deps to ensure that it happens correctly.

The dependency drawing for tools is a bit wonky now but I think this'll get the
job done.

Closes rust-lang#39396
@alexcrichton
Copy link
Member Author

@bors: r=aturon

@bors
Copy link
Contributor

bors commented Apr 13, 2017

📌 Commit 2a33559 has been approved by aturon

frewsxcv added a commit to frewsxcv/rust that referenced this pull request Apr 13, 2017
rustbuild: Fix recompilation of stage0 tools dir

This commit knocks out a longstanding FIXME in rustbuild which should correctly
recompile stage0 compiletest and such whenever libstd itself changes. The
solution implemented here was to implement a notion of "order only" dependencies
and then add a new dependency stage for clearing out the tools dir, using
order-only deps to ensure that it happens correctly.

The dependency drawing for tools is a bit wonky now but I think this'll get the
job done.

Closes rust-lang#39396
@bors
Copy link
Contributor

bors commented Apr 13, 2017

⌛ Testing commit 2a33559 with merge 28a7429...

bors added a commit that referenced this pull request Apr 13, 2017
rustbuild: Fix recompilation of stage0 tools dir

This commit knocks out a longstanding FIXME in rustbuild which should correctly
recompile stage0 compiletest and such whenever libstd itself changes. The
solution implemented here was to implement a notion of "order only" dependencies
and then add a new dependency stage for clearing out the tools dir, using
order-only deps to ensure that it happens correctly.

The dependency drawing for tools is a bit wonky now but I think this'll get the
job done.

Closes #39396
@bors
Copy link
Contributor

bors commented Apr 13, 2017

☀️ Test successful - status-appveyor, status-travis
Approved by: aturon
Pushing 28a7429 to master...

@bors bors merged commit 2a33559 into rust-lang:master Apr 13, 2017
bors added a commit that referenced this pull request Apr 16, 2017
[rustbuild] Side-step HashMap iteration to preserve command-line step order.

The new `HashMap` was introduced by #41227 and it accidentally randomized step order.

r? @alexcrichton
@alexcrichton alexcrichton deleted the compiletest branch April 19, 2017 16:05
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

Successfully merging this pull request may close these issues.

5 participants