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

Richard Purdie richard.purdie at linuxfoundation.org
Fri Sep 28 13:23:08 UTC 2012


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.

Cheers,

Richard





More information about the Openembedded-core mailing list