Closed Bug 1266722 Opened 8 years ago Closed 8 years ago

taskcluster win64 builds fail in old-configure when testing rustc (missing vcredist)

Categories

(Release Engineering :: General, defect)

x86_64
Windows
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: grenade, Unassigned)

References

Details

The issue is configuration related because the same push works on buildbot:
https://treeherder.mozilla.org/#/jobs?repo=try&revision=1ee783d30721cf277a61f7f95ba5633fbe5adadc

Log excerpt:
18:48:27     INFO -  checking for otool... no
18:48:27     INFO -  checking for rustc... C:/Users/Task_1461249803/build/src/rustc/bin/rustc
18:48:28     INFO -  checking rustc version... .. ()
18:48:28     INFO -  C:/Users/Task_1461249803/build/src/old-configure: line 3442: test: : integer expression expected
18:48:28     INFO -  configure: error: cannot compile for x86_64-pc-windows-msvc with C:/Users/Task_1461249803/build/src/rustc/bin/rustc
18:48:28     INFO -  DEBUG: <truncated - see config.log for full output>
18:48:28     INFO -  DEBUG: conftest.obj
18:48:28     INFO -  DEBUG: configure:2978: checking whether the C++ compiler (c:/mozilla-build/python/python2.7.EXE C:/Users/Task_1461249803/build/src/sccache/sccache.py c:/Users/Task_1461249803/build/src/vs2015u1/VC/bin/amd64/cl.EXE  ) is a cross-compiler
18:48:28     INFO -  DEBUG: configure:2983: checking whether we are using GNU C++
18:48:28     INFO -  DEBUG: configure:2992: c:/mozilla-build/python/python2.7.EXE C:/Users/Task_1461249803/build/src/sccache/sccache.py c:/Users/Task_1461249803/build/src/vs2015u1/VC/bin/amd64/cl.EXE -E conftest.C
18:48:28     INFO -  DEBUG: Microsoft (R) C/C++ Optimizing Compiler Version 19.00.23506 for x64
18:48:28     INFO -  DEBUG: Copyright (C) Microsoft Corporation.  All rights reserved.
18:48:28     INFO -  DEBUG:
18:48:28     INFO -  DEBUG: conftest.C
18:48:28     INFO -  DEBUG: configure:3011: checking whether c:/mozilla-build/python/python2.7.EXE C:/Users/Task_1461249803/build/src/sccache/sccache.py c:/Users/Task_1461249803/build/src/vs2015u1/VC/bin/amd64/cl.EXE accepts -g
18:48:28     INFO -  DEBUG: configure:3045: checking for ranlib
18:48:28     INFO -  DEBUG: configure:3077: checking for ml64
18:48:28     INFO -  DEBUG: configure:3131: checking for ar
18:48:28     INFO -  DEBUG: configure:3166: checking for ld
18:48:28     INFO -  DEBUG: configure:3201: checking for strip
18:48:28     INFO -  DEBUG: configure:3236: checking for windres
18:48:28     INFO -  DEBUG: configure:3271: checking for otool
18:48:28     INFO -  DEBUG: configure:3368: checking for rustc
18:48:28     INFO -  DEBUG: configure:3415: checking rustc version
18:48:28     INFO -  DEBUG: configure:3562: C:/Users/Task_1461249803/build/src/rustc/bin/rustc --crate-type staticlib --target=x86_64-pc-windows-msvc -o conftest.rlib conftest.rs > /dev/null
18:48:28     INFO -  DEBUG: configure: error: cannot compile for x86_64-pc-windows-msvc with C:/Users/Task_1461249803/build/src/rustc/bin/rustc
18:48:28     INFO -  ERROR: old-configure failed
18:48:28     INFO -  *** Fix above errors and then restart with\
18:48:28     INFO -                 "C:/Users/Task_1461249803/build/src/mozmake.EXE -f client.mk build"
18:48:28     INFO -  C:/Users/Task_1461249803/build/src/client.mk:370: recipe for target 'configure' failed
can we run that command by hand and see if it works or gives other errors?

I suspect just the binary would be problematic:
C:/Users/Task_1461249803/build/src/rustc/bin/rustc

if not then a full command:
C:/Users/Task_1461249803/build/src/rustc/bin/rustc --crate-type staticlib --target=x86_64-pc-windows-msvc -o conftest.rlib conftest.rs

this is win8_x64- I noticed when we run in automation we get a version:
02:52:28     INFO -  checking for otool... no
02:52:28     INFO -  checking for rustc... c:/builds/moz2_slave/m-in-w64-000000000000000000000/build/src/rustc/bin/rustc
02:52:29     INFO -  checking rustc version... 1.8.0 (1.8.0)
02:52:29     INFO -  checking how to run the C preprocessor... c:/mozilla-build/python27/python2.7.EXE c:/builds/moz2_slave/m-in-w64-000000000000000000000/build/src/sccache/sccache.py c:/builds/moz2_slave/m-in-w64-000000000000000000000/build/src/vs2015u1/VC/bin/amd64/cl.EXE -E -nologo


in the log above, there is no version.  I did verify that we have the same hash/digest info for downloading rustc.tar.gz.  There must be something else going on as a root cause here- we are chatting on irc to get more info on a live machine.
irc chat and some trickery revealed a missing .dll.  Now why we don't get that error message when running rustc in configure or even in powershell is a mystery.
It turned out that the logic i was using to check if vcredist x64 was installed should have been applied to x86 and vice versa:
https://github.com/MozRelOps/OpenCloudConfig/commit/2749e0b7d6e2f0c804d12383e2323dd3793ff73b
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → FIXED
Summary: taskcluster win64 builds fail in old-configure when testing rustc → taskcluster win64 builds fail in old-configure when testing rustc (missing vcredist)
Component: General Automation → General
You need to log in before you can comment on or make changes to this bug.