On 10/28/20 8:27 PM, Andrii Nakryiko wrote: > On Wed, Oct 28, 2020 at 7:06 PM Hangbin Liu <haliu@xxxxxxxxxx> wrote: >> >> On Wed, Oct 28, 2020 at 05:02:34PM -0600, David Ahern wrote: >>> fails to compile on Ubuntu 20.10: >>> >>> root@u2010-sfo3:~/iproute2.git# ./configure >>> TC schedulers >>> ATM yes >>> IPT using xtables >>> IPSET yes >>> >>> iptables modules directory: /usr/lib/x86_64-linux-gnu/xtables >>> libc has setns: yes >>> SELinux support: yes >>> libbpf support: yes >>> ELF support: yes >>> libmnl support: yes >>> Berkeley DB: no >>> need for strlcpy: yes >>> libcap support: yes >>> >>> root@u2010-sfo3:~/iproute2.git# make clean >>> >>> root@u2010-sfo3:~/iproute2.git# make -j 4 >>> ... >>> /usr/bin/ld: ../lib/libutil.a(bpf_libbpf.o): in function `load_bpf_object': >>> bpf_libbpf.c:(.text+0x3cb): undefined reference to >>> `bpf_program__section_name' >>> /usr/bin/ld: bpf_libbpf.c:(.text+0x438): undefined reference to >>> `bpf_program__section_name' >>> /usr/bin/ld: bpf_libbpf.c:(.text+0x716): undefined reference to >>> `bpf_program__section_name' >>> collect2: error: ld returned 1 exit status >>> make[1]: *** [Makefile:27: ip] Error 1 >>> make[1]: *** Waiting for unfinished jobs.... >>> make: *** [Makefile:64: all] Error 2 >> >> You need to update libbpf to latest version. > > Why not using libbpf from submodule? > no. iproute2 does not bring in libmnl, libc, ... a submodules. libbpf is not special. OS versions provide it and it needs to co-exist with packages.