On Fri, 2019-01-25 at 11:28 -0500, Aaron Conole wrote:
> Christian Ehrhardt <christian.ehrha...@canonical.com> 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 <christian.ehrha...@canonical.com
> > >
> > ---
> >  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
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to