在Mac OS 10.6.3上安装PyGTK依赖项时出错
我在Mac OS 10.6.3上尝试安装PyGTK 2.16.0(Python GIMP工具包)所需的依赖项,具体包括:
- glib 2.25.5
- gettext-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
?)
一位在论坛上发帖的作者遇到了同样的问题,他通过安装libiconv-1.13.1解决了这个问题。
有没有人能更详细地解释一下这个错误,以及如何纠正它?
4 个回答
0
因为我看到很多人说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更多的软件包。
我认为,如果你打算使用开源程序,选择一个好的软件包管理工具是非常重要的。
2
虽然这是个老问题,但我还是想分享一下对我有用的解决办法。
首先,找到‘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
接下来,把最后三行代码替换成这样:
#if defined(USE_LIBICONV_GNU) && !defined (_LIBICONV_H)
#error GNU libiconv in use but included iconv.h not from libiconv
#endif
#if !(defined(__APPLE__) && defined(__LP64__)) && !defined(USE_LIBICONV_GNU) && defined (_LIBICONV_H)
#error GNU libiconv not in use but included iconv.h is from libiconv
#endif
-1
在Mac电脑上,如果你想安装GTK+、PyGTK或者其他一些程序,可以下载MacPorts。
打开终端,输入 port search gtk
来搜索与GTK+相关的程序。记得要有网络连接哦。
输入 sudo port install gtk2
来安装GTK+2。MacPorts会自动找到并安装所需的其他软件。
输入 port installed
可以查看你通过MacPorts安装的程序。