[linux-next-20250324]/tool/bpf/bpftool fails to complie on linux-next-20250324
Quentin Monnet
qmo at qmon.net
Tue Mar 25 22:09:24 AEDT 2025
2025-03-25 16:02 UTC+0530 ~ Venkat Rao Bagalkote <venkat88 at linux.ibm.com>
> Greetings!!!
>
>
> bpftool fails to complie on linux-next-20250324 repo.
>
>
> Error:
>
> make: *** No rule to make target 'bpftool', needed by '/home/linux/
> tools/testing/selftests/bpf/tools/include/vmlinux.h'. Stop.
> make: *** Waiting for unfinished jobs.....
Thanks! Would be great to have a bit more context on the error (and on
how to reproduce) for next time. Bpftool itself seems to compile fine,
the error shows that it's building it from the context of the selftests
that seems broken.
> Git bisect points to commit: 8a635c3856ddb74ed3fe7c856b271cdfeb65f293 as
> first bad commit.
Thank you Venkat for the bisect!
On a quick look, that commit introduced a definition for BPFTOOL in
tools/scripts/Makefile.include:
diff --git a/tools/scripts/Makefile.include .../Makefile.include
index 0aa4005017c7..71bbe52721b3 100644
--- a/tools/scripts/Makefile.include
+++ b/tools/scripts/Makefile.include
@@ -91,6 +91,9 @@ LLVM_CONFIG ?= llvm-config
LLVM_OBJCOPY ?= llvm-objcopy
LLVM_STRIP ?= llvm-strip
+# Some tools require bpftool
+BPFTOOL ?= bpftool
+
ifeq ($(CC_NO_CLANG), 1)
EXTRA_WARNINGS += -Wstrict-aliasing=3
But several utilities or selftests under tools/ include
tools/scripts/Makefile.include _and_ use their own version of the
$(BPFTOOL) variable, often assigning only if unset, for example in
tools/testing/selftests/bpf/Makefile:
BPFTOOL ?= $(DEFAULT_BPFTOOL)
My guess is that the new definition from Makefile.include overrides this
with simply "bpftool" as a value, and the Makefile fails to build it as
a result.
If I guessed correctly, one workaround would be to rename the variable
in Makefile.include (and in whatever Makefile now relies on it) into
something that is not used in the other Makefiles, for example
BPFTOOL_BINARY.
Please copy the BPF mailing list on changes impacting BPF tooling (or
for BPF-related patchsets in general).
Thanks,
Quentin
More information about the Linuxppc-dev
mailing list