Próbuję skompilować aplikację gnome i jestem ciekawy, co oznacza dane wyjściowe po uruchomieniu autogen.sh
skryptu:
~/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...]
Dlaczego otrzymuję informacje configure.ac: not using Gettext
? Czy to ostrzeżenie i czy powinienem zmienić niektóre pliki konfiguracyjne, aby to naprawić? Wiem, że aplikacja ma po/
folder, więc myślę, że powinna używać Gettext, dlatego jestem zdezorientowany tym ostrzeżeniem.
Miałem też wiele ostrzeżeń przy [Aktualizacja] Patrz komentarz poniżej [/ Aktualizacja]N_
braku definicji makra, więc może to być powiązane?
automake
autoreconf
lanoxx
źródło
źródło
Odpowiedzi:
Wygląda na
autogen.sh
to, że dzwoniszautoreconf
.Projekt może
intltool
zamiast tego używać, ale jeśli tak,autoreconf
powinien to odebrać i zadzwonićintltoolize
. Jeśli zdecydowanie używa GNU gettext,autopoint
pomocne jest to na stronie informacyjnej:A jeśli piszemy,
AM_GNU_GETTEXT_VERSION
toautopoint
jest poprawnie wywoływane przezautoreconf
.Problem pojawia się tylko po przejściu na tę wersję makra i chociaż robi to, co mówi na puszce, nie jest to znane
autoreconf
i widzimy łatkę do wsparcia .Użytkownicy Gentoo mogą uzyskać takie samo zachowanie w ebuildach, korzystając z naszej
eautoreconf
funkcji.Pisanie,
AM_GNU_GETTEXT_VERSION
aAM_GNU_GETTEXT_REQUIRE_VERSION
potem bezpośrednio po sobie,configure.ac
generuje ostrzeżenie, ale wydaje się, że przynosi pożądany rezultat.źródło
Jaki system operacyjny
Prawdopodobnie twój system nie ma całego lub części systemu gettext, a mianowicie części programistycznych. W wielu dystrybucjach, np. Debian / Ubuntu, gettext jest podzielony na wiele pakietów:
gettext-base
igettext
.gettext-base
Pakiet jest do uruchamiania programów, które są wielojęzyczne, natomiastgettext
posiada niezbędne elementy do budowy.źródło