Bug 861 - aclocal loses track of .m4 causing task do_configure to fail (gmp as illustrated here)
Summary: aclocal loses track of .m4 causing task do_configure to fail (gmp as illustra...
Status: RESOLVED FIXED
Alias: None
Product: Meta-yocto
Classification: Build System, Metadata & Runtime
Component: meta-yocto (show other bugs)
Version: 1.0
Hardware: x86 Multiple
: Medium normal
Target Milestone: 1.1
Assignee: Richard Purdie
QA Contact:
URL:
Whiteboard:
: 1200 (view as bug list)
Depends on:
Blocks:
 
Reported: 2011-03-13 22:53 UTC by Dexuan Cui
Modified: 2011-08-04 03:30 UTC (History)
7 users (show)

See Also:
OS type for building Yocto: ---
Type of Regression: ---
Verified:
Documentation change: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Dexuan Cui 2011-03-13 22:53:53 UTC
Looks we need to add a dependency on flac.

http://autobuilder.yoctoproject.org:8010/builders/nightly-external/builds/73/steps/shell_5/logs/stdio


ERROR: Function 'do_configure' failed (see /srv/home/pokybuild/poky-slave/nightly-external/build/build/tmp/work/i586-poky-linux/gmp-5.0.1-r0/temp/log.do_configure.31251 for further information)
ERROR: Logfile of failure stored in: /srv/home/pokybuild/poky-slave/nightly-external/build/build/tmp/work/i586-poky-linux/gmp-5.0.1-r0/temp/log.do_configure.31251
Log data follows:
| ERROR: Function 'do_configure' failed (see /srv/home/pokybuild/poky-slave/nightly-external/build/build/tmp/work/i586-poky-linux/gmp-5.0.1-r0/temp/log.do_configure.31251 for further information)
| automake (GNU automake) 1.11.1
| Copyright (C) 2009 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@redhat.com>
|        and Alexandre Duret-Lutz <adl@gnu.org>.
| AUTOV is 1.11
| NOTE: Executing autoreconf --verbose --install --force --exclude=autopoint -I/srv/home/pokybuild/poky-slave/nightly-external/build/build/tmp/sysroots/x86_64-linux/usr/share/aclocal-1.11 -I /srv/home/pokybuild/poky-slave/nightly-external/build/build/tmp/sysroots/qemux86/usr/share/aclocal
| autoreconf: Entering directory `.'
| autoreconf: configure.in: not using Gettext
| autoreconf: running: aclocal -I /srv/home/pokybuild/poky-slave/nightly-external/build/build/tmp/sysroots/x86_64-linux/usr/share/aclocal-1.11 -I /srv/home/pokybuild/poky-slave/nightly-external/build/build/tmp/sysroots/qemux86/usr/share/aclocal -I /srv/home/pokybuild/poky-slave/nightly-external/build/build/tmp/sysroots/x86_64-linux/usr/share/aclocal-1.11 -I /srv/home/pokybuild/poky-slave/nightly-external/build/build/tmp/sysroots/qemux86/usr/share/aclocal --force
| aclocal: aclocal: file `/srv/home/pokybuild/poky-slave/nightly-external/build/build/tmp/sysroots/qemux86/usr/share/aclocal/libFLAC.m4' does not exist
| autoreconf: aclocal failed with exit status: 1
| FATAL: autoreconf execution failed.
NOTE: package gmp-5.0.1-r0: task do_configure: Failed
NOTE: package flac-1.2.1-r0: task do_configure: Started
Comment 1 Dexuan Cui 2011-03-14 00:28:52 UTC
(In reply to comment #0)
> Looks we need to add a dependency on flac.
> ...
> | aclocal: aclocal: file
> `/srv/home/pokybuild/poky-slave/nightly-external/build/build/tmp/sysroots/qemux86/usr/share/aclocal/libFLAC.m4'
> does not exist
> | autoreconf: aclocal failed with exit status: 1
> | FATAL: autoreconf execution failed.
> NOTE: package gmp-5.0.1-r0: task do_configure: Failed
> NOTE: package flac-1.2.1-r0: task do_configure: Started

BTW: I can't reproduce the issue locally.
gmp is an arithmetic library, I don't think it could depend on flac, an audio codec. I'm not sure what happened here.
Comment 2 Richard Purdie 2011-03-14 15:15:11 UTC
This probably happens if something removes a .m4 file such as the one for flac whilst a do_configure is running, iterating over the files. We do probably need to find a way to avoid this but equally, this bug will only affect incremental builds and they will succeed afterwards.
Comment 3 Yi Zhao 2011-05-10 00:00:15 UTC
With 20100506-4 build on autobuilder
git info: 856a5e496b7ddd814f6a94552d02074f0ab30842
This issue caused x86_64-arm toolchain build failure. The package gmp-nativesdk was build failed.

ERROR: Logfile of failure stored in: /srv/home/pokybuild/poky-slave/nightly-external/build/build/tmp/work/x86_64-nativesdk-pokysdk-linux/gmp-nativesdk-5.0.1-r0/temp/log.do_configure.3621
Log data follows:
| automake (GNU automake) 1.11.1
| Copyright (C) 2009 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@redhat.com>
|        and Alexandre Duret-Lutz <adl@gnu.org>.
| AUTOV is 1.11
| NOTE: Executing autoreconf --verbose --install --force --exclude=autopoint -I/srv/home/pokybuild/poky-slave/nightly-external/build/build/tmp/sysroots/x86_64-linux/usr/share/aclocal-1.11 -I /srv/home/pokybuild/poky-slave/nightly-external/build/build/tmp/sysroots/x86_64-nativesdk-pokysdk-linux/opt/poky/1.0+snapshot/sysroots/x86_64-pokysdk-linux/usr/share/aclocal
| autoreconf: Entering directory `.'
| autoreconf: configure.in: not using Gettext
| autoreconf: running: aclocal -I /srv/home/pokybuild/poky-slave/nightly-external/build/build/tmp/sysroots/x86_64-linux/usr/share/aclocal-1.11 -I /srv/home/pokybuild/poky-slave/nightly-external/build/build/tmp/sysroots/x86_64-nativesdk-pokysdk-linux/opt/poky/1.0+snapshot/sysroots/x86_64-pokysdk-linux/usr/share/aclocal -I /srv/home/pokybuild/poky-slave/nightly-external/build/build/tmp/sysroots/x86_64-linux/usr/share/aclocal-1.11 -I /srv/home/pokybuild/poky-slave/nightly-external/build/build/tmp/sysroots/x86_64-nativesdk-pokysdk-linux/opt/poky/1.0+snapshot/sysroots/x86_64-pokysdk-linux/usr/share/aclocal --force
| autoreconf: configure.in: tracing
| autoreconf: running: libtoolize --copy --force
| libtoolize: putting auxiliary files in `.'.
| libtoolize: copying file `./ltmain.sh'
| libtoolize: Consider adding `AC_CONFIG_MACRO_DIR([m4])' to configure.in and
| libtoolize: rerunning libtoolize, to keep the correct libtool macros in-tree.
| libtoolize: Consider adding `-I m4' to ACLOCAL_AMFLAGS in Makefile.am.
| libtoolize: `AC_PROG_RANLIB' is rendered obsolete by `LT_INIT'
| autom4te: /srv/home/pokybuild/poky-slave/nightly-external/build/build/tmp/sysroots/x86_64-nativesdk-pokysdk-linux/opt/poky/1.0+snapshot/sysroots/x86_64-pokysdk-linux/usr/share/aclocal/argz.m4: no such file or directory
| aclocal: /srv/home/pokybuild/poky-slave/nightly-external/build/build/tmp/sysroots/x86_64-linux/usr/bin/autom4te failed with exit status: 1
| autoreconf: aclocal failed with exit status: 1
| ERROR: autoreconf execution failed.
| ERROR: Function 'do_configure' failed (see /srv/home/pokybuild/poky-slave/nightly-external/build/build/tmp/work/x86_64-nativesdk-pokysdk-linux/gmp-nativesdk-5.0.1-r0/temp/log.do_configure.3621 for further information)
| ERROR: Function 'do_configure' failed (see /srv/home/pokybuild/poky-slave/nightly-external/build/build/tmp/work/x86_64-nativesdk-pokysdk-linux/gmp-nativesdk-5.0.1-r0/temp/log.do_configure.3621 for further information)
NOTE: package gmp-nativesdk-5.0.1-r0: task do_configure: Failed

For more details, please see:
http://autobuilder.pokylinux.org:8010/builders/nightly-external/builds/117/steps/shell_47/logs/stdio
Comment 4 Richard Purdie 2011-05-10 07:16:08 UTC
Two solution ideas for this:

a) We add locking around the m4 files so when autoreconf is running, nothing can touch the sysroots. It will badly impact performance

b) We make a copy of the m4 files to a temporary directory (hardlink?) and then work against the copy.
Comment 5 Richard Purdie 2011-06-29 03:10:25 UTC
*** Bug 1200 has been marked as a duplicate of this bug. ***