SOLVED, how see below On Tue, 15 May 2018 08:10:09 +0200 Jesper Dangaard Brouer <bro...@redhat.com> wrote:
> 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 SOLVED It seems that the "Auto-detecting system" needed a 'make clean'. My problem goes away when I did the following: $ cd tools/ $ make clean $ cd lib/bpf/ $ make Auto-detecting system features: ... libelf: [ on ] ... bpf: [ on ] HOSTCC fixdep.o HOSTLD fixdep-in.o LINK fixdep 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