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

Update cc, git2, num_cpus. #66255

Merged
merged 1 commit into from
Nov 16, 2019
Merged

Update cc, git2, num_cpus. #66255

merged 1 commit into from
Nov 16, 2019

Conversation

ehuss
Copy link
Contributor

@ehuss ehuss commented Nov 9, 2019

This updates the cc crate, bringing in better parallel building support. Also updates git2 which enables the parallel feature. (Note: I don't expect it will have a significant impact on build time, but seems good to update anyways.)

The main thorn is that cc gained knowledge about RISC-V architectures (rust-lang/cc-rs#428, rust-lang/cc-rs#429, rust-lang/cc-rs#430), but the builders on CI do not have the riscv C compiler installed. This means that bootstraps' cc detection was finding a C compiler that isn't installed, and fails.

The solution here is to override the cc detection to false. The C compiler isn't actually used on riscv platforms. AFAIK, the only location would be compiler_builtins, and it currently forces C support off (https://github.com/rust-lang/compiler-builtins/blob/a533ae9c5aa325db209659679535fe1f186eae81/build.rs#L49-L55).

Other possible solutions:

  • Add the override in cc_detect for riscv (or any "no-C" platform like wasm32 and nvptx)
  • Install and use the appropriate c compiler. I tried this the g++-riscv64-linux-gnu package, but it failed missing some header file.

Closes #66232

@rust-highfive
Copy link
Collaborator

r? @alexcrichton

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

@rust-highfive rust-highfive added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Nov 9, 2019
@ehuss
Copy link
Contributor Author

ehuss commented Nov 9, 2019

@bors rollup=never
I've tested this locally for riscv, but I'm not confident everything will work.

@alexcrichton
Copy link
Member

@bors: r+

@bors
Copy link
Contributor

bors commented Nov 11, 2019

📌 Commit a902383 has been approved by alexcrichton

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Nov 11, 2019
@bors
Copy link
Contributor

bors commented Nov 15, 2019

⌛ Testing commit a902383 with merge 9a9d603a70ce6fb0467d622e1b52fc43ad2e0189...

Centril added a commit to Centril/rust that referenced this pull request Nov 15, 2019
Update cc, git2, num_cpus.

This updates the `cc` crate, bringing in better parallel building support. Also updates `git2` which enables the parallel feature. (Note: I don't expect it will have a significant impact on build time, but seems good to update anyways.)

The main thorn is that `cc` gained knowledge about RISC-V architectures (rust-lang/cc-rs#428, rust-lang/cc-rs#429, rust-lang/cc-rs#430), but the builders on CI do not have the riscv C compiler installed. This means that bootstraps' cc detection was finding a C compiler that isn't installed, and fails.

The solution here is to override the cc detection to `false`. The C compiler isn't actually used on riscv platforms. AFAIK, the only location would be compiler_builtins, and it currently forces C support off (https://github.com/rust-lang/compiler-builtins/blob/a533ae9c5aa325db209659679535fe1f186eae81/build.rs#L49-L55).

Other possible solutions:
- Add the override in cc_detect for riscv (or any "no-C" platform like wasm32 and nvptx)
- Install and use the appropriate c compiler. I tried this the `g++-riscv64-linux-gnu` package, but it failed missing some header file.

Closes rust-lang#66232
@bors
Copy link
Contributor

bors commented Nov 15, 2019

💥 Test timed out

@bors bors added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Nov 15, 2019
@ehuss
Copy link
Contributor Author

ehuss commented Nov 15, 2019

@bors retry
I'm a bit confused, as it looks like bors merged it to the auto branch, but the azure build never started? At least, I can't find any indication on the pipeline history page.

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Nov 15, 2019
@bors
Copy link
Contributor

bors commented Nov 15, 2019

⌛ Testing commit a902383 with merge dcc9a8b94e1de34869825f9be69be6c716cb3806...

@rust-highfive
Copy link
Collaborator

Your PR failed (pretty log, raw log). Through arcane magic we have determined that the following fragments from the build log may contain information about the problem.

Click to expand the log.
2019-11-15T23:08:33.9685007Z 
2019-11-15T23:08:33.9685055Z 
2019-11-15T23:08:33.9685085Z 
2019-11-15T23:08:33.9685113Z 
2019-11-15T23:08:33.9685246Z - Add the override in cc_detect for riscv (or any "no-C" platform like wasm32 and nvptx)
2019-11-15T23:08:33.9685770Z - Install and use the appropriate c compiler. I tried this the `g++-riscv64-linux-gnu` package, but it failed missing some header file.
2019-11-15T23:08:33.9686054Z AGENT_DISABLELOGPLUGIN_TESTFILEPUBLISHERPLUGIN=true
2019-11-15T23:08:33.9686139Z AGENT_DISABLELOGPLUGIN_TESTRESULTLOGPLUGIN=true
2019-11-15T23:08:33.9686244Z AGENT_HOMEDIRECTORY=C:\agents\2.160.1
2019-11-15T23:08:33.9686316Z AGENT_ID=514
---
2019-11-15T23:08:33.9713345Z TMP=/tmp
2019-11-15T23:08:33.9713413Z TOOLSTATE_ISSUES_API_URL=https://api.github.com/repos/rust-lang/rust/issues
2019-11-15T23:08:33.9713522Z TOOLSTATE_PUBLISH=1
2019-11-15T23:08:33.9713638Z TOOLSTATE_REPO=https://github.com/rust-lang-nursery/rust-toolstate
2019-11-15T23:08:33.9713868Z The main thorn is that `cc` gained knowledge about RISC-V architectures (https://github.com/alexcrichton/cc-rs/pull/428, https://github.com/alexcrichton/cc-rs/pull/429, https://github.com/alexcrichton/cc-rs/pull/430), but the builders on CI do not have the riscv C compiler installed. This means that bootstraps' cc detection was finding a C compiler that isn't installed, and fails.
2019-11-15T23:08:33.9714158Z The solution here is to override the cc detection to `false`. The C compiler isn't actually used on riscv platforms. AFAIK, the only location would be compiler_builtins, and it currently forces C support off (https://github.com/rust-lang/compiler-builtins/blob/a533ae9c5aa325db209659679535fe1f186eae81/build.rs#L49-L55).
2019-11-15T23:08:33.9714413Z This updates the `cc` crate, bringing in better parallel building support. Also updates `git2` which enables the parallel feature. (Note: I don't expect it will have a significant impact on build time, but seems good to update anyways.)
2019-11-15T23:08:33.9724118Z USERDOMAIN=fv-az379
2019-11-15T23:08:33.9724197Z USERDOMAIN_ROAMINGPROFILE=fv-az379
2019-11-15T23:08:33.9724287Z USERNAME=VssAdministrator
2019-11-15T23:08:33.9724350Z USERPROFILE=C:\Users\VssAdministrator
2019-11-15T23:08:33.9724350Z USERPROFILE=C:\Users\VssAdministrator
2019-11-15T23:08:33.9724427Z Update cc, git2, num_cpus.
2019-11-15T23:08:33.9724582Z VS140COMNTOOLS=C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\Tools\
2019-11-15T23:08:33.9724655Z VSTS_AGENT_PERFLOG=c:\vsts\perflog
2019-11-15T23:08:33.9724747Z VSTS_PROCESS_LOOKUP_ID=vsts_23d78c07-fce6-46fc-835f-3b1040ac804e
2019-11-15T23:08:33.9724831Z WINDIR=C:\windows
---
2019-11-15T23:11:45.2850045Z Chocolatey installed 0/1 packages. 1 packages failed.
2019-11-15T23:11:45.2850505Z  See the log for details (C:\ProgramData\chocolatey\logs\chocolatey.log).
2019-11-15T23:11:45.2855201Z 
2019-11-15T23:11:45.2861134Z Failures
2019-11-15T23:11:45.2868479Z  - msys2 (exited 1) - msys2 not installed. An error occurred during installation:
2019-11-15T23:11:45.7454841Z 
2019-11-15T23:11:45.7454841Z 
2019-11-15T23:11:45.7553379Z ##[error]Bash exited with code '1'.
2019-11-15T23:11:45.7740963Z ##[section]Starting: Checkout
2019-11-15T23:11:45.7867422Z ==============================================================================
2019-11-15T23:11:45.7867546Z Task         : Get sources
2019-11-15T23:11:45.7867643Z Description  : Get sources from a repository. Supports Git, TfsVC, and SVN repositories.

I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact @TimNN. (Feature Requests)

@bors
Copy link
Contributor

bors commented Nov 15, 2019

💔 Test failed - checks-azure

@bors bors added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Nov 15, 2019
@ehuss
Copy link
Contributor Author

ehuss commented Nov 15, 2019

@bors retry
timeout installing msys2

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Nov 15, 2019
@bors
Copy link
Contributor

bors commented Nov 16, 2019

⌛ Testing commit a902383 with merge 9b0214d...

bors added a commit that referenced this pull request Nov 16, 2019
Update cc, git2, num_cpus.

This updates the `cc` crate, bringing in better parallel building support. Also updates `git2` which enables the parallel feature. (Note: I don't expect it will have a significant impact on build time, but seems good to update anyways.)

The main thorn is that `cc` gained knowledge about RISC-V architectures (rust-lang/cc-rs#428, rust-lang/cc-rs#429, rust-lang/cc-rs#430), but the builders on CI do not have the riscv C compiler installed. This means that bootstraps' cc detection was finding a C compiler that isn't installed, and fails.

The solution here is to override the cc detection to `false`. The C compiler isn't actually used on riscv platforms. AFAIK, the only location would be compiler_builtins, and it currently forces C support off (https://github.com/rust-lang/compiler-builtins/blob/a533ae9c5aa325db209659679535fe1f186eae81/build.rs#L49-L55).

Other possible solutions:
- Add the override in cc_detect for riscv (or any "no-C" platform like wasm32 and nvptx)
- Install and use the appropriate c compiler. I tried this the `g++-riscv64-linux-gnu` package, but it failed missing some header file.

Closes #66232
@bors
Copy link
Contributor

bors commented Nov 16, 2019

☀️ Test successful - checks-azure
Approved by: alexcrichton
Pushing 9b0214d to master...

@bors bors added the merged-by-bors This PR was explicitly merged by bors. label Nov 16, 2019
@bors bors merged commit a902383 into rust-lang:master Nov 16, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
merged-by-bors This PR was explicitly merged by bors. S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

VxWorks needs a newer version of cc-rs
4 participants