LinuxSir.cn,穿越时空的Linuxsir!

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

解决升级gdl-python问题,不知道要不要提交bug

[复制链接]
发表于 2008-11-29 13:52:11 | 显示全部楼层 |阅读模式
我用的ACCEPT_KEYWORDS="~amd64",最近emerge world的时候gdl-python升级到2.19.1-r1,依赖它的包是gdl2.24.0,编译的时候出错:
………………
gdl.c:1837: warning: implicit declaration of function ‘gdl_icons_get_uri_icon’
gdl.c:1837: warning: assignment makes pointer from integer without a cast
gdl.c: In function ‘_wrap_gdl_icons_get_mime_icon’:
gdl.c:1853: warning: implicit declaration of function ‘gdl_icons_get_mime_icon’
gdl.c:1853: warning: assignment makes pointer from integer without a cast
gdl.c: In function ‘pygdl_register_classes’:
gdl.c:2117: error: ‘GDL_TYPE_ICONS’ undeclared (first use in this function)
gdl.c:2117: error: (Each undeclared identifier is reported only once
gdl.c:2117: error: for each function it appears in.)
make[2]: *** [gdl.lo] Error 1
make[2]: Leaving directory `/var/tmp/portage/dev-python/gdl-python-2.19.1-r1/wor
k/gnome-python-extras-2.19.1/gdl'

make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/var/tmp/portage/dev-python/gdl-python-2.19.1-r1/work/gnome-python-extras-2.19.1'
make: *** [all] Error 2
*
* ERROR: dev-python/gdl-python-2.19.1-r1 failed.
* Call stack:
*               ebuild.sh, line   49:  Called src_compile
*             environment, line 3398:  Called gnome2_src_compile
*             environment, line 2586:  Called die
* The specific snippet of code:
*       emake || die "compile failure"
*  The die message:
*   compile failure
*
* If you need support, post the topmost build error, and the call stack if relevant.
* A complete build log is located at '/var/tmp/portage/dev-python/gdl-python-2.19.1-r1/temp/build.log'.
* The ebuild environment file is located at '/var/tmp/portage/dev-python/gdl-python-2.19.1-r1/temp/environment'.
*
google了没有类似情况,但是发现gdl-python加了gdl-python-2.19.1-gdlicons.patch这个补丁,跟出错信息好似有关联,一看补丁,写着:
#include <pygtk/pygtk.h>
#include <gdl/gdl-dock.h>
#include <gdl/libgdltypebuiltins.h>
-#include <gdl/gdl-icons.h>
#ifndef HAVE_GDL_0_7
# include <gdl/gdl-dock-bar.h>
#endif
跟出错信息的最后几行关系大了,看补丁介绍,写着:
Fix build failure with recent gdl
(Portage version: 2.2_rc15/cvs/Linux 2.6.24-gentoo-r8-mactel x86_64)
既然是用到2.19.1的补丁,我的2.19.1-r1说不定已经fix了这个bug了,决定去掉这个补丁再编译,修改gdl-python-2.19.1-r1.ebuild,把src_unpack() 中的:
# Fix build failure with recent gdl
        #epatch "${FILESDIR}/${P}-gdlicons.patch"
注释掉,然后:
ebuild gdl-python-2.19.1-r1.ebuild digest
最后emerge world通过编译。

大家觉得我需要汇报吗?这是个bug吗?
 楼主| 发表于 2008-11-29 16:25:46 | 显示全部楼层
revdep-rebuild的时候又编译不过了,改回来又ok了,真是的,唉,搞不懂了…………
回复 支持 反对

使用道具 举报

发表于 2008-11-30 17:41:34 | 显示全部楼层
库版本与软件版本的兼容问题

举个小小的例子,比如有个软件的依赖是 >=libabc-1.2.3,但 libabc 现在升到了 1.5.0 ,并对 api 进行了修改,ebuild 里没有做特殊的处理的话,就会出现错误。

建议 手动 mask  出错的包,同时 keywords 最好固定,不要轻易修改,不然此类问题只会更多。
回复 支持 反对

使用道具 举报

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

本版积分规则

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