On 03/10/13 18:04, Peter Maydell wrote: > On 10 March 2013 15:15, Gerhard Wiesinger <li...@wiesinger.com> wrote: >> Tried make clean and make distclean already before I reported the issue. >> >> If I'm suppressing "warning as errors" I'm still getting errors: >> >> hw/usb/hcd-xhci.c: In function ‘xhci_set_ep_dequeue’: >> hw/usb/hcd-xhci.c:1471:5: error: too many arguments to function >> ‘trace_usb_xhci_ep_set_dequeue’ >> In file included from hw/usb/hcd-xhci.c:27:0: >> ./trace.h:1052:58: note: declared here > >> BTW: Isn't a new issue (around 2 month) but was very busy. > > 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.
There's also $ git reset --hard $ git clean -fdx $ ./configure ... Laszlo