QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 4340|回复: 36

Mgc2.5的GCC4.4还是不要降级的好

[复制链接]
发表于 2009-5-27 00:34:18 | 显示全部楼层 |阅读模式
发现问题解决问题,回到旧的构架也不是说不会遇到问题,相反的组件的升级都会带来麻烦,如果因为组件问题去降级GCC可能带来的问题会更多,因为有这么一个事实,高版本的GCC对编译的规范更严,同时也对旧的GCC4构建的程序提供了较好的兼容性。
发表于 2009-5-27 07:42:04 | 显示全部楼层
呵呵,我已经开始降级了。很麻烦
至少从现在的情况看4.2.4是足够用的。
回复

使用道具 举报

 楼主| 发表于 2009-5-27 10:25:14 | 显示全部楼层
这几天你都没上MSN,找你不着,Firefox在MGC编译不正常的原因可能是多种的,其中可能是Firefox编译使用了不合理的参数造成的,也可能是GCC版本差异导致的。flash插件导致firefox出错退出,这个和GTK环境绝对是有关系的,重新编译的Firefox能够支持flash插件,flash插件的源码要是能开源就好了。。。

在编译firefox时,由于直接使用EVL的源码,后来在编译配置.mozconf查找到这么一处
ac_add_options --enable-default-toolkit=cairo-gtk2
ac_add_options --enable-system-cairo
这样的配置编译firefox是通过了,但不见得符合系统环境,编译kompozer时这两个参数在一起无法编译通过,而在EVL(gcc4.4)编译出错。xulrunner-1.9.0.4gmake[5]: *** [nsAppRunner.o] 错误 1

这三个mozilla的东西编译挺是麻烦,GCC4.4.0也真的太较真了。

[ 本帖最后由 haulm 于 2009-5-27 10:57 编辑 ]
回复

使用道具 举报

 楼主| 发表于 2009-5-27 11:33:25 | 显示全部楼层
sejishikong 兄,很幸运我找到firefox编译后显示不正常的原因了,因为这个BUG在EVL系统再现了,所以很快地被锁定到具体的组件。
nspr 这个组件用gcc4.4.0编译产生的代码不正常,它会导致firefox的某些对话按钮和某些网页框架显示被放大,惨不忍睹。
对于MGC2.5还是不建议您降级,这样做没有必要,解决nspr组件的办法有两个:一个是寻找补丁办法,另一个是暂时使用GCC4.2.4编译然后由GCC4.4.0兼容运行,EVL由GCC4.3.2编译由GCC4.4.0运行地很正常。再过一周,Fedroa 11(gcc4.4.0)要发布了,不建议返工,这样做把GCC再降回去,过些时间GCC4.4.0的BUG解除了,整个MGC2.5构架又要翻新。。。我不想再这么折腾了。
回复

使用道具 举报

发表于 2009-5-27 13:18:58 | 显示全部楼层
呵呵,我已经正在重新在4.2.4上编译了。有几个原因,
第一个:4.4.0编译出来的要比4.2.4大。
第二个:konqueror崩溃
第三个:补丁太麻烦(虽然实际上基本都完成了)
第四个:4.4.0编译出来的不向下兼容.

我在仓库里会同时提供gcc 4.4.0,不过系统还是用4.2.4来编译。就要试过的速度来讲,4.2.4和4.4.0并没有什么差别。
回复

使用道具 举报

发表于 2009-5-27 13:23:04 | 显示全部楼层
为啥不用 gcc 4.3.3 镍……
回复

使用道具 举报

 楼主| 发表于 2009-5-27 13:23:31 | 显示全部楼层
nspr升级到4.7.4后firefox的显示bug解除。
回复

使用道具 举报

 楼主| 发表于 2009-5-27 13:30:12 | 显示全部楼层
原帖由 sejishikong 于 2009-5-27 13:18 发表
呵呵,我已经正在重新在4.2.4上编译了。有几个原因,
第一个:4.4.0编译出来的要比4.2.4大。
第二个:konqueror崩溃
第三个:补丁太麻烦(虽然实际上基本都完成了)
第四个:4.4.0编译出来的不向下兼容.

我在仓库里会同时提供gcc  ...


第一个不成理由,目前来说坚持一个系统小于700M是不现实的事情,如果要这样你大可以把所有的开发库删除,这样的系统只适用于完全不编译程序的用户,这样的系统在目前的Linux大环境下已经允许,因为wine足够稳定地运行部份win程序甚至是旧版本的商业软件。未来的Linux软件和Win软件安装的区别不大,基本上可以实现双击安装的。
konqueror崩溃不知道和nspr是否有关系,由于是显示网页会出错退出,所以不能排除插件的原因,原来因为firefox的同样浏览出现问题,所以BUG提到最为紧张的级别,但通过测试已经发现是nspr版本过低的问题,通过自行编译firefox可以解决浏览问题。
第三个,既然完成了请珍惜劳动成果。
第四个,GCC的高级版本对二进制程序的兼容是良好的,不兼容的是源文件的编译,每个GCC版本的升级都会带来一些调整,有些是必要的,我希望MGC2.5是个能应用上两年的系统。

我不希望MGC走过去的老路,MGC2.1的失败不容许再犯一次同样的错误。

[ 本帖最后由 haulm 于 2009-5-27 13:32 编辑 ]
回复

使用道具 举报

 楼主| 发表于 2009-5-27 13:51:29 | 显示全部楼层
原帖由 jiangtao9999 于 2009-5-27 13:23 发表
为啥不用 gcc 4.3.3 镍……

我对GCC的认识:如果是开发新版本的Linux,当GCC新版本的发布能稳定完成整个系统的构建时就应该采用最新的编译器,由于编译器的调整,对组件代码的要求会提高,所以一些组件必需升级到最新的稳定版本,这是个过程。其后GCC小版本的升级都是修正BUG为主的,可以随意地升级GCC达到应用效果。目前的MGC2.5A2眼看整个系统达到可用的状况,如果为了兼容以前的东西而放慢脚步又要重涉2.1的旧路。开发者从来不会坚持自己的开发环境,一旦有更好的环境都会更换。GCC4带来的是GCC3从来未有过的运行速度,这就是为什么2.1没人用的原因了。GCC4.3是个过渡,大量软件的静态版本的确是基于4.2编译的,但我认为一个系统守着软件根本就没前途。linux是成长十分快的系统,Fedroa半年一个系统地在替换。
另外请se兄考虑系统默认的UTF8,坚持GB码无法让MGC得到什么好处。

Current release series:  GCC 4.4.0  (changes)
    Status: 2009-05-21 (regression fixes and docs only).
    Serious regressions. All regressions.
Previous release series: GCC 4.3.3
    Status: 2009-01-24 (regression fixes and docs only).
    Serious regressions. All regressions.
Active development: GCC 4.5.0 (changes)
    Status: 2009-05-05 (Stage 1, open for development).
    Serious regressions. All regressions.

从官方提供的版本信息上来年,GCC4.4.0已经达到稳定状态,最近的修正也只是文档的修订,官方已开始开发GCC4.5.0了。

[ 本帖最后由 haulm 于 2009-5-27 14:06 编辑 ]
回复

使用道具 举报

发表于 2009-5-27 15:25:18 | 显示全部楼层
支持haulm
回复

使用道具 举报

发表于 2009-5-27 15:45:14 | 显示全部楼层
第一个:4.4.0编译出来的要比4.2.4大。(700mb 应该可以的呀~去掉一些东西就行了)
剩下三条我没法说话,因为我没尝试过....


btw: 作为用户,我更喜欢 gb18030,虽然我也知道 utf8 环境更易于开发......
回复

使用道具 举报

发表于 2009-5-27 17:53:48 | 显示全部楼层
ok,我已经中止了backport,采用gcc4.4.0了.
关于编码,提供了一个转换.
回复

使用道具 举报

 楼主| 发表于 2009-5-27 20:50:54 | 显示全部楼层
firefox 经过自行编译后工作一切正常,能够使用flash插件,konqueror遇到某些网页照样崩溃,暂时不知如何下手,这个应该不是GCC4.4的问题,早前就有朋友提交过类似报告,只是没引起注意。(实际上我根本不用它浏览网页)。firefox 可以使用mplayer插件,但GCC4.4编译mplayer插件时会遇到const char *和char *这样的错误,这个应该不难解决,我尝试一下修正。字全总觉得太小了点。。。
上传一张图,firefox是自行编译的,编译时去掉了gnome-vfs libgnomeui之类的支持,
ORBit2 GConf2 libbonobo还是需要的
ls /root/rpmbuild/RPMS/i686/
alsa-driver-devel-1.0.20-3mgc25.i686.rpm
alsa-driver-module-kernel-2.6.28.10-smp-1.0.20-3mgc25.i686.rpm
firefox-3.0.10-1mgc.i686.rpm
GConf2-2.25.2-1mgc25.i686.rpm
GConf2-devel-2.25.2-1mgc25.i686.rpm
GConf2-gtk-2.25.2-1mgc25.i686.rpm
gnome-mime-data-2.18.0-2mgc25.noarch.rpm
kompozer-0.8a4-1mgc25.i686.rpm
libbonobo-2.24.1-1mgc25.i686.rpm
libbonobo-devel-2.24.1-1mgc25.i686.rpm
libpng-1.2.32-1mgc25.i686.rpm
libpng-devel-1.2.32-1mgc25.i686.rpm
nspr-4.7.4-3mgc25.i686.rpm
nspr-devel-4.7.4-3mgc25.i686.rpm
ORBit2-2.14.17-1mgc25.i686.rpm
ORBit2-devel-2.14.17-1mgc25.i686.rpm
ppp-2.4.4-6mgc.i686.rpm
rp-pppoe-3.10-9mgc25.i686.rpm

[ 本帖最后由 haulm 于 2009-5-27 23:18 编辑 ]
回复

使用道具 举报

 楼主| 发表于 2009-5-27 20:58:35 | 显示全部楼层
konqueror 禁止掉javascript后倒是工作稳定,看来它对javascript 感冒了。
回复

使用道具 举报

发表于 2009-5-27 23:22:18 | 显示全部楼层
慢慢地、细细地讨论吧,最好把所有疑虑都扯清楚。Magic流的力量本来就不够强大,千万别闹出个分裂来……
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-23 11:34 , Processed in 0.078901 second(s), 16 queries .

© 2021 Powered by Discuz! X3.5.

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