在Mac OS 10.6.3上安装PyGTK依赖项时出错

2024-10-03 19:19:21 发布

您现在位置:Python中文网/ 问答频道 /正文

我尝试为Mac OS 10.6.3上的PyGTK 2.16.0(Python GIMP工具包)安装以下依赖项:

  • 油嘴滑舌2.25.5
  • 获取文本-0.18
  • libiconv-1.13.1

当我尝试安装glib时,收到以下错误消息:

gconvert.c:55:2: error: #error GNU libiconv not in use but included iconv.h is from libiconv

libiconv网页讨论了gettext和libiconv之间的循环依赖关系——构建一个,然后构建另一个,然后再次构建第一个。我试着这么做,虽然可能不正确。(以下操作是否有效:make distclean; ./configure; make; sudo make install?)在

一个posting的作者也有同样的问题,他通过安装libiconv-1.13.1解决了这个问题。在

有谁能更详细地解释一下这个错误,以及如何改正它?在


Tags: gnu文本消息make工具包osmac错误
3条回答

虽然这是个老问题,但还是想分享一下对我有用的解决方案。在

导航到“glib”文件夹(只有普通glib,主glib源文件夹中的glib),然后用您最喜欢的编辑器打开gconvert.c。在

#if defined(USE_LIBICONV_GNU) && !defined (_LIBICONV_H)
#error GNU libiconv in use but included iconv.h not from libiconv
#endif

#if !defined(USE_LIBICONV_GNU) && defined (_LIBICONV_H)
#error GNU libiconv not in use but included iconv.h is from libiconv
#endif

替换最后3行,如下所示:

^{pr2}$

资料来源: http://letsneverdie.net/blog/?p=75

因为我看到许多关于MacPorts包管理器不如Fink包管理器可靠的报告,我建议安装Fink,然后简单地

fink list pygtk  # Lists all pygtk packages
fink install pygtk2-gtk-py27  # This one, or the one that corresponds to your (Fink) Python

除此之外,Fink比MacPorts能让你访问更多的包。在

我认为,如果你打算使用开源程序,“投资”包管理器是必须的。在

出现错误消息的原因是,如果针对当前(约10.6.3)系统安装的OSX上的libiconv版本构建glib,则需要将--with libiconv=gnu传递到glib configure脚本。但是,这不是默认情况下由GTK-OSX构建脚本传递的。在

简单的解决方案是下载最新的libiconv(http://www.gnu.org/software/libiconv/#downloading),并将GTK安装位置作为安装前缀传递给配置,例如:

$ cd libiconv-1.13.1/
$ ./configure --prefix=/Users/jamie/gtk/inst/
$ make && make install

在这个版本的libiconv中,似乎不需要pas——使用libiconv=gnu进行glib配置,所以现在可以通过重新运行glib configure阶段继续GTK-OSX构建过程。在

相关问题 更多 >