Has anyone there been able to build Chrome on Windows?

I am quantifying various metrics associated with automated tests. Chrome seems to have a sane set, so I wanted to add it to my dataset. I downloaded the Chrome source code and tried to build it with VisualStudio, but got a few hundred errors - types undefined, IDs undefined, etc. Has anyone there been able to build Chrome on Windows? Are there any tricks I need to know?

+1


source to share


2 answers


From the Chromium dev page:

Compilation errors

Some common things to think about when you're having strange compilation failures:

  • Make sure you have Visual Studio 2005 SP1. This is required. In fact.
  • Sometimes Visual Studio does the wrong thing when building Chromium and gets stuck under a fake error. A good indicator of this is that this is only bad luck for one person, but others (including Buildbots) are not complaining. To fix this issue, follow these steps:
    • Close Visual Studio.
    • Synchronize with the end of the tree and make sure there are no conflicts ("svn st" should not show "C" in front of the files you modified).
    • If there are conflicts, please synchronize after resolving them.
    • Manually delete the output directory (chrome \ Debug and chrome \ Release). Using the command line, you can use "remove debug / S / Q Debug Release" from the chrome directory to do this, or "rm -rf Debug Release" if you have Unix tools installed.
    • Restart Visual Studio and open the Chromium solution.
    • Rebuild the solution.

If it still doesn't work, repeating this process probably won't help.

Issues with tempfile chrome_kjs.sln



If you see errors like:

3>Error in tempfile() using /tmp/dftables-XXXXXXXX.in: Parent directory (/tmp/) is not writable
3> at /cygdrive/c/b/slave/WEBKIT~1/build/webkit/third_party/JavaScriptCore/pcre/dftables line 236
3>make: *** [chartables.c] Error 255

      

... this is because the Cygwin installation included in the Chromium source has a problem with mapping NT ACL permissions to POSIX. This happens when Chromium checks into a directory for which Cygwin cannot determine permissions in the first place, possibly when the directory is created from the Cygwin environment before running mkpasswd. Cygwin then introduces its own access control, which is incorrectly restrictive. As a workaround, do one of the following:

  • Edit NT permissions on third_party \ cygwin \ tmp to allow changes and writes for everyone and machine \ Users. Cygwin is able to figure this out. Or,

  • Figure out what went wrong with your checkout and try again - try checkout from cmd instead of the Cygwin shell, then make sure the permissions are not completely empty in your Cygwin installation. Or,

  • Bypass Cygwin access control (NT will still work) by editing webkit \ build \ JavaScriptCore \ prebuild.bat and webkit \ build \ WebCore \ prebuild.bat to include the following line before calling anything that Cygwin uses:

        set CYGWIN=nontsec
    
          

Only one of these solutions is needed.

+4


source


I've managed to build Chrome many times. I have comprehensive material if you want to see Building Chrome on Windows 7 with Visual Studio .NET 2008



0


source







All Articles