Alexei Starovoitov <alexei.starovoitov@xxxxxxxxx> writes: > On Wed, Jan 15, 2020 at 03:12:48PM +0100, Toke Høiland-Jørgensen wrote: >> The recent commit 6910d7d3867a ("selftests/bpf: Ensure bpf_helper_defs.h are >> taken from selftests dir") broke compilation against libbpf if it is installed >> on the system, and $INCLUDEDIR/bpf is not in the include path. >> >> Since having the bpf/ subdir of $INCLUDEDIR in the include path has never been a >> requirement for building against libbpf before, this needs to be fixed. One >> option is to just revert the offending commit and figure out a different way to >> achieve what it aims for. However, this series takes a different approach: >> Changing all in-tree users of libbpf to consistently use a bpf/ prefix in >> #include directives for header files from libbpf. > > I don't think such approach will work in all cases. > Consider the user installing libbpf headers into /home/somebody/include/bpf/, > passing that path to -I and trying to build bpf progs > that do #include "bpf_helpers.h"... > In the current shape of libbpf everything will compile fine, > but after patch 8 of this series the compiler will not find bpf/bpf_helper_defs.h. > So I think we have no choice, but to revert that part of Andrii's patch. > Note that doing #include "" for additional library headers is a common practice. > There was nothing wrong about #include "bpf_helper_defs.h" in bpf_helpers.h. OK, I'll take another look at that bit and see if I can get it to work with #include "bpf_helper_defs.h" and still function with the read-only tree (and avoid stale headers). -Toke