2024-05-08 07:39:35

by Ingo Molnar

[permalink] [raw]
Subject: Makefile.perf:1149: *** Missing bpftool input for generating vmlinux.h. Stop.


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 vmlinux.h. Stop.
make: *** [Makefile:90: clean] Error 2

Thanks,

Ingo


2024-05-08 20:46:04

by Ian Rogers

[permalink] [raw]
Subject: Re: Makefile.perf:1149: *** Missing bpftool input for generating vmlinux.h. Stop.

On Wed, May 8, 2024 at 12:39 AM Ingo Molnar <[email protected]> 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 vmlinux.h. 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.

Thanks,
Ian

> Thanks,
>
> Ingo

2024-05-13 06:50:36

by Ingo Molnar

[permalink] [raw]
Subject: Re: Makefile.perf:1149: *** Missing bpftool input for generating vmlinux.h. Stop.


* Ian Rogers <[email protected]> wrote:

> On Wed, May 8, 2024 at 12:39 AM Ingo Molnar <[email protected]> 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 vmlinux.h. 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?

Thanks,

Ingo