[U-Boot-Users] Build Iterates Indefinitely on "Generating include/autoconf.mk"

Grant Erickson gerickson at nuovations.com
Thu Mar 27 00:52:48 CET 2008


While I generally develop against local file systems only, today I did a
build against an NFS mounted file system and encountered new behavior in the
u-boot build that I had never before seen.

That is, an indefinite iteration on "Generating include/autoconf.mk":

    $ CROSS_COMPILE=ppc_4xx- PATH="${PATH}:${HOME}/eldk/4.1/usr/bin" gmake
-C u-boot-1.3.2/ O=${PWD}/.build/ haleakala_config
    gmake: Entering directory `/home/gerickson/u-boot/u-boot-1.3.2'
    Configuring for haleakala board...
    gmake: Leaving directory `/home/gerickson/u-boot/u-boot-1.3.2'
    $ CROSS_COMPILE=ppc_4xx- PATH="${PATH}:${HOME}/eldk/4.1/usr/bin" gmake
-C u-boot-1.3.2/ O=${PWD}/.build/ all
    gmake: Entering directory `/home/gerickson/u-boot/u-boot-1.3.2'
    Generating include/autoconf.mk
    gmake: Leaving directory `/home/gerickson/u-boot/u-boot-1.3.2'
    gmake: Entering directory `/home/gerickson/u-boot/u-boot-1.3.2'
    Generating include/autoconf.mk
    gmake: Leaving directory `/home/gerickson/u-boot/u-boot-1.3.2'
    gmake: Entering directory `/home/gerickson/u-boot/u-boot-1.3.2'
    Generating include/autoconf.mk
    gmake: Leaving directory `/home/gerickson/u-boot/u-boot-1.3.2'
    gmake: Entering directory `/home/gerickson/u-boot/u-boot-1.3.2'
    Generating include/autoconf.mk
    gmake: Leaving directory `/home/gerickson/u-boot/u-boot-1.3.2'
    gmake: Entering directory `/home/gerickson/u-boot/u-boot-1.3.2'
    Generating include/autoconf.mk
    gmake: Leaving directory `/home/gerickson/u-boot/u-boot-1.3.2'
    gmake: Entering directory `/home/gerickson/u-boot/u-boot-1.3.2'
    Generating include/autoconf.mk
    gmake: Leaving directory `/home/gerickson/u-boot/u-boot-1.3.2'
    gmake: Entering directory `/home/gerickson/u-boot/u-boot-1.3.2'
    Generating include/autoconf.mk
    gmake: Leaving directory `/home/gerickson/u-boot/u-boot-1.3.2'
    gmake: Entering directory `/home/gerickson/u-boot/u-boot-1.3.2'
    Generating include/autoconf.mk
    gmake: Leaving directory `/home/gerickson/u-boot/u-boot-1.3.2'
    ...

This continues for 5, 10, 15 minutes or longer if I let it. Has anyone else
seen this?

Thinking that this was a classic build machine / NFS server time
synchronization disconnect, I confirmed that both the local machine and NFS
server were slaved to the same NTP server and ran the following quick check:

    $ rm -f test; echo > test; ls -l --full-time test; date +'%T.%N'
    -rw-r--r--  1 gerickson gerickson 1 2008-03-26 16:26:03.635637000 -0700
    test
    16:26:03.648288000

The skew seemed reasonable given inherent latencies in just executing the
commands, so I ruled out time skew as an issue.

By complete coincidence, I then attempted to retest things in /tmp (tmpfs)
rather than the usual /build (ext3) and got the same results as with NFS:

    $ CROSS_COMPILE=ppc_4xx- PATH="${PATH}:${HOME}/eldk/4.1/usr/bin" gmake
-C u-boot-1.3.2/ O=${PWD}/.build/ haleakala_config
    gmake: Entering directory `/tmp/u-boot/u-boot-1.3.2'
    Configuring for haleakala board...
    gmake: Leaving directory `/tmp/u-boot/u-boot-1.3.2'
    $ CROSS_COMPILE=ppc_4xx- PATH="${PATH}:${HOME}/eldk/4.1/usr/bin" gmake
-C u-boot-1.3.2/ O=${PWD}/.build/ all
    gmake: Entering directory `/tmp/u-boot/u-boot-1.3.2'
    Generating include/autoconf.mk
    gmake: Leaving directory `/tmp/u-boot/u-boot-1.3.2'
    gmake: Entering directory `/tmp/u-boot/u-boot-1.3.2'
    Generating include/autoconf.mk
    gmake: Leaving directory `/tmp/u-boot/u-boot-1.3.2'
    gmake: Entering directory `/tmp/u-boot/u-boot-1.3.2'
    Generating include/autoconf.mk
    gmake: Leaving directory `/tmp/u-boot/u-boot-1.3.2'
    gmake: Entering directory `/tmp/u-boot/u-boot-1.3.2'
    ...

I then decided to see if it was a make-specific issue and tested with
make-3.79 rather than make-3.81. Sure enough, it worked in all locations
(tmpfs, ext3, nfs).

I then repeated with make-3.80 and came up with the following matrix:

            make-3.79   make-3.80   make-3.81
    -----------------------------------------
    ext3    SUCCESS     SUCCESS     SUCCESS
    nfs     SUCCESS     FAILURE     FAILURE
    tmpfs   SUCCESS     FAILURE     FAILURE
    -----------------------------------------

If someone else has encountered this, are there any work-arounds in the
u-boot build that you've experimented with?

Regards,

Grant Erickson






More information about the U-Boot mailing list