2011年07月26日(火)
Mozilla Firefox のビルド ... 失敗
Firefox | |
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
コメント