Building Chromium locally wasn’t quite as bad as I expected it to be. For the most part it was enough to just follow the general guide, although the Mac specific one gives some more info about installing dependencies.
Paul Irish also has some build instructions specific to DevTools. The
debug_devtools = true setting sounds very useful.
But assuming your computer is set up correctly these are the only steps required to build Chromium:
chrome fetch cd src gclient runhooks gn gen out/Default ninja -C out/Default chrome
chrome fetch if you’ve already checked out the git repo.)
It takes a while, I’m guessing maybe 4 hours on my machine. My laptop went to sleep several times, but when it woke up the build just continued as before.
Still, I managed to run into a few problems.
Don’t try to build from a broken commit
At first I was getting this message when running
gn gen out/Default.
ERROR at //BUILD.gn:194:5: Can't load input file. "//ui/gfx:gfx_unittests", ^----------------------- Unable to load: /Users/mattzeunert/chromium/src/ui/gfx/BUILD.gn I also checked in the secondary tree for: /Users/mattzeunert/chromium/src/build/secondary/ui/gfx/BUILD.gn
Turns out my local version of the source code was broken. The Mac build guide suggests that you check the current build status first, but I didn’t really get what I was supposed to do.
You want to look for the column for your build environment and make sure it’s green.
If it’s not, find the last commit where it was green and do a
git reset. So in the example above the last green Mac commit is
469b0eeb77b2, so you run
git reset 469b0eeb77b2.
Make sure you have enough disk space
My build was almost done when this happened.
fatal error: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool: can't write to output file (No space left on device) ninja: build stopped: subcommand failed.
out/Default directory is taking up 46GB of disk space. Make sure you have enough free space.
I thought I would have to rerun the whole build, but when I restarted the
ninja command it just continued where it left off.
Once Chrome is done just run
out/Default/Chromium.app/Contents/MacOS/Chromium from the