gclient runhooks fails on Windows

1,794 views
Skip to first unread message

br...@dubane.com

unread,
Nov 21, 2014, 4:03:31 PM11/21/14
to discuss...@googlegroups.com
Sometime in the last few days the Windows build seems to have started failing for us.

When we run gclient runhooks from an Administrator command window it syncs with the Chromium source but then it indicates that our VS toolchain is out of date and starts downloading a new one.

________ running 'C:\workspace\google\depot_tools\python276_bin\python.exe src/build/vs_toolchain.py update' in 'c:\work
space\google\webrtc\src\chromium'
Windows toolchain out of date or doesn't exist, updating (Express)...
  current_hash: c05c87d793a51e38982f8caf44c79fee795ff6ea
  desired_hashes: ee7d718ec60c2dc5d255bbe325909c2021a7efef
Removing old toolchain in 1s... (Ctrl-C to cancel)Downloading http://download.microsoft.com/download/F/1/3/F1300C9C-A120
-4341-90DF-8A52509B23AC/standalonesdk/sdksetup.exe...
... 991536/991536

Running sdksetup.exe to download Win8 SDK (may request elevation)...


That then downloads a couple large .iso files from Microsoft (total around 1.4GB), extracts them and then fails with this error:
Traceback (most recent call last):
  File "toolchain2013.py", line 494, in <module>
    sys.exit(main())
  File "toolchain2013.py", line 474, in main
    GenerateSetEnvCmd(target_dir, not options.express)
  File "toolchain2013.py", line 379, in GenerateSetEnvCmd
    target_dir, r'win8sdk\bin\SetEnv.cmd'), 'w') as f:
IOError: [Errno 2] No such file or directory: 'C:\\workspace\\google\\depot_tools\\win_toolchain\\vs2013_files\\win8sdk\
\bin\\SetEnv.cmd'


I'm able to verify that the file SetEnv.cmd does not exist, nor does the win8sdk folder.

Is anyone else seeing this issue? My best guess is that the files from Microsoft have changed and the build scripts haven't been updated to reflect that, but I'm not sure how to go about resolving it even if I am right about that.

I greatly appreciate any insight you might have!


br...@dubane.com

unread,
Nov 24, 2014, 7:05:34 PM11/24/14
to discuss...@googlegroups.com
I've traced this problem back to a change made to depot_tools about 10 days ago:

That change updated the vs2013 dependency to expect a Win 8.1 SDK install however the file downloaded from Microsoft still installs the Win 8.0 SDK. 

I've worked around this for now by manually rolling my depot_tools back to before this commit and turning off the depot tools update. If anyone can help me direct me where to log this bug with the depot_tools team I would appreciate it.

Thanks!

Jonathan Busby

unread,
Nov 29, 2014, 3:32:50 PM11/29/14
to discuss...@googlegroups.com


On Monday, November 24, 2014 6:05:34 PM UTC-6, br...@dubane.com wrote:
I've traced this problem back to a change made to depot_tools about 10 days ago:

That change updated the vs2013 dependency to expect a Win 8.1 SDK install however the file downloaded from Microsoft still installs the Win 8.0 SDK. 

I've worked around this for now by manually rolling my depot_tools back to before this commit and turning off the depot tools update. If anyone can help me direct me where to log this bug with the depot_tools team I would appreciate it.

Thanks!

I'm seeing the same problem and it still hasn't been fixed as of 11/29/2014 ( today ).

I followed your suggestions ( I greatly appreciate the tip :) ) and did :

git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git

git checkout
71284d9


Then I disabled depot_tools auto-update :

DEPOT_TOOLS_UPDATE=0


( In Computer->Properties->Advanced system settings->Environment Variables -- there was no ".svn" to delete )


Now, it gets past the point where it would error out on :

IOError: [Errno 2] No such file or directory: 'C:\\workspace\\google\\depot_tools\\win_toolchain\\vs2013_files\\win8sdk\\bin\\SetEnv.cmd'

But then it fails later with :

Cleaning up temporaries...
Got wrong hash after pulling a new toolchain. Wanted one of 'ee7d718ec60c2dc5d25
5bbe325909c2021a7efef'
, got '9d9a93134b3eabd003b85b4e7dea06c0eae150ed'.

Traceback (most recent call last):

 
File "src/build/landmines.py", line 215, in <module>
    sys
.exit(main())
 
File "src/build/landmines.py", line 202, in main
    gyp_environment
.SetEnvironment()
 
File "C:\workspace\src\build\gyp_environment.py", line 33, in SetEnvironment
    vs_toolchain
.SetEnvironmentAndGetRuntimeDllDirs()
 
File "C:\workspace\src\build\vs_toolchain.py", line 34, in SetEnvironmentAndGe
tRuntimeDllDirs
   
Update()
 
File "C:\workspace\src\build\vs_toolchain.py", line 179, in Update
    subprocess
.check_call(get_toolchain_args)
 
File "C:\cygwin64\home\jdb\workspace\depot_tools\python276_bin\lib\subproces
s.py"
, line 540, in check_call
   
raise CalledProcessError(retcode, cmd)
subprocess
.CalledProcessError: Command '['C:\\cygwin64\\home\\jdb\\workspace\\
depot_tools
\\python276_bin\\python.exe', 'C:\\cygwin64\\home\\jdb\\workspace\\
depot_tools
\\win_toolchain\\get_toolchain_if_necessary.py', '--output-json', 'C:
\\workspace\\src\\build\\win_toolchain.json', 'ee7d718ec60c2dc5d255bbe325909c202
1a7efef']' returned non-zero exit status 1
Error: Command C:\cygwin64\home\jdb\workspace\depot_tools\python276_bin\python
.exe src/build/landmines.py returned non-zero exit status 1 in C:\workspace
Hook ''C:\cygwin64\home\jdb\workspace\depot_tools\python276_bin\python.exe' sr
c/build/landmines.py'
took 1243.71 secs
Traceback (most recent call last):

 
File "C:\cygwin64\home\jdb\workspace\depot_tools\\fetch.py", line 320, in <m
odule
>
    sys
.exit(main())
 
File "C:\cygwin64\home\jdb\workspace\depot_tools\\fetch.py", line 316, in ma
in
   
return run(options, spec, root)
 
File "C:\cygwin64\home\jdb\workspace\depot_tools\\fetch.py", line 310, in ru
n
   
return checkout.init()
 
File "C:\cygwin64\home\jdb\workspace\depot_tools\\fetch.py", line 122, in in
it
   
self.run_gclient(*sync_cmd)
 
File "C:\cygwin64\home\jdb\workspace\depot_tools\\fetch.py", line 76, in run
_gclient
   
return self.run(cmd_prefix + cmd, **kwargs)
 
File "C:\cygwin64\home\jdb\workspace\depot_tools\\fetch.py", line 66, in run


   
return subprocess.check_call(cmd, **kwargs)
 
File "C:\cygwin64\home\jdb\workspace\depot_tools\python276_bin\lib\subproces
s.py"
, line 540, in check_call
   
raise CalledProcessError(retcode, cmd)
subprocess
.CalledProcessError: Command '('C:\\cygwin64\\home\\jdb\\workspace\\
depot_tools
\\python276_bin\\python.exe', 'C:\\cygwin64\\home\\jdb\\workspace\\
depot_tools
\\gclient.py', 'sync')' returned non-zero exit status 2


C
:\workspace>


Does anyone know what the problem is here?

Any help would be appreciated.

Thanks and regards,

Jonathan Busby


( P.S. I've been trying to find a mailing list for this group as I'd rather not use the groups.google.com UI. I've searched but have had no success. Does anyone know if there exists a method to post by e-mail to this group? )

Sean Roh

unread,
Dec 2, 2014, 9:17:02 PM12/2/14
to discuss...@googlegroups.com
I'd built successfully 2 days ago (Windows 7 + VS2013).
It was 3rd retry.

My procedure:
1) make new folder
2) set variables
set GYP_GENERATORS=msvs-ninja,ninja
set GYP_MSVS_VERSION=2013
set DEPOT_TOOLS_WIN_TOOLCHAIN=0
3) fetch webrtc (it took many hours)
4) cd src, gclient runhooks, then ninja
5) If it fail, delete everything and try again

I suspect there could exist silent (not detected) git operation failures.
In the last time (success case), I run fetch and left my machine alone whole night.

Brian Robbins

unread,
Dec 3, 2014, 10:42:52 AM12/3/14
to discuss...@googlegroups.com
Sean is pretty much correct on this.

Basically you need to now follow the (new) setup steps for building Chromium, which depend on Visual Studio 2013:

You'll need to install VS 2013 (The free Community Edition is okay).

Then you need to set DEPOT_TOOLS_WIN_TOOLCHAIN=0

This will prevent it from trying to download new Windows toolchain files as part of the build process.

Once you do that, you should be able to work with a clean pull of the latest webRTC source and depot_tools.

--

---
You received this message because you are subscribed to a topic in the Google Groups "discuss-webrtc" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/discuss-webrtc/zffTlWv8PHo/unsubscribe.
To unsubscribe from this group and all its topics, send an email to discuss-webrt...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply all
Reply to author
Forward
0 new messages