configure.ac: tidak menggunakan gettext

13

Saya mencoba mengompilasi aplikasi gnome dan saya ingin tahu apa artinya output ketika saya menjalankan autogen.shskrip:

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

Mengapa saya mendapat info configure.ac: not using Gettext? Apakah itu peringatan dan haruskah saya mengubah beberapa file konfigurasi untuk memperbaikinya? Saya tahu aplikasi memiliki po/folder jadi saya pikir itu harus menggunakan Gettext, maka saya bingung dengan peringatan ini.

Saya juga punya banyak peringatan dengan N_makro tidak didefinisikan, jadi ini mungkin terkait? [Perbarui] Lihat komentar di bawah [/ Perbarui]

lanoxx
sumber
Masalah dengan makro N_ tidak didefinisikan adalah karena neccessary include (glib / gi18n.h) hilang. Ini sebelumnya telah disertakan dengan file include lain (gtk / gtk.h) tetapi telah dihapus dalam versi gtk + terbaru.
lanoxx

Jawaban:

1

Sepertinya Anda autogen.shmenelepon autoreconf.

Proyek mungkin menggunakan intltoolsebagai gantinya tetapi jika demikian autoreconfharus mengambil dan menelepon intltoolize. Jika pasti menggunakan GNU gettext maka ini dari autopointhalaman info sangat membantu:

Program 'autopoint' menyalin file infrastruktur gettext standar ke dalam paket sumber. Itu mengekstrak dari panggilan makro dari bentuk 'AM_GNU_GETTEXT_VERSION (VERSION)', ditemukan di file paket 'configure.in' atau 'configure.ac', versi gettext yang digunakan oleh paket, dan menyalin file infrastruktur milik versi ini. ke dalam paket.

Dan jika kita menulis AM_GNU_GETTEXT_VERSIONmaka autopointdipanggil dengan benar oleh autoreconf.

Untuk mengekstrak infrastruktur terbaru yang tersedia yang memenuhi persyaratan versi, maka Anda dapat menggunakan formulir 'AM_GNU_GETTEXT_REQUIRE_VERSION (VERSION)' sebagai gantinya. Misalnya, jika gettext 0.19.8 diinstal pada sistem Anda dan '0.19.1' diminta, maka file infrastruktur versi 0.19.8 akan disalin ke paket sumber.

Masalahnya hanya muncul ketika beralih ke versi makro ini, dan sementara itu melakukan apa yang dikatakannya pada kaleng itu tidak diketahui autoreconfdan kami melihat tambalan untuk dukungan .

Pengguna Gentoo bisa mendapatkan perilaku yang sama di ebuild dengan menggunakan eautoreconffungsi kami .

Menulis AM_GNU_GETTEXT_VERSIONdan AM_GNU_GETTEXT_REQUIRE_VERSIONsegera setelah itu di saya sendiri configure.acmenghasilkan peringatan tetapi sebaliknya muncul untuk menghasilkan hasil yang diinginkan.

arfbtwn
sumber
5

OS apa?

Kemungkinan sistem Anda tidak memiliki semua atau sebagian dari sistem gettext, yaitu bagian pengembangan. Dalam banyak distribusi, misalnya Debian / Ubuntu, gettext dipisahkan menjadi beberapa paket: gettext-basedan gettext.

The gettext-basepaket untuk menjalankan program-program yang multi-bahasa, sementara gettextmemiliki bagian yang diperlukan untuk membangun.

Andrew Schleifer
sumber
Saya berjalan di Ubuntu (11.10). Gettext diinstal tetapi tidak gettext-base.
lanoxx
Saya berurusan dengan menambal (melalui kode src + ./configure) sebuah platform buatan Fedora lama dengan lebih banyak kode, dan saya mengalami masalah ini. Menginstal gettext, dan konfigurasi ulang di autoconf / autogen / m4 sejauh ini belum membantu. Saya perhatikan bahwa pkg-config tidak berpikir getttext sudah diinstal. Tapi, saya perhatikan bahwa pkg-config pada sistem yang lebih modern juga tidak mencantumkan gettext, bahkan ketika gettext-base diinstal.
mcr