[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [U-Boot-Users] Build Iterates Indefinitely on "Generating include/au

From: Grant Erickson
Subject: Re: [U-Boot-Users] Build Iterates Indefinitely on "Generating include/"
Date: Tue, 01 Apr 2008 15:43:17 -0700
User-agent: Microsoft-Entourage/

On 3/27/08 3:08 PM, Wolfgang Denk wrote:
> In message <address@hidden> you wrote:
>> Maybe `.LOW_RESOLUTION_TIME' could help?  Also, it might be worth trying a
>> run with the -d flag, in case it shows up why make thinks
>> include/ is never up-to-date; it might be informative to know WRT
>> what precisely make thinks it is outdated.
> I think running with "-d" is a good idea, even though it will produce
> a disk full of output. But in theory the output should  be  identical
> for all setups.

Turning on '-d' was somewhat instructive in that in contrast to the previous
tests without '-d' all builds I have of make v3.81 on all file system types
fail (ext3fs, tmpfs, and nfs) whereas one version previously worked on all
file systems and all versions worked on ext3fs:

Without '-d':

    Shell   Make                                     NFS     tmpfs    ext3
    bash    /usr/local/bin/make-3.81 (3.81)        SUCCESS  SUCCESS  SUCCESS
    bash    /usr/local/bin/gmake (3.81)            FAILURE  FAILURE  SUCCESS
    bash    ${HOME}/tmp/bin/make (3.81 w/ librt)   FAILURE  FAILURE  SUCCESS
    bash    ${HOME}/tmp/bin/make (3.81 w/o librt)  FAILURE  FAILURE  SUCCESS

With '-d':

    Shell   Make                                     NFS     tmpfs    ext3
    bash    /usr/local/bin/make-3.81 (3.81)        FAILURE  FAILURE  FAILURE
    bash    /usr/local/bin/gmake (3.81)            FAILURE  FAILURE  FAILURE
    bash    ${HOME}/tmp/bin/make (3.81 w/ librt)   FAILURE  FAILURE  FAILURE
    bash    ${HOME}/tmp/bin/make (3.81 w/o librt)  FAILURE  FAILURE  FAILURE

While the log files from all 12 runs (4 versions x 3 file systems) are
identical (with the obvious exceptions of paths, PIDs, etc.), what sticks
out in each is that make never thinks
`${ROOT}/u-boot/build/include/version_autogenerated.h' (aka VERSION_FILE)
exists even though it gets remade successfully each time it is requested.
This is, of course, a completely expected result since $(VERSION_FILE) is
tagged '.PHONY' in the main Makefile.

Removing $(VERSION_FILE) from the .PHONY list results in successes across
the entire 12 cell test matrix.

Any insights on why this very real file is tagged as .PHONY and why it
should not be eliminated from the .PHONY list?

Based on the test matrix above, is there any agreement that this is a
potential make bug in how .PHONY prerequisites are handled? Given this
apparent root cause, I would have expected failures consistently in the
ext3fs case as well as in the not-linked-against-librt-and-libpthread
version case (top row of the test matrix).


Grant Erickson

reply via email to

[Prev in Thread] Current Thread [Next in Thread]