Skip to contentSkip to conversation

autotools.bbclass: Add functionality to force a clean of ${B} when reconfiguring (and ${S} != ${B})

PATCH In review Richard Purdie 6 participants 13 messages Sep 11, 2012 – Sep 29, 2012

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 autotools.bbclass: Add functionality to force a clean of ${B} when reconfiguring (and ${S} != ${B})

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.

This patch adds removal of the build directory (${B}) when configure is rerunning, the sstate checksum for do_configure has changed and ${S} != ${B}. We could simply use a stamp but saving out the previous configuration checksum adds some data at no real overhead.

If we find there are things where we want to disable this behaviour with CONFIGURESTAMPFILE = "" in the recipe, or users could disable it globally.

[YOCTO #2774]
[YOCTO #2848]

This is particularly helpful for eglibc and gcc which use split builds by default and are a particular source of reconfigure type problems.

---

meta/classes/autotools.bbclass +21 -0
index 4c4bf87..a5997c5 100644
@@ -89,6 +89,27 @@ oe_runconf () {
 
 AUTOTOOLS_AUXDIR ?= "${S}"
 
+CONFIGURESTAMPFILE = "${WORKDIR}/configure.sstate"
+
+autotools_preconfigure() {
+	if [ -n "${CONFIGURESTAMPFILE}" -a -e "${CONFIGURESTAMPFILE}" ]; then
+		if [ "`cat ${CONFIGURESTAMPFILE}`" != "${BB_TASKHASH}" -a "${S}" != "${B}" ]; then
+			echo "Previously configured separate build directory detected, cleaning ${B}"
+			rm -rf ${B}
+			mkdir ${B}
+		fi
+	fi
+}
+
+autotools_postconfigure(){
+	if [ -n "${CONFIGURESTAMPFILE}" ]; then
+		echo ${BB_TASKHASH} > ${CONFIGURESTAMPFILE}
+	fi
+}
+
+do_configure[prefuncs] += "autotools_preconfigure"
+do_configure[postfuncs] += "autotools_postconfigure"
+
 autotools_do_configure() {
 	case ${PN} in
 	autoconf*)
#1 lore raw
Quoted 16 lines · Richard Purdie

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.

This patch adds removal of the build directory (${B}) when configure is rerunning, the sstate checksum for do_configure has changed and ${S} != ${B}. We could simply use a stamp but saving out the previous configuration checksum adds some data at no real overhead.

If we find there are things where we want to disable this behaviour with CONFIGURESTAMPFILE = "" in the recipe, or users could disable it globally.

Quoted 7 lines

[YOCTO #2774]
[YOCTO #2848]

This is particularly helpful for eglibc and gcc which use split builds by default and are a particular source of reconfigure type problems.

Is it feasible to back port this to denzil? I've encountered what I think are similar issues reconfiguring gcc for example.

-M

Quoted 40 lines

---

meta/classes/autotools.bbclass +21 -0
index 4c4bf87..a5997c5 100644
@@ -89,6 +89,27 @@ oe_runconf () {
 
 AUTOTOOLS_AUXDIR ?= "${S}"
 
+CONFIGURESTAMPFILE = "${WORKDIR}/configure.sstate"
+
+autotools_preconfigure() {
+       if [ -n "${CONFIGURESTAMPFILE}" -a -e "${CONFIGURESTAMPFILE}" ]; then
+               if [ "`cat ${CONFIGURESTAMPFILE}`" != "${BB_TASKHASH}" -a "${S}" != "${B}" ]; then
+                       echo "Previously configured separate build directory detected, cleaning ${B}"
+                       rm -rf ${B}
+                       mkdir ${B}
+               fi
+       fi
+}
+
+autotools_postconfigure(){
+       if [ -n "${CONFIGURESTAMPFILE}" ]; then
+               echo ${BB_TASKHASH} > ${CONFIGURESTAMPFILE}
+       fi
+}
+
+do_configure[prefuncs] += "autotools_preconfigure"
+do_configure[postfuncs] += "autotools_postconfigure"
+
 autotools_do_configure() {
        case ${PN} in
        autoconf*)

_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core

#2 lore raw
Quoted 21 lines · On Tue, 2012-09-11 at 19:01 +0000, McClintock Matthew-B29882 wrote:
Quoted 19 lines · Richard Purdie

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.

This patch adds removal of the build directory (${B}) when configure is rerunning, the sstate checksum for do_configure has changed and ${S} != ${B}. We could simply use a stamp but saving out the previous configuration checksum adds some data at no real overhead.

If we find there are things where we want to disable this behaviour with CONFIGURESTAMPFILE = "" in the recipe, or users could disable it globally.

[YOCTO #2774]
[YOCTO #2848]

Quoted 7 lines
Quoted 4 lines

This is particularly helpful for eglibc and gcc which use split builds by default and are a particular source of reconfigure type problems.

Is it feasible to back port this to denzil? I've encountered what I think are similar issues reconfiguring gcc for example.

One of the bugs above is open against denzil and the issue certainly exists there. The patch should apply equally well there.

I'd suggest we let this settle in master for a week or two and then add it to the backport queue if no problems arise.

Cc'ing Scott so he's aware of this.

Cheers,

Richard

#3 lore raw
Quoted 30 lines · Richard Purdie
Quoted 21 lines · On Tue, 2012-09-11 at 19:01 +0000, McClintock Matthew-B29882 wrote:
Quoted 19 lines · Richard Purdie

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.

This patch adds removal of the build directory (${B}) when configure is rerunning, the sstate checksum for do_configure has changed and ${S} != ${B}. We could simply use a stamp but saving out the previous configuration checksum adds some data at no real overhead.

If we find there are things where we want to disable this behaviour with CONFIGURESTAMPFILE = "" in the recipe, or users could disable it globally.

[YOCTO #2774]
[YOCTO #2848]

Quoted 7 lines
Quoted 4 lines

This is particularly helpful for eglibc and gcc which use split builds by default and are a particular source of reconfigure type problems.

Is it feasible to back port this to denzil? I've encountered what I think are similar issues reconfiguring gcc for example.

Quoted 7 lines

One of the bugs above is open against denzil and the issue certainly exists there. The patch should apply equally well there.

I'd suggest we let this settle in master for a week or two and then add it to the backport queue if no problems arise.

Cc'ing Scott so he's aware of this.

I've added this to my denzil branch and will start doing build testing.

http://git.yoctoproject.org/cgit/cgit.cgi/poky-contrib/log/?h=mattsm/denzil

-M

Quoted 11 lines

Cheers,

Richard

_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core

#4 lore raw
Quoted 35 lines · On 09/12/2012 10:47 AM, McClintock Matthew-B29882 wrote:
Quoted 33 lines · Richard Purdie
Quoted 21 lines · On Tue, 2012-09-11 at 19:01 +0000, McClintock Matthew-B29882 wrote:
Quoted 19 lines · Richard Purdie

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.

This patch adds removal of the build directory (${B}) when configure is rerunning, the sstate checksum for do_configure has changed and ${S} != ${B}. We could simply use a stamp but saving out the previous configuration checksum adds some data at no real overhead.

If we find there are things where we want to disable this behaviour with CONFIGURESTAMPFILE = "" in the recipe, or users could disable it globally.

[YOCTO #2774]
[YOCTO #2848]

Quoted 7 lines
Quoted 4 lines

This is particularly helpful for eglibc and gcc which use split builds by default and are a particular source of reconfigure type problems.

Is it feasible to back port this to denzil? I've encountered what I think are similar issues reconfiguring gcc for example.

One of the bugs above is open against denzil and the issue certainly exists there. The patch should apply equally well there.

Quoted 8 lines
Quoted 4 lines

I'd suggest we let this settle in master for a week or two and then add it to the backport queue if no problems arise.

Cc'ing Scott so he's aware of this.

I've added this to my denzil branch and will start doing build testing.

http://git.yoctoproject.org/cgit/cgit.cgi/poky-contrib/log/?h=mattsm/denzil

I'll be returning from travel tomorrow and hope to catch up with my denzil backlog, and queue up a new build on the autobuilder.

Scott

Signature · 3 lines
Scott Garman
Embedded Linux Engineer - Yocto Project
Intel Open Source Technology Center
#5 lore raw
In reply to Richard Purdie
Quoted 7 lines · Richard Purdie

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'

p.

#6 lore raw
Quoted 36 lines · Phil Blundell
Quoted 7 lines · Richard Purdie

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

Quoted 6 lines
| 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'll add another. I've seen this:

| DEBUG: Executing python function do_siteconfig
| DEBUG: Executing python function autotools_do_siteconfig
| DEBUG: Executing python function siteconfig_do_siteconfig
| DEBUG: Executing shell function do_siteconfig_gencache
| configure: WARNING: unrecognized options: --disable-silent-rules,
--disable-dependency-tracking, --with-libtool-sysroot
| configure: loading cache ncurses_cache
| configure: error: `CC' has changed since the previous run:
| configure:   former value:  `arm-poky-linux-gnueabi-gcc

-march=armv7-a -fno-tree-vectorize -mthumb-interwork
-mfloat-abi=softfp -mfpu=neon -mtune=cortex-a8 --sysroot=/local/yocto/upstream/label/fedora17-64b/machine/beagleboard/poky/master/tmp/sysroots/beagleboard'
| configure: current value: `arm-poky-linux-gnueabi-gcc
-march=armv7-a -mthumb-interwork -mfloat-abi=softfp -mfpu=neon
-mtune=cortex-a8
--sysroot=/local/yocto/upstream/label/fedora17-64b/machine/beagleboard/poky/master/tmp/sysroots/beagleboard'
| configure: error: `CPP' has changed since the previous run:
| configure: former value: `arm-poky-linux-gnueabi-gcc -E
--sysroot=/local/yocto/upstream/label/fedora17-64b/machine/beagleboard/poky/master/tmp/sysroots/beagleboard
-march=armv7-a -fno-tree-vectorize -mthumb-interwork
-mfloat-abi=softfp -mfpu=neon -mtune=cortex-a8'
| configure: current value: `arm-poky-linux-gnueabi-gcc -E
--sysroot=/local/yocto/upstream/label/fedora17-64b/machine/beagleboard/poky/master/tmp/sysroots/beagleboard
-march=armv7-a -mthumb-interwork -mfloat-abi=softfp -mfpu=neon
-mtune=cortex-a8'
| configure: error: in `/local/yocto/upstream/label/fedora17-64b/machine/beagleboard/poky/master/tmp/work/armv7a-vfp-neon-poky-linux-gnueabi/ncurses-5.9-r10.1/site_config_beagleboard':
| configure: error: changes in the environment can compromise the build
| configure: error: run make distclean' and/or rm ncurses_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: Function failed: do_siteconfig_gencache (see

/local/yocto/upstream/label/fedora17-64b/machine/beagleboard/poky/master/tmp/work/armv7a-vfp-neon-poky-linux-gnueabi/ncurses-5.9-r10.1/temp/log.do_populate_sysroot.30243 for further information)
NOTE: recipe ncurses-5.9-r10.1: task do_populate_sysroot: Failed

-M

Quoted 9 lines

p.

_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core

#7 lore raw
In reply to Phil Blundell
Quoted 36 lines · Phil Blundell
Quoted 7 lines · Richard Purdie

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

Quoted 6 lines
| 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

#8 lore raw
Quoted 38 lines · Richard Purdie
Quoted 37 lines · Phil Blundell
Quoted 7 lines · Richard Purdie

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

Quoted 8 lines
Quoted 5 lines
| 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 <[email protected]>
|        and Alexandre Duret-Lutz <[email protected]>.
| 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

#9 lore raw
Quoted 54 lines · On Fri, 2012-09-28 at 20:21 +0000, McClintock Matthew-B29882 wrote:

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 <[email protected]>
|        and Alexandre Duret-Lutz <[email protected]>.
| 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/

(quoted diff) +0 -2
-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/

(quoted diff) +0 -6
-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

Quoted 5 lines
| 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)

Totally unrelated, likely a transient race we're meant to have fixed but don't seem to have done so :/

The supposed fix was:
http://git.yoctoproject.org/cgit.cgi/poky/commit/?id=a92ff3ad4212f8966bbd3f6defcb112737d81cda

Cheers,

Richard

#11 lore raw
Quoted 8 lines · Ross Burton
Quoted 5 lines · Richard Purdie

Totally unrelated, likely a transient race we're meant to have fixed but don't seem to have done so :/

The supposed fix was:
http://git.yoctoproject.org/cgit.cgi/poky/commit/?id=a92ff3ad4212f8966bbd3f6defcb112737d81cda

FWIW, I saw this yesterday too. :/

me too, few times over last week.

Removing WORKDIR completely before running -c cleansstate as work around..

Cheers,

Signature · 1 line
Martin 'JaMa' Jansa     jabber: [email protected]
#12 lore raw
Quoted 8 lines · Martin Jansa
Quoted 7 lines · Ross Burton
Quoted 5 lines · Richard Purdie

Totally unrelated, likely a transient race we're meant to have fixed but don't seem to have done so :/

The supposed fix was:
http://git.yoctoproject.org/cgit.cgi/poky/commit/?id=a92ff3ad4212f8966bbd3f6defcb112737d81cda

Quoted 6 lines
Quoted 1 line

FWIW, I saw this yesterday too. :/

me too, few times over last week.

Removing WORKDIR completely before running -c cleansstate as work around..

I suspect restarting the build would not see it happen again...

Cheers,

Richard