使用 apt-get build 編譯你的 firefox [論壇 - Ubuntu 套件打包]


正在瀏覽:   1 名遊客


 到底部   前一個主題   下一個主題  [無發表權] 請登錄或者註冊

« 1 ... 6 7 8 (9) 10 »


回覆: 使用 apt-get build 編譯你的 firefox
管理員
註冊日期:
2006/6/9 20:09
來自 草木叢生之所
所屬群組:
網站管理員
已註冊使用者
等級: 23
HP : 0 / 568
MP : 227 / 22219
EXP: 75
離線
話說我在 arch 上面調編譯參數都是用
-march=native -mtune=native -O3 -pipe

有沒有人試過類似參數的?

2009/8/4 16:40
~^_^~...快樂用 GNU/Linux 中...
應用擴展 工具箱
回覆: 使用 apt-get build 編譯你的 firefox
管理員
註冊日期:
2006/10/31 19:52
來自 Baker Street 221B
所屬群組:
網站管理員
已註冊使用者
討論區管理群
等級: 30
HP : 0 / 733
MP : 405 / 27810
EXP: 34
離線
魏藥 寫到:
話說我在 arch 上面調編譯參數都是用
-march=native -mtune=native -O3 -pipe

有沒有人試過類似參數的?

CFLAGS="-march=core2 -O3 -pipe -fomit-frame-pointer"
CXXFLAGS="${CFLAGS}"

這樣才對!
如果不添加-fomit-frame-pointer
很多東西都會編譯出錯

如果你的編譯器支援,還可以加上這個
LDFLAGS="-W1,O1,--as-need"

可以提升被編譯軟體的啟動速度

2009/8/5 14:53
應用擴展 工具箱
回覆: 使用 apt-get build 編譯你的 firefox
會員四級
註冊日期:
2008/9/17 14:25
所屬群組:
已註冊使用者
等級: 19
HP : 0 / 467
MP : 150 / 15165
EXP: 71
離線
Cross Compile Firefox
參考:
https://developer.mozilla.org/en/Compiling_32-bit_Firefox_on_a_Linux_64-bit_OS
由於官方版firefox 3.6在x86_64下編譯PGO會有問題(tracemonkey,jemalloc…)
造成編譯出的fx不能執行,所以參考官方文件寫下這篇介紹

簡單的說關鍵就在用32bit模式進行編譯

CC="gcc -m32"
CXX="g++ -m32"

然後指定使用32bit的lib

export LD_LIBRARY_PATH=/usr/lib32
ac_add_options --x-libraries=/usr/lib32

另外再加上其他一些東西
export PKG_CONFIG_LIBDIR=/usr/lib/pkgconfig:/usr/share/pkgconfig
export CROSS_COMPILE=1
ac_add_options --target=i686-pc-linux
然後編譯過程中可能會出現怪怪的錯誤,這時候就要靠自己想辦法解決
export CPPFLAGS=’-I/usr/include/freetype2′
ac_add_options --disable-gnomevfs
上面這兩個是我編譯時碰到的問題
freetype2路徑錯誤(這部份請參考google),跟enable gnomevfs 就編譯不能(disable他吧)
另外也由於FX 3.6 使用O3下去編譯會有問題,所以只能退一步改成O2
就javascript 的速度而言,這樣編起來的FX速度跟windows ayakawa 版 很接近
比Linux官方版FX 快20%

2010/3/14 23:16
應用擴展 工具箱
回覆: 使用 apt-get build 編譯你的 firefox
會員五級
註冊日期:
2008/4/9 14:04
所屬群組:
已註冊使用者
等級: 31
HP : 0 / 765
MP : 447 / 25783
EXP: 60
離線
說到這....
新版本的gcc有 -O4 參數耶....有沒有人玩過?

2010/3/15 10:47
應用擴展 工具箱
回覆: 使用 apt-get build 編譯你的 firefox
會員五級
註冊日期:
2008/6/15 2:56
所屬群組:
已註冊使用者
等級: 38
HP : 189 / 945
MP : 757 / 31353
EXP: 81
離線
怎麼裝新版的GCC ?

2010/3/17 0:14
應用擴展 工具箱
回覆: 使用 apt-get build 編譯你的 firefox
會員五級
註冊日期:
2008/4/9 14:04
所屬群組:
已註冊使用者
等級: 31
HP : 0 / 765
MP : 447 / 25783
EXP: 60
離線
我記得9.10內建的gcc已經可以支援-O4參數了,因為我就是下這個參數來編譯mplayer / ffmpeg 。

2010/3/17 15:55
應用擴展 工具箱
回覆: 使用 apt-get build 編譯你的 firefox
會員五級
註冊日期:
2008/6/15 2:56
所屬群組:
已註冊使用者
等級: 38
HP : 189 / 945
MP : 757 / 31353
EXP: 81
離線
我的只能到3耶
gcc -O
-- optimization level --
0 1 2 3

2010/3/17 17:31
應用擴展 工具箱
回覆: 使用 apt-get build 編譯你的 firefox
會員四級
註冊日期:
2008/9/17 14:25
所屬群組:
已註冊使用者
等級: 19
HP : 0 / 467
MP : 150 / 15165
EXP: 71
離線
花了一點時間參考ArchLinux上面關於firefox PGO編譯不能的討論串
從去年看到今年 XD,出現問題點的地方跟我一模一樣 (字串錯誤)
不過這個現象只會在x86_64的系統 編譯PGO時才會出現

果然x86_64碰上PGO就一定會有問題 (using gcc 4.4)
但是有個方法可以迴避這個bug!

1.先正常編譯一個mozilla

~/mozilla*/make -f client.mk build

2.然後不要 make distclean,直接進行PGO build的步驟

~/mozilla*/make -f client.mk profiledbuild

這樣就可以編譯出x86_64的PGO
不過效能上似乎怪怪的,PGO前後差異不大(PGO前不會慢,PGO後不會快)

2010/3/18 15:19
應用擴展 工具箱
回覆: 使用 apt-get build 編譯你的 firefox
會員三級
註冊日期:
2008/8/28 21:46
所屬群組:
已註冊使用者
等級: 12
HP : 0 / 299
MP : 64 / 9749
EXP: 97
離線
因為pgo的原理是先以特定的參數編譯,這會嵌入一些程式碼,編好之後要執行才會記錄相關的最佳化數據。再來用另一個參數重編一次,就會讀取之前記錄的數據來重新最佳化。

所以樓上的做法並不是pgo最佳化,當然也就感受不到pgo的效果。

2010/3/18 22:00
重新開始寫筆記
剛出來,server掛掉沒辦法,PPA要等年後才會復活了orz
應用擴展 工具箱
回覆: 使用 apt-get build 編譯你的 firefox
會員四級
註冊日期:
2008/9/17 14:25
所屬群組:
已註冊使用者
等級: 19
HP : 0 / 467
MP : 150 / 15165
EXP: 71
離線
難怪看到compile 過程中 出現一些找不到...的訊息
不過也只能算了,目前firefox 碰到x86_64 PGO就是有問題 唉~
--
還好x86_64的速度跟32bit PGO的速度沒有差很多

2010/3/18 22:22
應用擴展 工具箱

« 1 ... 6 7 8 (9) 10 »

 [無發表權] 請登錄或者註冊


可以查看帖子.
不可發帖.
不可回覆.
不可編輯自己的帖子.
不可刪除自己的帖子.
不可發起投票調查.
不可在投票調查中投票.
不可上傳附件.
不可不經審核直接發帖.