打印

自己编译的 kde3.1 总是 seg fault

自己编译的 kde3.1 总是 seg fault

已经编译了 10 几次的 arts + kdelibs + kdebase ,以及 qt3.1.1,
但是,不论怎样,只要在 kde 安装下面的 lib/kde3/plugins/styles 下面有那些kde 自带的 style,我在启动kde3.1 后,不论什么kde 程序在退出时,都会发生一个 segmentation fault 错误,包括 qtconfig ! 而如果我将 lib/kde3/plugins/styles 改个名,就没事了,当然,也用不了 kde 自带的那些 style 了

我的系统是 LFS 20021222 CVS,除了 LFS 外,安装了kde 需要的包。 host 系统是 mandrake 9。KDE 使用的都是 3.1 final 官方版本,qt 是 3.1.1

编译qt 时使用的configure 参数是:
./configure -prefix /opt/lib/qt-3.1.1 -system-zlib -qt-gif -system-libpng -system-libjpeg -plugin-imgfmt-mng -thread -no-stl -no-xinerama -no-g++-exceptions

请问谁有经验,能否指点一下呢?
多谢
生于忧患,死于安乐! Fly together Forever

TOP

哈,还是 liuspider 等不及装 KDE 3.1,我想等 xfree 4.3 出了再完全重装 Gentoo.

不过 LFS 的问题最好还是去 Linuxsir... 恐怕这里没人用 LFS...

我只给出我的一点建议哈:
你不妨先试不要编译 KDE, 先只装 QT,然后装个只使用 QT 库而不使用 KDE 库的软件(如 SIM-ICQ)
,看一下 SIM-ICQ 是否会 seg fault,以判断到底是 QT 的编译问题还是 KDE 的编译问题。

如果是 QT 的问题,我可以把 Gentoo 的 qt-3.1.1-r1.ebuild 贴出来,你可以参考一下那里面的编译参数。如果 QT 没问题了,那只有 KDE 有问题,咱们再慢慢研究。

TOP

多谢你的建议,我的尝试如下:运行只需要QT的 qtconfig,如果存在 lib/kde3/plugins/styles 目录的话,就会 seg fault;如果没有那些插件,则一切正常。

QT 都会 seg fault,所以所有的 kde 程序也都会在退出时 seg fault

无奈,我将 qtconfig 编译时添加了 -g3 参数,然后debug,发现,segfault 的地方,是在已经退出 QT 消息循环后,到达 内核清理内存时(具体是说一个叫做 exit.c 的文件,我估计应该是 kernel 中的那个文件)才发生的, 是不是可能因为自己编译的 kernel 的问题呢?(LFS 的kernel 和我现在这个mandrake的都是经过我自定义的,没用的东东全都没有编译)

btw:我也在 linuxsir 上发问了,但是好像现在上不去
生于忧患,死于安乐! Fly together Forever

TOP

还是你牛,居然靠调试来判断错误!

看样子我帮不上什么忙了,但我感觉应该不是核心的问题,用 Gentoo/LFS 的人没有一个人不是自定义编译的核心,不应该就你一个人有问题(可能以后还有会有人有类似的事情吧。。。)

我所能帮的也只有把 Gentoo 的 qt ebuild 发给你,参考一下里面的编译参数了。。。
附件: 您所在的用户组无法下载或查看附件

TOP

气愤没有还没有 for mandrake 9 的kde3.1 :(  

但我在cooker 上找到了 qt3.1.1 的 src 包,正在编译,如果在 mandrake 下,我也装不上的话,那我就只能归咎于硬件了

多谢你的 ebuild,很有意思,里面的配置参数,与 LFS 以及kde 官方的都有明显的差别的,下次在LFS下编译时,会试试,谢谢了

BTW: 那个文件好像是普通的文本文件吧,我在那里试了好几个 tar 命令参数,就是解不开 (gz 的文件名误导了我
生于忧患,死于安乐! Fly together Forever

TOP

忘了说了,强烈建议使用 KDE3。1,比 kde3 有了很大的提高的,不论是速度,显示效果,稳定性,易用性都比 kde3 可以说有质的飞跃的
生于忧患,死于安乐! Fly together Forever

TOP

!^_^.....公社的代码不够完善。。。不能上传 .ebuild, .tar, .bz2 的文件。。。所以我用 gzip 压缩了一下才传上来。用 gunzip qt-3.1.1-r1.ebuild.gz 就可以解压缩开了

mdk beta3 出来了,我想它的 KDE 应该是 3.1 正式版吧。

TOP

但是那个文件我直接使用 vi 就可以打开看了

应该是,但是现在还不想升级啊

不知道 这个最新的beta 使用的X 是什么版本的
生于忧患,死于安乐! Fly together Forever

TOP

找到原因了!

找到原因了,http://dot.kde.org/1043423702/1043431003/1043436542/
binutils 的版本太新
很沉痛啊,这真是 “living on the edge”的代价! 太惨了
生于忧患,死于安乐! Fly together Forever

TOP

Mandrake Cooker 上不是有KDE 3.1的rpm包吗?干嘛要用src.rpm包编译
~~~激情是瞬间的永恒~~~平淡是永恒的瞬间~~~ http://blog.inheart.name http://album.inheart.name http://forums.inheart.name ~~~where there is will~~~there is a way~~~

TOP

是的,有,但是没有 QT3.1.1 的 rpm 包啊! 而且,我发现那些 rpm 包都是为 mandrake 9.1 编译的,不是给我们 9 使用的
生于忧患,死于安乐! Fly together Forever

TOP

我还是认为在当前版本软件完全够用的情况下,没有必要升级。

一天到晚装装装装得人都烦死了,装完了以后一天到晚还是就用那么几个功能,花了很长的时间却没有什么真正能够有用的知识。。。

嗯。。。这算是“不思进取”吗?

TOP

呵呵,你试用一下 kde 3.1 吧,真得是有很大的进步的,不论是速度还是易用性

何况,编译是在后台进行的吗,不耽误你干别的事(当然,如果还在同时编译便的东东,就痛苦了)
生于忧患,死于安乐! Fly together Forever

TOP

haha,过两天是该换了,今天 rsync 一下,居然又有一大堆东西要更新,得,干脆全部重装。

TOP

呵呵,更新比重装还是来得快吧

我解决不了这个问题

现在把我的LFS干掉了,改用 gentoo 了
生于忧患,死于安乐! Fly together Forever

TOP