From: Andrii Nakryiko <andrii.nakryiko@gmail.com> To: Quentin Monnet <quentin@isovalent.com>, Yucong Sun <fallentree@fb.com> Cc: Alexei Starovoitov <ast@kernel.org>, Daniel Borkmann <daniel@iogearbox.net>, Andrii Nakryiko <andrii@kernel.org>, Networking <netdev@vger.kernel.org>, bpf <bpf@vger.kernel.org> Subject: Re: [PATCH bpf-next 6/9] bpf: iterators: install libbpf headers when building Date: Fri, 1 Oct 2021 15:43:46 -0700 [thread overview] Message-ID: <CAEf4BzYeTQjYAQo+RqtU-z56GQ0DnWO0pzfvr23qn3A8hEfrQA@mail.gmail.com> (raw) In-Reply-To: <37d25d01-c6ad-4ff9-46e2-236c60369171@isovalent.com> On Fri, Oct 1, 2021 at 4:06 AM Quentin Monnet <quentin@isovalent.com> wrote: > > 2021-09-30 13:17 UTC+0100 ~ Quentin Monnet <quentin@isovalent.com> > > 2021-09-30 12:33 UTC+0100 ~ Quentin Monnet <quentin@isovalent.com> > >> 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 make sure that bpf/preload/iterators/Makefile > >> installs the headers properly when building. > > > > CI complains when trying to build > > kernel/bpf/preload/iterators/iterators.o. I'll look more into this. > > My error was in fact on the previous patch for kernel/preload/Makefile, > where iterators.o is handled. The resulting Makefile in my v1 contained: > > bpf_preload_umd-objs := iterators/iterators.o > bpf_preload_umd-userldlibs := $(LIBBPF_A) -lelf -lz > > $(obj)/bpf_preload_umd: $(LIBBPF_A) > > This declares a dependency on $(LIBBPF_A) for building the final > bpf_preload_umd target, when iterators/iterators.o is linked against the > libraries. It does not declare the dependency for iterators/iterators.o > itself. So when we attempt to build the object file, libbpf has not been > compiled yet (not an issue per se), and the API headers from libbpf have > not been installed and made available to iterators.o, causing the build > to fail. > > Before this patch, there was no issue because the headers would be > included directly from tools/lib/bpf, so they would always be present. > I'll fix this by adding the relevant dependency, and send a v2. > > As a side note, I couldn't reproduce the issue locally or in the VM for > the selftests, I'm not sure why. I struggled to get helpful logs from > the kernel CI (kernel build in non-verbose mode), so I ended up copying > the CI infra (running on kernel-patches/bpf on GitHub) to my own GitHub > repository to add debug info and do other runs without re-posting every > time to the mailing list. In case anyone else is interested, I figured I > might share the steps: > > - Clone the linux repo on GitHub, push the bpf-next branch > - Copy all files and directories from the kernel-patches/vmtest GitHub > repo (including the .github directory) to the root of my linux repo, on > my development branch. > - Update the checks on "kernel-patches/bpf" repository name in > .github/workflows/test.yaml, to avoid pulling new Linux sources and > overwriting the files on my branch. > - (Add as much build debug info as necessary.) > - Push the branch to GitHub and open a PR against my own bpf-next > branch. This should trigger the Action. > > Or was there a simpler way to test my set on the CI, that I ignore? Don't know, I never tried :) But maybe Yucong (cc'ed) knows some tips and tricks? > > Quentin
next prev parent reply other threads:[~2021-10-01 22:44 UTC|newest] Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top 2021-09-30 11:32 [PATCH bpf-next 0/9] install libbpf headers when using the library Quentin Monnet 2021-09-30 11:32 ` [PATCH bpf-next 1/9] tools: bpftool: remove unused includes to <bpf/bpf_gen_internal.h> Quentin Monnet 2021-09-30 11:32 ` [PATCH bpf-next 2/9] tools: bpftool: install libbpf headers instead of including the dir Quentin Monnet 2021-09-30 11:33 ` [PATCH bpf-next 3/9] tools: resolve_btfids: install libbpf headers when building Quentin Monnet 2021-09-30 11:33 ` [PATCH bpf-next 4/9] tools: runqslower: " Quentin Monnet 2021-09-30 11:33 ` [PATCH bpf-next 5/9] bpf: preload: " Quentin Monnet 2021-09-30 11:33 ` [PATCH bpf-next 6/9] bpf: iterators: " Quentin Monnet 2021-09-30 12:17 ` Quentin Monnet 2021-10-01 11:06 ` Quentin Monnet 2021-10-01 22:43 ` Andrii Nakryiko [this message] 2021-09-30 11:33 ` [PATCH bpf-next 7/9] samples/bpf: " Quentin Monnet 2021-09-30 11:33 ` [PATCH bpf-next 8/9] samples/bpf: update .gitignore Quentin Monnet 2021-09-30 11:33 ` [PATCH bpf-next 9/9] selftests/bpf: better clean up for runqslower in test_bpftool_build.sh Quentin Monnet
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=CAEf4BzYeTQjYAQo+RqtU-z56GQ0DnWO0pzfvr23qn3A8hEfrQA@mail.gmail.com \ --to=andrii.nakryiko@gmail.com \ --cc=andrii@kernel.org \ --cc=ast@kernel.org \ --cc=bpf@vger.kernel.org \ --cc=daniel@iogearbox.net \ --cc=fallentree@fb.com \ --cc=netdev@vger.kernel.org \ --cc=quentin@isovalent.com \ --subject='Re: [PATCH bpf-next 6/9] bpf: iterators: install libbpf headers when building' \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).