LoginSignup
15
9

More than 3 years have passed since last update.

Chromiumをビルドする

Posted at

人生生きていたら誰もがChromiumのビルドぐらい必要になるだろう。
既存のドキュメントでは少しうまく行かないところがあったのでまとめておく。

基本的にはhttps://chromium.googlesource.com/chromium/src/+/master/docs/linux/build_instructions.md
の順に行っただけ

Pythonのバージョンの問題とPython入れるまでのやり方だけが追記されている。

ビルド環境

公式リファレンスによれば以下のような環境が必要。

  • 8GB以上のRAMが必要。16GB以上が推薦
  • 最低でも100GB以上のストレージ領域があること
  • GitとPython 2系がインストールされていること

今回はGCP上で東京リージョンにn1-standard-4(vCPU x 4、メモリ 15 GB)のインスタンスを借りた。

Pythonのインストール

build-essentialとzlib-devを入れる

apt get install build-essential zlib1g-dev

これがないとPyenvで入れることができない。

Anyenvを入れる

個人的にAnyenv経由でPyenvを入れておきたかったのでAnyenvを入れておく。

git clone https://github.com/anyenv/anyenv ~/.anyenv
echo 'export PATH="$HOME/.anyenv/bin:$PATH"' >> ~/.bashrc
anyenv install --init

.bashrcを編集する必要がある。以下を追記。

.bashrc
eval $(anyenv init -)

Pyenvを入れる

anyenv install pyenv

Pythonを入れる

2.7.17を入れたところ、後々に実行するgclient runhookでエラーが起きてしまったので2.7.14を入れる。

pyenv install 2.7.14
pyenv global 2.7.14

ここでpyenv local 2.7.14と後々に使う作業用フォルダでやってもよいが、空なディレクトリじゃないとエラーが起きる部分があるので、面倒なのでとりあえずこうした。

Chromiumのソースのダウンロード、依存関係のインストール

以降の処理は実行時間が長いものもある。sshの接続が切れたりして再度やり直すのは大変なのでtmux使っておくとよいだろう。

Chromiumのダウンロードツールのインストール

depot_toolsというものをダウンロードして、パスを通す必要があるらしい。
以下ホームディレクトリにいることを想定。

git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git

.bashrcに以下を追記する。

.bashrc
export PATH="$PATH:${HOME}/depot_tools"

Chromiumのソースのダウンロード

mkdir ~/chromium && cd ~/chromium
fetch --nohooks chromium

これでダウンロードする。多分30分ぐらいかかる。

依存関係のインストール

cd src
./build/install-build-deps.sh
gclient runhooks

ninjaファイルの生成

ビルドに使うninjaのためのファイルを生成するみたい

 gn gen out/Default

Chromiumのビルド

autoninja -C out/Default chrome

6時間ほどしたら完成する。

15
9
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
15
9