Opened 6 years ago

Closed 2 years ago

#8401 closed project (wontfix)

More closely match official Mozilla Build Machines

Reported by: mikeperry Owned by: tbb-team
Priority: Medium Milestone:
Component: Applications/Tor Browser Version:
Severity: Normal Keywords:
Cc: mcs, brade, tom@… Actual Points:
Parent ID: #8288 Points:
Reviewer: Sponsor:

Description

We're accumulating a lot of strange bugs due to differences between our build machines and the Mozilla official. We should get copies of the official Firefox 17-ESR binaries for each platform from https://ftp.mozilla.org/pub/mozilla.org/firefox/releases/17.0.3esr/ and run about:buildconfig on each one and then work on making our build options and toolchain versions more closely match theirs.

Pasting the about:buildconfig for each FF17-ESR binary into this ticket is a fine first step.

I am also going to reparent all the "WTF? Seems like a build bug" tickets we've accumulated to this ticket, so we can keep track of them. It is likely that simply making our build machines match Mozilla's will knock out a whole bunch of strange, subtle bugs.

Child Tickets

TicketStatusOwnerSummaryComponent
#8156closederinnTweetdeck's Web interface can't post tweets in TBB on LinuxApplications/Tor Browser
#8321closederinnAntivirus warning (Gen.Variant.Kazy) with TBB 2.3.25-4Applications/Tor bundles/installation
#8352closedtbb-teamTBB with Firefox 17 ESR is exhibiting slow, clunky UI performanceApplications/Tor Browser

Attachments (2)

firefox17esr-osx-buildconfig.txt (3.2 KB) - added by mikeperry 6 years ago.
Firefox 17.0.3-ESR OSX Buildconfig (unified binary: contains both x86 and x64 info)
firefox17esr-win-buildconfig.txt (867 bytes) - added by mcs 6 years ago.
Firefox 17.0.3-ESR Win32 Buildconfig

Download all attachments as: .zip

Change History (11)

Changed 6 years ago by mikeperry

Firefox 17.0.3-ESR OSX Buildconfig (unified binary: contains both x86 and x64 info)

comment:1 Changed 6 years ago by mcs

Cc: mcs added

Changed 6 years ago by mcs

Firefox 17.0.3-ESR Win32 Buildconfig

comment:2 Changed 6 years ago by mcs

I happened to be on my Windows PC this morning, so I installed 17.0.3-ESR and captured the about:buildconfig output. Of course there are a lot of things that probably does not cover such as Microsoft SDK versions, but it is a start.

comment:3 Changed 6 years ago by mikeperry

mcs: Cool. I don't suppose you have a list of the exes and versions you used to build TBB on Windows? I assume your build actually works and doesn't crash?

Tom Ritter and I both tried to follow the windows.txt instructions and ran into multiple distinct issues during either compilation or the resulting build.

https://lists.torproject.org/pipermail/tor-dev/2013-March/004496.html

comment:4 in reply to:  3 Changed 6 years ago by mcs

Cc: brade added

Replying to mikeperry:

mcs: Cool. I don't suppose you have a list of the exes and versions you used to build TBB on Windows? I assume your build actually works and doesn't crash?

Kathy Brade and I have been able to produce TBB builds on Windows that work OK. I wish I could say our build process was clean, but we had to jump through some hoops. We did not start with a clean Windows set up, so that may have been part of the problem (we used a computer that was already configured for non-Tor Firefox builds). For set up, we basically followed:

https://gitweb.torproject.org/torbrowser.git/blob/HEAD:/docs/buildmachine_setups/windows.txt

We skipped installation of Visual Studio 2008, the Windows SDK, and the DirectX SDK because we already had what we hoped were good/correct versions of those components.

For the Firefox portion of the build, we were unable to complete the build when using the TBB process (unfortunately, I don't remember all of the details). We ended up using Visual Studio 2010 to build Firefox (basically following Mozilla's tools set up and build instructions). The only other problem that I remember is that we could not use pymake because it seg faulted somewhat randomly, so we used the MinGW make instead. Maybe that was even the problem we had when trying to build Firefox within the TBB process. Here is the compiler version from our Firefox build log:

Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 16.00.40219.01 for 80x86

Our DirectX SDK is labeled "June 2010".
Our Windows SDK is version 7.0.

We did use Visual Studio 2008 for the non-Firefox components such as Vidalia.

comment:5 Changed 6 years ago by tom

Cc: tom@… added

Several things. I think we're really close on this!

1) Having VS2008 already installed definetly helped you: you had the msvc*90*.dll's that ship with it and are referenced in build-scripts\windows.mk

For a true VS2010 build we will need to change the windows.mk file to not reference those dlls (c/Program Files (x86)/Microsoft Visual Studio 9.0/VC/redist/x86/Microsoft.VC90.CRT/"msvc*90.dll) and instead reference the msvc*100.dll's.

These dlls are from the "Microsoft Visual C++ 20xx Redistributable Package" - it's fine to require them, and it's fine to redistribute them as part of TBB. I think but am not 100% certain that as long as we build with VS2010 they will be perfect replacements for the 90.dll's.

2) MY crash with xul.dll (see https://lists.torproject.org/pipermail/tor-dev/2013-March/004496.html ) was actually do to omni.ja not being packaged correctly. The reason for that I suspect was I futzed and edited MSC_VER too late, patch-mozilla-build.sh had already patched the wrong .bat file. Once I patched the correct mozilla-build bat file (which is 10 for 2010), and ran build-firefox again...

It crashed/hung in pymake! Like this:

Administrator@ip-0AF0A24F /c/build/torbrowser/build-scripts
$ make -f windows.mk build-firefox
cp config/dot_mozconfig /c/build/torbrowser/build-scripts/build-alpha-windows/build/firefox-17.0.3esr/mozconfig
cp branding/* /c/build/torbrowser/build-scripts/build-alpha-windows/build/firefox-17.0.3esr/browser/branding/official
cd /c/build/torbrowser/build-scripts/build-alpha-windows/build/mozilla-build && cmd.exe /c "start-msvc10.bat /c/build/torbrowser/build-scripts/build-alpha-windows/build/firefox-17.0.3esr /c/build/torbrowser/build-scripts/build-alpha-windows/build/mozilla-build/python/python.exe /c/build/torbrowser/build-scripts/build-alpha-windows/build/firefox-17.0.3esr/build/pymake/make.py"
"Mozilla tools directory: c:\build\torbrowser\build-scripts\build-alpha-windows\build\mozilla-build\"
Using VC 2010 built-in SDK
Setting environment for using Microsoft Visual Studio 2010 x86 tools.
/c/build/torbrowser/build-scripts/build-alpha-windows/build/firefox-17.0.3esr //<== This was a debugging line I put in
/c/build/torbrowser/build-scripts/build-alpha-windows/build/mozilla-build/python/python.exe //<== This was a debugging line I put in
/c/build/torbrowser/build-scripts/build-alpha-windows/build/firefox-17.0.3esr/build/pymake/make.py //<== This was a debugging line I put in
Mozilla build environment: MSVC version 10.
make.py[1]: Entering directory 'c:\build\torbrowser\build-scripts\build-alpha-windows\build\firefox-17.0.3esr'
evaluation from c:\build\torbrowser\build-scripts\build-alpha-windows\build\firefox-17.0.3esr\client.mk:104:0:2:1:Fix above errors before continuing.
make: *** [build-firefox] Error 2

When I run it manually is hangs like this:

Administrator@ip-0AF0A24F /c/build/torbrowser/build-scripts/build-alpha-windows/build/firefox-17.0.3esr
$ /c/build/torbrowser/build-scripts/build-alpha-windows/build/mozilla-build/python/python.exe /c/build/torbrowser/build-scripts/build-alpha-windows/build/firefox-17.0.3esr/build/pymake/make.py -f client.mk build
make.py[0]: Entering directory 'c:\build\torbrowser\build-scripts\build-alpha-windows\build\firefox-17.0.3esr'

So the pymake crashes seem to be critically important. I tried doing the mingw make, but it died like this:

Administrator@ip-0AF0A24F /c/build/torbrowser/build-scripts/build-alpha-windows/build/firefox-17.0.3esr
$ make -f client.mk build
client.mk:104: *** Fix above errors before continuing..  Stop.

And I had to stop investigating.

comment:6 Changed 5 years ago by erinn

Keywords: needs-triage added

comment:7 Changed 5 years ago by erinn

Component: Tor bundles/installationTor Browser
Owner: changed from erinn to tbb-team

comment:8 Changed 2 years ago by cypherpunks

Keywords: tbb-rbm added; needs-triage removed
Parent ID: #8288
Severity: Normal

Based on comments, this ticket is about building TBB on Windows, similar to #8246.
Mozilla now has MozBoot support MSYS2 https://bugzilla.mozilla.org/show_bug.cgi?id=1275437, but MozillaBuild switch to MSYS2 is still in development https://bugzilla.mozilla.org/show_bug.cgi?id=1100925.

comment:9 in reply to:  8 Changed 2 years ago by gk

Keywords: tbb-rbm removed
Resolution: wontfix
Status: newclosed

Replying to cypherpunks:

Based on comments, this ticket is about building TBB on Windows, similar to #8246.

Yes, and similar to that ticket this is a WONFIX as we are cross-compiling on Linux and this is not planned to change in the future.

Note: See TracTickets for help on using tickets.