При установке glib вы должны иметь поддержку gettext.

Я пытаюсь установить glib-2.37.6 (также та же проблема с glib-2.32.1) и получить эту ошибку во время настройки:

Вы должны иметь либо поддержку gettext в вашей библиотеке C, либо использовать библиотеку 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, dgettext, bind_textdomain_codeset- присутствуют (или преуспевают, или что-то), тогда ошибка приведет.

Так чего мне не хватает? Есть ли какая-то другая опция, которую нужно установить, или что-то еще не так с моей конфигурацией? Или я нашел ошибку в configure скрипт? Спасибо за любую помощь. Я хотел бы спросить на форуме, как это, прежде чем отправлять его в виде сообщения об ошибке.

2 ответа

Решение

ОК, думаю, я понял это. Так как я "устанавливал" все в каталоге под моим домашним каталогом, мне нужно было добавить подкаталог "bin" --prefix каталог к ​​моему $PATH перед запуском configure, Это заставило его найти msgfmt и, я думаю, обошлось без ошибок.

Как добавить подкаталог "bin" каталога --prefix в мой $PATH перед запуском configure. Это заставило его найти msgfmt и, я думаю, обошло его.

Другие вопросы по тегам