[dpdk-dev] Meson Minimum Version

Morten Brørup mb at smartsharesystems.com
Fri Sep 25 09:31:53 CEST 2020


> From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Bruce Richardson
> Sent: Thursday, September 24, 2020 5:43 PM
> 
> On Thu, Sep 24, 2020 at 03:32:41PM +0000, John Alexander wrote:
> >    Hi,
> >    Regarding the subproject local patch support, yes, it's only
> supported
> >    since Meson 0.55:
> >    https://mesonbuild.com/Wrap-dependency-system-manual.html We pip
> >    installed 0.55 Meson.
> >    I have a number of subsequent patches that depend on this
> particular
> >    pthreads library to advance the Windows DPDK support. Locally, we
> have
> >    testpmd (minus mmap'd external memory currently) running against
> the
> >    Intel i40e PMD (XL710 4x10Gbps SPF+ NIC) on Windows on our local
> DPDK
> >    fork (based off 20.08-rc2 using Microsoft's latest NetUIO driver).
> We
> >    have 47 of the 51 RTE libraries building and have had l2fwd,
> l3fwd,
> >    ipv4_multicast and almost all of the regression tests
> compiling+linking
> >    too. I'd like to push as much of the Windows EAL work we've done
> >    upstream if I can (after a bit of tidying up :).
> >    I've also coded up a meson build patch for the Jansson JSON parser
> used
> >    by the RTE metrics library (the config.h generation was quite
> fiddly!)
> >    That's ready to go. We get nice meson syntax as follows to specify
> a
> >    fallback if the library isn't installed locally:
> >    jansson = dependency('jansson', required: false, fallback :
> ['jansson',
> >    'jansson_static_dep'])
> >    I believe the meson command line enables disabling fallbacks if
> people
> >    would prefer not to use them (--wrap-mode=nofallback).
> >    Kind regards,
> >    John.
> 
> Hi again, John,
> 
> thanks for the full reply - the work you have sounds really good, and
> the
> possibilities using the wrap support are definitely of interest.
> [Though
> since jansson is only used for the legacy parts of the telemetry
> library
> I'm not sure we want to wrap it just for that - the later telemetry
> work
> from this year doesn't depend on jansson. Then again, the
> vm_power_manager
> example also uses it too...]. It's probably something that would be
> especially useful for software dependencies that aren't normally
> packaged.
> 
> I've added techboard on CC to previous reply, so hopefully we'll get
> some
> thoughts from others.
> 

A buggy C compiler might generate buggy code, and the compiler induced bugs may not be caught during development (but hopefully during testing). I have seen this happen, and I still consider it a realistic scenario. This is the strongest argument for using a trusted version of the C compiler, which is supported by the popular GNU/Linux distributors (Red Hat etc.), or sufficiently vetted to be included in the Crosstool-NG project, or similar.

Meson is a relatively simple tool, so I personally wouldn't mind overwriting the distro-supported version on our build systems with a new version. (I haven't worked much with Meson, but assume that the new version of Meson is backwards compatible with its earlier versions.)

In short, my primary concern is: What could realistically go wrong if the required version of Meson is buggy?

Bruce, you have worked for quite a while with Meson/Ninja by now, so perhaps you can assess this risk based on your experience.


> Regards,
> /Bruce
> 
> PS: please don't top-post in replying and keep plain text email if
> possible. Thanks.
> 
> >    ------------------------------------------------------------------
> ----
> >    Date: Thu, 24 Sep 2020 15:38:30 +0100
> >    From: Bruce Richardson <bruce.richardson at intel.com>
> >    To: John Alexander <John.Alexander at datapath.co.uk>
> >    Cc: "dev at dpdk.org" <dev at dpdk.org>, techboard at dpdk.org
> >    Subject: Re: [dpdk-dev] Meson Minimum Version
> >    Message-ID: <20200924143830.GD382 at bricha3-MOBL.ger.corp.intel.com>
> >    Content-Type: text/plain; charset=us-ascii
> >    On Thu, Sep 24, 2020 at 02:22:03PM +0000, John Alexander wrote:
> >    > Hi,
> >    >
> >    > I've submitted a patch that uses new features of Meson,
> specifically
> >    the directory patch aspect of the subproject feature. This
> requires a
> >    minimum Meson version of 0.55.0. How do we go about getting the
> >    community to accept a more recent version of Meson and getting the
> >    Travis server upgraded too so the CI builds succeed?
> >    >
> >    > Patch link for reference: http://patches.dpdk.org/patch/78675/
> >    >
> >    Hi John,
> >    from what I understand the specific dependency on 0.55 is the
> support
> >    for local patchfiles for the wrapped software, and that previous
> >    versions only supported using patches pulled remotely - is that
> >    correct?
> >    While I'm in favour of incrementing the minimum meson version in
> >    general, since 0.55 is the very latest version I am worried about
> any
> >    impacts that might have, since it will basically mean that
> everyone
> >    building DPDK has to pull meson from pip rather than being able to
> use
> >    a distro-supplied version. Updating to something a little less
> recent
> >    would be more my preference.
> >    Then again, using the wrap system to pull in dependencies seems
> >    something really good to have, so maybe the initial pain of
> requiring a
> >    recent meson is worth it!
> >    Thoughts from others?
> >    Regards,
> >    /Bruce
> >
> >    John Alexander​
> >    Senior Software Engineer
> >    Bemrose House, Bemrose Park, Wayzgoose Drive ,  Derby ,  DE21 6XQ
> >    [1]+44 (0)1332 294 441  |  [2]www.datapath.co.uk
> >    [3]LinkedIn
> >    [4]Twitter
> >    [5]YouTube
> >    [6]Vote for Datapath
> >    Datapath Ltd.  Registered Number: 1609392.  Registered in England
> at Be
> >    mrose House, Bemrose Park, Wayzgoose Drive, Derby. DE21 6XQ.
> >
> > References
> >
> >    Visible links
> >    1. tel:+44%20(0)1332%20294%20441
> >    2. http://www.datapath.co.uk/
> >    3. https://www.linkedin.com/company/datapath-ltd
> >    4. https://www.twitter.com/datapathltd
> >    5. https://www.youtube.com/datapathderby
> >    6. https://nbmedia.wufoo.com/forms/z17utbme1olkvqz/
> >
> >    Hidden links:
> >    7. http://www.datapath.co.uk/
> 



More information about the dev mailing list