ソースからビルド中

家のPCではfirefox 1.5.0.1も使えず、かといってOperaはもうほんと勘弁してくださいって感じなので、Firefoxをソースからビルドしてみることにしました。
mozilla.orgBuild Documentationを見ながら。


とりあえずSynapticで

  • libidl-dev

を入れる必要あり。

.mozconfigというファイルを

. $topsrcdir/browser/config/mozconfig
mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/fb-opt-static
ac_add_options --enable-optimize
ac_add_options --disable-debug
ac_add_options --enable-static
ac_add_options --disable-shared
ac_add_options --disable-tests

という内容で作成していざビルド。

make -f client.mk build

40分ほどカコカコとコンパイルし、

nsFontMetricsXft.cpp:(.text+0x17b): undefined reference to `XftDefaultSubstitute'
nsFontMetricsXft.cpp:(.text+0x1b0): undefined reference to `XftFontOpenPattern'
nsFontMetricsXft.cpp:(.text+0x20a): undefined reference to `XftTextExtents8'
../../dist/lib/components/libgfx_gtk.a(nsFontMetricsXft.o): In function `nsFontMetricsXft::DrawUnknownGlyph(unsigned int, int, int, _XftColor*, _XftDraw*)':
nsFontMetricsXft.cpp:(.text+0x354): undefined reference to `XftDrawRect'
nsFontMetricsXft.cpp:(.text+0x376): undefined reference to `XftDrawRect'
nsFontMetricsXft.cpp:(.text+0x39d): undefined reference to `XftDrawRect'
nsFontMetricsXft.cpp:(.text+0x3c4): undefined reference to `XftDrawRect'
nsFontMetricsXft.cpp:(.text+0x42f): undefined reference to `XftDrawString8'
nsFontMetricsXft.cpp:(.text+0x46d): undefined reference to `XftDrawString8'
nsFontMetricsXft.cpp:(.text+0x4a2): undefined reference to `XftDrawString8'
nsFontMetricsXft.cpp:(.text+0x4d9): undefined reference to `XftDrawString8'
nsFontMetricsXft.cpp:(.text+0x526): undefined reference to `XftDrawString8'
../../dist/lib/components/libgfx_gtk.a(nsFontMetricsXft.o):nsFontMetricsXft.cpp:(.text+0x552): more undefined references to `XftDrawString8' follow
../../dist/lib/components/libgfx_gtk.a(nsFontMetricsXft.o): In function `nsFontXft::~nsFontXft()':
nsFontMetricsXft.cpp:(.text+0x974): undefined reference to `XftFontClose'
../../dist/lib/components/libgfx_gtk.a(nsFontMetricsXft.o): In function `nsFontXft::~nsFontXft()':
nsFontMetricsXft.cpp:(.text+0x9dc): undefined reference to `XftFontClose'
../../dist/lib/components/libgfx_gtk.a(nsFontMetricsXft.o): In function `nsFontXft::~nsFontXft()':
nsFontMetricsXft.cpp:(.text+0xa44): undefined reference to `XftFontClose'
../../dist/lib/components/libgfx_gtk.a(nsFontMetricsXft.o): In function `nsFontXft::GetXftFont()':
nsFontMetricsXft.cpp:(.text+0xaec): undefined reference to `XftFontOpenPattern'
../../dist/lib/components/libgfx_gtk.a(nsFontMetricsXft.o): In function `nsFontXft::GetTextExtents32(unsigned int const*, unsigned int, _XGlyphInfo&)':
nsFontMetricsXft.cpp:(.text+0xb2c): undefined reference to `XftTextExtents32'
../../dist/lib/components/libgfx_gtk.a(nsFontMetricsXft.o): In function `nsFontXft::CharToGlyphIndex(unsigned int)':
nsFontMetricsXft.cpp:(.text+0xb4e): undefined reference to `XftCharIndex'
../../dist/lib/components/libgfx_gtk.a(nsFontMetricsXft.o): In function `nsFontXftCustom::~nsFontXftCustom()':
nsFontMetricsXft.cpp:(.text+0xbe6): undefined reference to `XftUnlockFace'
../../dist/lib/components/libgfx_gtk.a(nsFontMetricsXft.o): In function `nsFontXftCustom::~nsFontXftCustom()':
nsFontMetricsXft.cpp:(.text+0xc20): undefined reference to `XftUnlockFace'
../../dist/lib/components/libgfx_gtk.a(nsFontMetricsXft.o): In function `nsFontXftCustom::~nsFontXftCustom()':
nsFontMetricsXft.cpp:(.text+0xc5a): undefined reference to `XftUnlockFace'
../../dist/lib/components/libgfx_gtk.a(nsFontMetricsXft.o): In function `nsFontXftCustom::CharToGlyphIndex(unsigned int)':
nsFontMetricsXft.cpp:(.text+0xd73): undefined reference to `XftCharIndex'
../../dist/lib/components/libgfx_gtk.a(nsFontMetricsXft.o): In function `nsFontXftCustom::SetFT_FaceCharmap()':
nsFontMetricsXft.cpp:(.text+0xda5): undefined reference to `XftLockFace'
../../dist/lib/components/libgfx_gtk.a(nsFontMetricsXft.o): In function `nsAutoDrawSpecBuffer::Flush()':
nsFontMetricsXft.cpp:(.text+0xe17): undefined reference to `XftGlyphExtents'
nsFontMetricsXft.cpp:(.text+0xe3d): undefined reference to `XftDrawGlyphFontSpec'
../../dist/lib/components/libgfx_gtk.a(nsFontMetricsXft.o): In function `nsFontXft::DrawStringSpec(unsigned int*, unsigned int, void*)':
nsFontMetricsXft.cpp:(.text+0xf64): undefined reference to `XftGlyphExtents'
../../dist/lib/components/libgfx_gtk.a(nsFontMetricsXft.o): In function `nsFontMetricsXft::GetWidth(char const*, unsigned int, int&, nsRenderingContextGTK*)':
nsFontMetricsXft.cpp:(.text+0x10d6): undefined reference to `XftTextExtents8'
../../dist/lib/components/libgfx_gtk.a(nsFontMetricsXft.o): In function `nsFontMetricsXft::SetupFCPattern()':
nsFontMetricsXft.cpp:(.text+0x1634): undefined reference to `XftDefaultSubstitute'
../../dist/lib/components/libgfx_gtk.a(nsFontMetricsXft.o): In function `nsFontMetricsXft::~nsFontMetricsXft()':
nsFontMetricsXft.cpp:(.text+0x1841): undefined reference to `XftFontClose'
../../dist/lib/components/libgfx_gtk.a(nsFontMetricsXft.o): In function `nsFontMetricsXft::PrepareToDraw(nsRenderingContextGTK*, nsDrawingSurfaceGTK*, _XftDraw**, _XftColor&)':
nsFontMetricsXft.cpp:(.text+0x1ad3): undefined reference to `XftDrawSetClipRectangles'
../../dist/lib/components/libgfx_gtk.a(nsFontMetricsXft.o): In function `nsFontXftCustom::GetTextExtents32(unsigned int const*, unsigned int, _XGlyphInfo&)':
nsFontMetricsXft.cpp:(.text+0x202c): undefined reference to `XftTextExtents32'
nsFontMetricsXft.cpp:(.text+0x208a): undefined reference to `XftGlyphExtents'
../../dist/lib/components/libgfx_gtk.a(nsFontMetricsXft.o): In function `nsFontMetricsXft::CacheFontMetrics()':
nsFontMetricsXft.cpp:(.text+0x38bc): undefined reference to `XftLockFace'
nsFontMetricsXft.cpp:(.text+0x3ad1): undefined reference to `XftTextExtents16'
nsFontMetricsXft.cpp:(.text+0x40ee): undefined reference to `XftUnlockFace'
../../dist/lib/components/libgfx_gtk.a(nsFontMetricsXft.o): In function `nsFontMetricsXft::~nsFontMetricsXft()':
nsFontMetricsXft.cpp:(.text+0x4d41): undefined reference to `XftFontClose'
../../dist/lib/components/libgfx_gtk.a(nsFontMetricsXft.o): In function `nsFontMetricsXft::~nsFontMetricsXft()':
nsFontMetricsXft.cpp:(.text+0x4e53): undefined reference to `XftFontClose'
../../dist/lib/components/libgfx_gtk.a(nsDrawingSurfaceGTK.o): In function `nsDrawingSurfaceGTK::~nsDrawingSurfaceGTK()':
nsDrawingSurfaceGTK.cpp:(.text+0x55): undefined reference to `XftDrawDestroy'
../../dist/lib/components/libgfx_gtk.a(nsDrawingSurfaceGTK.o): In function `nsDrawingSurfaceGTK::GetXftDraw()':
nsDrawingSurfaceGTK.cpp:(.text+0x3ac): undefined reference to `XftDrawCreate'
../../dist/lib/components/libgfx_gtk.a(nsDrawingSurfaceGTK.o): In function `nsDrawingSurfaceGTK::~nsDrawingSurfaceGTK()':
nsDrawingSurfaceGTK.cpp:(.text+0x5bf): undefined reference to `XftDrawDestroy'
../../dist/lib/components/libgfx_gtk.a(nsDrawingSurfaceGTK.o): In function `nsDrawingSurfaceGTK::~nsDrawingSurfaceGTK()':
nsDrawingSurfaceGTK.cpp:(.text+0x629): undefined reference to `XftDrawDestroy'
collect2: ld はステータス 1 で終了しました
make[4]: *** [firefox-bin] エラー 1
make[4]: Leaving directory `/home/sayo/Archives/Download/mozilla/fb-opt-static/browser/app'
make[3]: *** [libs] エラー 2
make[3]: Leaving directory `/home/sayo/Archives/Download/mozilla/fb-opt-static/browser'
make[2]: *** [tier_99] エラー 2
make[2]: Leaving directory `/home/sayo/Archives/Download/mozilla/fb-opt-static'
make[1]: *** [default] エラー 2
make[1]: Leaving directory `/home/sayo/Archives/Download/mozilla/fb-opt-static'
make: *** [build] エラー 2
sayo@sayo:~/Archives/Download/mozilla$

orz


ここここあたりに答えがありそう。
gtkとかxftとか?
最適化オプションじゃなくて1個ずつ指定しないとダメかな...。