2008年(787)
分类:
2008-09-25 16:06:05
中文化倒不难,就是翻译一下.ts文件,可是翻译完以后,竟然发现QtParted不能编译!一开始是在./configure时说无法确定char *的大小,后来误打误撞将/usr/local/lib加到LD_LIBRARY_PATH变量,竟然好了,无语ing。
./configure 算是过去了,make时候却又不行,原来QtParted用的不是GNU Make,是Unsermake,花了半天时间了解了这个怪东东,然后将它安装起来,可是仍旧不能编译,Makefile产生的某条语句中少了一个分号,可是无论我怎么修改这个Makefile,那个分号就是出不来,发了个邮件去询问QtParted的作者,一直没有回复。首战受挫,精神崩溃!
过了一段时间,Everest Linux 0.2发布了,集成了Unsermake。估计是上次自己安装的Unsermake有问题,这次已经没有了那个缺少分号的奇怪错误了,不过却出现了一个 PED_SECTOR_SIZE未定义,这个PED_SECTOR_SIZE在QtParted的代码中只出现过一次,估计是Parted中定义的, Parted 1.7.0的ChangeLog里提到PED_SECTOR_SIZE已经被PED_SECTOR_SIZE_DEFAULT取代了,原来如此。我在src/qp_fswrap.cpp加了一行:
#define PED_SECTOR_SIZE PED_SECTOR_SIZE_DEFAULT
问题解决。
终于可以正确的编译安装了。搞定这一切以后,运行qtparted命令,居然没有激动人心的画面,只有一个可恨的“段错误”。再度精神崩溃。
看来只能一步步调试了,我发现QtParted执行到get_filesystem()函数时,程序崩溃,察看变量发现是在xfs的时候出问题。既然如此,那我编译QtParted时--disable-xfs总可以了吧。然而事实却证明这样不行,调试时还是说xfs有问题。如此说来,问题应该是出在Parted上面了。 QtParted是构建在Parted 1.6.x上的,我试了一下与QtParted配套的最老版本--1.6.6,终于没有段错误了,兴奋ing。
由于白天必须呆在实验室,Everest的有关工作只能晚上回宿舍弄,今天抽点时间写了一下这个“开发日志”,最终版本的出台估计还得过几天。(未完待续)