[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAEf4BzacgsZiXQJPM=j_cKW=3pF8Kwx=JvY9FjMgvJ1HzfyVAA@mail.gmail.com>
Date: Wed, 28 Oct 2020 19:46:38 -0700
From: Andrii Nakryiko <andrii.nakryiko@...il.com>
To: David Ahern <dsahern@...il.com>
Cc: Hangbin Liu <haliu@...hat.com>,
Stephen Hemminger <stephen@...workplumber.org>,
Daniel Borkmann <daniel@...earbox.net>,
Alexei Starovoitov <ast@...nel.org>,
Martin KaFai Lau <kafai@...com>,
Song Liu <songliubraving@...com>, Yonghong Song <yhs@...com>,
David Miller <davem@...emloft.net>,
Jesper Dangaard Brouer <brouer@...hat.com>,
Networking <netdev@...r.kernel.org>, bpf <bpf@...r.kernel.org>,
Jiri Benc <jbenc@...hat.com>,
Andrii Nakryiko <andrii@...nel.org>,
Toke Høiland-Jørgensen <toke@...hat.com>
Subject: Re: [PATCHv2 iproute2-next 0/5] iproute2: add libbpf support
On Wed, Oct 28, 2020 at 7:33 PM David Ahern <dsahern@...il.com> wrote:
>
> On 10/28/20 8:27 PM, Andrii Nakryiko wrote:
> > On Wed, Oct 28, 2020 at 7:06 PM Hangbin Liu <haliu@...hat.com> wrote:
> >>
> >> On Wed, Oct 28, 2020 at 05:02:34PM -0600, David Ahern wrote:
> >>> fails to compile on Ubuntu 20.10:
> >>>
> >>> root@...10-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@...10-sfo3:~/iproute2.git# make clean
> >>>
> >>> root@...10-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.
Not saying libbpf is special, but libbpf is a fast moving target right
now, so it's pragmatic to have it as submodule, because if you'd like
to use some latest functionality, you won't have to add all the
conditional compilation shenanigans to detect every single new API
you'd like to use from libbpf. And libbpf is pretty small to not worry
about saving memory through a shared library.
But it's up to you guys, of course.
Powered by blists - more mailing lists