Em Sat, Nov 06, 2021 at 04:29:16PM -0300, Arnaldo Carvalho de Melo escreveu: > Em Fri, Nov 05, 2021 at 11:38:50AM -0700, Andrii Nakryiko escreveu: > > On Thu, Nov 4, 2021 at 7:02 PM Quentin Monnet <quentin@xxxxxxxxxxxxx> wrote: > > > > > > API headers from libbpf should not be accessed directly from the > > > library's source directory. Instead, they should be exported with "make > > > install_headers". Let's adjust perf's Makefile to install those headers > > > locally when building libbpf. > > > > > > Signed-off-by: Quentin Monnet <quentin@xxxxxxxxxxxxx> > > > --- > > > Note: Sending to bpf-next because it's directly related to libbpf, and > > > to similar patches merged through bpf-next, but maybe Arnaldo prefers to > > > take it? > > > > Arnaldo would know better how to thoroughly test it, so I'd prefer to > > route this through perf tree. Any objections, Arnaldo? > > Preliminary testing passed for 'BUILD_BPF_SKEL=1' with without > LIBBPF_DYNAMIC=1 (using the system's libbpf-devel to build perf), so far > so good, so I tentatively applied it, will see with the full set of > containers. Because all the preliminary tests used O= to have that OUTPUT variable set, when we do simply: make -C tools/perf it breaks: ⬢[acme@toolbox perf]$ make -C tools clean > /dev/null 2>&1 ⬢[acme@toolbox perf]$ make JOBS=1 -C tools/perf make: Entering directory '/var/home/acme/git/perf/tools/perf' BUILD: Doing 'make -j1' parallel build HOSTCC fixdep.o HOSTLD fixdep-in.o LINK fixdep <SNIP ABI sync warnings> Auto-detecting system features: ... dwarf: [ on ] ... dwarf_getlocations: [ on ] ... glibc: [ on ] ... libbfd: [ on ] ... libbfd-buildid: [ on ] ... libcap: [ on ] ... libelf: [ on ] ... libnuma: [ on ] ... numa_num_possible_cpus: [ on ] ... libperl: [ on ] ... libpython: [ on ] ... libcrypto: [ on ] ... libunwind: [ on ] ... libdw-dwarf-unwind: [ on ] ... zlib: [ on ] ... lzma: [ on ] ... get_cpuid: [ on ] ... bpf: [ on ] ... libaio: [ on ] ... libzstd: [ on ] ... disassembler-four-args: [ on ] CC fd/array.o LD fd/libapi-in.o CC fs/fs.o CC fs/tracing_path.o CC fs/cgroup.o LD fs/libapi-in.o CC cpu.o CC debug.o CC str_error_r.o LD libapi-in.o AR libapi.a CC exec-cmd.o CC help.o CC pager.o CC parse-options.o CC run-command.o CC sigchain.o CC subcmd-config.o LD libsubcmd-in.o AR libsubcmd.a CC core.o CC cpumap.o CC threadmap.o CC evsel.o CC evlist.o CC mmap.o CC zalloc.o CC xyarray.o CC lib.o LD libperf-in.o AR libperf.a make[2]: *** No rule to make target 'libbpf', needed by 'libbpf/libbpf.a'. Stop. make[1]: *** [Makefile.perf:240: sub-make] Error 2 make: *** [Makefile:70: all] Error 2 make: Leaving directory '/var/home/acme/git/perf/tools/perf' ⬢[acme@toolbox perf]$ Trying to fix... - Arnaldo