From: Quentin Monnet <firstname.lastname@example.org> To: Alexei Starovoitov <email@example.com>, Daniel Borkmann <firstname.lastname@example.org>, Andrii Nakryiko <email@example.com> Cc: firstname.lastname@example.org, email@example.com Subject: Re: [PATCH bpf-next 6/9] bpf: iterators: install libbpf headers when building Date: Fri, 1 Oct 2021 12:06:43 +0100 [thread overview] Message-ID: <firstname.lastname@example.org> (raw) In-Reply-To: <email@example.com> 2021-09-30 13:17 UTC+0100 ~ Quentin Monnet <firstname.lastname@example.org> > 2021-09-30 12:33 UTC+0100 ~ Quentin Monnet <email@example.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? Quentin
next prev parent reply other threads:[~2021-10-01 11:06 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 [this message] 2021-10-01 22:43 ` Andrii Nakryiko 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 \ --firstname.lastname@example.org \ --email@example.com \ --firstname.lastname@example.org \ --email@example.com \ --firstname.lastname@example.org \ --email@example.com \ --firstname.lastname@example.org \ --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).