qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] Compile error on FC17


From: Gerhard Wiesinger
Subject: Re: [Qemu-devel] Compile error on FC17
Date: Sun, 10 Mar 2013 20:36:32 +0100
User-agent: Mozilla/5.0 (Windows NT 6.0; WOW64; rv:17.0) Gecko/20130215 Thunderbird/17.0.3

On 10.03.2013 18:04, Peter Maydell wrote:
Oh, right. Tracing functions moved from trace.h to the files in the trace/ subdirectory. This means that if you didn't do a make clean or distclean before doing the git update then the new makefile knows nothing about the old trace.h file and so won't delete it, but the compiler may still pull it in anyhow. However this happened a long time back which is why I didn't mention it as a possibility (it was discussed on the list at the time as a number of people including me ran into it). If you remove all the files: trace.c trace.h trace.c-timestamp trace.h-timestamp this should resolve the problem. This is an example of a longstanding problem we have, where the makefile's dependency rules aren't able to cope with changes to the project source file structure, and so clean, distclean and incremental build sometimes breaks across a git update. I think this is pretty intractable as a problem to solve; you can mitigate it by doing all your builds in a build directory rather than in the source tree itself, since then you can always just delete the whole build tree to get a definite from-scratch build.

rm -f trace.c trace.h libcacard/trace.c
find . -name \*-timestamp -exec rm -f {} \;
make distclean
make clean
./configure --target-list=x86_64-softmmu

# No files found
find . -name \*-timestamp

# No files found
find . -name trace.c

# Under git version control:
# ./include/trace.h
find . -name trace.h

=> Worked well

But shouldn't "make distclean" do the job correctly (even with a changed directory structure, at least for some time)?

Ciao,
Gerhard




reply via email to

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