Em Sat, Nov 06, 2021 at 05:12:48PM -0300, Arnaldo Carvalho de Melo escreveu: > 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 So I'll have to remove it now as my container builds test both O= and in-place builds (make -C tools/perf), I know many people (Jiri for instance) don't use O=. I tried to fix this but run out of time today, visits arriving soon, so I'll try to come back to this tomorrow early morning, to push what I have in to Linus, that is blocked by this now :-\ - Arnaldo > 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 -- - Arnaldo