Re: [BUG] Re: [PATCH bpf-next] perf build: Install libbpf headers locally when building
From: Quentin Monnet <hidden>
Date: 2021-11-07 00:21:31
Also in:
bpf, lkml
2021-11-06 18:20 UTC-0300 ~ Arnaldo Carvalho de Melo [off-list ref]
Em Sat, Nov 06, 2021 at 06:05:07PM -0300, Arnaldo Carvalho de Melo escreveu:quoted
Em Sat, Nov 06, 2021 at 05:12:48PM -0300, Arnaldo Carvalho de Melo escreveu:quoted
Em Sat, Nov 06, 2021 at 04:29:16PM -0300, Arnaldo Carvalho de Melo escreveu:quoted
Em Fri, Nov 05, 2021 at 11:38:50AM -0700, Andrii Nakryiko escreveu:quoted
On Thu, Nov 4, 2021 at 7:02 PM Quentin Monnet [off-list ref] wrote:quoted
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 <redacted> --- 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/perfSo 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 :-\What I have, with your patch, is at: git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux.git tmp.perf/core It has both patches, as its needed for the BUILD_BPF_SKEL=1 mode to build correctly with/without LIBBPF_DYNAMIC=1.
Hi Arnaldo, thanks for the review and testing. Apologies, I missed that the recipe for the $(LIBBPF_OUTPUT) directory was located under the "ifdef BUILD_BPF_SKEL". I'm sending a v2 that will handle this case better. Quentin