Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
S
Snowflake
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 42
    • Issues 42
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Merge Requests 4
    • Merge Requests 4
  • CI / CD
    • CI / CD
    • Pipelines
    • Jobs
    • Schedules
  • Operations
    • Operations
    • Incidents
    • Environments
  • Analytics
    • Analytics
    • CI / CD
    • Repository
    • Value Stream
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar

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.

  • The Tor Project
    • A
      Anti-censorship
  • Pluggable Transports
  • Snowflake
  • Issues
  • #25483

Closed
Open
Opened Mar 13, 2018 by Arlo Breault@arloDeveloper

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)

Assignee
Assign to
Sponsor 28: Reliable Anonymous Communication Evading Censors and Repressors (RACECAR)
Milestone
Sponsor 28: Reliable Anonymous Communication Evading Censors and Repressors (RACECAR)
Assign milestone
Time tracking
None
Due date
None
Reference: tpo/anti-censorship/pluggable-transports/snowflake#25483