MozillaのソースはC++としては許しがたい

どうもgcdaが無いのが原因では無いらしい。プログラマ的にはエラーは前から潰すものだが、今取り組んでいるのはプログラミングではなくてアプリケーションのビルドだった。
というわけでビルドが停止した原因はこれ(抜粋)。

nsPipe3.cpp c++ -o nsPipe3.o -c -fvisibility=hidden -DMOZILLA_INTERNAL_API -DOSTYPE=\"Linux2.6\" -DOSARCH=Linux -D_IMPL_NS_COM -I.. -I/home/digitalghost/repositories/firefox/mozilla/xpcom/io -I. -I../../dist/include/string -I../../dist/include -I../../dist/include/xpcom -I../../dist/include/nspr -fPIC -fno-rtti -fno-exceptions -Wall -Wconversion -Wpointer-arith -Woverloaded-virtual -Wsynth -Wno-ctor-dtor-privacy -Wno-non-virtual-dtor -Wcast-align -Wno-long-long -pedantic -fno-strict-aliasing -fshort-wchar -pthread -pipe -DNDEBUG -DTRIMMED -fprofile-use -O3 -march=nocona -mtune=nocona -msse3 -fomit-frame-pointer -funroll-loops -DMOZILLA_CLIENT -include ../../mozilla-config.h -Wp,-MD,.deps/nsPipe3.pp /home/digitalghost/repositories/firefox/mozilla/xpcom/io/nsPipe3.cpp
/home/digitalghost/repositories/firefox/mozilla/xpcom/io/nsPipe3.cpp: In constructor ‘nsAutoMonitor::nsAutoMonitor(PRMonitor*)’:
/home/digitalghost/repositories/firefox/mozilla/xpcom/io/nsPipe3.cpp:1333: error: corrupted profile info: number of executions for edge 2-3 thought to be 18769
/home/digitalghost/repositories/firefox/mozilla/xpcom/io/nsPipe3.cpp:1333: error: corrupted profile info: number of executions for edge 2-5 thought to be -4

これの下3行が原因らしい。で、nsPipe3.cpp pgoでググってみると、丁度1件だけヒットする。ここ。で、nsPipe3.cppでページ内を探してみると見つかった。エラーメッセージが英語では無いが、おそらく同じ内容である。さて、適当に読んだ結果こんな感じに読みとれた(訳は適当、あってるかどうかも分からん)。

  • export MOZ_DISABLE_PANGO=1をオススメ。
  • Firefox3はcairo1.5.4以上が必要。Mozillaのstatically linkedなCairoはLCDパッチが無い。LCDパッチの当たったCairoをシステムにインストールしてstatically linkするな。
  • つーかもうshared libraryでええやん。staticとかMozillaが必要やからあるだけやん。あとオプションとかもそんなにいらんやん。

とかなんとか。その他いらんオプション一覧とか。
しかし私の環境ではdynamic linkにするとuimがエラーを起こす。symbolが無いとかなんとか。どうすればいいんだ?