[OE-core] [PATCH] autotools.bbclass: Add functionality to force a clean of ${B} when reconfiguring (and ${S} != ${B})

McClintock Matthew-B29882 B29882 at freescale.com
Fri Sep 28 20:21:07 UTC 2012


On Fri, Sep 28, 2012 at 8:23 AM, Richard Purdie
<richard.purdie at linuxfoundation.org> wrote:
> On Wed, 2012-09-26 at 18:07 +0100, Phil Blundell wrote:
>> On Tue, 2012-09-11 at 15:22 +0100, Richard Purdie wrote:
>> > Unfortunately whilst rerunning configure and make against a project will mostly
>> > work there are situations where it does not correctly do the right thing.
>> >
>> > In particular, eglibc and gcc will fail out with errors where settings
>> > do not match a previously built configuration. It could be argued they are
>> > broken but the situation is what it is. There is the possibility of more subtle
>> > errors too.
>>
>> FWIW, I just encountered another instance of what appears to be a
>> similar problem (with this patch applied).  I had changed my CFLAGS to
>> work around a compiler problem and then just reran the build, which led
>> eventually to:
>>
>> ERROR: Function failed: do_siteconfig_gencache
>> (see ..../tmp-eglibc/work/mips32el-oe-linux/eglibc/2.16-r11.micro1
>> +svnr20393/temp/log.do_populate_sysroot.6005 for further information)
>> ERROR: Logfile of failure stored
>> in: ..../tmp-eglibc/work/mips32el-oe-linux/eglibc/2.16-r11.micro1
>> +svnr20393/temp/log.do_populate_sysroot.6005
>> Log data follows:
>> | DEBUG: Executing python function sstate_task_prefunc
>> [...]
>> | DEBUG: Executing shell function do_siteconfig_gencache
>> | configure: WARNING: unrecognized options: --disable-silent-rules,
>> --disable-dependency-tracking, --with-libtool-sysroot
>> | configure: loading cache eglibc_cache
>> | configure: error: `CFLAGS' has changed since the previous run:
>> | configure:   former value:  `...'
>> | configure:   current value: `...'
>> | configure: error: in
>> `/.../tmp-eglibc/work/mips32el-oe-linux/eglibc/2.16-r11.micro1
>> +svnr20393/site_config_cheetah':
>> | configure: error: changes in the environment can compromise the build
>> | configure: error: run `make distclean' and/or `rm eglibc_cache' and
>> start over
>> | DEBUG: Python function siteconfig_do_siteconfig finished
>> | DEBUG: Python function autotools_do_siteconfig finished
>> | DEBUG: Python function do_siteconfig finished
>> | DEBUG: Python function sstate_task_postfunc finished
>> ERROR: Task 30 (.../oe-core/meta/recipes-core/eglibc/eglibc_2.16.bb,
>> do_populate_sysroot) failed with exit code '1'
>
> I also ran into this and have posted a fix (to siteconfig.bbclass) which
> once applied let my build continue.

I've seen this now:

ERROR: Logfile of failure stored in:
/local/yocto/upstream/label/fedora17-64b/machine/beagleboard/poky/master/tmp/work/armv7a-vfp-neon-poky-linux-gnueabi/flex-2.5.35-r3/temp/log.do_configure.26311
Log data follows:
| DEBUG: Executing python function sysroot_cleansstate
| DEBUG: Removing manifest:
/local/yocto/upstream/label/fedora17-64b/machine/beagleboard/poky/master/tmp/sysroots/beagleboard/usr/include/FlexLexer.h
| DEBUG: Removing manifest:
/local/yocto/upstream/label/fedora17-64b/machine/beagleboard/poky/master/tmp/sysroots/beagleboard/usr/lib/libfl.a
| DEBUG: Removing manifest:
/local/yocto/upstream/label/fedora17-64b/machine/beagleboard/poky/master/tmp/sysroots/beagleboard/usr/lib/libfl_pic.a
| DEBUG: Removing manifest:
/local/yocto/upstream/label/fedora17-64b/machine/beagleboard/poky/master/tmp/sysroots/beagleboard/usr/include/
| DEBUG: Removing manifest:
/local/yocto/upstream/label/fedora17-64b/machine/beagleboard/poky/master/tmp/sysroots/beagleboard/usr/share/
| DEBUG: Removing manifest:
/local/yocto/upstream/label/fedora17-64b/machine/beagleboard/poky/master/tmp/sysroots/beagleboard/usr/lib/
| DEBUG: Removing manifest:
/local/yocto/upstream/label/fedora17-64b/machine/beagleboard/poky/master/tmp/sysroots/beagleboard/usr/
| DEBUG: Python function sysroot_cleansstate finished
| DEBUG: SITE files ['endian-little', 'bit-32', 'arm-common',
'common-linux', 'common-glibc', 'arm-linux', 'arm-linux-gnueabi',
'common']
| DEBUG: Executing shell function autotools_preconfigure
| DEBUG: Shell function autotools_preconfigure finished
| DEBUG: Executing shell function do_configure
| automake (GNU automake) 1.12.3
| Copyright (C) 2012 Free Software Foundation, Inc.
| License GPLv2+: GNU GPL version 2 or later
<http://gnu.org/licenses/gpl-2.0.html>
| This is free software: you are free to change and redistribute it.
| There is NO WARRANTY, to the extent permitted by law.
|
| Written by Tom Tromey <tromey at redhat.com>
|        and Alexandre Duret-Lutz <adl at gnu.org>.
| AUTOV is 1.12
| NOTE: Executing autoreconf --verbose --install --force
--exclude=autopoint -I
/local/yocto/upstream/label/fedora17-64b/machine/beagleboard/poky/master/tmp/work/armv7a-vfp-neon-poky-linux-gnueabi/flex-2.5.35-r3/flex-2.5.35/m4/
-I/local/yocto/upstream/label/fedora17-64b/machine/beagleboard/poky/master/tmp/sysroots/x86_64-linux/usr/share/aclocal-1.12
-I /local/yocto/upstream/label/fedora17-64b/machine/beagleboard/poky/master/tmp/work/armv7a-vfp-neon-poky-linux-gnueabi/flex-2.5.35-r3/flex-2.5.35/aclocal-copy/
| autoreconf: Entering directory `.'
| autoreconf: running: aclocal -I
/local/yocto/upstream/label/fedora17-64b/machine/beagleboard/poky/master/tmp/work/armv7a-vfp-neon-poky-linux-gnueabi/flex-2.5.35-r3/flex-2.5.35/m4/
-I /local/yocto/upstream/label/fedora17-64b/machine/beagleboard/poky/master/tmp/sysroots/x86_64-linux/usr/share/aclocal-1.12
-I /local/yocto/upstream/label/fedora17-64b/machine/beagleboard/poky/master/tmp/work/armv7a-vfp-neon-poky-linux-gnueabi/flex-2.5.35-r3/flex-2.5.35/aclocal-copy/
-I /local/yocto/upstream/label/fedora17-64b/machine/beagleboard/poky/master/tmp/work/armv7a-vfp-neon-poky-linux-gnueabi/flex-2.5.35-r3/flex-2.5.35/m4/
-I /local/yocto/upstream/label/fedora17-64b/machine/beagleboard/poky/master/tmp/sysroots/x86_64-linux/usr/share/aclocal-1.12
-I /local/yocto/upstream/label/fedora17-64b/machine/beagleboard/poky/master/tmp/work/armv7a-vfp-neon-poky-linux-gnueabi/flex-2.5.35-r3/flex-2.5.35/aclocal-copy/
--force -I m4
| aclocal: error: aclocal: file
'/local/yocto/upstream/label/fedora17-64b/machine/beagleboard/poky/master/tmp/sysroots/x86_64-linux/usr/share/aclocal/gconf-2.m4'
does not exist
| autoreconf: aclocal failed with exit status: 1
| ERROR: autoreconf execution failed.
| ERROR: Function failed: do_configure (see
/local/yocto/upstream/label/fedora17-64b/machine/beagleboard/poky/master/tmp/work/armv7a-vfp-neon-poky-linux-gnueabi/flex-2.5.35-r3/temp/log.do_configure.26311
for further information)

-M




More information about the Openembedded-core mailing list