阅读:3720回复:16
windows7 64bit怎樣才能編譯出32bit的Firefox 32bit?(已解決)
最近在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方法 謝謝 |
|
1楼#
发布于:2011-10-01 23:54
Re: windows7 64bit怎樣才能編譯出32bit的Firefox 32bit?
--target和--host都不需要加,这个只有交叉编译才会用到,native编译时会根据你的编译器来自行确定执行start-msvc10.bat即可 |
|
2楼#
发布于:2011-10-01 23:54
Re: windows7 64bit怎樣才能編譯出32bit的Firefox 32bit?
謝謝!我編譯成功了 不過我又有一個新問題 某些文件名的pgc文件,會在不同的目錄產生 文件名相同的pgc文件,我應該怎麼做? 看了上一帖,您好像是說要合併? |
|
3楼#
发布于:2011-10-01 23:54
Re: windows7 64bit怎樣才能編譯出32bit的Firefox 32bit?
ff的python脚本默认会重定向PGO目录,不同信息会进行合并如果这个目录是自定义目录,可能就会发生有些信息遗失的现象 我在自定义时只在dist/bin目录采集(因为我运行的是该目录的exe),其他目录无视掉 |
|
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一概無視? 請問是這個意思嗎? 謝謝! |
|
5楼#
发布于:2011-10-01 23:54
不知道啊,因为我就没用那个pythonpath……
/dist/bin以外的无视即可,我就是这样做的 编译完可以和我的比较一下性能 https://code.google.com/p/pcxfirefox/downloads/list 当然js测试我跑的比较多,同时考虑到了浏览体验 所以默认的sunspider会有微小的性能下降(几个ms) 但是其他会有提升 |
|
6楼#
发布于:2011-10-01 23:54
那我大概知道了,我現在再來編譯一次
預計三個小時後編譯完成 謝謝! |
|
7楼#
发布于:2011-10-01 23:54
性能還是一樣沒有變化
我發現一個現象 一次編譯停止後,開啟Firefox時 次時pgc文件就會自動生成 但是進行各種測試後 pgc文件並未改變 反而是關閉視窗進行二次編譯後 dist/bin下反而又生成了新的pgc文件 到底這現象是正常的嗎? 究竟是要複製的是一開始就生成的 還是關閉窗口後才生成的? 還是兩個都要? 图片:未命名.jpg |
|
8楼#
发布于:2011-10-01 23:54
不是的,一次编译结束后,有些起始程序会用到,所以在你自行运行之前就会有一些pgo信息。
采集结束后,不要立即开始第二次编译,稍微等一会儿,他的pgo信息会出的比较慢,等进程里完全没ff的进程说明采集才结束 |
|
9楼#
发布于:2011-10-01 23:54
謝謝您,我大概知道了
目前已經在編譯,預計50分鐘後一次編譯結束 有什麼問題再向您討教 謝謝! |
|
10楼#
发布于:2011-10-01 23:54
還是又失敗了..
編譯成功,但性能與一次編譯相同 我是把採集完後生成的pgc 放到有相關文件名的pgd文件目錄內 那些原本就存在dist/bin內的pgc沒有去動它 图片:未命名.jpg |
|
11楼#
发布于:2011-10-01 23:54
頂一下
我就只差這一步了 |
|
12楼#
发布于:2011-10-01 23:54
是这样的,有pgd目录的都必须有exe或者dll才行,所以你搜索相关文件名的exe或dll更靠谱些,我不知道其他目录是否还有pgd
比如把firefox*.pgc放到有firefox.exe的目录(必须是编译目录,该目录有pgd文件)中,那么在第二次链接firefox时会有合并pgc文件之类的信息,其他也一样。 |
|
13楼#
发布于:2011-10-01 23:54
這截圖標示出來的pgd文件
沒有相應文件名的pgc文件 會是因為這個關係,導致合併失敗嗎? 图片:未命名.jpg |
|
14楼#
发布于:2011-10-01 23:54
會是這樣的原因導致PGO編譯被迫停止嗎?
我從之前到現在,都沒有生成過js.pgc啊 图片:未命名1.jpg |
|
上一页
下一页