[ovs-dev] Fwd: [PATCH] build: check libibverbs deps before linking with dpdk

David Marchand david.marchand at redhat.com
Fri Nov 12 11:01:14 UTC 2021


On Thu, Nov 11, 2021 at 2:55 AM Harold Huang <baymaxhuang at gmail.com> wrote:
>
> FIY,  both dpdk and ovs are built in CentOS Linux release 8.2.2004
> with a native kernel 4.18.0-193.el8.x86_64.

I started a Centos 8.2 vm.
No libibverbs installed by default.
I compiled DPDK v20.11.3 and installed it in builddir/install

The output you provided on .pc files matches what I see.
No reference to libibverbs in installed DPDK:
[dpdk at centos8 dpdk]$ grep -r ibverbs builddir/install
[dpdk at centos8 dpdk]$


I have no problem building and linking OVS (current master branch).

Here is what I see in my working OVS environment (I mean in the
directory where I have the OVS sources, and where I ran sh boot.sh +
PKG_CONFIG_PATH=... ./configure --with-dpdk):
[dpdk at centos8 ovs]$ grep -r ibverbs .
./acinclude.m4:        OVS_FIND_DEPENDENCY([verbs_init_cq], [ibverbs],
[libibverbs])
./acinclude.m4:        OVS_FIND_DEPENDENCY([verbs_init_cq], [ibverbs],
[libibverbs])
./autom4te.cache/traces.0:        OVS_FIND_DEPENDENCY([verbs_init_cq],
[ibverbs], [libibverbs])
./autom4te.cache/traces.0:        OVS_FIND_DEPENDENCY([verbs_init_cq],
[ibverbs], [libibverbs])
./autom4te.cache/traces.0:m4trace:configure.ac:197: -1-
OVS_FIND_DEPENDENCY([verbs_init_cq], [ibverbs], [libibverbs])
./autom4te.cache/traces.0:m4trace:configure.ac:197: -1-
OVS_FIND_DEPENDENCY([verbs_init_cq], [ibverbs], [libibverbs])
./autom4te.cache/output.0:for ac_lib in '' ibverbs; do
./autom4te.cache/output.0:    as_fn_error $? "unable to find
libibverbs, install the dependency package" "$LINENO" 5
./autom4te.cache/output.0:for ac_lib in '' ibverbs; do
./autom4te.cache/output.0:    as_fn_error $? "unable to find
libibverbs, install the dependency package" "$LINENO" 5
./autom4te.cache/output.1:for ac_lib in '' ibverbs; do
./autom4te.cache/output.1:    as_fn_error $? "unable to find
libibverbs, install the dependency package" "$LINENO" 5
./autom4te.cache/output.1:for ac_lib in '' ibverbs; do
./autom4te.cache/output.1:    as_fn_error $? "unable to find
libibverbs, install the dependency package" "$LINENO" 5
./autom4te.cache/traces.2:        OVS_FIND_DEPENDENCY([verbs_init_cq],
[ibverbs], [libibverbs])
./autom4te.cache/traces.2:        OVS_FIND_DEPENDENCY([verbs_init_cq],
[ibverbs], [libibverbs])
./autom4te.cache/traces.2:m4trace:configure.ac:197: -1-
OVS_FIND_DEPENDENCY([verbs_init_cq], [ibverbs], [libibverbs])
./autom4te.cache/traces.2:m4trace:configure.ac:197: -1-
OVS_FIND_DEPENDENCY([verbs_init_cq], [ibverbs], [libibverbs])
./autom4te.cache/output.2:for ac_lib in '' ibverbs; do
./autom4te.cache/output.2:    as_fn_error $? "unable to find
libibverbs, install the dependency package" "$LINENO" 5
./autom4te.cache/output.2:for ac_lib in '' ibverbs; do
./autom4te.cache/output.2:    as_fn_error $? "unable to find
libibverbs, install the dependency package" "$LINENO" 5
./configure:for ac_lib in '' ibverbs; do
./configure:    as_fn_error $? "unable to find libibverbs, install the
dependency package" "$LINENO" 5
./configure:for ac_lib in '' ibverbs; do
./configure:    as_fn_error $? "unable to find libibverbs, install the
dependency package" "$LINENO" 5


OVS requests ibverbs only if mlx drivers are present in DPDK build (+
option RTE_IBVERBS_LINK_DLOPEN iirc).

For your issue, things that come to mind are an outdated build
directory, maybe following a pull from OVS sources, or maybe you had
ibverbs installed in the past on this system, and now it has been
removed.

Did you compile OVS from a scratch/clean environment?


-- 
David Marchand



More information about the dev mailing list