On Mon, Mar 13, 2023 at 2:38 PM Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> wrote: > > Em Mon, Mar 13, 2023 at 06:10:40PM -0300, Arnaldo Carvalho de Melo escreveu: > > Em Sun, Jan 15, 2023 at 05:01:14PM -0800, Ian Rogers escreveu: > > > The feature tests were necessary for libbpf pre-1.0, but as the libbpf > > > implies at least 1.0 we can remove these now. > > > > So I added this: > > > > diff --git a/tools/perf/Makefile.config b/tools/perf/Makefile.config > > index 8b0bd3aa018ef166..b715cd4f43f4a014 100644 > > --- a/tools/perf/Makefile.config > > +++ b/tools/perf/Makefile.config > > @@ -580,7 +580,7 @@ ifndef NO_LIBELF > > EXTLIBS += -lbpf > > $(call detected,CONFIG_LIBBPF_DYNAMIC) > > else > > - dummy := $(error Error: No libbpf devel library found, please install libbpf-devel); > > + dummy := $(error Error: No libbpf devel library found or older than v1.0, please install/update libbpf-devel); > > endif > > else > > # Libbpf will be built as a static library from tools/lib/bpf. > > > > To better reflect the failure reason: > > > > ⬢[acme@toolbox perf-tools-next]$ cat /tmp/build/perf-tools-next/feature/test-libbpf.make.output > > test-libbpf.c:5:2: error: #error At least libbpf 1.0 is required for Linux tools. > > 5 | #error At least libbpf 1.0 is required for Linux tools. > > | ^~~~~ > > ⬢[acme@toolbox perf-tools-next]$ rpm -q libbpf-devel > > libbpf-devel-0.8.0-2.fc37.x86_64 > > ⬢[acme@toolbox perf-tools-next]$ > > > > I'll see if I can make the build test conditional on libbpf being >= 1.0 > > I'm trying with this: > > ⬢[acme@toolbox libbpf]$ git log --oneline -1 9476dce6fe905a6bf1d4c483f7b2b8575c4ffb2d > 9476dce6fe905a6b libbpf: remove deprecated low-level APIs > ⬢[acme@toolbox libbpf]$ git tag --contains 9476dce6fe905a6bf1d4c483f7b2b8575c4ffb2d > v1.0.0 > v1.0.1 > v1.1.0 > ⬢[acme@toolbox libbpf]$ > > diff --git a/tools/perf/tests/make b/tools/perf/tests/make > index 531324c3dab594e1..f866c58b916f4d7a 100644 > --- a/tools/perf/tests/make > +++ b/tools/perf/tests/make > @@ -63,6 +63,7 @@ endif > > has = $(shell which $1 2>/dev/null) > python_perf_so := $(shell $(MAKE) python_perf_target|grep "Target is:"|awk '{print $$3}') > +old_libbpf := $(shell grep -q LIBBPF_DEPRECATED /usr/include/bpf/bpf.h) I think this could also be: old_libbpf := $(shell grep MAJOR /usr/include/bpf/libbpf_version.h 2>&1 |grep -q 0) Which may be a bit more intention revealing and future proof. Thanks, Ian > # standard single make variable specified > make_clean_all := clean all > @@ -151,7 +152,9 @@ run += make_no_libaudit > run += make_no_libbionic > run += make_no_auxtrace > run += make_no_libbpf > +ifneq ($(old_libbpf),) > run += make_libbpf_dynamic > +endif > run += make_no_libbpf_DEBUG > run += make_no_libcrypto > run += make_no_sdt