From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jesper Dangaard Brouer Subject: Re: [PATCH bpf-next v2 0/5] samples: bpf: fix build after move to full libbpf Date: Tue, 15 May 2018 11:16:43 +0200 Message-ID: <20180515111643.1507fead@redhat.com> References: <20180515053506.4345-1-jakub.kicinski@netronome.com> <20180515055751.yhr7wklhh2lshnzd@ast-mbp> <20180515081009.4cd33c8e@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Cc: Jakub Kicinski , daniel@iogearbox.net, oss-drivers@netronome.com, netdev@vger.kernel.org, =?UTF-8?B?QmrDtnJuIFQ=?= =?UTF-8?B?w7ZwZWw=?= , Y Song , brouer@redhat.com To: Alexei Starovoitov Return-path: Received: from mx3-rdu2.redhat.com ([66.187.233.73]:42076 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752923AbeEOJQs (ORCPT ); Tue, 15 May 2018 05:16:48 -0400 In-Reply-To: <20180515081009.4cd33c8e@redhat.com> Sender: netdev-owner@vger.kernel.org List-ID: SOLVED, how see below On Tue, 15 May 2018 08:10:09 +0200 Jesper Dangaard Brouer wrote: > On Mon, 14 May 2018 22:57:53 -0700 > Alexei Starovoitov 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