On Mon, 14 May 2018 22:57:53 -0700 Alexei Starovoitov <alexei.starovoi...@gmail.com> wrote:
> On Mon, May 14, 2018 at 10:35:01PM -0700, Jakub Kicinski wrote: > > Hi! > > > > Following patches address build issues after recent move to libbpf. > > For out-of-tree builds we would see the following error: > > > > gcc: error: samples/bpf/../../tools/lib/bpf/libbpf.a: No such file or > > directory > > > > libbpf build system is now always invoked explicitly rather than > > relying on building single objects most of the time. We need to > > resolve the friction between Kbuild and tools/ build system. > > > > Mini-library called libbpf.h in samples is renamed to bpf_insn.h, > > using linux/filter.h seems not completely trivial since some samples > > get upset when order on include search path in changed. We do have > > to rename libbpf.h, however, because otherwise it's hard to reliably > > get to libbpf's header in out-of-tree builds. > > > > v2: > > - fix the build error harder (patch 3); > > - add patch 5 (make clang less noisy). > > Applied, Thanks I just tried it out, but the build fails. $ make samples/bpf/ CHK include/config/kernel.release CHK include/generated/uapi/linux/version.h CHK include/generated/utsrelease.h CHK include/generated/bounds.h CHK include/generated/timeconst.h CHK include/generated/asm-offsets.h CALL scripts/checksyscalls.sh DESCEND objtool CHK scripts/mod/devicetable-offsets.h make -C /home/jbrouer/git/kernel/bpf-next/samples/bpf/../../tools/lib/bpf/ RM='rm -rf' LDFLAGS= srctree=/home/jbrouer/git/kernel/bpf-next/samples/bpf/../../ O= Auto-detecting system features: ... libelf: [ OFF ] ... bpf: [ OFF ] No libelf found make[2]: *** [Makefile:212: elfdep] Error 1 make[1]: *** [samples/bpf/Makefile:207: /home/jbrouer/git/kernel/bpf-next/samples/bpf/../../tools/lib/bpf/libbpf.a] Error 2 make: *** [Makefile:1743: samples/bpf/] Error 2 But it might not be related to this change, as the problem seems to the with the "Auto-detecting system features". It is the build of libbpf that is the problem. $ cd tools/lib/bpf/ $ make Auto-detecting system features: ... libelf: [ OFF ] ... bpf: [ OFF ] No libelf found make: *** [Makefile:212: elfdep] Error 1 And do have 'libelf' installed on this system... the same build/make commands works on net-next. On net-next I see: $ cd tools/lib/bpf/ $ make Auto-detecting system features: ... libelf: [ on ] ... bpf: [ on ] Warning: Kernel ABI header at 'tools/include/uapi/linux/bpf.h' differs from latest version at 'include/uapi/linux/bpf.h' Warning: Kernel ABI header at 'tools/include/uapi/linux/if_link.h' differs from latest version at 'include/uapi/linux/if_link.h' CC libbpf.o CC bpf.o CC nlattr.o CC btf.o LD libbpf-in.o LINK libbpf.a LINK libbpf.so -- Best regards, Jesper Dangaard Brouer MSc.CS, Principal Kernel Engineer at Red Hat LinkedIn: http://www.linkedin.com/in/brouer