[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