Lawliet
火狐狸
火狐狸
  • UID34414
  • 注册日期2010-11-03
  • 最后登录2017-04-02
  • 发帖数201
  • 经验13枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 社区居民
  • 忠实会员
阅读:3459回复:16

windows7 64bit怎樣才能編譯出32bit的Firefox 32bit?(已解決)

楼主#
更多 发布于:2011-10-01 23:54
最近在windows上編譯firefox遇到了一些問題
原先的平台是win7 32bit,編譯高優化的Firefox PGO
會在一次編譯結束前link到內存不足
導致編譯失敗,並提示沒有足夠的空間...

現在系統換成win7 64bit了
目前正在編譯中

但我看工作管理員cl跟make, link還是32bit
雖然編譯還在進行
但我想到了同個地方,應該也是會提示內存不足

我目前是從mozilla-build裡面執行start-msvc10.bat
並在mozconfig內加入下面兩個編譯參數
ac_add_options --target=i686-pc-mingw32
ac_add_options --host=x86_64-pc-mingw32
但這樣做的方法似乎不正確...

我原本是執行start-msvc10-x64.bat
但是在檢查編譯環境的時候會提示
我的系統是64bit,但卻要編譯32bit
然後就中斷了

所以想請教正確的方法在win7 64bit下
編譯出32bit的binary方法

謝謝
dongyuanxun
非常火狐
非常火狐
  • UID28632
  • 注册日期2009-04-19
  • 最后登录2013-02-14
  • 发帖数898
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
1楼#
发布于:2011-10-01 23:54
Re: windows7 64bit怎樣才能編譯出32bit的Firefox 32bit?
--target和--host都不需要加,这个只有交叉编译才会用到,native编译时会根据你的编译器来自行确定
执行start-msvc10.bat即可
Lawliet
火狐狸
火狐狸
  • UID34414
  • 注册日期2010-11-03
  • 最后登录2017-04-02
  • 发帖数201
  • 经验13枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 社区居民
  • 忠实会员
2楼#
发布于:2011-10-01 23:54
Re: windows7 64bit怎樣才能編譯出32bit的Firefox 32bit?
謝謝!
我編譯成功了

不過我又有一個新問題
某些文件名的pgc文件,會在不同的目錄產生
文件名相同的pgc文件,我應該怎麼做?
看了上一帖,您好像是說要合併?
dongyuanxun
非常火狐
非常火狐
  • UID28632
  • 注册日期2009-04-19
  • 最后登录2013-02-14
  • 发帖数898
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
3楼#
发布于:2011-10-01 23:54
Re: windows7 64bit怎樣才能編譯出32bit的Firefox 32bit?
ff的python脚本默认会重定向PGO目录,不同信息会进行合并

如果这个目录是自定义目录,可能就会发生有些信息遗失的现象

我在自定义时只在dist/bin目录采集(因为我运行的是该目录的exe),其他目录无视掉
Lawliet
火狐狸
火狐狸
  • UID34414
  • 注册日期2010-11-03
  • 最后登录2017-04-02
  • 发帖数201
  • 经验13枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 社区居民
  • 忠实会员
4楼#
发布于:2011-10-01 23:54
請問重新定向pgo目錄是這個項目嗎?
如果是,我是要禁用它嗎?
mk_add_options PYTHONPATH='$(OBJDIR)/_profile/pgo'




我也是從/dist/bin裡執行firefox.exe
請問這樣是否我只需要找到跟/dist/bin內
配對同文件名的*.pgc複製過去
其它非/dist/bin目錄的*.pgd與*.pgc一概無視?
請問是這個意思嗎?

謝謝!
dongyuanxun
非常火狐
非常火狐
  • UID28632
  • 注册日期2009-04-19
  • 最后登录2013-02-14
  • 发帖数898
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
5楼#
发布于:2011-10-01 23:54
不知道啊,因为我就没用那个pythonpath……

/dist/bin以外的无视即可,我就是这样做的

编译完可以和我的比较一下性能
https://code.google.com/p/pcxfirefox/downloads/list

当然js测试我跑的比较多,同时考虑到了浏览体验
所以默认的sunspider会有微小的性能下降(几个ms)
但是其他会有提升
Lawliet
火狐狸
火狐狸
  • UID34414
  • 注册日期2010-11-03
  • 最后登录2017-04-02
  • 发帖数201
  • 经验13枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 社区居民
  • 忠实会员
6楼#
发布于:2011-10-01 23:54
那我大概知道了,我現在再來編譯一次
預計三個小時後編譯完成

謝謝!
Lawliet
火狐狸
火狐狸
  • UID34414
  • 注册日期2010-11-03
  • 最后登录2017-04-02
  • 发帖数201
  • 经验13枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 社区居民
  • 忠实会员
7楼#
发布于:2011-10-01 23:54
性能還是一樣沒有變化

我發現一個現象
一次編譯停止後,開啟Firefox時
次時pgc文件就會自動生成
但是進行各種測試後
pgc文件並未改變

反而是關閉視窗進行二次編譯後
dist/bin下反而又生成了新的pgc文件
到底這現象是正常的嗎?
究竟是要複製的是一開始就生成的
還是關閉窗口後才生成的?
還是兩個都要?

图片:未命名.jpg

dongyuanxun
非常火狐
非常火狐
  • UID28632
  • 注册日期2009-04-19
  • 最后登录2013-02-14
  • 发帖数898
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
8楼#
发布于:2011-10-01 23:54
不是的,一次编译结束后,有些起始程序会用到,所以在你自行运行之前就会有一些pgo信息。
采集结束后,不要立即开始第二次编译,稍微等一会儿,他的pgo信息会出的比较慢,等进程里完全没ff的进程说明采集才结束
Lawliet
火狐狸
火狐狸
  • UID34414
  • 注册日期2010-11-03
  • 最后登录2017-04-02
  • 发帖数201
  • 经验13枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 社区居民
  • 忠实会员
9楼#
发布于:2011-10-01 23:54
謝謝您,我大概知道了

目前已經在編譯,預計50分鐘後一次編譯結束
有什麼問題再向您討教

謝謝!
Lawliet
火狐狸
火狐狸
  • UID34414
  • 注册日期2010-11-03
  • 最后登录2017-04-02
  • 发帖数201
  • 经验13枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 社区居民
  • 忠实会员
10楼#
发布于:2011-10-01 23:54
還是又失敗了..
編譯成功,但性能與一次編譯相同

我是把採集完後生成的pgc
放到有相關文件名的pgd文件目錄內
那些原本就存在dist/bin內的pgc沒有去動它

图片:未命名.jpg

Lawliet
火狐狸
火狐狸
  • UID34414
  • 注册日期2010-11-03
  • 最后登录2017-04-02
  • 发帖数201
  • 经验13枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 社区居民
  • 忠实会员
11楼#
发布于:2011-10-01 23:54
頂一下
我就只差這一步了
dongyuanxun
非常火狐
非常火狐
  • UID28632
  • 注册日期2009-04-19
  • 最后登录2013-02-14
  • 发帖数898
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
12楼#
发布于:2011-10-01 23:54
是这样的,有pgd目录的都必须有exe或者dll才行,所以你搜索相关文件名的exe或dll更靠谱些,我不知道其他目录是否还有pgd
比如把firefox*.pgc放到有firefox.exe的目录(必须是编译目录,该目录有pgd文件)中,那么在第二次链接firefox时会有合并pgc文件之类的信息,其他也一样。
Lawliet
火狐狸
火狐狸
  • UID34414
  • 注册日期2010-11-03
  • 最后登录2017-04-02
  • 发帖数201
  • 经验13枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 社区居民
  • 忠实会员
13楼#
发布于:2011-10-01 23:54
這截圖標示出來的pgd文件
沒有相應文件名的pgc文件

會是因為這個關係,導致合併失敗嗎?

图片:未命名.jpg

Lawliet
火狐狸
火狐狸
  • UID34414
  • 注册日期2010-11-03
  • 最后登录2017-04-02
  • 发帖数201
  • 经验13枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 社区居民
  • 忠实会员
14楼#
发布于:2011-10-01 23:54
會是這樣的原因導致PGO編譯被迫停止嗎?
我從之前到現在,都沒有生成過js.pgc啊

图片:未命名1.jpg

上一页

返回顶部