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

appveyor: Use Ninja/sccache on MSVC #41447

Merged
merged 2 commits into from
Apr 27, 2017

Conversation

alexcrichton
Copy link
Member

Now that the final bug fixes have been merged into sccache we can start
leveraging sccache on the MSVC builders on AppVeyor instead of relying on the
ad-hoc caching strategy of trigger files and whatnot.

@rust-highfive
Copy link
Collaborator

r? @aturon

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

@alexcrichton
Copy link
Member Author

Note that after this we'll finally be using sccache on 100% of our platforms, yay for consistent caching solutions!

@Mark-Simulacrum Mark-Simulacrum added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Apr 22, 2017
build.config.ccache.is_some() {
let mut cc = env::current_exe().unwrap();
cc.pop();
cc.push("sccache-plus-cl.exe");
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Use PathBuf::set_file_name instead.

if target.contains("msvc") &&
build.config.ninja &&
build.config.ccache.is_some() {
let mut cc = env::current_exe().unwrap();
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Use expect with at least somewhat greppable string.

let compiler = cfg.get_compiler();

// Invoke sccache with said compiler
let mut cmd = Command::new("sccache");
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Doesn’t this ignore the path to sccache that can be specified in the config.toml?

@nagisa
Copy link
Member

nagisa commented Apr 24, 2017

Didn’t look at changes to yaml/Dockerfiles. Commented for the rest.

@brson
Copy link
Contributor

brson commented Apr 25, 2017

@bors r+

@bors
Copy link
Contributor

bors commented Apr 25, 2017

📌 Commit d75528e has been approved by brson

frewsxcv added a commit to frewsxcv/rust that referenced this pull request Apr 26, 2017
…brson

appveyor: Use Ninja/sccache on MSVC

Now that the final bug fixes have been merged into sccache we can start
leveraging sccache on the MSVC builders on AppVeyor instead of relying on the
ad-hoc caching strategy of trigger files and whatnot.
@alexcrichton alexcrichton 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 Apr 26, 2017
frewsxcv added a commit to frewsxcv/rust that referenced this pull request Apr 26, 2017
…brson

appveyor: Use Ninja/sccache on MSVC

Now that the final bug fixes have been merged into sccache we can start
leveraging sccache on the MSVC builders on AppVeyor instead of relying on the
ad-hoc caching strategy of trigger files and whatnot.
bors added a commit that referenced this pull request Apr 26, 2017
Rollup of 7 pull requests

- Successful merges: #41370, #41447, #41456, #41493, #41499, #41501, #41550
- Failed merges:
@alexcrichton
Copy link
Member Author

@bors: r=brson

@bors
Copy link
Contributor

bors commented Apr 26, 2017

📌 Commit 970e2a9 has been approved by brson

@bors
Copy link
Contributor

bors commented Apr 27, 2017

⌛ Testing commit 970e2a9 with merge 3fa950c...

@bors
Copy link
Contributor

bors commented Apr 27, 2017

💔 Test failed - status-appveyor

@aidanhs
Copy link
Member

aidanhs commented Apr 27, 2017

@bors retry

Appveyor network issues https://appveyor.statuspage.io/incidents/06gzq846jl9x

@bors
Copy link
Contributor

bors commented Apr 27, 2017

⌛ Testing commit 970e2a9 with merge 0f9d66f...

@bors
Copy link
Contributor

bors commented Apr 27, 2017

💔 Test failed - status-appveyor

@TimNN
Copy link
Contributor

TimNN commented Apr 27, 2017

Legitimate failure, I think:

[00:13:08]   The C compiler "C:/projects/rust/build/bootstrap/debug/sccache-plus-cl.exe"
[00:13:08]   is not able to compile a simple test program.
[00:13:08] 
[00:13:08]   It fails with the following output:
[00:13:08] 
[00:13:08]    Change Dir: C:/projects/rust/build/i686-pc-windows-msvc/llvm/build/CMakeFiles/CMakeTmp
[00:13:08] 
[00:13:08]   
[00:13:08] 
[00:13:08]   Run Build Command:"C:/projects/rust/ninja.exe" "cmTC_1269f"
[00:13:08] 
[00:13:08]   [1/2] Building C object CMakeFiles\cmTC_1269f.dir\testCCompiler.c.obj
[00:13:08] 
[00:13:08]   cl : Command line warning D9025 : overriding '/MD' with '/MDd'
[00:13:08] 
[00:13:08]   cl : Command line warning D9025 : overriding '/MD' with '/MDd'
[00:13:08] 
[00:13:08]   [2/2] Linking C executable cmTC_1269f.exe
[00:13:08] 
[00:13:08]   FAILED: cmTC_1269f.exe 
[00:13:08] 
[00:13:08]   cmd.exe /C "cd .  && "C:\Program Files (x86)\CMake\bin\cmake.exe" -E
[00:13:08]   vs_link_exe --intdir=CMakeFiles\cmTC_1269f.dir --manifests --
[00:13:08]   C:\PROGRA~2\MI0E91~1.0\VC\bin\amd64\link.exe /nologo
[00:13:08]   CMakeFiles\cmTC_1269f.dir\testCCompiler.c.obj /out:cmTC_1269f.exe
[00:13:08]   /implib:cmTC_1269f.lib /pdb:cmTC_1269f.pdb /version:0.0 /machine:x64 /debug
[00:13:08]   /INCREMENTAL /subsystem:console kernel32.lib user32.lib gdi32.lib
[00:13:08]   winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib
[00:13:08]   advapi32.lib && cd ."
[00:13:08] 
[00:13:08]   testCCompiler.c.obj : error LNK2001: unresolved external symbol
[00:13:08]   _RTC_InitBase

[00:13:08] 
[00:13:08]   testCCompiler.c.obj : error LNK2001: unresolved external symbol
[00:13:08]   _RTC_Shutdown

[00:13:08] 
[00:13:08]   LINK : error LNK2001: unresolved external symbol mainCRTStartup

[00:13:08] 
[00:13:08]   C:\Program Files (x86)\Windows Kits\10\lib\10.0.14393.0\um\x86\kernel32.lib
[00:13:08]   : warning LNK4272: library machine type 'X86' conflicts with target machine
[00:13:08]   type 'x64'

[00:13:08] 
[00:13:08]   C:\Program Files (x86)\Windows Kits\10\lib\10.0.14393.0\um\x86\user32.lib :
[00:13:08]   warning LNK4272: library machine type 'X86' conflicts with target machine
[00:13:08]   type 'x64'

[00:13:08] 
[00:13:08]   C:\Program Files (x86)\Windows Kits\10\lib\10.0.14393.0\um\x86\gdi32.lib :
[00:13:08]   warning LNK4272: library machine type 'X86' conflicts with target machine
[00:13:08]   type 'x64'

[00:13:08] 
[00:13:08]   C:\Program Files (x86)\Windows Kits\10\lib\10.0.14393.0\um\x86\winspool.lib
[00:13:08]   : warning LNK4272: library machine type 'X86' conflicts with target machine
[00:13:08]   type 'x64'

[00:13:08] 
[00:13:08]   C:\Program Files (x86)\Windows Kits\10\lib\10.0.14393.0\um\x86\shell32.lib
[00:13:08]   : warning LNK4272: library machine type 'X86' conflicts with target machine
[00:13:08]   type 'x64'

[00:13:08] 
[00:13:08]   C:\Program Files (x86)\Windows Kits\10\lib\10.0.14393.0\um\x86\ole32.lib :
[00:13:08]   warning LNK4272: library machine type 'X86' conflicts with target machine
[00:13:08]   type 'x64'

[00:13:08] 
[00:13:08]   C:\Program Files (x86)\Windows Kits\10\lib\10.0.14393.0\um\x86\oleaut32.lib
[00:13:08]   : warning LNK4272: library machine type 'X86' conflicts with target machine
[00:13:08]   type 'x64'

[00:13:08] 
[00:13:08]   C:\Program Files (x86)\Windows Kits\10\lib\10.0.14393.0\um\x86\comdlg32.lib
[00:13:08]   : warning LNK4272: library machine type 'X86' conflicts with target machine
[00:13:08]   type 'x64'

[00:13:08] 
[00:13:08]   C:\Program Files (x86)\Windows Kits\10\lib\10.0.14393.0\um\x86\advapi32.lib
[00:13:08]   : warning LNK4272: library machine type 'X86' conflicts with target machine
[00:13:08]   type 'x64'

[00:13:08] 
[00:13:08]   C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\lib\MSVCRTD.lib :
[00:13:08]   warning LNK4272: library machine type 'X86' conflicts with target machine
[00:13:08]   type 'x64'

[00:13:08] 
[00:13:08]   cmTC_1269f.exe : fatal error LNK1120: 3 unresolved externals

[00:13:08] 
[00:13:08]   LINK Pass 1 failed.  with 1120
[00:13:08] 
[00:13:08]   ninja: build stopped: subcommand failed.

This build is no longer a forked version with temporary bugfixes, everything
should be upstreamed!
Now that the final bug fixes have been merged into sccache we can start
leveraging sccache on the MSVC builders on AppVeyor instead of relying on the
ad-hoc caching strategy of trigger files and whatnot.
@alexcrichton
Copy link
Member Author

@bors: r=brson

@bors
Copy link
Contributor

bors commented Apr 27, 2017

📌 Commit 2e72bcb has been approved by brson

arielb1 pushed a commit to arielb1/rust that referenced this pull request Apr 27, 2017
…brson

appveyor: Use Ninja/sccache on MSVC

Now that the final bug fixes have been merged into sccache we can start
leveraging sccache on the MSVC builders on AppVeyor instead of relying on the
ad-hoc caching strategy of trigger files and whatnot.
@bors
Copy link
Contributor

bors commented Apr 27, 2017

⌛ Testing commit 2e72bcb with merge 94e884b...

bors added a commit that referenced this pull request Apr 27, 2017
appveyor: Use Ninja/sccache on MSVC

Now that the final bug fixes have been merged into sccache we can start
leveraging sccache on the MSVC builders on AppVeyor instead of relying on the
ad-hoc caching strategy of trigger files and whatnot.
@bors
Copy link
Contributor

bors commented Apr 27, 2017

☀️ Test successful - status-appveyor, status-travis
Approved by: brson
Pushing 94e884b to master...

@bors bors merged commit 2e72bcb into rust-lang:master Apr 27, 2017
alexcrichton added a commit to alexcrichton/rust that referenced this pull request Apr 29, 2017
Pulls in mozilla/sccache@ef0d77543 to fix rust-lang#40240 again after the builds included
in rust-lang#41447 forgot to include the mio fixed included in rust-lang#41076.

Closes rust-lang#40240
bors added a commit that referenced this pull request Apr 29, 2017
ci: Update sccache build

Pulls in mozilla/sccache@ef0d77543 to fix #40240 again after the builds included
in #41447 forgot to include the mio fixed included in #41076.

Closes #40240
@alexcrichton alexcrichton deleted the sccache-everywhere branch May 4, 2017 16:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
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.

9 participants