configure.ac: gettext kullanma


13

Bir gnome uygulaması derlemeye çalışıyorum ve autogen.shkomut dosyası çalıştırdığınızda çıktı ne anlama geldiğini merak ediyorum :

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

Neden bilgi alıyorum configure.ac: not using Gettext? Bu bir uyarı mı ve düzeltmek için bazı yapılandırma dosyalarını değiştirmeli miyim? Uygulamanın bir po/klasörü olduğunu biliyorum, bu yüzden Gettext kullanıyor olması gerektiğini düşünüyorum, bu yüzden bu uyarı hakkında kafam karıştı.

Ayrıca N_makro tanımlanmayan bir sürü uyarı vardı , bu yüzden bu ilgili olabilir? [Güncelleme] Aşağıdaki yoruma bakın [/ Güncelle]


N_ makrolarının tanımlanmadığı sorun, gerekli olan içerme (glib / gi18n.h) eksik olmasıydı. Bu daha önce başka bir içerme dosyasına (gtk / gtk.h) dahil edilmişti, ancak en son gtk + sürümünde kaldırıldı.
lanoxx

Yanıtlar:


1

Görünüşe göre senin autogen.shçağırıyor autoreconf.

Proje intltoolbunun yerine kullanıyor olabilir ama eğer öyleyse autoreconfbunu alıp çağırmalısınız intltoolize. Kesinlikle GNU gettext kullanıyorsa, autopointbilgi sayfasındaki bu yardımcı olur:

'Otomatik nokta' programı standart gettext altyapı dosyalarını bir kaynak pakete kopyalar. Paketin 'configure.in' veya 'configure.ac' dosyasında, paket tarafından kullanılan gettext sürümünde bulunan 'AM_GNU_GETTEXT_VERSION (VERSION)' biçimindeki makro çağrısından ayıklar ve bu sürüme ait altyapı dosyalarını kopyalar pakete.

Biz yazarsanız Ve AM_GNU_GETTEXT_VERSIONsonra autopointdoğru tarafından çağrılır autoreconf.

Bir sürüm gereksinimini karşılayan en son kullanılabilir altyapıyı ayıklamak için bunun yerine 'AM_GNU_GETTEXT_REQUIRE_VERSION (VERSION)' formunu kullanabilirsiniz. Örneğin, sisteminize gettext 0.19.8 yüklüyse ve '0.19.1' istenirse, 0.19.8 sürümünün altyapı dosyaları bir kaynak pakete kopyalanır.

Sorun yalnızca makronun bu sürümüne geçerken ortaya çıkar ve teneke üzerinde söylediklerini yaparken bilinmemektedir autoreconfve destek için bir yama görüyoruz .

Gentoo kullanıcıları fonksiyonumuzu kullanarak ebuild'lerde aynı davranışı elde edebilirler .eautoreconf

Yazma AM_GNU_GETTEXT_VERSIONve AM_GNU_GETTEXT_REQUIRE_VERSIONhemen ardından kendi içinde configure.acbaşka türlü bir uyarı oluşturur ancak istenilen sonucu elde etmek için görünür.


5

Hangi işletim sistemi?

Muhtemelen sisteminizde gettext sisteminin tamamı veya bir kısmı, yani geliştirme bölümleri yoktur. Debian / Ubuntu gibi birçok dağıtımda gettext birden fazla pakete ayrılmıştır: gettext-baseve gettext.

gettext-baseİse paket, çok dilli olan programların çalıştırılması içindir gettextoluşturmak için gerekli bölümden oluşur.


Ubuntu (11.10) üzerinde koşuyorum. Gettext yüklüdür ancak gettext-base değildir.
lanoxx

(Src kodu + ./configure aracılığıyla) daha fazla kod ile eski bir Fedora inşa edilmiş platform yama ile uğraşıyorum ve bu sorunla karşılaşıyorum. Gettext ve autoconf / autogen / m4 üzerinde re-./configure kurulumu henüz yardımcı olmamıştır. Pkg-config'in getttext'in kurulu olduğunu düşünmediğini fark ettim. Ancak, daha modern sistemlerde pkg-config'in gettext-base kurulu olsa bile gettext'i listelemediğini fark ettim.
mcr
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.