2009-11-13

Firefox 3.5.5 PGO編譯完成!



blog很久沒有更新了,趁今天有空來更新一下內容
Firefox 3.5.5在我意料之外的情況下,僅僅十天的時間
緊接著Firefox 3.5.4也跟著釋出了!
利用這次的機會,更新一下我先前的.mozconfig
也順便回答一下先前我忘了回答的問題



在我自己的編譯環境上
我使用Linux 32bit、gcc-svn還有-O3參數進行
想知道自己用的Firefox用上了哪些編譯參數
可以在網址列輸入about:buildconfig察看!


.mozconfig:
#dpkg -b firefox-pgo firefox-x.x.x-i686-O3.deb
#
#patch -Np1 -i ldflags2.patch
#make -f client.mk profiledbuild
#make package
#make distclean
#
#
#set system libs instead of native
#ac_add_options --prefix=/usr --libdir=/usr/lib
#ac_add_options --with-system-nspr --with-system-nss --with-pthreads
#ac_add_options --with-system-zlib --with-system-png --enable-system-cairo --with-system-bz2 --with-system-jpeg
#ac_add_options --with-system-hunspell --with-system-sqlite
#ac_add_options --with-system-lcms

#optimize
ac_add_options --enable-optimize
ac_add_options --enable-profile-guided-optimization
ac_add_options --disable-pedantic
ac_add_options --disable-tests
ac_add_options --disable-xprint
ac_add_options --disable-mochitest
ac_add_options --enable-xterm-updates
ac_add_options --enable-optimize="-mtune=i686 -O3 -pipe -fomit-frame-pointer"
#ac_add_options --enable-optimize="-O2 -march=native -mtune=native -pipe -fomit-frame-pointer"

#linux build
ac_add_options --disable-installer
ac_add_options --disable-updater
ac_add_options --enable-official-branding
ac_add_options --enable-application=browser --enable-libxul --enable-jemalloc
#disable video for compatibility
#ac_add_options --disable-ogg

#Even more optimize
ac_add_options --enable-jemalloc
ac_add_options --enable-strip
ac_add_options --enable-install-strip
#disable print support
#ac_add_options --disable-printing

#remove unused/enable useful
ac_add_options --enable-places
ac_add_options --disable-crashreporter
ac_add_options --disable-parental-controls
ac_add_options --enable-safe-browsing

#experimental
#ac_add_options --enable-xpctools
ac_add_options --disable-jvaxpcom
#ac_add_options --enable-native-uconv
#ac_add_options --disable-xpcom-obsolete
#ac_add_options --with-libxul-sdk=/usr/lib/xulrunner-devel-1.9.1

#Do we really need them?
ac_add_options --enable-default-toolkit=cairo-gtk2
ac_add_options --enable-pango
ac_add_options --enable-svg
ac_add_options --enable-canvas

#mk_add_options AUTOCONF=autoconf213
mk_add_options MOZ_MAKE_FLAGS=-j3
mk_add_options MOZ_CO_PROJECT=browser
mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/ff-pgo
mk_add_options PROFILE_GEN_SCRIPT='$(PYTHON) $(MOZ_OBJDIR)/_profile/pgo/profileserver.py'
export BUILD_OFFICIAL=1
export MOZILLA_OFFICIAL=1
mk_add_options BUILD_OFFICIAL=1
mk_add_options MOZILLA_OFFICIAL=1



FIrefox 3.5.5 PGO i686 binary


Firefox 3.5.5 PGO i686 for Debian based


Firefox 3.5.5 PGO i686 for ArchLinux


.mozconfig基本與之前無異,請依個人喜好自行修改
需要自己編譯的人,因為編譯環境上的差異
或許會出現一些錯誤提醒,

一般建議降級或升級gcc,要不就是打上patch
例如某些-mtune參數會導致編譯失敗的問題
我們可以用別人分享的patch


將下載下來的patch放入source目錄中
然後再敲入:
patch -Np1 -i ldflags2.patch


打入patch後可以解決大部份的編譯失敗問題,建議最好先打上後再進行編譯!
至於patch原出處我已經失去,只記得是從Arch forum抓來的而已
有興趣可以自己爬文找看看

5 則留言:

  1. 您好,我試著使用卻出現錯誤
    profiling:/home/lawliet/Desktop/firefox-house/c_firefox/mozilla-1.9.1/ff-pgo/modules/zlib/src/inffast.gcda:Version mismatch - expected 404* got 405e
    profiling:/home/lawliet/Desktop/firefox-house/c_firefox/mozilla-1.9.1/ff-pgo/modules/zlib/src/compress.gcda:Version mismatch - expected 404* got 405e
    profiling:/home/lawliet/Desktop/firefox-house/c_firefox/mozilla-1.9.1/ff-pgo/modules/zlib/src/adler32.gcda:Version mismatch - expected 404* got 405e
    profiling:/home/lawliet/Desktop/firefox-house/c_firefox/mozilla-1.9.1/ff-pgo/modules/zlib/src/zutil.gcda:Version mismatch - expected 404* got 405e

    大致上像這樣,請問該如何解決呢?
    謝謝您編譯這個優化版,我覺得比ubuntu內建的順暢許多。

    回覆刪除
  2. 這段error log應該是中間的部份吧?
    可以給我到最後的提示嗎?

    我之前也出現過類似的錯誤
    我的解決辦法是降級或升級gcc版本
    給你參考看看

    回覆刪除
  3. profiling:/home/lawliet/Desktop/firefox-house/c_firefox/mozilla-1.9.1/ff-pgo/modules/libreg/src/reg.gcda:Version mismatch - expected 404* got 405e
    profiling:/home/lawliet/Desktop/firefox-house/c_firefox/mozilla-1.9.1/ff-pgo/xpcom/glue/pldhash.gcda:Version mismatch - expected 404* got 405e
    ./firefox-bin: symbol lookup error: ./libxul.so: undefined symbol: gdk_x11_window_get_drawable_impl

    這是最後一段,幾乎都是類似的東西

    回覆刪除
  4. 啊....竟然沒有 64bit 的版本呀! 我一直是你的忠實支持者呢! 你前幾個編譯的版本我一直都很喜歡用的說,最近我升級我的系統成 64bit 之後,難道從此就與你無緣了嗎? 請問有釋出 64bit的可能嗎?

    回覆刪除
  5. to:草
    自己編譯吧。aur裏面有個firefox-pgo的套件。
    我個人是發現,參數下太專一很容易編譯失敗...

    回覆刪除