LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1303|回复: 19

编译kdebase3.1出错,不知如何排错?

[复制链接]
发表于 2003-12-14 19:18:00 | 显示全部楼层 |阅读模式
LFS5.0,qt -> arts -> kdelibs,均已经编译好了。现在kdebase编译出错:

/opt/qt/bin/moc ./service_mnu.h -o service_mnu.moc
/bin/sh ../../libtool --silent --mode=compile --tag=CXX g++ -DHAVE_CONFIG_H -I. -I. -I../.. -I./../extensions/childpanel -I./../core -I./../buttons -I./../share -I../../libkonq -I/opt/kde-3.1/include -I/opt/qt/include -I/usr/X11R6/include  -DQT_THREAD_SUPPORT  -D_REENTRANT  -Wnon-virtual-dtor -Wno-long-long -Wundef -Wall -pedantic -W -Wpointer-arith -Wmissing-prototypes -Wwrite-strings -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wconversion -DNDEBUG -DNO_DEBUG -O2 -fno-exceptions -fno-check-new -DQT_CLEAN_NAMESPACE -DQT_NO_COMPAT -DQT_NO_ASCII_CAST -D_GNU_SOURCE  -c -o service_mnu.lo `test -f 'service_mnu.cpp' || echo './'`service_mnu.cpp
service_mnu.cpp: In member function `void PanelServiceMenu::doInitialize()':
service_mnu.cpp:223: error: invalid static_cast from type `
   KSharedPtr<KServiceGroup>' to type `KSharedPtr<KSycocaEntry>'
service_mnu.cpp:258: error: invalid static_cast from type `
   KSharedPtr<KServiceGroup>' to type `KSharedPtr<KSycocaEntry>'
service_mnu.cpp: In member function `void
   PanelServiceMenu::insertMenuItem(KSharedPtr<KService>&, int, int)':
service_mnu.cpp:337: error: invalid static_cast from type `KSharedPtr<KService>
   ' to type `KSharedPtr<KSycocaEntry>'
make[3]: *** [service_mnu.lo] Error 1
make[3]: Leaving directory `/mnt/debian/home/lfx/linux-031211-01/LFS/blfs/packages/kdebase-3.1/kicker/ui'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/mnt/debian/home/lfx/linux-031211-01/LFS/blfs/packages/kdebase-3.1/kicker'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/mnt/debian/home/lfx/linux-031211-01/LFS/blfs/packages/kdebase-3.1'
make: *** [all] Error 2

是什么问题?
发表于 2003-12-14 21:52:46 | 显示全部楼层
你下载的软件包对吗?
发表于 2003-12-14 23:05:05 | 显示全部楼层
qt和kdelibs的版本是什么?kdebase的版本又是什么?
 楼主| 发表于 2003-12-15 07:56:55 | 显示全部楼层

删除源码,重新编译,结果如下:

/opt/qt/bin/moc ./service_mnu.h -o service_mnu.moc
/bin/sh ../../libtool --silent --mode=compile --tag=CXX g++ -DHAVE_CONFIG_H -I. -I. -I../.. -I./../extensions/childpanel -I./../core -I./../buttons -I./../share -I../../libkonq -I/opt/kde-3.1/include -I/opt/qt/include -I/usr/X11R6/include  -DQT_THREAD_SUPPORT  -D_REENTRANT  -Wnon-virtual-dtor -Wno-long-long -Wundef -Wall -pedantic -W -Wpointer-arith -Wmissing-prototypes -Wwrite-strings -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wconversion -DNDEBUG -DNO_DEBUG -O2 -fno-exceptions -fno-check-new -DQT_CLEAN_NAMESPACE -DQT_NO_COMPAT -DQT_NO_ASCII_CAST -D_GNU_SOURCE  -c -o service_mnu.lo `test -f 'service_mnu.cpp' || echo './'`service_mnu.cpp
service_mnu.cpp: In member function `void PanelServiceMenu::doInitialize()':
service_mnu.cpp:223: error: invalid static_cast from type `
   KSharedPtr<KServiceGroup>' to type `KSharedPtr<KSycocaEntry>'
service_mnu.cpp:258: error: invalid static_cast from type `
   KSharedPtr<KServiceGroup>' to type `KSharedPtr<KSycocaEntry>'
service_mnu.cpp: In member function `void
   PanelServiceMenu::insertMenuItem(KSharedPtr<KService>&, int, int)':
service_mnu.cpp:337: error: invalid static_cast from type `KSharedPtr<KService>
   ' to type `KSharedPtr<KSycocaEntry>'
make[3]: *** [service_mnu.lo] Error 1
make[3]: Leaving directory `/mnt/debian/home/lfx/linux-031211-01/LFS/blfs/packages/kdebase-3.1/kicker/ui'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/mnt/debian/home/lfx/linux-031211-01/LFS/blfs/packages/kdebase-3.1/kicker'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/mnt/debian/home/lfx/linux-031211-01/LFS/blfs/packages/kdebase-3.1'
make: *** [all] Error 2
 楼主| 发表于 2003-12-15 08:01:09 | 显示全部楼层

各版本如下:

qt-3.1.2,文件是qt-x11-free-3.1.2.tar.bz2
aRts-1.1,文件是arts-1.1.tar.bz2
kdelibs-3.1,文件是kdelibs-3.1.tar.bz2
kdebase-3.1,文件是kdelibs-3.1.tar.bz2

XFree86能正常启动。
发表于 2003-12-15 08:14:06 | 显示全部楼层
你安装一下qt-3.2.3。arts-3.1.4,kdelibs-3.1.4和kdebase-3.1.4吧,因为kde-3.1和qt-3.1比较老一点,gcc-3.3系列是在它们之后推出的,可能编译时要打补丁。
发表于 2003-12-15 08:14:47 | 显示全部楼层
 楼主| 发表于 2003-12-15 08:18:18 | 显示全部楼层
前面三个我已经编译了,如果编译新的包,旧的要怎么删除?还是直接编译覆盖?你说的这些包到那里下载?版主,我用的gcc是5.0里面的gcc-3.3.1。
 楼主| 发表于 2003-12-15 08:20:51 | 显示全部楼层
好的,谢谢版主(刚才发贴,没有看到你的回贴)。那么,如果编译新的包,旧的要怎么删除?还是直接编译覆盖?
发表于 2003-12-15 08:36:14 | 显示全部楼层
对啊,kde-3.1用gcc-3.2系列编译的,而gcc-3.3推出后,很多软件都改过才能编译通过。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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