Firefoxのコンパイル

開発:やれやれディスクも広々となりました。再開しましょう。

基盤:mach build。。。今度はここで引っかかりました。

 0:08.71 cargo:rerun-if-changed=res/cs_clip_image.glsl
 0:08.71 --- stderr
 0:08.71 thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Custom { kind: InvalidData, error: "stream did not contain valid UTF-8" }', src/libcore/result.rs:1188:5

。。。

 0:04.41 .../mozilla-central-9c1b2859111c/config/makefiles/rust.mk:293: recipe for target 'force-cargo-library-build' failed
 0:04.41 make[4]: *** [force-cargo-library-build] Error 101

開発:このメッセージ、ぐぐっても何だかよくわからないね。最近起きてる問題みたいにも見えるんだけど。そもそもこれ force なんちゃらって、いかにもオプションなものみたいなニュアンスだよね。これを呼んでる rust.mk:293 のあたりをコメントアウトしちゃいましょう。

基盤:ラジャー。コメントアウト。再度 mach build。。。お、先に進みました。

開発:本体を通過してtoolkitに入った模様。

基盤:終わった?あ、エラーか。

15:19.10 make[4]: *** No rule to make target '.../mozilla-central-9c1b2859111c/obj-x86_64-pc-linux-gnu/x86_64-unknown-linux-gnu/release/libgkrust.a', needed by 'libxul.so'.  Stop.
15:19.10 .../mozilla-central-9c1b2859111c/config/recurse.mk:74: recipe for target 'toolkit/library/build/target' failed
15:19.10 make[3]: *** [toolkit/library/build/target] Error 2
15:19.10 make[3]: *** Waiting for unfinished jobs...

基盤:コメントアウト。再度 mach build。

 0:04.01 /home/ysato/mozilla-central-9c1b2859111c/config/recurse.mk:101: recipe for target 'js/src/build/misc' failed
 0:04.01 make[3]: *** [js/src/build/misc] Error 2
 0:04.01 /home/ysato/mozilla-central-9c1b2859111c/config/recurse.mk:32: recipe for target 'misc' failed
 0:04.01 make[2]: *** [misc] Error 2
 0:04.01 /home/ysato/mozilla-central-9c1b2859111c/config/rules.mk:390: recipe for target 'default' failed
 0:04.01 make[1]: *** [default] Error 2
 0:04.01 client.mk:125: recipe for target 'build' failed
 0:04.01 make: *** [build] Error 2
 0:04.01 49 compiler warnings present.

基盤:コメントアウト。再度 mach build。

 0:00.99 ./buildid.h.stub
 0:00.99 ./source-repo.h.stub
 0:01.55 49 compiler warnings present.
 0:01.57 Overall system resources - Wall time: 1s; CPU: 73%; Read bytes: 0; Write bytes: 1191936; Read time: 0; Write time: 13
To view resource usage of the build, run |mach resource-usage|.
 0:01.58 Your build was successful!
To take your build for a test drive, run: |mach run|
For more information on what to do now, see https://developer.mozilla.org/docs/Developer_Guide/So_You_Just_Built_Firefox

Your build was successful!

基盤:通った。

開発:通りましたね一応。「was」successful ってのがちょっと嫌な感じ。

基盤:どれどれ、わくわく、mach run!

u18$ mach run
 0:00.33 .../mozilla-central-9c1b2859111c/obj-x86_64-pc-linux-gnu/dist/bin/firefox -no-remote -profile .../mozilla-central-9c1b2859111c/obj-x86_64-pc-linux-gnu/tmp/profile-default
Couldn't load XPCOM.

Couldn't load XPCOM.

基盤:ズルっ。。

開発:なんですかね XPCOMって。DISPLAYみたいな環境変数かな?検索。「Cross Platform Component Object Model (XPCOM) is a cross-platform component model from Mozilla」。。あんだこれ?

開発:なんか設定というか、-profile で指定しているそれが変なのかな。しかし、ひどいエラーメッセージだねえ。それに、ただ mach run しろってビルドの完成祝賀メッセージにあるのに。

基盤:一つのマシンに一つだけみたいなのも嫌ですよね。いろんな版並行して走らせたいし。

開発:そもそもプロファイルって何なんですかね。ls -l。

u18$ ls -l tmp/profile-default
total 0
-rw-r--r-- 1 ysato ysato 0  6月  5 04:24 prefs.js
-rw-r--r-- 1 ysato ysato 0  6月  5 04:49 user.js
u18$ 

基盤:JavaScriptで書くみたいですね。デフォは空っぽなのか。なんか入っていないとまずいんでしょう。これも mach で生成してくれたりしないのかな。とりあえず、お手本を探しましょう。

u18$ sudo find / | grep firefox | grep prefs.js

開発:ふーん。

基盤:少し飽きたので、いたずらでもしますか。我が社のFirefox改良の第一歩!

開発:One giant leap for mankind WWW。で、どこで出してるんでしょう。

基盤:適当に grep。ああ、ここですか。

u18$ grep 'Couldn.t load XPCOM' */*/*.cpp
browser/app/nsBrowserApp.cpp:    Output("Couldn't load XPCOM.\n");

開発:ところで、一昨日リリースされたMozilla 77なんですが、証明書の管理がしやすくなったんだとか。どれどれ。

基盤:Anonymous User?

開発:なんだ、delegate.org のか(笑)。これ、何とかしないとね。

基盤:さて、もうビルドに必要なツールは完備したので、この環境でゼロからビルドしてみましょう。まず .mozconfig に ac_add_options --disable-av1 入れときます。

* * *

基盤:エラー出てました。

78:58.45 .../Firefox/mozilla-central-9c1b2859111c/config/makefiles/rust.mk:293: recipe for target 'force-cargo-library-build' failed

開発:でも、ここまで78分一気通貫でしたね。

基盤:コメントアウトしてmake。あ、config/recurse.mk出たのでこれもコメントアウトしてmake。通った。つまり、問題は3点だけでした。たぶん、マイナーな問題。

u18$ mach run
 0:00.34 .../Firefox/mozilla-central-9c1b2859111c/obj-x86_64-pc-linux-gnu/dist/bin/firefox -no-remote -profile .../Firefox/mozilla-central-9c1b2859111c/obj-x86_64-pc-linux-gnu/tmp/profile-default
--- MyMozilla (^-^)/(Jun  5 2020 12:17:04)
Couldn't load XPCOM.

開発:おー、仕込んでおいたメッセージが出ましたね。我が社初のMozillaソースコード改変。

--
2020-0605 SatoxITS

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です