configure.ac: ne pas utiliser gettext


13

J'essaie de compiler une application gnome et je suis curieux de savoir ce que signifie la sortie lorsque j'exécute le autogen.shscript:

~/Documents/Code/window-picker-applet $./autogen.sh
autoreconf: Entering directory `.'
autoreconf: configure.ac: not using Gettext
autoreconf: running: aclocal 
autoreconf: configure.ac: tracing
autoreconf: running: libtoolize --install --copy
libtoolize: Consider adding `-I m4' to ACLOCAL_AMFLAGS in Makefile.am.
autoreconf: running: /usr/bin/autoconf
autoreconf: running: /usr/bin/autoheader
autoreconf: running: automake --add-missing --copy --no-force
data/Makefile.am:11: `%'-style pattern rules are a GNU make extension
data/Makefile.am:11: wildcard $(top_srcdir: non-POSIX variable name
data/Makefile.am:11: (probably a GNU make extension)
autoreconf: Leaving directory `.'
[Output trunkated...]

Pourquoi reçois-je l'information configure.ac: not using Gettext? Est-ce un avertissement et dois-je modifier certains des fichiers de configuration pour y remédier? Je sais que l'application a un po/dossier, donc je pense qu'elle devrait utiliser Gettext, donc je suis confus à propos de cet avertissement.

J'ai également eu beaucoup d'avertissements avec la N_macro non définie, donc cela pourrait être lié? [Mettre à jour] Voir le commentaire ci-dessous [/ Mettre à jour]


Le problème avec les macros N_ non définies était dû au fait que l'inclusion nécessaire (glib / gi18n.h) était manquante. Cela avait déjà été inclus dans un autre fichier include (gtk / gtk.h) mais il a été supprimé dans la dernière version de gtk +.
lanoxx

Réponses:


1

On dirait que votre autogen.shappelle autoreconf.

Le projet peut utiliser à la intltoolplace, mais si c'est le autoreconfcas, prenez cela et appelez intltoolize. S'il utilise définitivement GNU gettext, cela à partir de la autopointpage d'informations est utile:

Le programme 'autopoint' copie les fichiers d'infrastructure gettext standard dans un paquet source. Il extrait d'un appel de macro de la forme 'AM_GNU_GETTEXT_VERSION (VERSION)', trouvé dans le fichier 'configure.in' ou 'configure.ac' du package, la version gettext utilisée par le package, et copie les fichiers d'infrastructure appartenant à cette version dans le paquet.

Et si nous écrivons, AM_GNU_GETTEXT_VERSIONalors autopointest correctement invoqué par autoreconf.

Pour extraire la dernière infrastructure disponible qui satisfait une exigence de version, vous pouvez utiliser le formulaire 'AM_GNU_GETTEXT_REQUIRE_VERSION (VERSION)' à la place. Par exemple, si gettext 0.19.8 est installé sur votre système et que '0.19.1' est demandé, alors les fichiers d'infrastructure de la version 0.19.8 seront copiés dans un paquet source.

Le problème n'apparaît que lors du passage à cette version de la macro, et bien qu'il fasse ce qu'il dit sur l'étain, il n'est pas connu autoreconfet nous voyons un correctif pour le support .

Les utilisateurs de Gentoo peuvent obtenir le même comportement dans les ebuilds en utilisant notre eautoreconffonction.

Écrire AM_GNU_GETTEXT_VERSIONet AM_GNU_GETTEXT_REQUIRE_VERSIONimmédiatement après dans le mien configure.acgénère un avertissement, mais semble donner le résultat souhaité.


5

Quel OS?

Votre système n'a probablement pas tout ou partie du système gettext, à savoir les parties de développement. Dans de nombreuses distributions, par exemple Debian / Ubuntu, gettext est séparé en plusieurs packages: gettext-baseet gettext.

Le gettext-basepackage est destiné à l'exécution de programmes multilingues, tout en gettextayant les parties nécessaires à la construction.


Je cours sur Ubuntu (11.10). Gettext est installé mais pas gettext-base.
lanoxx

J'ai affaire à des correctifs (via le code src + ./configure) d'une ancienne plate-forme construite par Fedora avec plus de code, et je rencontre ce problème. L'installation de gettext, et le re./configure sur autoconf / autogen / m4 n'a pas aidé jusqu'à présent. Je remarque que pkg-config ne pense pas que getttext soit installé. Mais, je remarque que pkg-config sur les systèmes plus modernes ne répertorie pas non plus gettext, même lorsque gettext-base est installé.
mcr
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.