tomo.gif (1144 ツバツイツト)line.gif (927 ツバツイツト)To previous pageTo home pageMailing to me

Mozilla Navigatorをビルドしてみる

(1998年4月29日版)

Modified: 6 Jun 1998

Netscape Navigator 5.0、通称、Mozilla(モジラ) Navigatorのソースコードをビルドができましたので紹介します。

www.mozilla.com のサイトをみたら4月29日版が出ていましたので、ビルドしてみることにしました。

私が行った環境は、Windows NT4.0で、MSVC5.0(いわゆる、Microsoft Visual Studio 5.0に同梱されている、Microsoft Visual C++ 5.0)、を使って行いました。


前提条件の確認
ダウンロードと解凍
ビルドの手順概要
環境変数の設定
ツールのビルド
私が経験したエラ-(1)
Mozilla本体のビルド
私が経験したエラ-(2)
ビルド中の様子や注意


前提条件の確認

私は、PentiumPro の 200MHzで行いました。

ZIPファイルが、17MB。解凍後は、59MBになりました。ビルドが終わると、241MBになっていました。

私は、128MBの環境で行いました。

私は、NT4.0で行いました。

私は、MSVC5.0で行いました。ServicePack3 で更新したものです。

確認していませんが、VisualStudioのServicePack3 を充てておかないとうまくコンパイルできないそうです。

MSVC以外の、BorlandのCではできません。正確にいうと、ビルドするためには相当の知識と時間が必要です。


ダウンロードと解凍

以下から、ダウンロードします。以前のものとは、URLがちょっと変わっています。
http://www.mozilla.org/download-mozilla.html

ここは重かったので、list of mirror site(以下)から、日本のサイトを開きます。
http://www.mozilla.org/mirrors.html

その中で、私は、以下からWindowsNT用をダウンロードしました。また、ツールも新しくなっているようなので、合わせてダウンロードしました。
http://sunsite.sut.ac.jp/pub/archives/WWW/mozilla/mozilla/source/

の2つをダウンロードします。

wintools.zip は、NTで動作する、UNIXのコマンドです。

私は、wintools.zip を、

D:\mozilla_tools

win_19980408.zip を、

D:\mozilla

に解凍しました。

以降の説明は、これが前提になっています。

atten.gif (980 ツバツイツト) NTFSであれば、解凍後、D:\mozilla のディレクトリを圧縮しておくことをすすめます。ビルドの時間はあまり変わりませんし、なんといってもディスクの容量が半分ですみます。


ビルドの手順概要

解凍すると、65.2MBありました。

ビルド(コンパイル&リンク)するのに、NTFSで、250MB。FATだと、500MBのハードディスクの空き容量が必要だそうです。

解凍後は、以下の手順で行います。

慎重に、一つづつ設定します。ビルドの失敗の原因は、99%この環境変数の設定間違い、しかもスペル間違いなどのつまらない間違いによるものです。

1分くらいで終了します。

私の場合、40分かかりました。

以上で終了です。以下、順次詳しく説明します。

info.gif (1511 ツバツイツト) 普通、MSVCでビルドするには、Visual StudioというGUIを起動し、マウスで、メニューからコンパイル、ビルドを選択して、exeを作りますが、Mozillaを作る場合は、内部のコンパイラやリンカを直接使って行います。

atten.gif (980 ツバツイツト) Visual C++5.0 は、正しくインストールされていることが前提です。Visual C++5.0を、デフォルトでインストールしておれば、Visual C++5.0に対する設定は何も要りません。


環境変数の設定

「コントロールパネル」の「システム」を起動し、「環境」タグを選択し、以下の環境変数を設定します。

「コマンドプロンプト」を開いて、set MOZ_BITS=32 のように、設定しても構いませんが、ここの方法で行うと、永久に保存されますので、この方法をお勧めします。

下のほうの、「変数」とかかれたテキストボックスと、「値」と書かれたテキストボックスに、以下の変数と、値を入れます。

変数

コメント

MOZ_BITS 32  
MOZ_DEBUG 1 デバッグ版を作るときだけですが、セットしておきましょう
MOZ_GOLD 1  
MOZ_MEDIUM 1  
MOZ_NT 351 NT3.51のときだけセットします。つまり、NT4.0では設定しません。
MOZ_OUT D:\mozilla\bin 指定しない場合、D:\mozilla\bin\x86dbg に作られます。
MOZ_DEBUGを設定しなかった場合、D:\mozilla\bin\
x86relに作られます。
MOZ_SRC D:\ ソースコードを解凍した場所。
MOZ_TOOLS D:\mozilla_tools\windows wintools.zipを解凍した場所に、windows\bin\x86というディレクトリがあるので、そこを指定します。つまり、gmakeなどのexeを作るツールの場所を指定します。
NO_SECURITY 1  
NSPR20 1  
_MSC_VER 1100 MSVC++5.0以降でコンパイルする場合設定します。
そうでない場合設定しません。

info.gif (1511 ツバツイツト) 私がソースを解凍した場所は、D:\mozilla で、OSは、WindowsNT4.0(SP3)、MSVC++5.0でコンパイルしましたので、上のように、黒い文字の変数だけ設定しました。つまり、NT4.0では、MOZ_NT は設定してはいけません。

info.gif (1511 ツバツイツト) MOZ_TOOLS を設定した後、D:\mozilla_tools\windows\bin\x86 の内容を、D:\mozilla_tools\windows\bin にコピーしておきます。

以下が、環境変数の設定方法です。MOZ_BITS=32 を設定している画面です。

input.gif (13258 ツバツイツト)

atten.gif (980 ツバツイツト) 設定したら、一字一句、きちんと確認しましょう。余分なスペースが入っていないこともしかと確認しましょう。そうしないと、一文字の違いで、うまくビルドができなくて悩むことになります。

下のほうのリストボックスで確認します。

confirm2.gif (12185 ツバツイツト)

info.gif (1511 ツバツイツト) 設定後、「OK」または「適用」ボタンを押した後、「コマンドプロンプト」からSETコマンドで、環境変数の確認もできます。

C:\mozilla> SET<return>


ツールをビルドする

「コマンドプロンプト」(通称、「DOS窓」)を開きます。ここで、

  1. D:\mozilla\config にディレクトリを移動して、
  2. nmake /f makefile.win /A を実行します。

atten.gif (980 ツバツイツト) nmake /f makefile.win と、/A をつけないと、NMAKEは何も実行しないで実行が終わってしまします。この原因は、配布されているツールは、すでにコンパイルされているので、NMAKEは何も実行する必要がないからです。ここでは、あえて、/Aを付加して、自分の環境でコンパイルしなおします。


以下が、実行の記録です。

D:\mozilla\config>nmake /f makefile.win /A

Microsoft (R) Program Maintenance Utility   Version 1.62.7022
Copyright (C) Microsoft Corp 1988-1997. All rights reserved.

Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 11.00.7022 for 80x86
Copyright (C) Microsoft Corp 1984-1997. All rights reserved.

makecopy.c
Microsoft (R) 32-Bit Incremental Linker Version 5.10.7303
Copyright (C) Microsoft Corp 1992-1997. All rights reserved.

/out:makecopy.exe
makecopy.obj
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 11.00.7022 for 80x86
Copyright (C) Microsoft Corp 1984-1997. All rights reserved.

mangle.c
Microsoft (R) 32-Bit Incremental Linker Version 5.10.7303
Copyright (C) Microsoft Corp 1992-1997. All rights reserved.

/out:mangle.exe
mangle.obj
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 11.00.7022 for 80x86
Copyright (C) Microsoft Corp 1984-1997. All rights reserved.

mantomak.c
Microsoft (R) 32-Bit Incremental Linker Version 5.10.7303
Copyright (C) Microsoft Corp 1992-1997. All rights reserved.

/out:mantomak.exe
mantomak.obj
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 11.00.7022 for 80x86
Copyright (C) Microsoft Corp 1984-1997. All rights reserved.

bin2rc.c
Microsoft (R) 32-Bit Incremental Linker Version 5.10.7303
Copyright (C) Microsoft Corp 1992-1997. All rights reserved.

/out:bin2rc.exe
bin2rc.obj
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 11.00.7022 for 80x86
Copyright (C) Microsoft Corp 1984-1997. All rights reserved.

makecopy.c
Microsoft (R) 32-Bit Incremental Linker Version 5.10.7303
Copyright (C) Microsoft Corp 1992-1997. All rights reserved.

/out:makecopy.exe
makecopy.obj
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 11.00.7022 for 80x86
Copyright (C) Microsoft Corp 1984-1997. All rights reserved.

mangle.c
Microsoft (R) 32-Bit Incremental Linker Version 5.10.7303
Copyright (C) Microsoft Corp 1992-1997. All rights reserved.

/out:mangle.exe
mangle.obj
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 11.00.7022 for 80x86
Copyright (C) Microsoft Corp 1984-1997. All rights reserved.

mantomak.c
Microsoft (R) 32-Bit Incremental Linker Version 5.10.7303
Copyright (C) Microsoft Corp 1992-1997. All rights reserved.

/out:mantomak.exe
mantomak.obj
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 11.00.7022 for 80x86
Copyright (C) Microsoft Corp 1984-1997. All rights reserved.

bin2rc.c
Microsoft (R) 32-Bit Incremental Linker Version 5.10.7303
Copyright (C) Microsoft Corp 1992-1997. All rights reserved.

/out:bin2rc.exe
bin2rc.obj

D:\mozilla\config>

一分程度で終了します。

atten.gif (980 ツバツイツト) うまくできない場合、実行するディレクトリを間違っているか、環境変数の設定間違いです。


経験したエラー(1)

この段階で私が経験したエラーです。

D:\mozilla_src\config>nmake /f makefile.win /A

Microsoft (R) Program Maintenance Utility Version 1.62.7022
Copyright (C) Microsoft Corp 1988-1997. All rights reserved.

指定されたパスが見つかりません。
指定されたパスが見つかりません。
指定されたパスが見つかりません。
指定されたパスが見つかりません。


D:\mozilla_src\config>

これは、

MOZ_TOOLS が、D:\mozilla_tools\windows\bin\x86

になっていました。

D:\mozilla_tools\windows\bin\x86 の内容を、D:\mozilla_tools\windows\bin にコピーして、

MOZ_TOOLS が、D:\mozilla_tools\windows

としたらうまくできました。


Mozillaのビルド

カレントディレクトリを、一つ上の、D:\mozilla に移動し、nmake /f client.mak を実行します。

以下が実行開始直後です。

build1.gif (23894 ツバツイツト)


経験したエラー

私が経験したエラーです。

ビルドは、割とスムースにできます。途中でエラーが出る原因は、環境設定の間違いにつきます。

これは、NSPR20 の値を、1にするところを、NSPRO20 を1としてましたので、以下のエラーが出ました。

(mozillaの1998年4月8日版のときに出たエラーです。)

fail1.gif (12074 ツバツイツト)


これは、MOZ_SRCの設定を間違えたときに出ました。つまり、D:\ とすべきなのに、D:\mozilla としていたためです。

(mozillaの1998年4月29日版のときに出たエラーです。)

blderr1.gif (17342 ツバツイツト)


ビルド中の様子や注意


WindowsNT4.0 の場合、MOZ_NT は設定しないこと。

説明書、winbuild.htm に、MOZ_NT=351 とあるので、思わず、MOZ_NT=400 と設定してしてしまいます。WindowsNT4.0の場合は、MOZ_NTを設定をしてはいけません。


ビルドがうまくスタートすると、以下のように、文字いっぱいの画面になります。

途中で、「warning」 とか、「警告」とか、「データが失われているかもしれません」 などと出るので不安になりますが、エラーで止まってしまわない限り、じーーーーと待ちましょう。

私は、PentiumProの200MHz(Gateway G6-200)ですが、40分かかりました。

(以下の画面は、実際には、1998年4月8日版のものです。)

hist1.gif (40600 ツバツイツト)


正常に終了すると、以下のようになりました。

res1.gif (30675 ツバツイツト)

MOZ_OUT を、D:\mozilla\bin に指定しましたので、D:\mozilla\bin\x86dbg に、mozilla.exe ができています。

実行してみた結果は、「自分でビルドしたMozillaを使ってみる」を参照してください。


To previous pageTo home pageMailing to meJump to Top of pagetomo.gif (1144 ツバツイツト)