Thus spake Tom Ritter (tom@ritter.vg):
I've attached two documents: 1) TBB Environment README.txt 2) Adventures in Compilation.txt
First of all, thanks a lot for your efforts here!
The first is the README for the environment. The second is a journal of my trying to figure out what to do. Specifically I'm going to call out several issues. If desired, I can submit patches to address them, and they can be reviewed.
Yes, please. One of the things I've been wanting to do is script the instructions in https://gitweb.torproject.org/torbrowser.git/tree/master:/docs/buildmachine_... with some very dumb scripts that just pull down toolchain binaries from people.torproject.org instead of trying to futz with finding the exact version we use that may or may not exist online anymore. Also, a disturbing amount of the Windows toolchain is provided over HTTP only.
If do you end up getting a working build out of your AMI VM, please post the exact toolchain binaries you used so we can verify them and archive them as the first step to making build machine setup more automated.
Jake is working on a similar project with the actual build dependencies themselves.
- Firefox's official build environment is VS2010 while TBB's is
VS2008
I'm not 100% sure, but it seems like it'd be relatively easy to switch TBB over to 2010. There may be some issues. But it seems like it'd be good to track FF's official build env. I ran across at least 1 Vanilla FF issue that broke in 2008, and there seemed to be a few in the bugtracker.
I think this is a good idea too. I'm trying to track bugs that are toolchain-related under https://trac.torproject.org/projects/tor/ticket/8401. I've found at least 3 so far, and they are all very subtle and irritatingly time consuming to diagnose. We should just standardize on whatever Mozilla builds with.
- Vidalia's build environment instructions contradict TBB's
https://gitweb.torproject.org/vidalia.git/blob/HEAD:/INSTALL https://gitweb.torproject.org/torbrowser.git/blob/HEAD:/docs/buildmachine_se...
Vidalia's says you need CMake in your PATH, TBB's says you don't. I think it can be in your PATH.
This is interesting. My attempt to build on windows failed due to CMake not finding CMAKE_ROOT.
- There's no explicit instructions on how to build Tor in Windows
It seems like you just build it in MinGW? It worked anyway. It's a (minor) bitch to get the components built and placed in the 'correct way and place' for the MinGW toolchain. (Now documented in my README)
Finally, after all this.... tbb-firefox crashes. I don't know why. I don't know if it's because I'm using VS2010, or my msvc*.dll swaps.
I'm not quite sure where to start figuring out *why* it's dereferencing a null ptr. The windbg output is in the bottom of both docs.
We've got a null pointer dereference in https://trac.torproject.org/projects/tor/ticket/8324. Could be what you're seeing, if you're somehow triggering drag+drop? I pushed a fix to torbrowser.git, but it also requires a Torbutton update to allow Drag+Drop again. I think the patch update should at least stop that crash, though.