On Fri, 2019-01-25 at 11:28 -0500, Aaron Conole wrote:
> Christian Ehrhardt <[email protected]> writes:
>
> > DPDK 18.11 builds using the more modern meson build system no more
> > provide the -ldpdk linker script. Instead it is expected to use
> > pkgconfig for linker options as well.
> >
> > This change will set DPDK_LIB from pkg-config (if pkg-config was
> > available) and since that already carries the whole-archive flags
> > around
> > the PMDs skips the further wrapping in more whole-archive if that
> > is
> > already part of DPDK_LIB.
> >
> > Signed-off-by: Christian Ehrhardt <[email protected]
> > >
> > ---
> > acinclude.m4 | 17 ++++++++++++-----
> > 1 file changed, 12 insertions(+), 5 deletions(-)
> >
> > diff --git a/acinclude.m4 b/acinclude.m4
> > index f038fd457..a45411860 100644
> > --- a/acinclude.m4
> > +++ b/acinclude.m4
> > @@ -223,9 +223,9 @@ AC_DEFUN([OVS_CHECK_DPDK], [
> > case "$with_dpdk" in
> > yes)
> > DPDK_AUTO_DISCOVER="true"
> > - PKG_CHECK_MODULES([DPDK], [libdpdk],
> > - [DPDK_INCLUDE="$DPDK_CFLAGS"],
> > - [DPDK_INCLUDE="-I/usr/local/include/dpdk
> > -I/usr/include/dpdk"])
> > + PKG_CHECK_MODULES_STATIC([DPDK], [libdpdk],
> > + [DPDK_INCLUDE="$DPDK_CFLAGS",
> > DPDK_LIB="$DPDK_LIBS"],
> > +
> > [DPDK_INCLUDE="-I/usr/local/include/dpdk -I/usr/include/dpdk",
> > DPDK_LIB="-ldpdk"])
>
> Something about this autoconf check caused all of the travis builds
> to
> fail:
>
> https://travis-ci.org/ovsrobot/ovs/builds/483986081
>
> The PKG_CHECK_MODULES_STATIC seems to have been added in a later
> version
> of autoconf than is shipped in the travis environment, so it might be
> something we need to test against and provide an alternative
> implementation, ala the following bug report:
>
> https://bugs.freedesktop.org/show_bug.cgi?id=19541
Hi,
The PKG_CHECK* macros come from the pkg-config package, not autoconf,
in version 0.29. The version of pkg-config in Ubuntu 14.04 does not
indeed contain it, but 16.04 does.
If you go down the reimplementation route, I would recommend checking
for the macro version first and add a comment, so that you can then
drop it when compatibility with Ubuntu 14.04 and Debian 8 is no longer
required.
> Thinking about it, is there a reason to change from dynamic linking
> to
> static linking? Especially since we can achieve something similar
> via
> the `PKG_CONFIG="$PKG_CONFIG --static"` override?
Note that this is not doing static linking - it's just getting the full
list of libs (which includes all the PMDs). The _STATIC macro is
implemented exactly as you suggested above.
--
Kind regards,
Luca Boccassi
_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev