安装 glib 时出现“您必须具有 gettext 支持”

安装 glib 时出现“您必须具有 gettext 支持”

我正在尝试安装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

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

(要设置的行gt_cv_have_gettext位于 8047 和 8323 之间。)所以,除非我遗漏了什么,否则看起来如果所有这三件事 - - ngettext,,- - 都存在(或成功,或其他),那么就会导致错误。dgettextbind_textdomain_codeset

那么我遗漏了什么?是否还有其他需要设置的选项,或者我的配置中还有其他错误?或者我在脚本中发现了错误configure?感谢您的帮助。我想在提交错误报告之前在这样的论坛上提问。

答案1

好的,我想我已经搞明白了。由于我正在“安装”我的目录下的所有内容,因此在运行之前home,我需要bin将该目录的子目录添加--prefix到我的目录中。这样就可以找到它,并且我认为可以解决错误。$PATHconfiguremsgfmt

相关内容