web-dev-qa-db-fra.com

L'installation de glib donne "Vous devez avoir soit le support de gettext"

J'essaie d'installer glib-2.37.6 (le même problème avec glib-2.32.1) et j'obtiens cette erreur lors de la configuration:

Vous devez avoir soit le support de gettext dans votre bibliothèque C, soit utiliser la bibliothèque GNU gettext. ( http://www.gnu.org/software/gettext/gettext.html

J'ai précédemment construit gettext, cependant. Pour clarifier, j'essaie de construire un certain nombre de choses (menant à gtk+) sans installer réellement dans les endroits habituels, puisqu'il s'agit d'une machine utilisée par d'autres; J'utilise plutôt --prefix= pour tout mettre dans un répertoire de travail sous mon répertoire personnel.

J'ai essayé de regarder les journaux pour voir si je pouvais avoir un indice sur la nécessité de définir d'autres paramètres. J'ai aussi essayé de regarder le script configure, bien que je ne sois pas un expert en autoconf. Ce que j'ai trouvé, c'est que l'erreur s'est produite parce que gt_cv_have_gettext n'était pas défini sur yes. Alors j'ai alors cherché où il était censé être réglé, afin de pouvoir dire quel fichier ou quoi que ce soit qu'il cherchait. Mais à moins que quelque chose me manque, la seule commande permettant de la définir sur yes se trouve sous cette 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

Le config.log (en regardant les numéros de ligne configure) indique que la condition était fausse, de sorte que tout ce qu'il y a à l'intérieur (y compris la commande pour définir gt_cv_have_gettext) a été ignoré. Mais le test semble vérifier qu'aucune des trois choses ne manque. Et aucun d'entre eux sont; voici l'un des derniers segments de config.log juste avant l'erreur:

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

(La ligne qui définirait gt_cv_have_gettext se situe entre 8047 et 8323.) Donc, à moins que quelque chose me manque, il semble que ces trois choses --ngettext, dgettext, bind_textdomain_codeset-- sont présents (ou réussissent, ou quelque chose), alors une erreur se produira.

Alors qu'est-ce qui me manque? Existe-t-il une autre option à définir ou un autre problème avec ma configuration? Ou ai-je trouvé une erreur dans le script configure? Merci pour toute aide. Je voulais demander dans un forum comme celui-ci avant de le soumettre sous forme de rapport de bogue.

4
ajb

OK, je pense que je l'ai compris. Comme je "installais" tout ce qui se trouvait dans un répertoire de mon répertoire personnel, je devais ajouter le sous-répertoire "bin" du répertoire --prefix à mon $PATH avant de lancer configure. Cela a permis de trouver msgfmt et, je pense, de contourner l’erreur.

4
ajb