Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
Trac
Trac
  • Project overview
    • Project overview
    • Details
    • Activity
  • Issues 246
    • Issues 246
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Operations
    • Operations
    • Metrics
    • Incidents
  • Analytics
    • Analytics
    • Value Stream
  • Wiki
    • Wiki
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Create a new issue
  • Issue Boards

GitLab is used only for code review, issue tracking and project management. Canonical locations for source code are still https://gitweb.torproject.org/ https://git.torproject.org/ and git-rw.torproject.org.

  • Legacy
  • TracTrac
  • Issues
  • #25483

Closed (moved)
Open
Opened Mar 13, 2018 by Arlo Breault@arlo

Windows reproducible build of snowflake

Breaking this out from https://trac.torproject.org/projects/tor/ticket/19001#comment:36, where dcf wrote,

I pushed some preliminary code for getting started with a windows reproducible build. https://gitweb.torproject.org/user/dcf/tor-browser-bundle.git/log/?h=snowflake-windows&id=0f48dc9e1904fa0643576fc8dcf3db50a4d2f959

It doesn't work yet; after ./mkbundle-windows.sh versions.alpha, it eventually fails with: {{{

  • /home/ubuntu/build/webrtc/src/out_bootstrap/gn gen out/Release '--args= target_os="win" target_cpu="x86" is_debug=false treat_warnings_as_errors=false is_component_build=false is_clang=true use_sysroot=false clang_use_chrome_plugins=false clang_base_path="/home/ubuntu/build/clang" rtc_include_opus=false rtc_include_ilbc=false rtc_include_internal_audio_device=false rtc_include_tests=true' ERROR at //build/config/BUILDCONFIG.gn:239:3: Assertion failed. assert(target_os == host_os, "Win cross-compiles only work on win hosts.") ^----- Win cross-compiles only work on win hosts. }}} But at this point one can ssh into the build VM and start debugging the build failures.

Some further notes from what we've discovered so far.

  • https://chromium.googlesource.com/chromium/src/+/master/docs/win_cross.md says that we need to add target_os = ['win'] to our .gclient file before calling gclient sync to get some additional deps.

  • https://chromium.googlesource.com/chromium/tools/depot_tools.git/+/master/win_toolchain/README.md says that Googlers have access to the necessary toolchain, but we don't.

  • https://chromium.googlesource.com/chromium/tools/depot_tools.git/+/master/win_toolchain/package_from_installed.py points to a method of creating it from a fresh VM. Presumably we can use https://developer.microsoft.com/en-us/microsoft-edge/tools/vms/ and the community version of Visual Studio (steps to reproduce will follow)

To upload designs, you'll need to enable LFS and have admin enable hashed storage. More information
Assignee
Assign to
None
Milestone
None
Assign milestone
Time tracking
None
Due date
None
Reference: legacy/trac#25483