私は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を使用する必要があると思うので、この警告について混乱しています。
また、[[Update]以下のコメントを参照[/ Update]N_
マクロが定義されていないため、多くの警告が出されました。
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ユーザーは、eautoreconf
関数を使用して ebuildで同じ動作を得ることができます。
AM_GNU_GETTEXT_VERSION
およびAM_GNU_GETTEXT_REQUIRE_VERSION
直後に自分でconfigure.ac
は警告を生成しますが、それ以外の場合は望ましい結果が得られるようです。
どんなOS?
おそらくあなたのシステムにはgettextシステムの全部または一部、つまり開発部分がありません。多くのディストリビューションでは、例えばDebian/Ubuntu、gettextは複数のパッケージに分かれています:gettext-base
およびgettext
。
gettext-base
パッケージは、多言語のプログラムを実行するためのものであり、gettext
には、ビルドに必要なパーツがあります。