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.

-- PMM

Reply via email to