クイックスタートガイド

これらは複雑なものではなく、Linux 上で Firefox をビルドするいくつかの準備が必要なだけです。
あなたは以下のことが必要です:

  • Linux の 64 ビットインストール。ターミナルウィンドウ上で、uname -m と入力し x86_64 と表示されるかどうかで確認することができます。
  • 次に、Python がインストールされている必要があります。すでにインストールされている場合は python --version にて確認することができます。もしそうでなければ、利用しているディストリビューションのパッケージマネージャからインストールすることができます。システムをアップデートしてください。
  • 最後に高速なインターネット回線と、30GB の空きディスク容量が必要となってきます。

始める

Linux のセットアップを完了するのは早くて簡単です。

もしなにも開始していない場合、「src」ディレクトリをホームディレクトリ直下に作成します。

cd && mkdir src

次に、bootstrap.py スクリプトをダウンロードし、src/ ディレクトリに保存します。

non-native ファイルシステム上での Firefox のビルド(例えば、NTFS パーティーションとしてマウントされたもの)は明確にサポートしていません。このようなビルド環境は成功する可能性がありますが、成功したと主張している間に失敗する可能性があります。これは、診断と修正が非常に難しい場合があります。

そして最後に、ターミナルで src ディレクトリに移動して、以下のような bootstrapper を実行します。

cd ~/src 
python bootstrap.py

あとは、、、プロンプトに従ってください。

アクセスを開始する

Bugzilla.mozilla.org は Mozilla の Issue トラッカーです。バグにコメントしたり、パッチを提出するためにはログインできる必要があります。Github アカウントからログイン、または Bugzilla のアカウントを作成することができます。

Bugzilla 同様に、多くの Mozilla のインターナルコミュニケーションが IRC 上で交わされます。mac の Limechat はここから / Linux の Chatzilla はここから ダウンロードでき、Mozilla に IRC へ接続する方法から学べます。もしセットアップを開始しようとして質問があれば、"#introduction channel" に参加することができ、そこでは新しい貢献者に対して回答をしてくれるコミュニティメンバーが接続しています。

ソースコードの入手

もし bootstrap.py を利用して mozilla-unified をダウンロードしていない場合、ターミナル上から以下のコマンドを使いmozilla-central をクローンすることができます。

hg clone https://hg.mozilla.org/mozilla-central

これはネットワーク接続状況および環境によって時間がかかる可能性があります。

もしネットワークの何かしらの問題があり、上記コマンドでクローンができない場合、Mercurial Bundle を試してください。

Firefox のビルド

ここまできたら、すべてが一つになる時です。ターミナルから以下のコマンドを実行してください。

cd mozilla-central

そして、以下のコマンドを実行します。

./mach build

Ubuntu か Debian の LLVM/Clang に関連したエラーに遭遇した場合、最新版の LLVM および Clang をダウンロードし再度 ./mach build コマンドを実行してください。

自身のやり方でソースコードから Firefox のコピーをビルドしています。もし時間がかかったとしてもがっかりしないでください。たとえ最新のマシンを使ったとしても数時間かかることがあり、古いハードウェアでは2時間以上もかかることもあります。

Mozillians.org へ参加しましょう!

待ってる間に、自身のためにもう1つやってほしいことがあります。それは Mozillians のアカウントを作成することです。Mozillans はあなたの興味・プロジェクト・国を共有した人と繋がることができる Mozilla のコミュニティディレクトリです。このステップはオプションですが、登録する価値はあると思います。

初めの一歩

ソースコードを入手して、Firefox のビルドが終わり、./mach run でそれを実行することができたので、ハッキング開始の準備はできました。次のステップは IRC の "#introduction channel"に参加したり、Twitter の StartMozilla をフォローしたり、最初のバグを探したりすることです。

 

必要条件の詳細

 

一般的な注意点

  • 2GB RAM と 2GB の使用可能なスワップ領域は最小構成です。そして、RAM は常に多い方が好ましいです。8GB 以上になると、ビルド時間は劇的に改善されます。
  • 30 GB の空きディスク領域
  • 64 ビットの x86 CPU と 64 ビット OS。2015 初頭以降は、多くの 32 ビットシステムでソースコードから Firefox をフルビルドすることが不可能になりました。64 ビット OS は必要です。「Artifact builds」はサポートされている設定が存在しませんがおそらくビルド可能です。Linux 上で uname -a と実行することで確認することができます。
  • GCC 4.9 は Firefox 50 から必要になります。Firefox コードベースは 古い GCC でサポートされていない C++ のいくつかの機能に依存するため、2016 12月には GCC 5.x 以上でエラーが発生しました。コンパイラがサポートしている機能で我々が利用している機能について学ぶことができます
  • autoconf 2.13。多くの Linux ディストリビューションではビルドシステムが利用できず「*** Couldn't find autoconf 2.13. Stop.」とエラーが出る最新の autoconf がインストールされています。しかし autoconf2.13 は個別にインストール可能です。Debian ベースのディストリビューション上で autoconf 2.13 をインストールするためにはターミナルウィンドウ上で以下のコマンドを実行します。
sudo apt-get install autoconf2.13
  • もし Fedora で実行する場合は、ターミナルウィンドウで以下のジュビするコマンドを実行します。
sudo dnf install @development-tools @c-development autoconf213 gtk2-devel gtk3-devel libXt-devel GConf2-devel dbus-glib-devel yasm-devel alsa-lib-devel pulseaudio-libs-devel 

Debian / Ubuntu ユーザーの条件

異なるいくつかのパッケージが必要です。

# the rust compiler
aptitude install rustc

# the rust package manager
aptitude install cargo

# the required (old) version of autoconf
aptitude install autoconf2.13

# the headers of important libs
aptitude install libgtk-3-dev
aptitude install libgconf2-dev
aptitude install libdbus-glib-1-dev
aptitude install libpulse-dev

# an assembler for compiling webm
aptitude install yasm 

 

ワンステップ実行

ブートストラップスクリプトは必要となる依存ソフトウェアを自動でインストールすることが可能です。ターミナルウィンドウで以下のコマンドをコピペすることでダウンロードと実行することができます。

wget -q https://hg.mozilla.org/mozilla-central/raw-file/default/python/mozboot/bin/bootstrap.py -O bootstrap.py && python bootstrap.py

注意:python プロセスの標準入力へ  bootstrap.py をパイプすると、ブートストラップスクリプトで対話プロンプトが起動して失敗することがあります。ローカルファイルに対して Python を実行せねばなりません。

上記のコマンドが失敗した場合、Linuxディストリビューションの中には古いルート証明書のリストが含まれていることが多いためです。この場合、Linuxディストリビューションをアップグレードするか、ブラウザを使用してファイルをダウンロードする必要があります。それはあなたが正しい情報源からそれを得ることを保証します。

このプロセスからエラーが発生した場合は、ブートストラップが機能しなかったことを示すバグを提出し、Mike Hoye に直接お問い合わせください。エラーメッセージとお使いのオペレーティングシステムに関する詳細を記載してください。

Mercurial または Git 経由でソースコードをチェックアウトしている場合は、mach を bootstrap コマンドで使用することもできます。

./mach bootstrap

Common Bootstrapper Failures
共通のブートストラップ失敗

wget: command not found

wget(またはカール)をインストールしていない可能性があります。その場合は、ブラウザを使用して bootstrap.py をダウンロードし、次のコマンドで実行します。

python bootstrap.py

場合によっては、emoji やその他の文字以外の記号を含むようにコマンドプロンプトをカスタマイズした人は、bootstrap.py が UnicodeDecodeError で失敗することを発見しました。バグがありますが、その間にプロンプ​​トを退屈なものに変更する必要があります。

さらなる情報

上記のブートストラップスクリプトは、一般的な Linux ディストリビューションをサポートしています。うまく動作しない場合は、Linux ビルドの前提条件を参照してください。もう一度、他の問題に遭遇した場合、またはマニュアルが明確でない場合は、Mike Hoye に直接お問い合わせください。

ドキュメントのタグと貢献者

 このページの貢献者: Uemmra3, mantaroh, hamasaki, teoli, pastak, Shoot, Electrolysis, Mgjbot, Taken Bot
 最終更新者: Uemmra3,