web-dev-qa-db-ja.com

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_マクロが定義されていないため、多くの警告が出されました。[[Update]以下のコメントを参照[/ Update]

13
lanoxx

autogen.shautoreconfを呼び出しています。

プロジェクトは代わりにintltoolを使用している可能性がありますが、そうであればautoreconfがそれを取得してintltoolizeを呼び出す必要があります。 GNU gettextを確実に使用している場合は、autopoint情報ページからの情報が役に立ちます。

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

そして、AM_GNU_GETTEXT_VERSIONその後、autopointautoreconfによって正しく呼び出されます。

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

この問題は、このバージョンのマクロに切り替えた場合にのみ発生します。これは、缶に書かれていることを実行している間はautoreconfに認識されず、 のパッチが表示されますサポート

Gentooユーザーは、eautoreconf関数を使用して ebuildで同じ動作を得ることができます。

AM_GNU_GETTEXT_VERSIONおよびAM_GNU_GETTEXT_REQUIRE_VERSION直後に自分でconfigure.acは警告を生成しますが、それ以外の場合は望ましい結果が得られるようです。

1
arfbtwn

どんなOS?

おそらくあなたのシステムにはgettextシステムの全部または一部、つまり開発部分がありません。多くのディストリビューションでは、例えばDebian/Ubuntu、gettextは複数のパッケージに分かれています:gettext-baseおよびgettext

gettext-baseパッケージは、多言語のプログラムを実行するためのものであり、gettextには、ビルドに必要なパーツがあります。

5