servo: Merge #12578 - Document Windows installation hacks (from larsbergstrom:windows_deps); r=metajack
authorLars Bergstrom <>
Sun, 24 Jul 2016 21:56:13 -0500
changeset 339361 fcf351252f16ae40bd95c8ad5eba9e9df166a745
parent 339360 0a08a372ea6d0e5204d84dfd9a7f4b9ab600a34c
child 339362 5fd0bd2ecf2caffcec254923eec2d34b6707529c
push id31307
push dateSat, 04 Feb 2017 00:59:06 +0000
treeherdermozilla-central@94079d43835f [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
servo: Merge #12578 - Document Windows installation hacks (from larsbergstrom:windows_deps); r=metajack <!-- Please describe your changes on the following line: --> This is based on the awesome work by @UK992 in #12573. Basically, it downgrades GCC on Windows to 5.4 within the mingw environment. This is a stopgap until #11756 is completed and we no longer need mingw. Fixes #12512 r? @metajack --- <!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: --> - [ ] `./mach build -d` does not report any errors - [ ] `./mach test-tidy` does not report any errors - [ ] These changes fix #__ (github issue number if applicable). <!-- Either: --> - [ ] There are tests for these changes OR - [ ] These changes do not require tests because _____ <!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. --> Source-Repo: Source-Revision: 521f8c013524b64daefc9c34c46263868f902de4
--- a/servo/
+++ b/servo/
@@ -75,24 +75,31 @@ sudo emerge net-misc/curl media-libs/fre
 On Windows:
 Download Python for Windows [here]( This is
 required for the SpiderMonkey build on Windows.
 Install MSYS2 from [here]( After you have done so, open an MSYS shell
-window and update the core libraries and install new packages:
+window and update the core libraries and install new packages. The extra step at the end is to
+downgrate GCC to 5.4, as the GCC6 versions in mingw currently fail to compile some of our
+dependencies. We are upgrading to a gcc-free build on Windows as soon as possible:
 pacman -Su
 pacman -Sy git mingw-w64-x86_64-toolchain mingw-w64-x86_64-freetype \
     mingw-w64-x86_64-icu mingw-w64-x86_64-nspr mingw-w64-x86_64-ca-certificates \
     mingw-w64-x86_64-expat mingw-w64-x86_64-cmake tar diffutils patch \
     patchutils make python2-setuptools
+export GCC_URL=
+export GCC_EXT=5.4.0-1-any.pkg.tar.xz
+pacman -U --noconfirm $GCC_URL-$GCC_EXT $GCC_URL-ada-$GCC_EXT \
+    $GCC_URL-fortran-$GCC_EXT $GCC_URL-libgfortran-$GCC_EXT $GCC_URL-libs-$GCC_EXT \
+    $GCC_URL-objc-$GCC_EXT
 easy_install-2.7 pip virtualenv
 Open a new MSYS shell window as Administrator and remove the Python binaries (they
 are not compatible with our `mach` driver script yet, unfortunately):
 cd /mingw64/bin