[oe] Question regarding gettext 0.18

Andreas Mueller schnitzeltony at gmx.de
Wed Jan 26 22:27:31 UTC 2011


On Tuesday 25 January 2011 08:41:20 Koen Kooi wrote:
> On 24-01-11 23:22, Andreas Mueller wrote:
> > Dear OE folks,
> >
> > during working on new recipes for clutter 1.4.2 I face the following issue:
> >
> > Compiling fails with the message
> >
> >> Making all in po
> >> make[2]: Entering directory `/home/Superandi/tmp/work/overo-angstrom-linux-gnueabi/clutter-1.4.2-r3.0/clutter-1.4.2/po'
> >> *** error: gettext infrastructure mismatch: using a Makefile.in.in from gettext version 0.17 but the autoconf macros are from gettext version 0.18
> >> make[2]: *** [check-macro-version] Error 1
> >> make[2]: Leaving directory `/home/Superandi/tmp/work/overo-angstrom-linux-gnueabi/clutter-1.4.2-r3.0/clutter-1.4.2/po'
> >> make[1]: *** [all-recursive] Error 1
> >> make[1]: Leaving directory `/home/Superandi/tmp/work/overo-angstrom-linux-gnueabi/clutter-1.4.2-r3.0/clutter-1.4.2'
> >> make: *** [all] Error 2
> >> FATAL: oe_runmake failed
> >> ERROR: Function do_compile failed
> >
> > I checked google & git-log for a hint on that - nothing (yet).
> >
> > It smells as a simple solution - but I am not able to find it. Can somebody please give me a hint how to solve?
> 
> I use this in gstreamer:
> 
> # gstreamer uses AG_GST_GETTEXT which autotools.bbclass doesn't grep for
> do_configure_prepend() {
>     glib-gettextize --force --copy || true
> }
> 

Thanks for  quick & helpful response. But...

I did the same modification for clutter-recipe. With this compiling passes but install fails with

| Making install in po
| make[1]: Entering directory `/home/Superandi/tmp/work/overo-angstrom-linux-gnueabi/clutter-1.4.2-r3.0/clutter-1.4.2/po'
| if test -r "../@MKINSTALLDIRS@"; then \
| 	  ../@MKINSTALLDIRS@ /home/Superandi/tmp/work/overo-angstrom-linux-gnueabi/clutter-1.4.2-r3.0/image/usr/share; \
| 	else \
| 	  /bin/sh ../mkinstalldirs /home/Superandi/tmp/work/overo-angstrom-linux-gnueabi/clutter-1.4.2-r3.0/image/usr/share; \
| 	fi
| /bin/sh: ../mkinstalldirs: No such file or directory
| make[1]: *** [install-data-yes] Error 127
| make[1]: Leaving directory `/home/Superandi/tmp/work/overo-angstrom-linux-gnueabi/clutter-1.4.2-r3.0/clutter-1.4.2/po'
| make: *** [install-recursive] Error 1
| FATAL: oe_runmake failed
| ERROR: Function do_install failed

A complete different layout in 'po/Makefile.in.in' lead me to the fact that clutter has changed from glib-gettext to upstream gettext (see 
http://git.clutter-project.org/clutter/commit/?id=98cac30d82299b3739f3801f71b5e2e931eb2e8d). 

So I modified the recipe to

do_configure_prepend() {
	gettextize --force || true

Unfortunately with this configure does not finish because gettextize is so kind to tell me that I have to

| Please run 'aclocal -I build/autotools' to regenerate the aclocal.m4 file.
| You need aclocal from GNU automake 1.9 (or newer) to do this.
| Then run 'autoconf' to regenerate the configure file.
|
| You might also want to copy the convenience header file gettext.h
| from the /home/Superandi/tmp/sysroots/i686-linux/usr/share/gettext directory into your package.
| It is a wrapper around <libintl.h> that implements the configure --disable-nls
| option.
|
| Press Return to acknowledge the previous two paragraphs.

I see the following options to continue (hoping on better results with upstream gettextize...):

- gettextize has a 'secret' parameter preventing interaction (I checked doc / --help / the script itself: nothing) 
- patching or sed-ing gettextize-native: so that 'read dummy < /dev/tty' is removed at the end of gettextize script (preferred)
- something like ti-eula-unpack.inc simulating user interaction

Sorry for spamming but what do you think?

Andreas




More information about the Openembedded-devel mailing list