Re: Makefile.perf:1149: *** Missing bpftool input for generating vmlinux.h. Stop.

From: Ian Rogers
Date: Mon May 13 2024 - 11:52:34 EST


On Sun, May 12, 2024 at 11:50 PM Ingo Molnar <mingo@xxxxxxxxxx> wrote:
>
>
> * Ian Rogers <irogers@xxxxxxxxxx> wrote:
>
> > On Wed, May 8, 2024 at 12:39 AM Ingo Molnar <mingo@xxxxxxxxxx> wrote:
> > >
> > >
> > > So I've been getting this perf build failure for some time:
> > >
> > > kepler:~/tip/tools/perf> make clean
> > > Makefile.perf:1149: *** Missing bpftool input for generating vmlinux.h. Stop.
> > > make: *** [Makefile:90: clean] Error 2
> > >
> > > ... but if I clone a new repository, it works fine, until a point.
> > >
> > > 'make clean' doesn't work - and 'make mrproper' in the main kernel
> > > directory doesn't clean up properly.
> > >
> > > Only if I do a brute-force:
> > >
> > > rm -rf tools/
> > > git checkout HEAD -f
> > >
> > > does it get resolved.
> > >
> > > The failure condition triggers if I Ctrl-C the following build a couple of
> > > times, without it being finished:
> > >
> > >
> > > cd tools/perf; make clean install
> > > ...
> > >
> > > LD util/perf-in.o
> > > LD perf-in.o
> > > CC pmu-events/pmu-events.o
> > > ^Cmake[3]: *** [pmu-events/Build:43: pmu-events/pmu-events.o] Interrupt
> > > make[2]: *** [Makefile.perf:709: pmu-events/pmu-events-in.o] Interrupt
> > > make[1]: *** [Makefile.perf:264: sub-make] Interrupt
> > > make: *** [Makefile:113: install] Interrupt
> > > kepler:~/tip> perfi
> > > Makefile.perf:1149: *** Missing bpftool input for generating vmlinuxh. Stop.
> > > make: *** [Makefile:90: clean] Error 2
> >
> > We have a checked-in vmlinux.h:
> > https://git.kernel.org/pub/scm/linux/kernel/git/perf/perf-tools-next.git/tree/tools/perf/util/bpf_skel/vmlinux/vmlinux.h?h=perf-tools-next
> > so this shouldn't have been a problem for a while. bpftool is no
> > longer on that line:
> > https://git.kernel.org/pub/scm/linux/kernel/git/perf/perf-tools-next.git/tree/tools/perf/Makefile.perf?h=perf-tools-next#n1149
> > so I suspect if you use a newer tree then things will work.
>
> Was this regression fix propagated to v6.9 in time?

We switched to using the handwritten file in v6.4:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/tools/perf/util/bpf_skel/vmlinux.h?id=a887466562b425bd6183bf75b523c1477c9fd22d

Thanks,
Ian

> Thanks,
>
> Ingo