[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
Re: [tor-bugs] #25483 [Obfuscation/Snowflake]: Windows reproducible build of snowflake
#25483: Windows reproducible build of snowflake
-----------------------------------+------------------------
Reporter: arlolra | Owner: (none)
Type: defect | Status: new
Priority: Medium | Milestone:
Component: Obfuscation/Snowflake | Version:
Severity: Normal | Resolution:
Keywords: | Actual Points:
Parent ID: #19001 | Points:
Reviewer: | Sponsor:
-----------------------------------+------------------------
Changes (by gk):
* cc: gk (added)
Comment:
Replying to [ticket:25483 arlolra]:
> 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.
Ugh. So, you need to use clang to cross-compile the webrtc parts? We want
to have this, too, for Firefox as Stylo needs that but we won't go the
road Google takes but use a clang/mingw-w64 approach. See:
https://bugzilla.mozilla.org/show_bug.cgi?id=1390583 where we basically
got this working.
I am not thrilled to have two different clang-based approaches in our
build setup for Windows. That said, what are the options for not having to
pull in all the Chromium stuff to build the WebRTC parts we need? I can't
imagine that everyone wanting to have that lib is always building the
whole Chromium thing.
--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/25483#comment:6>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online
_______________________________________________
tor-bugs mailing list
tor-bugs@xxxxxxxxxxxxxxxxxxxx
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-bugs