我正在尝试安装glib-2.37.6(也有同样的问题glib-2.32.1)并在配置过程中收到此错误:
您必须在 C 库中具有 gettext 支持,或者使用 GNU gettext 库。( http://www.gnu.org/software/gettext/gettext.html
不过,我以前构建过gettext。澄清一下,我正在尝试构建一些东西(导致gtk+),而没有在通常的地方实际安装,因为这是其他人使用的机器;相反,我使用--prefix=将所有内容放在我的主目录下的工作目录中。
我试着查看日志,看看我是否能得到关于是否需要设置其他任何东西的线索。我也尝试查看configure脚本,尽管我不是autoconf. 我发现发生错误是因为gt_cv_have_gettext没有设置为yes. 然后我寻找它应该在哪里设置,以便我可以知道它正在检查什么文件或任何内容。但是,除非我遗漏了某些东西,否则将其设置为的唯一命令就yes在此之下if:
if test "$gt_cv_func_dgettext_libc" != "yes" \
|| test "$gt_cv_func_ngettext_libc" != "yes" \
|| test "$ac_cv_func_bind_textdomain_codeset" != "yes" ; then
Run Code Online (Sandbox Code Playgroud)
的config.log(看configure行号)表示该条件是假的,所以里面的一切(包括指令集gt_cv_have_gettext)被跳过。但是该测试似乎检查了三件事中没有任何一件遗漏。他们都不是;这是config.log错误发生前的最后一段:
configure:7982: checking for ngettext in libc
configure:8000: gcc -o conftest -g -O2 conftest.c >&5
configure:8000: $? = 0
configure:8009: result: yes
configure:8013: checking for dgettext in libc
configure:8031: gcc -o conftest -g -O2 conftest.c >&5
configure:8031: $? = 0
configure:8040: result: yes
configure:8047: checking for bind_textdomain_codeset
configure:8047: gcc -o conftest -g -O2 conftest.c >&5
configure:8047: $? = 0
configure:8047: result: yes
configure:8323: checking for msgfmt
Run Code Online (Sandbox Code Playgroud)
(设置的行在gt_cv_have_gettext8047 和 8323 之间。)所以除非我遗漏了一些东西,否则看起来好像所有这三个东西 - ngettext, dgettext, --bind_textdomain_codeset都存在(或成功或其他东西),然后是错误将导致。
那么我错过了什么?是否有其他选项需要设置,或者我的配置有其他问题?还是我在configure脚本中发现了错误?谢谢你的帮助。在将其作为错误报告提交之前,我想在这样的论坛中提问。
好吧,我想我已经明白了。由于我是在我的目录下的目录中“安装”所有内容home,因此我需要在运行之前将该目录bin的子目录添加--prefix到我的. 这让它找到了,并且我认为,它解决了错误。$PATHconfiguremsgfmt
| 归档时间: |
|
| 查看次数: |
9072 次 |
| 最近记录: |