configure.ac:gettextを使用しないでください

configure.ac:gettextを使用しないでください

gnomeアプリケーションをコンパイルしようとしていますが、スクリプトを実行するときに出力が何を意味するのか疑問に思いますautogen.sh

~/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...]

私がこの情報を得る理由は何ですかconfigure.ac: not using Gettext?これは警告ですか?この問題を解決するには、一部の構成ファイルを変更する必要がありますか?アプリケーションにpo/フォルダがあることがわかっているため、Gettextを使用する必要があると仮定しているため、この警告は混乱します。

また、定義されていないマクロ警告が多く表示されますがN_、これが関連しているのでしょうか? 【書き直す】以下のコメントを参照してください[/直す]

答え1

どのオペレーティングシステム?

あなたのシステムには、開発部分であるgettextシステムの全部または一部がない場合があります。 Debian / Ubuntuなどの多くのディストリビューションでは、gettextは複数のパッケージに分かれていますgettext-basegettext

このgettext-baseパッケージは、多言語プログラムgettextを構築するために必要な部分を備えながら実行するために使用されます。

答え2

autogen.sh通話中のようですautoreconf

プロジェクトでこれを使用している可能性がありますがintltool、その場合はautoreconf選択して呼び出す必要がありますintltoolize。 GNU gettextを使用している場合は、autopoint情報ページの次の内容が役に立ちます。

"autopoint"プログラムは標準のgettextインフラストラクチャファイルをソースパッケージにコピーします。パッケージの "configure.in" または "configure.ac" ファイルにある "AM_GNU_GETTEXT_VERSION(VERSION)" 形式のマクロ呼び出しからパッケージが使用する gettext バージョンを抽出し、そのバージョンに属するインフラストラクチャファイルをパッケージ 。

書いたらAM_GNU_GETTEXT_VERSION正しくautopoint呼び出されますautoreconf

バージョン要件を満たす最新の利用可能なインフラストラクチャを抽出するには、「AM_GNU_GETTEXT_REQUIRE_VERSION(VERSION)」形式を使用できます。たとえば、システムに gettext 0.19.8 がインストールされていて「0.19.1」を要求すると、バージョン 0.19.8 のインフラストラクチャファイルがソースパッケージにコピーされます。

問題は、このバージョンのマクロに切り替えたときにのみ発生し、コメントに示されているように実行されている間はわかりませんautoreconfサポートパッチ

Gentooユーザーは、次のようにしてebuildで同じ動作を取得できます。私たちの機能を使用してくださいeautoreconf

私が自分で書いた直後に警告が生成されますが、AM_GNU_GETTEXT_VERSIONそうでなければ予想される結果が生成されるようです。AM_GNU_GETTEXT_REQUIRE_VERSIONconfigure.ac

関連情報