搜索
查看: 54339|回复: 264
收起左侧

[原创资源] firefox for linux 64bits 自编译版 (56.0 优化编译更新)

  [复制链接]
adonais
发表于 2013-8-9 21:05:39 | 显示全部楼层 |阅读模式
本帖最后由 adonais 于 2017-9-25 23:34 编辑

2017-09-25更新:
1)gcc5.3 03 PGO/SSE2优化编译.
2)加入了一个MOZILLA_DISABLE_PLUGINS环境变量(设为1时禁止插件启动,同步Iceweasel特性)
3)修改包名为firefox-private,以防止linux发行版滚动更新时被覆盖.
  (如需卸载,请使用sudo dpkg -r firefox-private)
4)支持ubuntu unity桌面的全局菜单,需设置user_pref("ui.use_unity_menubar", true).
5)做了适当的精简. 支持未签名的扩展安装.
6)打包成deb格式,支持debian/ubuntu安装.支持centos/rhel linux (7.x) 版本.

与上一个版本的变更:
gtk3版本,所以不再支持
centos 6.x.
h264解码不再使用gstreamer插件,只需要安装ffmpeg就可以了.
===============================================================================================
用了几天ubuntu/linux,发现官方编译的版本慢的要死,完全比不上debian社区的编译版,还集成了一堆垃圾扩展.
所以自己编译了一个.
特点:
1)使用gcc O3 SSE2编译参数.
2)betterpgo编译.
3)做了适当的精简,中文化.
4)集成了flashplay_linux_x64插件(可删除).
5)打包成deb格式,安装即用(有说明).
下载地址:
http://sourceforge.net/projects/libportable/files/Firefox/
顺便记录一下删除ubuntu自带垃圾扩展的方法:
#我更喜欢aptitude包管理方式
sudo apt-get install aptitude
#查询
dpkg -l *xul-ext*
#把查询到带xul-ext-*名字的包全部卸载
sudo aptitude purge xul-ext-websit
sudo aptitude purge xul-ext-websites-integratio
sudo aptitude purge xul-ext-websites-integration
sudo aptitude purge xul-ext-webacc
sudo aptitude purge xul-ext-unity
sudo aptitude purge xul-ext-webaccounts xul-ext-webaccounts:i386
#删除主面板上的amazon广告链接.
sudo aptitude purge unity-webapps-common


评分

参与人数 2经验 +120 人气 +2 收起 理由
samtogo + 120 + 1 版区有你更精彩: )
Ricty + 1 感谢解答: )

查看全部评分

本帖被以下淘专辑推荐:

sinxit
发表于 2013-8-9 21:07:26 | 显示全部楼层
这个是高级货,等我再装了debian来弄弄!
pcxfirefox
发表于 2013-8-9 21:13:03 | 显示全部楼层
-On n>3 的数值是没有作用的 等价于-O3
另一个参数是-Ofast (4.7以上),包含了fastmath,有些模块可用,大多数模块不要用,这个比VC的激进太多了

加入sse2是指单独用的-msse2还是-march=pentium4,建议使用后者

同样,Linux下的gcc工具链有链接消去功能,建议使用(我上一次在mingw4.7时移植binutils链接消去特性失败,下次再在4.8研究下,4.6时是成功的)

另外,非Gentoo不幸福
adonais
 楼主| 发表于 2013-8-9 21:22:16 | 显示全部楼层
pcxfirefox 发表于 2013-8-9 21:13
-On n>3 的数值是没有作用的 等价于-O3
另一个参数是-Ofast (4.7以上),包含了fastmath,有些模块可用, ...

我用的是-mtune=native -msse2.

我本身用的是amd k10的机子,所以不敢使用-march=pentium4参数.

linux编译的有glibc版本依赖问题,我开始使用高版本的gcc与glibc,编译之后不能在低版本上运行.
我安装了静态库,然后使用-static-libgcc -static-libstd++静态链接c++库,结果还是说依赖高版本的glibc,知不知道是怎么回事?
pcxfirefox
发表于 2013-8-9 21:33:54 | 显示全部楼层
-static-libgcc -static-libstd++只是把gcc的静态链接,底层上还是依赖的glibc,就像windows上的crt一样

-mtune=native有作用吗?  我记得这个参数不能用native的,可以用-mtune=core2什么的,反正调整到最高就好,最高好像是core-avx2,当然看你的工具链版本,gcc4.6某个版本之前调整到avx时会在支持avx的cpu上崩溃,4.6分支的svn最新版肯定没问题,4.7忘了在哪个版本后修复的

-march=pentium4是指MMX, SSE 和 SSE2自动向量化,没有体系的优化(比如缓存什么的),如果k10支持这些指令应该可以使用,mmx、sse、sse2在AMD的CPU应该也是很早支持的,只要不是sse3就行(AMD和Intel实现有差别)
adonais
 楼主| 发表于 2013-8-9 21:51:14 | 显示全部楼层
我首先保证自用的机子最大优化,所以使用native参数.
而-mtune=native   比   -march=native 兼容性要更好,
gcc的文档上有说march=native编译的二进制很有可能在别的机子上不能运行.
反正是根据本地cpu指令集最大优化,所以连-march=pentium4也没指定
pcxfirefox
发表于 2013-8-9 21:56:30 | 显示全部楼层
adonais 发表于 2013-8-9 21:51
我首先保证自用的机子最大优化,所以使用native参数.
而-mtune=native   比   -march=native 兼容性要更好, ...


恩,-mtune肯定是优于-march的,我现在一般都是用-march=pentium4 -mtune=core-avx2
thelord
发表于 2013-8-10 10:32:09 | 显示全部楼层
我顶
网上见不到 linux 的优化版啊
愁思纷繁若斯
发表于 2013-8-11 08:45:42 | 显示全部楼层
刚把Kubuntu卸载了。。
ljia885
发表于 2013-8-11 09:04:30 | 显示全部楼层
终于有好心人作linux版编译了
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

手机版|杀毒软件|软件论坛|优惠券| 卡饭论坛

Copyright © KaFan  KaFan.cn All Rights Reserved.

Powered by Discuz! X3.4( 苏ICP备07004770号 ) GMT+8, 2019-4-19 22:52 , Processed in 0.060058 second(s), 8 queries , MemCache On.

快速回复 返回顶部 返回列表