Hatena::Groupprogram

lnzntのプログラミング日記 このページをアンテナに追加 RSSフィード

2011年07月26日(火)

Mozilla Firefox のビルド ... 失敗

| 09:50 |  Mozilla Firefox のビルド ... 失敗 - lnzntのプログラミング日記 を含むブックマーク はてなブックマーク -  Mozilla Firefox のビルド ... 失敗 - lnzntのプログラミング日記  Mozilla Firefox のビルド ... 失敗 - lnzntのプログラミング日記 のブックマークコメント

Mozilla Firefoxビルドをしてみます。

環境は Ubuntu Linux 11.04 です。

とりあえず、ビルドしながら要点をメモします。

MDC の以下のページを参照しながら作業です。


システムの準備

Ubuntu の場合、以下をインストールします。(RAM は 最低2GM 必要)

$ sudo apt-get build-dep firefox
$ sudo apt-get install mercurial libasound2-dev libcurl4-openssl-dev libnotify-dev libxt-dev libiw-dev mesa-common-dev autoconf2.13 yasm

最新ソースの取得

$ cd ~/work/firefox/
$ hg clone http://hg.mozilla.org/mozilla-central/

10分くらい。。。

ビルド

まず最初。環境の走査。

$ cd mozilla-central/
$ make -f client.mk

すぐ終った。...と思ったらエラーだった。

checking for sys/int_types.h... no
checking for iwlib.h... no
configure: error: Can't find header iwlib.h for Necko WiFi scanning (might be in package libiw-dev (Ubuntu) or wireless-tools-devel (Fedora) or libiw-devel (openSUSE)); use --disable-necko-wifi to disable
*** Fix above errors and then restart with               "make -f client.mk build"

WiFi いらないので、メッセージの通りしてみる。

 $ ./configure --disable-necko-wifi

これは通ったが、再度 make -f client.mk したら、もう Makefile 等があると怒られた。

***
*   Your source tree contains these files:
*         /home/lnznt/work/firefox/mozilla-central/Makefile
*         /home/lnznt/work/firefox/mozilla-central/config/autoconf.mk
*   This indicates that you previously built in the source tree.
*   A source tree build can confuse the separate objdir build.
*
*   To clean up the source tree:
*     1. cd /home/lnznt/work/firefox/mozilla-central
*     2. gmake distclean
***
*** Fix above errors and then restart with               "make -f client.mk build"
make[2]: *** [configure] エラー 1
make[2]: ディレクトリ `/home/lnznt/work/firefox/mozilla-central' から出ます 
make[1]: *** [obj-x86_64-unknown-linux-gnu/Makefile] エラー 2
make[1]: ディレクトリ `/home/lnznt/work/firefox/mozilla-central' から出ます 
make: *** [build] エラー 2

config/autoconf.mk を以下のように修正して再度ビルドしてみる。

(修正前)
NECKO_WIFI =

(修正後)
NECKO_WIFI = 0
$ make distclean
$ make -f client.mk build
    :
configure: error: Can't find header iwlib.h for Necko WiFi scanning (might be in package libiw-dev (Ubuntu) or wireless-tools-devel (Fedora) or libiw-devel (openSUSE)); use --disable-necko-wifi to disable
    :

前と同じエラーがでた。

$ ./configure
$ make

という技法で出来るようにしてほしい。make -f client.mk clean はうまく動きません。(Makefile 等があるから動きません、とエラーになる)

$ ./configure --disable-necko-wifi
$ make build

をやっても、エラー。

ccache colorgcc -o host_nsinstall.o -c  -Wall -W -Wno-unused -Wpointer-arith -Wdeclaration-after-statement -Wcast-align -W -pedantic -Wno-long-long -std=c99 -Wall -Wextra -fno-strict-aliasing -pthread -ffunction-sections -fdata-sections -pipe  -DNDEBUG -DTRIMMED -g -O3 -DXP_UNIX -O3  -DUNICODE -D_UNICODE  -I. -I. -I../dist/include -I../dist/include/nsprpub  -I/home/lnznt/work/firefox/mozilla-central/dist/include/nspr -I/home/lnznt/work/firefox/mozilla-central/dist/include/nss      -I/home/lnznt/work/firefox/mozilla-central/dist/include/nspr /home/lnznt/work/firefox/mozilla-central/config/nsinstall.c
/home/lnznt/work/firefox/mozilla-central/config/nsinstall.c: In function ‘mkdirs’:
/home/lnznt/work/firefox/mozilla-central/config/nsinstall.c:117:2: warning: implicit declaration of function ‘lstat’
/home/lnznt/work/firefox/mozilla-central/config/nsinstall.c: In function ‘copyfile’:
/home/lnznt/work/firefox/mozilla-central/config/nsinstall.c:207:3: warning: implicit declaration of function ‘ftruncate’
/home/lnznt/work/firefox/mozilla-central/config/nsinstall.c:224:3: warning: implicit declaration of function ‘fchown’
/home/lnznt/work/firefox/mozilla-central/config/nsinstall.c: In function ‘copydir’:
/home/lnznt/work/firefox/mozilla-central/config/nsinstall.c:248:7: warning: unused variable ‘i’
/home/lnznt/work/firefox/mozilla-central/config/nsinstall.c: In function ‘main’:
/home/lnznt/work/firefox/mozilla-central/config/nsinstall.c:309:5: warning: implicit declaration of function ‘getopt’
/home/lnznt/work/firefox/mozilla-central/config/nsinstall.c:312:12: error: ‘optarg’ undeclared (first use in this function)
/home/lnznt/work/firefox/mozilla-central/config/nsinstall.c:312:12: note: each undeclared identifier is reported only once for each function it appears in
/home/lnznt/work/firefox/mozilla-central/config/nsinstall.c:350:13: error: ‘optind’ undeclared (first use in this function)
/home/lnznt/work/firefox/mozilla-central/config/nsinstall.c:449:7: warning: implicit declaration of function ‘readlink’
/home/lnznt/work/firefox/mozilla-central/config/nsinstall.c:456:6: warning: implicit declaration of function ‘symlink’
/home/lnznt/work/firefox/mozilla-central/config/nsinstall.c:469:35: error: ‘S_IFDIR’ undeclared (first use in this function)
/home/lnznt/work/firefox/mozilla-central/config/nsinstall.c:303:20: warning: unused variable ‘utb’
/home/lnznt/work/firefox/mozilla-central/config/nsinstall.c:299:93: warning: unused variable ‘bp’
/home/lnznt/work/firefox/mozilla-central/config/nsinstall.c:297:113: warning: unused variable ‘wc’
/home/lnznt/work/firefox/mozilla-central/config/nsinstall.c:297:109: warning: unused variable ‘cc’
/home/lnznt/work/firefox/mozilla-central/config/nsinstall.c:297:103: warning: unused variable ‘tofd’
/home/lnznt/work/firefox/mozilla-central/config/nsinstall.c:297:95: warning: unused variable ‘fromfd’

とりあえず今日はここまで、時間があったらまたやろう。


その他のこと

追加オプションを設定するには

オプションの詳細は以下参照。

コードのアップデートするには

$ hg pull
$ hg update