LinuxSir.cn,穿越时空的Linuxsir!

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

无法编译d4x,出现错误。

[复制链接]
发表于 2005-5-7 09:09:52 | 显示全部楼层 |阅读模式
In file included from <command line>:10:
../../config.h:464:1: warning: "_REENTRANT" redefined
<command line>:7:1: warning: this is the location of the previous definition
lod.cc:130: error: conflicting types for `struct GtkCellRendererProgress'
/usr/include/gtk-2.0/gtk/gtkcellrendererprogress.h:41: error: previous
   declaration as `typedef struct _GtkCellRendererProgress
   GtkCellRendererProgress'
lod.cc:136: error: conflicting types for `struct GtkCellRendererProgressClass'
/usr/include/gtk-2.0/gtk/gtkcellrendererprogress.h:42: error: previous
   declaration as `typedef struct _GtkCellRendererProgressClass
   GtkCellRendererProgressClass'
lod.cc: In function `void gtk_cell_renderer_progress_set_property(GObject*,
   unsigned int, const GValue*, GParamSpec*)':
lod.cc:178: error: 'struct _GtkCellRendererProgress' has no member named '
   percent'
lod.cc:181: error: 'struct _GtkCellRendererProgress' has no member named 'dwn'
lod.cc: In function `void gtk_cell_renderer_progress_render(GtkCellRenderer*,
   GdkWindow*, GtkWidget*, GdkRectangle*, GdkRectangle*, GdkRectangle*,
   GtkCellRendererState)':
lod.cc:198: error: 'struct _GtkCellRendererProgress' has no member named '
   percent'
lod.cc:226: error: 'struct _GtkCellRendererProgress' has no member named 'dwn'
make[3]: *** [lod.o] 错误 1
make[3]: Leaving directory `/home/wingame/d4x-2.5.0final/main/face'
make[2]: *** [all-recursive] 错误 1
make[2]: Leaving directory `/home/wingame/d4x-2.5.0final/main'
make[1]: *** [all-recursive] 错误 1
make[1]: Leaving directory `/home/wingame/d4x-2.5.0final'
make: *** [all] 错误 2
发表于 2005-5-7 11:03:35 | 显示全部楼层
似乎已经证明是个bug……
顺便问一下,按照置顶贴里说的,修改make.conf使补丁生效,但我的make.conf里没有PORTDIR_OVERLAY这一段,请问该怎么办?
回复 支持 反对

使用道具 举报

发表于 2005-5-7 18:55:15 | 显示全部楼层
难道没人知道怎么搞吗?
回复 支持 反对

使用道具 举报

发表于 2005-5-7 19:45:21 | 显示全部楼层
补丁还要算MD5,加到manifest里,置顶里也不说明一下,真是……
回复 支持 反对

使用道具 举报

发表于 2005-5-7 19:54:23 | 显示全部楼层
以前有过相同的帖子,关于 digest 的问题, 可以去 forums.gentoo.org 看, 或者自己 man ebuild
回复 支持 反对

使用道具 举报

发表于 2005-5-8 03:06:57 | 显示全部楼层
这是d4x在新的gnome里的函数重名的问题,需要修改d4x的代码。解决办法如下

先设置好PORTDIR_ORVERLAY。
比如在/etc/make.conf里加入一行,PORTDIR_OVERLAY="/usr/local/portage"

mkdir -p /usr/local/portage/net-misc/
cp -a /usr/portage/net-misc/d4x/ /usr/local/portage/net-misc

下载附件中的d4x-2.5.0-addD4X.patch.bz2,解压到/usr/local/portage/net-misc/d4x/files

修改/usr/local/portage/net-misc/d4x/d4x-2.5.0.ebuild
在函数src_unpack()后加一行“epatch ${FILESDIR}/${P}-addD4X.patch”


  1. ...
  2. src_unpack() {
  3.         unpack ${A}

  4.         epatch ${FILESDIR}/${P}-addD4X.patch

  5.         # Use our own $CXXFLAGS
  6.         cd ${S}
  7.         cp configure configure.orig
  8.         sed -e "s:CXXFLAGS="-O2":CXXFLAGS="${CXXFLAGS}":g;s:OPTFLAGS="-O2":OPTFLAGS="":g" \
  9.                 configure.orig >configure
  10. }
  11. ...
复制代码


ebuild /usr/local/portage/net-misc/d4x/d4x-2.5.0.ebuild digest

好了,现在应该可以编译了。
ACCPET_KEYWORDS="~x86" emerge net-misc/d4x 或ACCPET_KEYWORDS="~amd64" emerge net-misc/d4x

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

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

本版积分规则

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