Re: [PATCH 1/5] samples/bpf: fix test_lru_dist build

From: Matteo Croce
Date: Tue May 21 2019 - 11:39:30 EST


On Tue, May 21, 2019 at 5:21 PM Daniel Borkmann <daniel@xxxxxxxxxxxxx> wrote:
>
> On 05/20/2019 10:38 PM, Jakub Kicinski wrote:
> > On Mon, 20 May 2019 19:46:27 +0200, Matteo Croce wrote:
> >> On Sat, May 18, 2019 at 2:46 AM Matteo Croce <mcroce@xxxxxxxxxx> wrote:
> >>>
> >>> Fix the following error by removing a duplicate struct definition:
> >>
> >> Hi all,
> >>
> >> I forget to send a cover letter for this series, but basically what I
> >> wanted to say is that while patches 1-3 are very straightforward,
> >> patches 4-5 are a bit rough and I accept suggstions to make a cleaner
> >> work.
> >
> > samples depend on headers being locally installed:
> >
> > make headers_install
> >
> > Are you intending to change that?
>
> +1, Matteo, could you elaborate?
>
> On latest bpf tree, everything compiles just fine:
>
> [root@linux bpf]# make headers_install
> [root@linux bpf]# make -C samples/bpf/
> make: Entering directory '/home/darkstar/trees/bpf/samples/bpf'
> make -C ../../ /home/darkstar/trees/bpf/samples/bpf/ BPF_SAMPLES_PATH=/home/darkstar/trees/bpf/samples/bpf
> make[1]: Entering directory '/home/darkstar/trees/bpf'
> CALL scripts/checksyscalls.sh
> CALL scripts/atomic/check-atomics.sh
> DESCEND objtool
> make -C /home/darkstar/trees/bpf/samples/bpf/../../tools/lib/bpf/ RM='rm -rf' LDFLAGS= srctree=/home/darkstar/trees/bpf/samples/bpf/../../ O=
> HOSTCC /home/darkstar/trees/bpf/samples/bpf/test_lru_dist
> HOSTCC /home/darkstar/trees/bpf/samples/bpf/sock_example
>

Hi all,

I have kernel-headers installed from master, but yet the samples fail to build:

matteo@turbo:~/src/linux/samples/bpf$ rpm -q kernel-headers
kernel-headers-5.2.0_rc1-38.x86_64

matteo@turbo:~/src/linux/samples/bpf$ git describe HEAD
v5.2-rc1-97-g5bdd9ad875b6

matteo@turbo:~/src/linux/samples/bpf$ make
make -C ../../ /home/matteo/src/linux/samples/bpf/
BPF_SAMPLES_PATH=/home/matteo/src/linux/samples/bpf
make[1]: Entering directory '/home/matteo/src/linux'
CALL scripts/checksyscalls.sh
CALL scripts/atomic/check-atomics.sh
DESCEND objtool
make -C /home/matteo/src/linux/samples/bpf/../../tools/lib/bpf/ RM='rm
-rf' LDFLAGS= srctree=/home/matteo/src/linux/samples/bpf/../../ O=
HOSTCC /home/matteo/src/linux/samples/bpf/test_lru_dist
/home/matteo/src/linux/samples/bpf/test_lru_dist.c:39:8: error:
redefinition of âstruct list_headâ
39 | struct list_head {
| ^~~~~~~~~
In file included from /home/matteo/src/linux/samples/bpf/test_lru_dist.c:9:
./tools/include/linux/types.h:69:8: note: originally defined here
69 | struct list_head {
| ^~~~~~~~~
make[2]: *** [scripts/Makefile.host:90:
/home/matteo/src/linux/samples/bpf/test_lru_dist] Error 1
make[1]: *** [Makefile:1762: /home/matteo/src/linux/samples/bpf/] Error 2
make[1]: Leaving directory '/home/matteo/src/linux'
make: *** [Makefile:231: all] Error 2

Am I missing something obvious?


Regards,


--
Matteo Croce
per aspera ad upstream