haulm 发表于 2014-6-23 00:50:32

KDE4 的编译顺序还是做个笔录吧,有错请批评指出

我这里的编译一般都是基于 KDE4 桌面进行更新编译,因为桌面上编译明显速度要快的多,也便于多任务操作。
首先注意在编译 KDE4 之前先考虑一下编译环境是否要先进行更新:
automoc 或 automoc4 已经很久没有更新了,fedora 官方的版本号更新其实在做假,没补丁也没源码上的升级。
virtuoso-opensourceredland (redland-virtuoso) sopranorasqal适当做些更新
升级 akonadi,注意编译 akonadi 需要安装 mysql postgresql,想当然不安装支持也能编译成功但不能正常运行
考虑是否升级 python2.7 python3.x,如遇大面积依赖要重编译考虑是否跳过
以下是初步重要的编译顺序
sip => PyQt4 => kdelibs => nepomuk-core => nepomuk-widgets => kdepimlibs => PyKDE => kde-runtime => kde-workspace => kdebase (kde-base-apps) => konsole => kate
sip => ... => PyKDE 是一个完全体力活的过程,当然你可选择不升级 sip 和 PyQt4,最前面的选择是最痛苦的,因为走了很远了发现哪个链出了问题后重头走起你会突然觉得很疲劳
kde-runtime 和 kde-workspace其实没有先后, PyKDE 正常编译安装后就可以进行了,PyKDE 就是生命。。。
注意编译kdelibs 前删掉 kdelibs 所有组件,最好连 PyKDE4 kdepimlibs kde-runtime kde-workspace 都删掉
我们可以在退出 KDE 桌面进入安全模式,然后运行几个 konsole 指令,然后在不同的konsole 中打开 kwin&,
打开 plasma-desktop,然后就和桌面一样工作了,这时适当删掉 kdepimlibs kde-runtime kde-workspace 不会影响升级编译的工作 sip => PyQt4 => kdelibs => nepomuk-core => nepomuk-widgets => kdepimlibs => PyKDE => kde-runtime => kde-workspace => kdebase (kde-base-apps) => konsole => kate这一轮走完后就可以重启 KDE 了,然后编译其它的功能
我们最好在编译好上面第一轮后,进入安全模式,查看 plasma-desktop 给出的信息,查找 error 看各组件环境是否是正常配合的。
编译过程也许你会搞乱这些顺序,但是只要搞乱一次可能就会出现 Bug,比如断链回头编译其它版本的支持,你又忘了删掉 kdelibs 重新编译了,KDE 的容错能力倒底是真强还是真弱,真说不清楚,总之出现功能性的错误时又得从头编译是件耐力王子的任务。
顺便说一下,所谓自动编译机器我看还是算了,这连人力都做不清楚的事放给机器你可想最终的结果了,还有人不明白我就明说了,机器搞完你要花更多的时间去折腾吧。

jiangtao9999 发表于 2014-6-23 11:04:37

自动编译是可以实现的。基于依赖数据库可以自己清理前后顺序,之后编译。
如果编译失败就跳过,之后继续后面的。等都完成后再重新开始。
只要你升级足够频繁,就不存在前后依赖混乱而都不能继续的情况。

haulm 发表于 2014-6-23 11:28:50

可惜就是这么过程还是没能把窗体装饰卡死的 BUG 排除掉。。。
不过最大的收获: systemd 开关机速度提快太多了,upower 好象没用了。
自动编译也是经验之谈,做些省力的半自动编译还是可以的,但都不会是一劳永逸。
有些编译的确是先编译再说,还有些循环依赖是要安装完二进制再编译的,不说了。

haulm 发表于 2014-6-23 12:13:16

关于那个卡住的 BUG,以前 Nihui 和我提过那些风格是 kwin3 的风格,卡住我真不知道是怎么回事,也许一些组件升级 qt3 要编译支持?

jiangtao9999 发表于 2014-6-23 13:11:06

bug 能绕过就绕过吧。
现在基本上各大发行版都是自动化编译了。
页: [1]
查看完整版本: KDE4 的编译顺序还是做个笔录吧,有错请批评指出