[oe] [meta-oe][PATCH] gphoto2: fix gettext build error

Peter Bigot bigotp at acm.org
Sun Nov 25 18:03:23 UTC 2012


On Sun, Nov 25, 2012 at 11:46 AM, Andreas Müller <
schnitzeltony at googlemail.com> wrote:

> On Sun, Nov 25, 2012 at 3:19 PM, Peter Bigot <bigotp at acm.org> wrote:
> > Koen Kooi <koen <at> dominion.thruhere.net> writes:
> >
> >>
> >> Signed-off-by: Koen Kooi <koen <at> dominion.thruhere.net>
> >
> >> ---
> >>  .../recipes-graphics/gphoto2/libgphoto2_2.4.11.bb  |    3 +--
> >>  1 files changed, 1 insertions(+), 2 deletions(-)
> >>
> >> diff --git a/meta-oe/recipes-graphics/gphoto2/libgphoto2_2.4.11.bb
> > b/meta-oe/recipes-graphics/gphoto2/libgphoto2_2.4.11.bb
> >> index d7f6ac0..27f660b 100644
> >> --- a/meta-oe/recipes-graphics/gphoto2/libgphoto2_2.4.11.bb
> >> +++ b/meta-oe/recipes-graphics/gphoto2/libgphoto2_2.4.11.bb
> >> @@ -3,7 +3,7 @@ SECTION = "libs"
> >>  LICENSE = "LGPLv2.1"
> >>  LIC_FILES_CHKSUM =
> "file://COPYING;md5=0448d3676bc0de00406af227d341a4d1"
> >>
> >> -PR = "r3"
> >> +PR = "r4"
> >>
> >>  DEPENDS = "libtool jpeg virtual/libusb0 libexif"
> >>
> >> @@ -26,7 +26,6 @@ inherit autotools pkgconfig gettext lib_package
> >>  EXTRA_OECONF = " --with-drivers=all udevscriptdir=/lib/udev
> > ac_cv_lib_ltdl_lt_dlcaller_register=yes"
> >>
> >>  do_configure_append() {
> >> -    cp ${STAGING_DATADIR}/gettext/po/Makefile.in.in
> >> ${S}/libgphoto2_port/po/
> >>      cd ${S}/libgphoto2_port/
> >>      autoreconf -Wcross --verbose --install --force ${EXTRA_AUTORECONF}
> >> $acpaths
> >>      cd ${S}
> >
> > I was about to submit a similar patch reverting the original.  Here's
> what I
> > wrote up.
> >
> > Revert "libgphoto2: fix build"
> >
> > When using gettext-0.18's Makefile.in.in the elimination of
> AM_PO_SUBDIRS()
> > prevented the substitution of @GETTEXT_MACRO_VERSION at .  With the
> original
> > patch I get:
> >
> > | Making all in po
> > | make[4]: Entering directory
> >
> `/prj/oe/yocto-ang/build/tmp-angstrom_v2012_12-eglibc/work/armv7a-vfp-neon-angstrom-linux-gnueabi/libgphoto2-2.4.11-r3/libgphoto2-2.4.11/libgphoto2_port/po'
> > | *** error: gettext infrastructure mismatch: using a Makefile.in.infrom
> > gettext version 0.18 but the autoconf macros are from gettext version
> > @GETTEXT_MACRO_VERSION@
> >
> > autotools.bbclass does not unconditionally copy po/Makefile.in.in over
> the
> > original gettext-0.14 version.  Presumably the original patch could be
> fixed
> > by replicating the logic in autotools.bbclass that determines whether
> this
> > should be done.  Reverting it is a simpler solution that works in my
> > environment.
> >
> > This reverts commit 5febf70d37c7e9cf55fa7de5285531a810312e3a.
> >
> I tested this patch and get
>
> ERROR: Function failed: do_install (see
>
> /home/Superandy/tmp/oe-core-eglibc/work/armv7a-vfp-neon-angstrom-linux-gnueabi/libgphoto2/2.4.11-r4/temp/log.do_install.6873
> for further information)
> ERROR: Logfile of failure stored in:
>
> /home/Superandy/tmp/oe-core-eglibc/work/armv7a-vfp-neon-angstrom-linux-gnueabi/libgphoto2/2.4.11-r4/temp/log.do_install.6873
> Log data follows:
> | DEBUG: SITE files ['endian-little', 'bit-32', 'arm-common',
> 'common-linux', 'common-glibc', 'arm-linux', 'arm-linux-gnueabi',
> 'common']
> | DEBUG: Executing shell function do_install
> | NOTE: make -j20
>
> DESTDIR=/home/Superandy/tmp/oe-core-eglibc/work/armv7a-vfp-neon-angstrom-linux-gnueabi/libgphoto2/2.4.11-r4/image
> install
> | Making install in libgphoto2_port
> | make[1]: Entering directory
>
> `/home/Superandy/tmp/oe-core-eglibc/work/armv7a-vfp-neon-angstrom-linux-gnueabi/libgphoto2/2.4.11-r4/libgphoto2-2.4.11/libgphoto2_port'
> | Making install in po
> | make[2]: Entering directory
>
> `/home/Superandy/tmp/oe-core-eglibc/work/armv7a-vfp-neon-angstrom-linux-gnueabi/libgphoto2/2.4.11-r4/libgphoto2-2.4.11/libgphoto2_port/po'
> | /bin/sh @MKINSTALLDIRS@
>
> /home/Superandy/tmp/oe-core-eglibc/work/armv7a-vfp-neon-angstrom-linux-gnueabi/libgphoto2/2.4.11-r4/image/usr/share
> | /bin/sh: @MKINSTALLDIRS@: No such file or directory
> | make[2]: *** [install-data-yes] Error 127
> | make[2]: Leaving directory
>
> `/home/Superandy/tmp/oe-core-eglibc/work/armv7a-vfp-neon-angstrom-linux-gnueabi/libgphoto2/2.4.11-r4/libgphoto2-2.4.11/libgphoto2_port/po'
> | make[1]: *** [install-recursive] Error 1
> | make[1]: Leaving directory
>
> `/home/Superandy/tmp/oe-core-eglibc/work/armv7a-vfp-neon-angstrom-linux-gnueabi/libgphoto2/2.4.11-r4/libgphoto2-2.4.11/libgphoto2_port'
> | make: *** [install-recursive] Error 1
> | ERROR: oe_runmake failed
> | ERROR: Function failed: do_install (see
>
> /home/Superandy/tmp/oe-core-eglibc/work/armv7a-vfp-neon-angstrom-linux-gnueabi/libgphoto2/2.4.11-r4/temp/log.do_install.6873
> for further information)
> ERROR: Task 2
> (/home/Superandy/data/oe-core/sources/meta-openembedded/meta-oe/recipes-graphics/gphoto2/
> libgphoto2_2.4.11.bb,
> do_install) failed with exit code '1'
>
> Andreas
>

This makes some sense to me.  The proposed patch removes the unconditional
overwrite of po/Makefile.in.in, but left the removal of AC_PO_SUBDIRS().
It looks like your builds have something that causes autotools.bbclass to
rebuild the po directories (which I assume is why you needed the original
patch).  That doesn't happen in my build; I completely reverted your
original patch, because I didn't have any problems with the r2 version of
the recipe.

Dunno how to reconcile this.  Maybe figure out why autotools.bbclass
overwrites the top-level po/Makefile.in.in in your environment and making
the recipe extension do so only under the same conditions.

Peter



More information about the Openembedded-devel mailing list