configure.ac:gettextを使用していません


13

私は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_マクロが定義されていないという警告がたくさん出ていたので、これは関連しているのでしょうか? [更新]以下のコメントを参照[/更新]


N_マクロが定義されていない問題は、必要なインクルード(glib / gi18n.h)が欠落していたためです。これは以前に別のインクルードファイル(gtk / gtk.h)に含まれていましたが、最新のgtk +バージョンでは削除されました。
lanoxx

回答:


1

あなたautogen.shが呼び出してautoreconfいるように見えます。

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

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

そして、書き込みを行うとAM_GNU_GETTEXT_VERSIONautopointによって正しく呼び出されautoreconfます。

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

このバージョンのマクロに切り替えたときにのみ問題が発生し、ブリキに書かれていることを実行している間は不明であり、サポート用autoreconfパッチが表示されます。

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

自分で書いAM_GNU_GETTEXT_VERSIONAM_GNU_GETTEXT_REQUIRE_VERSIONすぐにconfigure.ac警告を生成しますが、そうしないと希望する結果が得られるようです。


5

OS

お使いのシステムには、gettextシステムのすべてまたは一部、つまり開発部分がない可能性があります。Debian / Ubuntuなどの多くのディストリビューションでは、gettextは複数のパッケージに分割されます:gettext-baseおよびgettext

このgettext-baseパッケージは、多言語対応のプログラムを実行gettextするためのもので、ビルドに必要な部分が含まれています。


Ubuntu(11.10)で実行しています。gettextはインストールされますが、gettext-baseはインストールされません。
-lanoxx

私は(srcコード+ ./configureを使用して)古いFedoraビルドのプラットフォームにコードを追加してパッチを当てていますが、この問題に直面しています。gettextをインストールし、autoconf / autogen / m4のre-./configureがこれまでのところ役に立たなかった。pkg-configはgetttextがインストールされているとは思わないことに気付きました。しかし、最新のシステムのpkg-configは、gettext-baseがインストールされている場合でもgettextをリストしません。
mcr
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.