From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wm1-f54.google.com (mail-wm1-f54.google.com [209.85.128.54]) by dpdk.org (Postfix) with ESMTP id 207CD2BA1 for ; Thu, 15 Nov 2018 19:22:13 +0100 (CET) Received: by mail-wm1-f54.google.com with SMTP id w7-v6so19730714wmc.1 for ; Thu, 15 Nov 2018 10:22:13 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:message-id:subject:from:to:cc:date:in-reply-to :references:content-transfer-encoding:mime-version; bh=livPdMKAu/5pMmz8uwuUN1OQKHIARh81BVepODEl/FM=; b=FhhLJOHv+M6OWakAqrn2IIIlqeJefA/JBG8u0h5OXXiZgRSXUEagWzb2xw4Tp+krjd gAQbsV2wyNDjkexoV7hVgShyODyizuKPt8C3ofKDL+DurIUaZSpIlnOIGFzqlndPHVP2 y52lSGWWuGK4fpXSp5cDVfl0EIJPkFz5699nXtC+5kW2Qb/cqi4K6EJ97QIuozF/fHMl D4Qr2zqTuoEjR959sC9sRVK+0VXdUVthSzvhnvqgyN4GOd+MaJFjeMRxBaS9egQil20B 9GOkHWKD7OETuYCts0U8RW0pon5KcnDbrINRZG5DPuDYrXApccSEoPmR9ciWwlledVpY kB1Q== X-Gm-Message-State: AGRZ1gJRmyFa8UEiPsSpZcEizDdnFNYCArinoi7DIuWyOwxjaF4xp0Ms zoarR1LDRerojFdsJEUN0R0= X-Google-Smtp-Source: AFSGD/VGxY092TvRsUn16vyJSTVwhEvUuIV7ddyPN8au39uA6Y7KEoGhe58GsVPxXOJfoa9Q9W4EOQ== X-Received: by 2002:a1c:150d:: with SMTP id 13-v6mr99882wmv.24.1542306132265; Thu, 15 Nov 2018 10:22:12 -0800 (PST) Received: from localhost ([2a01:4b00:f419:6f00:8361:8946:ba2b:d556]) by smtp.gmail.com with ESMTPSA id m7sm6582555wml.32.2018.11.15.10.22.09 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Thu, 15 Nov 2018 10:22:09 -0800 (PST) Message-ID: <1542306127.11515.24.camel@debian.org> From: Luca Boccassi To: Bruce Richardson Cc: "Burdick, Cliff" , Thomas Monjalon , "Burakov, Anatoly" , "dev@dpdk.org" Date: Thu, 15 Nov 2018 18:22:07 +0000 In-Reply-To: <20181115171724.GA14632@bricha3-MOBL.ger.corp.intel.com> References: <20181114114741.GA17424@bricha3-MOBL.ger.corp.intel.com> <03A7D9A58FAFB54FBB01FEE199D7308A0134B8FA28@wdc1exchmbxp02.hq.corp.viasat.com> <1542219312.11515.15.camel@debian.org> <03A7D9A58FAFB54FBB01FEE199D7308A0134B8FB80@wdc1exchmbxp02.hq.corp.viasat.com> <1542274397.11515.18.camel@debian.org> <03A7D9A58FAFB54FBB01FEE199D7308A0134B905F7@wdc1exchmbxp02.hq.corp.viasat.com> <20181115164116.GA5012@bricha3-MOBL.ger.corp.intel.com> <03A7D9A58FAFB54FBB01FEE199D7308A0134B90649@wdc1exchmbxp02.hq.corp.viasat.com> <59AF69C657FD0841A61C55336867B5B0726E0748@IRSMSX103.ger.corp.intel.com> <1542301516.11515.21.camel@debian.org> <20181115171724.GA14632@bricha3-MOBL.ger.corp.intel.com> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Mailer: Evolution 3.22.6-1+deb9u1 Mime-Version: 1.0 Subject: Re: [dpdk-dev] [PATCH 1/1] eal: Don't fail secondary if primary is missing tailqs X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 15 Nov 2018 18:22:13 -0000 On Thu, 2018-11-15 at 17:17 +0000, Bruce Richardson wrote: > On Thu, Nov 15, 2018 at 05:05:16PM +0000, Luca Boccassi wrote: > > On Thu, 2018-11-15 at 17:01 +0000, Richardson, Bruce wrote: > > > > -----Original Message----- > > > > From: Burdick, Cliff [mailto:Cliff.Burdick@viasat.com] > > > > Sent: Thursday, November 15, 2018 4:55 PM > > > > To: Richardson, Bruce > > > > Cc: Luca Boccassi ; Thomas Monjalon > > > > ; Burakov, Anatoly > > > com> > > > > ; > > > > dev@dpdk.org > > > > Subject: RE: [dpdk-dev] [PATCH 1/1] eal: Don't fail secondary > > > > if > > > > primary > > > > is missing tailqs > > > >=20 > > > >=20 > > > >=20 > > > > -----Original Message----- > > > > From: Bruce Richardson [mailto:bruce.richardson@intel.com] > > > > Sent: Thursday, November 15, 2018 8:41 AM > > > > To: Burdick, Cliff > > > > Cc: Luca Boccassi; Thomas Monjalon; Burakov, Anatoly; dev@dpdk. > > > > org > > > > Subject: Re: [dpdk-dev] [PATCH 1/1] eal: Don't fail secondary > > > > if > > > > primary > > > > is missing tailqs > > > >=20 > > > > > On Thu, Nov 15, 2018 at 04:15:36PM +0000, Burdick, Cliff > > > > > wrote: > > > > > >=20 > > > > > >=20 > > > > > > -----Original Message----- > > > > > > From: Luca Boccassi [mailto:bluca@debian.org] > > > > > > Sent: Thursday, November 15, 2018 1:33 AM > > > > > > To: Burdick, Cliff; Bruce Richardson > > > > > > Cc: Thomas Monjalon; Burakov, Anatoly; dev@dpdk.org > > > > > > Subject: Re: [dpdk-dev] [PATCH 1/1] eal: Don't fail > > > > > > secondary > > > > > > if > > > > > > primary is missing tailqs > > > > > >=20 > > > > > > > On Wed, 2018-11-14 at 18:24 +0000, Burdick, Cliff wrote: > > > > > > > >=20 > > > > > > > > -----Original Message----- > > > > > > > > From: Luca Boccassi [mailto:bluca@debian.org] > > > > > > > > Sent: Wednesday, November 14, 2018 10:15 AM > > > > > > > > To: Burdick, Cliff; Bruce Richardson > > > > > > > > Cc: Thomas Monjalon; Burakov, Anatoly; dev@dpdk.org > > > > > > > > Subject: Re: [dpdk-dev] [PATCH 1/1] eal: Don't fail > > > > > > > > secondary if > > > > > > > > primary is missing tailqs > > > > > > > >=20 > > > > > > > > > On Wed, 2018-11-14 at 17:40 +0000, Burdick, Cliff > > > > > > > > > wrote: > > > > > > > > > >=20 > > > > > > > > > > -----Original Message----- > > > > > > > > > > From: Bruce Richardson [mailto:bruce.richardson@int > > > > > > > > > > el.c > > > > > > > > > > om] > > > > > > > > > > Sent: Wednesday, November 14, 2018 3:48 AM > > > > > > > > > > To: Burdick, Cliff > > > > > > > > > > Cc: Thomas Monjalon; Burakov, Anatoly; dev@dpdk.org > > > > > > > > > > Subject: Re: [dpdk-dev] [PATCH 1/1] eal: Don't fail > > > > > > > > > > secondary > > > > > > > > > > if primary is missing tailqs > > > > > > > > > >=20 > > > > > > > > > > On Tue, Nov 13, 2018 at 11:42:51PM +0000, Burdick, > > > > > > > > > > Cliff > > > >=20 > > > > wrote: > > > > > > > > > > > >=20 > > > > > > > > > > > > ________________________________________ > > > > > > > > > > > > From: Thomas Monjalon [thomas@monjalon.net] > > > > > > > > > > > > Sent: Tuesday, November 13, 2018 2:18 PM > > > > > > > > > > > > To: Burdick, Cliff > > > > > > > > > > > > Cc: Burakov, Anatoly; dev@dpdk.org; > > > > > > > > > > > > bruce.richardson@intel.co m > > > > > > > > > > > > Subject: Re: [dpdk-dev] [PATCH 1/1] eal: Don't > > > > > > > > > > > > fail > > > > > > > > > > > > secondary if primary is missing tailqs > > > > > > > > > > > >=20 > > > > > > > > > > > > 13/11/2018 23:08, Burdick, Cliff: > > > > > > > > > > > > > From: Thomas Monjalon [mailto:thomas@monjalon > > > > > > > > > > > > > .net > > > > > > > > > > > > > ] > > > > > > > > > > > > > > 13/11/2018 17:38, Burdick, Cliff: > > > > > > > > > > > > > > > From: Thomas Monjalon [mailto:thomas@monj > > > > > > > > > > > > > > > alon > > > > > > > > > > > > > > > .net] > > > > > > > > > > > > > > > 13/11/2018 16:45, Burdick, Cliff: > > > > > > > > > > > > > > > > From: Burakov, Anatoly > > > >=20 > > > > [mailto:anatoly.burakov@intel. > > > > > > > > > > > > > > > > com] > > > > > > > > > > > > > > > > > On 13-Nov-18 9:21 AM, Thomas Monjalon > > > > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > 13/11/2018 00:33, Burdick, Cliff: > > > > > > > > > > > > > > > > > > > This patch was submitted by Jean > > > > > > > > > > > > > > > > > > > Tourrilhes > > > > > > > > > > > > > > > > > > > over two years ago, but didn't > > > > > > > > > > > > > > > > > > > receive any > > > >=20 > > > > responses. > > > > > > > > > > > > > > > > > > > I hit the same issue recently > > > > > > > > > > > > > > > > > > > when > > > > > > > > > > > > > > > > > > > trying to > > > > > > > > > > > > > > > > > > > use cgo > > > > > > > > > > > > > > > > > > > (Golang) as a primary process > > > > > > > > > > > > > > > > > > > linked > > > > > > > > > > > > > > > > > > > to > > > > > > > > > > > > > > > > > > > libdpdk.a against a C++ > > > > > > > > > > > > > > > > > > > application > > > > > > > > > > > > > > > > > > > linked > > > > > > > > > > > > > > > > > > > against the same library.> > > > > > > > > > > > > > > > > > > > >=20 > > > > > > > > > > > > > > > > > > The question is to know why you > > > > > > > > > > > > > > > > > > don't > > > > > > > > > > > > > > > > > > have the > > > > > > > > > > > > > > > > > > same constructors in primary and > > > > > > > > > > > > > > > > > > seconday? > > > > > > > > > > > > > > > > >=20 > > > > > > > > > > > > > > > > > I've hit similar things in the past. > > > > > > > > > > > > > > > > > I > > > > > > > > > > > > > > > > > believe > > > > > > > > > > > > > > > > > it was caused by our build system > > > > > > > > > > > > > > > > > stripping out > > > > > > > > > > > > > > > > > unused libraries (such as > > > > > > > > > > > > > > > > > rte_hash) from the binary and thus > > > > > > > > > > > > > > > > > not > > > > > > > > > > > > > > > > > calling > > > > > > > > > > > > > > > > > the constructor in the primary, but > > > > > > > > > > > > > > > > > doing > > > > > > > > > > > > > > > > > so in > > > > > > > > > > > > > > > > > the secondary (or something to that > > > > > > > > > > > > > > > > > effect). In > > > > > > > > > > > > > > > > > any case, this is caused by linking > > > > > > > > > > > > > > > > > different > > > > > > > > > > > > > > > > > number of libraries to primary and > > > > > > > > > > > > > > > > > secondary, > > > > > > > > > > > > > > > > > and should probably be fixed in the > > > > > > > > > > > > > > > > > build > > > > > > > > > > > > > > > > > system, not in the tailqs code > > > > > > > > > > > > > > > > > (unless we > > > > > > > > > > > > > > > > > specifically support having different > > > > > > > > > > > > > > > > > linked > > > > > > > > > > > > > > > > > libraries to primary and > > > > > > > > > > > > > > > > > secondary?).> > > > > > > > > > > > > > > > > > > > >=20 > > > > > > > > > > > > > > > >=20 > > > > > > > > > > > > > > > > Right, I think the original author of > > > > > > > > > > > > > > > > the > > > > > > > > > > > > > > > > patch > > > > > > > > > > > > > > > > stated the reasons in the link I > > > > > > > > > > > > > > > > provided. > > > > > > > > > > > > > > > > The > > > > > > > > > > > > > > > > build system seems like the most > > > > > > > > > > > > > > > > appropriate place > > > > > > > > > > > > > > > > to fix it, but the patch got me going > > > > > > > > > > > > > > > > quickly. I > > > > > > > > > > > > > > > > think the question is whether you want > > > > > > > > > > > > > > > > DPDK > > > > > > > > > > > > > > > > to > > > > > > > > > > > > > > > > support these other ways of linking. > > > > > > > > > > > > > > > > I'm > > > > > > > > > > > > > > > > certainly not the first to use cgo, > > > > > > > > > > > > > > > > since > > > > > > > > > > > > > > > > there's > > > > > > > > > > > > > > > > a virtual switch project doing the > > > > > > > > > > > > > > > > same: > > > > > > > > > > > > > > > >=20 > > > > > > > > > > > > > > > > https://urldefense.proofpoint.com/v2/ur > > > > > > > > > > > > > > > > l?u=3D > > > > > > > > > > > > > > > > https-3 > > > > > > > > > > > > > > > > A__ > > > > > > > > > > > > > > > > gith > > > > > > > > > > > > > > > > ub.co > > > > > > > > > > > > > > > > m_lago > > > > > > > > > > > > > > > > pu > > > > > > > > > > > > > > > > s_vsw&d=3DDwICAg&c=3Djcv3orpCsv7C4ly8- > > > > > > > > > > > > > > > > ubDoUfrxF5xIGWmptxGWP5vi5w&r =3Dm1RLQ OG > > > > > > > > > > > > > > > > Okz9MauvVLZmiGtyWc5mA7DejbPFNE1IDj- > > > > > > > > > > > > > > > > 4&m=3DhQqVCNwW7eoEzB_hLFK97i8 idS8FI qX > > > > > > > > > > > > > > > > oPeclwsIZq7Y&s=3DBMoBlwkqljwWIBY3SE3pPMCf > > > > > > > > > > > > > > > > VnOU > > > > > > > > > > > > > > > > lDuZLrn > > > > > > > > > > > > > > > > o4- > > > > > > > > > > > > > > > > SojKM&e=3D > > > > > > > > > > > > > > > >=20 > > > > > > > > > > > > > > > > They don't use primary/secondary > > > > > > > > > > > > > > > > processes, > > > > > > > > > > > > > > > > though, so the issue is=C2=A0=C2=A0never hi= t. I'm > > > > > > > > > > > > > > > > in > > > > > > > > > > > > > > > > a > > > > > > > > > > > > > > > > situation where using cgo seemed like > > > > > > > > > > > > > > > > the > > > > > > > > > > > > > > > > easiest > > > > > > > > > > > > > > > > path to accomplish what I'm doing since > > > > > > > > > > > > > > > > I > > > > > > > > > > > > > > > > needed > > > > > > > > > > > > > > > > specialized=C2=A0=C2=A0libraries for it tha= t were > > > > > > > > > > > > > > > > not > > > > > > > > > > > > > > > > available in C/C++. At some point > > > > > > > > > > > > > > > > I=C2=A0=C2=A0bet > > > > > > > > > > > > > > > > someone > > > > > > > > > > > > > > > > would use Cython to start linking > > > > > > > > > > > > > > > > against > > > > > > > > > > > > > > > > DPDK as > > > > > > > > > > > > > > > > well,=C2=A0=C2=A0and we'd likely run into t= he > > > > > > > > > > > > > > > > same > > > > > > > > > > > > > > > > issue.> > > > > > > > > > > > > > > > > > > > For sure, we want to support using > > > > > > > > > > > > > > > > > > DPDK > > > > > > > > > > > > > > > > > > with > > > >=20 > > > > cgo or cython. > > > > > > > > > > > > > > > > But it is not clear what is the > > > > > > > > > > > > > > > > relation > > > > > > > > > > > > > > > > with not > > > > > > > > > > > > > > > > having the same compilation for primary > > > > > > > > > > > > > > > > and > > > >=20 > > > > secondary. > > > > > > > > > > > > > > > > Please > > > > > > > > > > > > > > > > could you elaborate?> > > > > > > > > > > > > > > > > >=20 > > > > > > > > > > > > > > > Hi Thomas, I think Jean explained it well > > > > > > > > > > > > > > > here: > > > > > > > > > > > > > > > https://urldefense.proofpoint.com/v2/url? > > > > > > > > > > > > > > > u=3Dht > > > > > > > > > > > > > > > tps-3A_ > > > > > > > > > > > > > > > _de > > > > > > > > > > > > > > > v.dp > > > > > > > > > > > > > > > dk.narkive. > > > > > > > > > > > > > > > com_ZM3a7QD1_dpdk-2Ddev-2Dbug-2Dstatic- > > > > > > > > > > > > > > > 2Dconstructor > > > > > > > > > > > > > > > s- > > > > > > > > > > > > > > > 2Dconsider > > > > > > > > > > > > > > > ed-2De > > > > > > > > > > > > > > > vil&d=3DDwICAg&c=3Djcv3orpCsv7C4ly8- > > > > > > > > > > > > > > > ubDoUfrxF5xIGWmptxGWP5vi5w&r=3Dm1R LQOGOk > > > > > > > > > > > > > > > z9MauvVLZmiGtyWc5mA7DejbPFNE1IDj- > > > > > > > > > > > > > > > 4&m=3DC69wDgrjDX8_oXp1M_3bnmWOOZd GqwBBG > > > > > > > > > > > > > > > 9vzkyGDWGQ&s=3DYYn2N7WrzJpH1ptNrLZad0nPAQdr > > > > > > > > > > > > > > > UyqB > > > > > > > > > > > > > > > ckk2uFu > > > > > > > > > > > > > > > WYP > > > > > > > > > > > > > > > Q&e=3D > > > > > > > > > > > > > > >=20 > > > > > > > > > > > > > > > "The build system of the application does > > > > > > > > > > > > > > > not > > > > > > > > > > > > > > > have > > > > > > > > > > > > > > > all the subtelties of the DPDK build > > > > > > > > > > > > > > > system, > > > > > > > > > > > > > > > and > > > > > > > > > > > > > > > ends up including > > > > > > > > > > > > > > > *all* > > > > > > > > > > > > > > > the constructors, wether they are used or > > > > > > > > > > > > > > > not > > > > > > > > > > > > > > > in the > > > > > > > > > > > > > > > code. > > > > > > > > > > > > > > > Moreover, they are included in a > > > > > > > > > > > > > > > different > > > > > > > > > > > > > > > order. > > > > > > > > > > > > > > > Actually, > > > > > > > > > > > > > > > by default the builds include no > > > > > > > > > > > > > > > constructors > > > > > > > > > > > > > > > at all > > > > > > > > > > > > > > > (which is a big fail), so the library > > > > > > > > > > > > > > > needs > > > > > > > > > > > > > > > to be > > > > > > > > > > > > > > > included with --whole-archive (see Snort > > > > > > > > > > > > > > > DPDK > > > > > > > > > > > > > > > instructions)." > > > > > > > > > > > > > > >=20 > > > > > > > > > > > > > > > I will get to the bottom of my exact case > > > > > > > > > > > > > > > to > > > > > > > > > > > > > > > understand what's happening, but my > > > > > > > > > > > > > > > primary > > > > > > > > > > > > > > > application is a cgo application that I'm > > > > > > > > > > > > > > > linking to > > > > > > > > > > > > > > > by using almost exactly the same flags > > > > > > > > > > > > > > > that > > > > > > > > > > > > > > > are used > > > > > > > > > > > > > > > in the DPDK build system to build > > > > > > > > > > > > > > > examples. > > > > > > > > > > > > > > > The DPDK > > > > > > > > > > > > > > > libraries I'm linking against is a single > > > > > > > > > > > > > > > location > > > > > > > > > > > > > > > for both primary and secondary; in other > > > > > > > > > > > > > > > words, I > > > >=20 > > > > don't build DPDK twice. > > > > > > > > > > > > > > >=20 > > > > > > > > > > > > > > > OK I understand, thanks. > > > > > > > > > > > > > > >=20 > > > > > > > > > > > > > > > You had alluded to a pkg-config for DPDK > > > > > > > > > > > > > > > in > > > > > > > > > > > > > > > the 2015 > > > > > > > > > > > > > > > thread, which cgo can use, but I don't > > > > > > > > > > > > > > > know > > > > > > > > > > > > > > > if that > > > > > > > > > > > > > > > ever was implemented. Cgo can use pkg- > > > > > > > > > > > > > > > config > > > > > > > > > > > > > > > if it's > > > > > > > > > > > > > > > available, otherwise the only tools are > > > > > > > > > > > > > > > specifying > > > > > > > > > > > > > > > LDFLAGS and CFLAGS into their build > > > > > > > > > > > > > > > system. > > > > > > > > > > > > > >=20 > > > > > > > > > > > > > > Yes, the right answer is still pkg-config > > > > > > > > > > > > > > :) > > > > > > > > > > > > > > The good > > > > > > > > > > > > > > news is that it is now implemented thanks > > > > > > > > > > > > > > to > > > > > > > > > > > > > > the meson > > > > > > > > > > > > > > build > > > > > > > > > > > > > > system: > > > > > > > > > > > > > >=20 > > > > > > > > > > > > > > https://urldefense.proofpoint.com/v2/url?u=3D > > > > > > > > > > > > > > http > > > > > > > > > > > > > > -3A__gi > > > > > > > > > > > > > > t.d > > > > > > > > > > > > > > pdk. > > > > > > > > > > > > > > org_dp > > > > > > > > > > > > > > dk_tree_doc_build-2Dsdk-2Dmeson.txt- > > > > > > > > > > > > > > 23n182&d=3DDwICAg&c=3Djcv3orpCsv7C4 > > > > > > > > > > > > > > ly8- > > > > > > > > > > > > > > ubDoUfrxF5xIGWmptxGWP5vi5w&r=3Dm1RLQOGOkz9Mau > > > > > > > > > > > > > > vVLZ > > > > > > > > > > > > > > miGtyWc > > > > > > > > > > > > > > 5mA > > > > > > > > > > > > > > 7Dej > > > > > > > > > > > > > > bP > > > > > > > > > > > > > > FNE1IDj- > > > > > > > > > > > > > > > 4&m=3DC69wDgrjDX8_oXp1M_3bnmWOOZdGqwBBG9vzk > > > > > > > > > > > > > > > yGDW > > > > > > > > > > > > > > > GQ&s=3DoC > > > > > > > > > > > > > > > 86K > > > > > > > > > > > > > > > D_R > > > > > > > > > > > > > >=20 > > > > > > > > > > > > > > J1T6rfzi3x5zFT1Ri13ELpKmsyFqpgDbgFg&e=3D > > > > > > > > > > > > >=20 > > > > > > > > > > > > > Hi Thomas, are there instructions on how to > > > > > > > > > > > > > use > > > > > > > > > > > > > pkg-config to build the mlx4/5 PMD? I noticed > > > > > > > > > > > > > a > > > > > > > > > > > > > patch > > > > > > > > > > > > > was submitted in September to add support for > > > > > > > > > > > > > it, > > > > > > > > > > > > > but > > > > > > > > > > > > > that link you provided on using meson doesn't > > > > > > > > > > > > > say > > > > > > > > > > > > > how to > > > > > > > > > > > > > build specific drivers. It appears to be > > > > > > > > > > > > > disabled > > > > > > > > > > > > > by > > > >=20 > > > > default. > > > > > > > > > > > > > If the dependency is found, meson will enable > > > > > > > > > > > > > the > > > > > > > > > > > > > PMD > > > > > > > > > > > > > when building DPDK. > > > > > > > > > > > >=20 > > > > > > > > > > > > Do you know where exactly that is? I've been > > > > > > > > > > > > using > > > > > > > > > > > > mlx5 > > > > > > > > > > > > for a while on this system, and I can see that > > > > > > > > > > > > 18.11-rc2 > > > > > > > > > > > > meson > > > > > > > > > > > > build+ninja built the pmd, but it's not on the > > > > > > > > > > > > -- > > > > > > > > > > > > libs > > > > > > > > > > > > build+listing > > > > > > > > > > > > for > > > > > > > > > > > > pkg-config. Does it tell me what I was missing? > > > > > > > > > > > >=20 > > > > > > > > > > >=20 > > > > > > > > > > > For dynamic linking of applications, the drivers > > > > > > > > > > > are > > > > > > > > > > > not > > > > > > > > > > > normally linked in. Instead, they should be > > > > > > > > > > > loaded > > > > > > > > > > > from the > > > > > > > > > > > drivers directory as .so files > > > > > > > > > > > - normally by default in EAL as the driver .so's > > > > > > > > > > > should be > > > > > > > > > > > copied to the EAL_PMD_PATH where EAL finds them > > > >=20 > > > > automatically. > > > > > > > > > > > [This applies to both meson and make builds, > > > > > > > > > > > though > > > > > > > > > > > only > > > > > > > > > > > meson generates the .pc file for pkg-config] > > > > > > > > > > >=20 > > > > > > > > > > > If you are doing a static build, then you need to > > > > > > > > > > > explicitly > > > > > > > > > > > link in the drivers. You can get a list from pkg- > > > > > > > > > > > config > > > > > > > > > > > using the " > > > > > > > > > > > --static" flag in this case. A good example of > > > > > > > > > > > how to > > > > > > > > > > > use > > > > > > > > > > > pkg- config in this way can be found in the > > > > > > > > > > > Makefiles > > > > > > > > > > > for > > > > > > > > > > > most examples, e.g. examples/helloworld/Makefile, > > > > > > > > > > > reproduced > > > >=20 > > > > below. > > > > > > > > > > >=20 > > > > > > > > > > > Regards, > > > > > > > > > > > /Bruce > > > > > > > > > > >=20 > > > > > > > > > > > all: shared > > > > > > > > > > > .PHONY: shared static > > > > > > > > > > > shared: build/$(APP)-shared > > > > > > > > > > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0ln -s= f $(APP)-shared build/$(APP) > > > > > > > > > > > static: build/$(APP)-static > > > > > > > > > > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0ln -s= f $(APP)-static build/$(APP) > > > > > > > > > > >=20 > > > > > > > > > > > PC_FILE :=3D $(shell pkg-config --path libdpdk) > > > > > > > > > > > CFLAGS > > > > > > > > > > > +=3D -O3 > > > > > > > > > > > $(shell pkg-config --cflags libdpdk) > > > > > > > > > > > LDFLAGS_SHARED =3D > > > > > > > > > > > $(shell > > > > > > > > > > > pkg- config -- libs libdpdk) LDFLAGS_STATIC =3D > > > > > > > > > > > -Wl,- > > > > > > > > > > > Bstatic > > > > > > > > > > > $(shell pkg-config > > > > > > > > > > > -- > > > > > > > > > > > static --libs libdpdk) > > > > > > > > > > >=20 > > > > > > > > > > > build/$(APP)-shared: $(SRCS-y) Makefile > > > > > > > > > > > $(PC_FILE) | > > > > > > > > > > > build > > > > > > > > > > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0$(CC)= $(CFLAGS) $(SRCS-y) -o $@ > > > > > > > > > > > $(LDFLAGS) > > > > > > > > > > > $(LDFLAGS_SHARED) > > > > > > > > > > >=20 > > > > > > > > > > > build/$(APP)-static: $(SRCS-y) Makefile > > > > > > > > > > > $(PC_FILE) | > > > > > > > > > > > build > > > > > > > > > > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0$(CC)= $(CFLAGS) $(SRCS-y) -o $@ > > > > > > > > > > > $(LDFLAGS) > > > > > > > > > > > $(LDFLAGS_STATIC) > > > > > > > > > > >=20 > > > > > > > > > > > build: > > > > > > > > > > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0@mkdi= r -p $@ > > > > > > > > > >=20 > > > > > > > > > > Thanks Bruce. I tried getting this to compile using > > > > > > > > > > cgo, and > > > > > > > > > > it's causing more pain than it's worth. I used the > > > > > > > > > > -- > > > > > > > > > > static > > > > > > > > > > --libs options, and there were still numerous > > > > > > > > > > linker > > > > > > > > > > errors, > > > > > > > > > > some specific to mlx, and some not. Specifically > > > > > > > > > > libmlx5 and > > > > > > > > > > libmnl are both needed, but they're not part of the > > > > > > > > > > linker > > > > > > > > > > line from pkg-config. At this point I'll just break > > > > > > > > > > the > > > > > > > > > > Go > > > > > > > > > > application up into a separate C application that > > > > > > > > > > handles all > > > > > > > > > > the DPDK parts, and send messages between them. > > > > > > > > >=20 > > > > > > > > > Hi, > > > > > > > > >=20 > > > > > > > > > As far as I can see, both mnl and mlx5 (and all the > > > > > > > > > other > > > > > > > > > reverse > > > > > > > > > dependencies) are listed correctly in the libdpdk.pc > > > > > > > > > Libs.private entry, and pkg-config --libs --static > > > > > > > > > libdpdk.pc > > > > > > > > > does print them as intended. This is with 18.11-rc3. > > > > > > > > > Are you sure everything is correct (pkg-config path > > > > > > > > > is > > > > > > > > > right, -- > > > > > > > > > static is used, etc)? > > > > > > > > >=20 > > > > > > > > > -- > > > > > > > > > Kind regards, > > > > > > > > > Luca Boccassi > > > > > > > >=20 > > > > > > > > Hi Luca, here is what pkg-config gives: > > > > > > > >=20 > > > > > > > > PKG_CONFIG_PATH=3Dmeson-private/ pkg-config --libs -- > > > > > > > > static > > > > > > > > libdpdk > > > > > > > > -L/usr/local/lib/x86_64-linux-gnu -lrte_eventdev > > > > > > > > -lrte_power > > > > > > > > -lrte_ip_frag -lrte_hash -lrte_pdump -lrte_eal > > > > > > > > -lrte_pipeline > > > > > > > > -lrte_table -lrte_bbdev -lrte_bpf -lrte_vhost > > > > > > > > -lrte_metrics > > > > > > > > -lrte_jobstats -lrte_net -lrte_reorder -lrte_ring > > > > > > > > -lrte_mempool > > > > > > > > -lrte_security -lrte_compressdev -lrte_rawdev > > > > > > > > -lrte_mbuf > > > > > > > > -lrte_kvargs -lrte_port -lrte_pci -lrte_ethdev > > > > > > > > -lrte_gro > > > > > > > > -lrte_gso > > > > > > > > -lrte_cryptodev -lrte_sched -lrte_latencystats > > > > > > > > -lrte_efd > > > > > > > > -lrte_distributor -lrte_meter -lrte_acl -lrte_member > > > > > > > > -lrte_cmdline > > > > > > > > -lrte_lpm -lrte_kni -lrte_cfgfile -lrte_bitratestats > > > > > > > > -lrte_timer > > > > > > > > -lrte_flow_classify -lrte_mempool_bucket > > > > > > > > -lrte_pmd_null_crypto > > > > > > > > -lrte_pmd_failsafe -lrte_bus_ifpga -lrte_pmd_atlantic > > > > > > > > -lrte_pmd_mlx4 -lrte_pmd_vmxnet3 -lrte_pmd_avp > > > > > > > > -lrte_common_dpaax > > > > > > > > -lrte_pmd_ena -lcrypto -lrte_bus_fslmc -ldl > > > > > > > > -lrte_pmd_avf > > > > > > > > -lrte_pmd_crypto_scheduler -lrte_pmd_netvsc > > > > > > > > -lrte_pmd_vhost > > > > > > > > -lrte_bus_dpaa -lrte_mempool_dpaa2 > > > > > > > > -lrte_common_octeontx > > > > > > > > -lrte_pmd_liquidio -lrte_pmd_ifc -Wl,-Bdynamic -lnuma > > > > > > > > -lrte_pmd_enic -lrte_common_cpt -pthread > > > > > > > > -lrte_pmd_octeontx_crypto > > > > > > > > -lrte_pmd_qat -lrte_bus_vmbus -lrte_pmd_null -lm > > > > > > > > -lrte_pmd_dpaa > > > > > > > > -lrte_bus_vdev -lrte_pmd_dpaa2 -lrte_pmd_skeleton_event > > > > > > > > -lrte_pmd_af_packet -lrte_pmd_octeontx > > > > > > > > -lrte_pmd_thunderx > > > > > > > > -lrte_pmd_ring -lrte_pmd_octeontx_event > > > > > > > > -lrte_pmd_sw_event > > > > > > > > -lrte_pmd_ark -lrte_mempool_octeontx -lrte_pmd_ixgbe > > > > > > > > -lrte_pmd_kni > > > > > > > > -lrte_mempool_ring -lrte_pmd_virtio_crypto > > > > > > > > -lrte_mempool_dpaa > > > > > > > > -lrte_pmd_dpaa2_cmdif -lrte_bus_pci > > > > > > > > -lrte_pmd_opdl_event > > > > > > > > -lrte_pmd_mlx5 -lrte_pmd_virtio -lrte_pmd_tap > > > > > > > > -lrte_pmd_caam_jr > > > > > > > > -lrte_pmd_dpaa2_sec -lrte_pmd_dpaa2_qdma > > > > > > > > -lrte_pmd_enetc > > > > > > > > -lrte_pmd_sfc -lrte_pmd_bnxt -lrte_pmd_dpaa2_event > > > > > > > > -lrte_pmd_cxgbe > > > > > > > > -Wl,--whole-archive -Wl,--no- as-needed -lrte_pmd_e1000 > > > > > > > > -lrte_pmd_softnic -lrte_pmd_bond -lrte_pmd_fm10k > > > > > > > > -lrte_pmd_i40e > > > > > > > > -lrte_pmd_nfp -lrte_pmd_qede -Wl,--no- whole-archive > > > > > > > > -lrte_pmd_axgbe -lrte_pmd_ccp -lrte_pmd_ifpga_rawdev > > > > > > > > -lrte_pmd_bbdev_null -lrte_pmd_openssl > > > > > > > > -lrte_pmd_dsw_event > > > > > > > > -lrte_pmd_dpaa_event -lrte_mempool_stack > > > > > > > > -lrte_pmd_vdev_netvsc > > > > > > > > -lrte_pmd_dpaa_sec -lrte_pmd_skeleton_rawdev > > > > > > > > -lrte_pmd_octeontx_compress > > > > > > > >=20 > > > > > > > > You'll notice there's no mlx5 or mnl in that list. I > > > > > > > > was > > > > > > > > using > > > > > > > > 18.11- > > > > > > > > rc2 since I cloned early yesterday. Perhaps meson > > > > > > > > determined not > > > > > > > > to put it in there for some reason? > > > > > > >=20 > > > > > > > Were mlx5/mnl found at meson configure time? > > > > > > >=20 > > > > > > > -- > > > > > > > Kind regards, > > > > > > > Luca Boccassi > > > > > >=20 > > > > > > Hi Luca, yes, it was: > > > > > >=20 > > > > > > Library mnl found: YES > > > > > > Library mlx4 found: YES > > > > > > Library ibverbs found: YES > > > > > > Compiler for C supports argument -Wextra: YES Compiler for > > > > > > C > > > > > > supports > > > > > > argument -std=3Dc11: YES Compiler for C supports argument > > > > > > -Wno-strict-prototypes: YES Compiler for C supports > > > > > > argument > > > > > > -D_BSD_SOURCE: YES Compiler for C supports argument > > > > > > -D_DEFAULT_SOURCE: > > > > > > YES Compiler for C supports argument -D_XOPEN_SOURCE=3D600: > > > > > > YES > > > > > > Checking > > > > > > whether type "struct mlx4_wqe_lso_seg" has member > > > > > > "mss_hdr_size": YES > > > > > > Configuring mlx4_autoconf.h using configuration Library mnl > > > > > > found: YES > > > > > > Library mlx5 found: YES Library ibverbs found: YES ... > > > > > > PKG_CONFIG_PATH=3Dmeson-private/ pkg-config --libs --static > > > > > > libdpdk > > > > > > -L/usr/local/lib/x86_64-linux-gnu -lrte_eventdev > > > > > > -lrte_power > > > > > > -lrte_ip_frag -lrte_hash -lrte_pdump -lrte_eal > > > > > > -lrte_pipeline > > > > > > -lrte_table -lrte_bbdev -lrte_bpf -lrte_vhost -lrte_metrics > > > > > > -lrte_jobstats -lrte_net -lrte_reorder -lrte_ring > > > > > > -lrte_mempool > > > > > > -lrte_security -lrte_compressdev -lrte_rawdev -lrte_mbuf > > > > > > -lrte_kvargs > > > > > > -lrte_port -lrte_pci -lrte_ethdev -lrte_gro -lrte_gso > > > > > > -lrte_cryptodev > > > > > > -lrte_sched -lrte_latencystats -lrte_efd -lrte_distributor > > > > > > -lrte_meter > > > > > > -lrte_acl -lrte_member -lrte_cmdline -lrte_lpm -lrte_kni > > > > > > -lrte_cfgfile > > > > > > -lrte_bitratestats -lrte_timer -lrte_flow_classify > > > > > > -lrte_pmd_ccp > > > > > > -lrte_mempool_bucket -lrte_pmd_failsafe -lrte_pmd_netvsc > > > > > > -lrte_pmd_null_crypto -lrte_bus_ifpga -lrte_pmd_atlantic > > > > > > -lrte_pmd_octeontx_event -lrte_pmd_avp -lrte_pmd_mlx4 > > > > > > -lrte_common_dpaax -lrte_pmd_skeleton_rawdev -lrte_pmd_ena > > > > > > -lrte_pmd_opdl_event -lrte_bus_fslmc -lnuma -lrte_pmd_avf > > > > > > -lrte_pmd_crypto_scheduler -lrte_pmd_vhost -lrte_bus_dpaa > > > > > > -lrte_mempool_dpaa2 -lrte_common_octeontx -Wl,--no-as- > > > > > > needed > > > > > > -lcrypto > > > > > > -lrte_pmd_ifc -lrte_pmd_liquidio -lrte_pmd_enic > > > > > > -lrte_common_cpt > > > > > > -Wl,--no-whole-archive -lrte_bus_vmbus > > > > > > -lrte_pmd_octeontx_crypto > > > > > > -lrte_pmd_qat -lrte_pmd_ifpga_rawdev -lrte_pmd_dpaa > > > > > > -lrte_bus_vdev > > > > > > -lrte_pmd_bbdev_null -lrte_pmd_dpaa2 > > > > > > -lrte_pmd_skeleton_event > > > > > > -lrte_pmd_ring -lrte_pmd_af_packet -lrte_pmd_thunderx > > > > > > -lrte_pmd_dpaa_event -lrte_pmd_octeontx_compress > > > > > > -lrte_pmd_dpaa_sec > > > > > > -lrte_pmd_sw_event -Wl,--whole-archive -lrte_pmd_ark > > > > > > -lrte_mempool_octeontx -lrte_pmd_ixgbe -lrte_mempool_ring > > > > > > -lrte_pmd_kni -lrte_pmd_vmxnet3 -lrte_mempool_dpaa > > > > > > -lrte_bus_pci > > > > > > -lrte_pmd_dpaa2_cmdif -lrte_pmd_mlx5 -lrte_pmd_tap > > > > > > -lrte_pmd_caam_jr > > > > > > -lrte_pmd_dpaa2_sec -lm -lrte_pmd_dpaa2_qdma > > > > > > -lrte_pmd_enetc > > > > > > -lrte_pmd_virtio -lrte_pmd_bnxt -lrte_pmd_dpaa2_event > > > > > > -lrte_pmd_sfc > > > > > > -lrte_pmd_cxgbe -pthread -lrte_pmd_e1000 -lrte_pmd_softnic > > > > > > -ldl > > > > > > -lrte_pmd_null -lrte_pmd_bond -lrte_pmd_fm10k > > > > > > -lrte_pmd_i40e > > > > > > -lrte_pmd_nfp -lrte_pmd_qede -lrte_pmd_axgbe -Wl,-Bdynamic > > > > > > -lrte_pmd_openssl -lrte_pmd_octeontx -lrte_pmd_dsw_event > > > > > > -lrte_mempool_stack -lrte_pmd_virtio_crypto > > > > > > -lrte_pmd_vdev_netvsc > > > > >=20 > > > > > Is this with latest DPDK from git? because I see the exact > > > > > same > > > > > as Luca: > > > > >=20 > > > > > $ PKG_CONFIG_PATH=3Dbuild/meson-private/ pkg-config --libs -- > > > > > static > > > >=20 > > > > libdpdk | grep mlx > > > > > -L/usr/local/lib64 -lrte_telemetry -lrte_bpf > > > > > -lrte_flow_classify > > > > > - > > > >=20 > > > > lrte_pipeline -lrte_table -lrte_port -lrte_vhost -lrte_security > > > > - > > > > lrte_sched -lrte_reorder -lrte_rawdev -lrte_pdump -lrte_power > > > > -lrte_meter > > > > -lrte_member -lrte_lpm -lrte_latencystats -lrte_kni > > > > -lrte_jobstats > > > > - > > > > lrte_ip_frag -lrte_gso -lrte_gro -lrte_eventdev -lrte_efd - > > > > lrte_distributor -lrte_cryptodev -lrte_compressdev > > > > -lrte_cfgfile - > > > > lrte_bitratestats -lrte_bbdev -lrte_acl -lrte_timer -lrte_hash > > > > - > > > > lrte_metrics -lrte_pci -lrte_ethdev -lrte_net -lrte_mbuf > > > > -lrte_mempool - > > > > lrte_ring -lrte_eal -lrte_kvargs -lrte_cmdline > > > > -L/usr/local/lib64 - > > > > lrte_kvargs -lrte_eal -lrte_ring -lrte_mempool -lrte_mbuf > > > > -lrte_pci > > > > - > > > > lrte_cryptodev -lrte_net -lrte_cmdline -lrte_ethdev -lrte_hash > > > > -lrte_timer > > > > -lrte_common_dpaax -lrte_eventdev -lrte_rawdev -lrte_bus_dpaa - > > > > lrte_bus_fslmc -lrte_bus_pci -lrte_common_octeontx > > > > -lrte_bus_vdev - > > > > lrte_meter -lrte_sched -lrte_ip_frag -lz -lrte_mempool_dpaa - > > > > lrte_mempool_dpaa2 -lrte_vhost -lrte_security -lrte_kni -lmnl > > > > -lmlx4 - > > > > libverbs -lmnl -lmlx5 -libverbs -lrte_bus_vmbus > > > > -lrte_mempool_octeontx - > > > > lpcap -lrte_port -lrte_lpm -lrte_acl -lrte_table -lrte_pipeline > > > > -lsze2 - > > > > lrte_gso -lIPSec_MB -lIPSec_MB -lrte_common_cpt -lrte_reorder - > > > > lrte_compressdev -lrte_pmd_dpaa -lrte_pmd_dpaa2 > > > > -lrte_pmd_dpaa2_sec > > > > - > > > > lrte_pmd_octeontx -lrte_bbdev -lrte_bus_ifpga -Wl,--whole- > > > > archive - > > > > lrte_mempool_bucket -lrte_mempool_ring -lrte_mempool_stack - > > > > lrte_pmd_af_packet -lrte_pmd_ark -lrte_pmd_atlantic > > > > -lrte_pmd_avf - > > > > lrte_pmd_avp -lrte_pmd_axgbe -lrte_pmd_bond -lrte_pmd_bnx2x > > > > -lrte_pmd_bnxt > > > > -lrte_pmd_cxgbe -lrte_pmd_e1000 -lrte_pmd_ena -lrte_pmd_enetc - > > > > lrte_pmd_enic -lrte_pmd_failsafe -lrte_pmd_fm10k -lrte_pmd_i40e > > > > - > > > > lrte_pmd_ifc -lrte_pmd_ixgbe -lrte_pmd_kmod -lrte_pmd_kni - > > > > lrte_pmd_liquidio -lrte_pmd_mlx4 -lrte_pmd_mlx5 > > > > -lrte_pmd_netvsc - > > > > lrte_pmd_nfp -lrte_pmd_null -lrte_pmd_pcap -lrte_pmd_qede > > > > -lrte_pmd_ring - > > > > lrte_pmd_sfc -lrte_pmd_softnic -lrte_pmd_szedata2 -lrte_pmd_tap > > > > - > > > > lrte_pmd_thunderx -lrte_pmd_vdev_netvsc -lrte_pmd_vhost > > > > -lrte_pmd_virtio - > > > > lrte_pmd_vmxnet3 -lrte_pmd_aesni_gcm -lrte_pmd_aesni_mb > > > > -lrte_pmd_caam_jr > > > > -lrte_pmd_ccp -lrte_pmd_dpaa_sec -lrte_pmd_null_crypto - > > > > lrte_pmd_octeontx_crypto -lrte_pmd_openssl > > > > -lrte_pmd_crypto_scheduler - > > > > lrte_pmd_virtio_crypto -lrte_pmd_octeontx_compress > > > > -lrte_pmd_qat - > > > > lrte_pmd_zlib -lrte_pmd_dpaa_event -lrte_pmd_dpaa2_event - > > > > lrte_pmd_octeontx_event -lrte_pmd_opdl_event > > > > -lrte_pmd_skeleton_event - > > > > lrte_pmd_sw_event -lrte_pmd_dsw_event -lrte_pmd_bbdev_null - > > > > lrte_pmd_skeleton_rawdev -lrte_pmd_dpaa2_cmdif > > > > -lrte_pmd_dpaa2_qdma > > > > - > > > > lrte_pmd_ifpga_rawdev -lrte_pmd_ioat_copy -Wl,--no-whole- > > > > archive > > > > -Wl,- > > > > Bdynamic -Wl,--no-as-needed -pthread -lm -ldl -lnuma -lbsd > > > > -lpcap > > > > -lcrypto > > > > -lcrypto -lz -lcrypto -ldl -pthread -lz > > > >=20 > > > > Hi Bruce, I tried with rc3 and a new clone from right now, and > > > > get > > > > the > > > > same results: > > > >=20 > > > > $ meson build > > > > The Meson build system > > > > Version: 0.45.1 > > > > Source dir: /home/cburdick/dpdk > > > > Build dir: /home/cburdick/dpdk/build > > > > Build type: native build > > > > Project name: DPDK > > > > Native C compiler: cc (gcc 7.3.0 "cc (Ubuntu 7.3.0- > > > > 27ubuntu1~18.04) > > > > 7.3.0") > > > > Build machine cpu family: x86_64 > > > > Build machine cpu: x86_64 > > > > Library numa found: YES > > > > Has header "numaif.h": YES > > > > Library bsd found: NO > > > > Checking for size of "void *": 8 > > > > Compiler for C supports argument -Wsign-compare: YES > > > > Compiler for C supports argument -Wcast-qual: YES > > > > Compiler for C supports argument -Wno-address-of-packed-member:=20 > > > > YES > > > > Fetching value of define "__SSE4_2__": 1 > > > > Fetching value of define "__AES__": 1 > > > > Fetching value of define "__PCLMUL__": 1 > > > > Fetching value of define "__AVX__": 1 > > > > Fetching value of define "__AVX2__": 1 > > > > Fetching value of define "__AVX512F__": > > > > Compiler for C supports argument -Wno-format-truncation: YES > > > > Checking for size of "void *": 8 > > > > Has header "linux/userfaultfd.h": YES > > > > Checking for size of "void *": 8 > > > > Library elf found: NO > > > > Library jansson found: NO > > > > Program gen-pmdinfo-cfile.sh found: YES > > > > (/home/cburdick/dpdk/buildtools/gen-pmdinfo-cfile.sh) > > > > Compiler for C supports argument -Wno-format-truncation: YES > > > > Library libmusdk found: NO > > > > Compiler for C supports argument -Wno-cast-qual: YES > > > > Compiler for C supports argument -Wno-pointer-to-int-cast: YES > > > > Library z found: NO > > > > Compiler for C supports argument -Wno-uninitialized: YES > > > > Compiler for C supports argument -Wno-unused-parameter: YES > > > > Compiler for C supports argument -Wno-unused-variable: YES > > > > Compiler for C supports argument -Wno-misleading-indentation: > > > > YES > > > > Compiler for C supports argument -Wno-implicit-fallthrough: YES > > > > Checking for size of "void *": 8 > > > > Compiler for C supports argument -Wno-unused-parameter: YES > > > > Compiler for C supports argument -Wno-unused-value: YES > > > > Compiler for C supports argument -Wno-strict-aliasing: YES > > > > Compiler for C supports argument -Wno-format-extra-args: YES > > > > Compiler for C supports argument -Wno-unused-variable: YES > > > > Compiler for C supports argument -Wno-missing-field- > > > > initializers: > > > > YES > > > > Compiler for C supports argument -Wno-sign-compare: YES > > > > Compiler for C supports argument -Wno-unused-value: YES > > > > Compiler for C supports argument -Wno-format: YES > > > > Compiler for C supports argument -Wno-error=3Dformat-security: > > > > YES > > > > Compiler for C supports argument -Wno-strict-aliasing: YES > > > > Compiler for C supports argument -Wno-unused-but-set-variable: > > > > YES > > > > Compiler for C supports argument -Wno-unused-value: YES > > > > Compiler for C supports argument -Wno-unused-but-set-variable: > > > > YES > > > > Library mnl found: YES > > > > Library mlx4 found: YES > > > > Library ibverbs found: YES > > > > Compiler for C supports argument -Wextra: YES > > > > Compiler for C supports argument -std=3Dc11: YES > > > > Compiler for C supports argument -Wno-strict-prototypes: YES > > > > Compiler for C supports argument -D_BSD_SOURCE: YES > > > > Compiler for C supports argument -D_DEFAULT_SOURCE: YES > > > > Compiler for C supports argument -D_XOPEN_SOURCE=3D600: YES > > > > Checking whether type "struct mlx4_wqe_lso_seg" has member > > > > "mss_hdr_size": > > > > YES > > > > Configuring mlx4_autoconf.h using configuration > > > > Library mnl found: YES > > > > Library mlx5 found: YES > > > > Library ibverbs found: YES > > > > Compiler for C supports argument -Wextra: YES > > > > Compiler for C supports argument -std=3Dc11: YES > > > > Compiler for C supports argument -Wno-strict-prototypes: YES > > > > Compiler for C supports argument -D_BSD_SOURCE: YES > > > > Compiler for C supports argument -D_DEFAULT_SOURCE: YES > > > > Compiler for C supports argument -D_XOPEN_SOURCE=3D600: YES > > > > Header has symbol > > > > "MLX5DV_CQE_RES_FORMAT_CSUM_STRIDX": YES > > > > Header has symbol > > > > "MLX5DV_CONTEXT_MASK_TUNNEL_OFFLOADS": YES > > > > Header has symbol > > > > "MLX5DV_CONTEXT_FLAGS_MPW_ALLOWED": YES > > > > Header has symbol > > > > "MLX5DV_CONTEXT_FLAGS_CQE_128B_COMP": YES > > > > Header has symbol > > > > "MLX5DV_CQ_INIT_ATTR_FLAGS_CQE_PAD": YES > > > > Header has symbol > > > > "mlx5dv_create_flow_action_packet_reformat": NO > > > > Header has symbol "IBV_FLOW_SPEC_MPLS": > > > > YES > > > > Header has symbol > > > > "IBV_WQ_FLAG_RX_END_PADDING": NO > > > > Header has symbol > > > > "SUPPORTED_40000baseKR4_Full": > > > > YES > > > > Header has symbol > > > > "SUPPORTED_40000baseCR4_Full": > > > > YES > > > > Header has symbol > > > > "SUPPORTED_40000baseSR4_Full": > > > > YES > > > > Header has symbol > > > > "SUPPORTED_40000baseLR4_Full": > > > > YES > > > > Header has symbol > > > > "SUPPORTED_56000baseKR4_Full": > > > > YES > > > > Header has symbol > > > > "SUPPORTED_56000baseCR4_Full": > > > > YES > > > > Header has symbol > > > > "SUPPORTED_56000baseSR4_Full": > > > > YES > > > > Header has symbol > > > > "SUPPORTED_56000baseLR4_Full": > > > > YES > > > > Header has symbol > > > > "ETHTOOL_LINK_MODE_25000baseCR_Full_BIT": YES > > > > Header has symbol > > > > "ETHTOOL_LINK_MODE_50000baseCR2_Full_BIT": YES > > > > Header has symbol > > > > "ETHTOOL_LINK_MODE_100000baseKR4_Full_BIT": YES > > > > Header has symbol "IFLA_PHYS_SWITCH_ID": YES > > > > Header has symbol "IFLA_PHYS_PORT_NAME": YES > > > > Header has symbol > > > > "IFLA_VXLAN_COLLECT_METADATA": > > > > YES > > > > Header has symbol "TCA_CHAIN": YES > > > > Header has symbol "TCA_FLOWER_ACT": YES > > > > Header has symbol "TCA_FLOWER_FLAGS": YES > > > > Header has symbol "TCA_FLOWER_KEY_ETH_TYPE": > > > > YES > > > > Header has symbol "TCA_FLOWER_KEY_ETH_DST": > > > > YES > > > > Header has symbol > > > > "TCA_FLOWER_KEY_ETH_DST_MASK": > > > > YES > > > > Header has symbol "TCA_FLOWER_KEY_ETH_SRC": > > > > YES > > > > Header has symbol > > > > "TCA_FLOWER_KEY_ETH_SRC_MASK": > > > > YES > > > > Header has symbol "TCA_FLOWER_KEY_IP_PROTO": > > > > YES > > > > Header has symbol "TCA_FLOWER_KEY_IPV4_SRC": > > > > YES > > > > Header has symbol > > > > "TCA_FLOWER_KEY_IPV4_SRC_MASK": > > > > YES > > > > Header has symbol "TCA_FLOWER_KEY_IPV4_DST": > > > > YES > > > > Header has symbol > > > > "TCA_FLOWER_KEY_IPV4_DST_MASK": > > > > YES > > > > Header has symbol "TCA_FLOWER_KEY_IPV6_SRC": > > > > YES > > > > Header has symbol > > > > "TCA_FLOWER_KEY_IPV6_SRC_MASK": > > > > YES > > > > Header has symbol "TCA_FLOWER_KEY_IPV6_DST": > > > > YES > > > > Header has symbol > > > > "TCA_FLOWER_KEY_IPV6_DST_MASK": > > > > YES > > > > Header has symbol "TCA_FLOWER_KEY_TCP_SRC": > > > > YES > > > > Header has symbol > > > > "TCA_FLOWER_KEY_TCP_SRC_MASK": > > > > YES > > > > Header has symbol "TCA_FLOWER_KEY_TCP_DST": > > > > YES > > > > Header has symbol > > > > "TCA_FLOWER_KEY_TCP_DST_MASK": > > > > YES > > > > Header has symbol "TCA_FLOWER_KEY_UDP_SRC": > > > > YES > > > > Header has symbol > > > > "TCA_FLOWER_KEY_UDP_SRC_MASK": > > > > YES > > > > Header has symbol "TCA_FLOWER_KEY_UDP_DST": > > > > YES > > > > Header has symbol > > > > "TCA_FLOWER_KEY_UDP_DST_MASK": > > > > YES > > > > Header has symbol "TCA_FLOWER_KEY_VLAN_ID": > > > > YES > > > > Header has symbol "TCA_FLOWER_KEY_VLAN_PRIO": > > > > YES > > > > Header has symbol > > > > "TCA_FLOWER_KEY_VLAN_ETH_TYPE": > > > > YES > > > > Header has symbol "TCA_FLOWER_KEY_TCP_FLAGS": > > > > YES > > > > Header has symbol > > > > "TCA_FLOWER_KEY_TCP_FLAGS_MASK": YES > > > > Header has symbol "TC_ACT_GOTO_CHAIN": YES > > > > Header has symbol > > > > "TCA_VLAN_PUSH_VLAN_PRIORITY": > > > > YES > > > > Header has symbol > > > > "TCA_FLOWER_KEY_ENC_KEY_ID": > > > > YES > > > > Header has symbol > > > > "TCA_FLOWER_KEY_ENC_IPV4_SRC": > > > > YES > > > > Header has symbol > > > > "TCA_FLOWER_KEY_ENC_IPV4_SRC_MASK": > > > > YES > > > > Header has symbol > > > > "TCA_FLOWER_KEY_ENC_IPV4_DST": > > > > YES > > > > Header has symbol > > > > "TCA_FLOWER_KEY_ENC_IPV4_DST_MASK": > > > > YES > > > > Header has symbol > > > > "TCA_FLOWER_KEY_ENC_IPV6_SRC": > > > > YES > > > > Header has symbol > > > > "TCA_FLOWER_KEY_ENC_IPV6_SRC_MASK": > > > > YES > > > > Header has symbol > > > > "TCA_FLOWER_KEY_ENC_IPV6_DST": > > > > YES > > > > Header has symbol > > > > "TCA_FLOWER_KEY_ENC_IPV6_DST_MASK": > > > > YES > > > > Header has symbol > > > > "TCA_FLOWER_KEY_ENC_UDP_SRC_PORT": YES > > > > Header has symbol > > > > "TCA_FLOWER_KEY_ENC_UDP_SRC_PORT_MASK": YES > > > > Header has symbol > > > > "TCA_FLOWER_KEY_ENC_UDP_DST_PORT": YES > > > > Header has symbol > > > > "TCA_FLOWER_KEY_ENC_UDP_DST_PORT_MASK": YES > > > > Header has symbol > > > > "TCA_ACT_TUNNEL_KEY": YES > > > > Header has symbol > > > > "TCA_TUNNEL_KEY_ENC_DST_PORT": YES > > > > Header has symbol > > > > "TCA_TUNNEL_KEY_NO_CSUM": > > > > YES > > > > Header has symbol > > > > "TCA_PEDIT_KEY_EX_HDR_TYPE_UDP": YES > > > > Header has symbol "RDMA_NL_NLDEV": YES > > > > Header has symbol "RDMA_NLDEV_CMD_GET": > > > > YES > > > > Header has symbol > > > > "RDMA_NLDEV_CMD_PORT_GET": > > > > YES > > > > Header has symbol > > > > "RDMA_NLDEV_ATTR_DEV_INDEX": YES > > > > Header has symbol > > > > "RDMA_NLDEV_ATTR_DEV_NAME": > > > > YES > > > > Header has symbol > > > > "RDMA_NLDEV_ATTR_PORT_INDEX": YES > > > > Header has symbol > > > > "RDMA_NLDEV_ATTR_NDEV_INDEX": NO > > > > Checking whether type "struct mlx5dv_sw_parsing_caps" has > > > > member > > > > "sw_parsing_offloads": YES > > > > Checking whether type "struct ibv_counter_set_init_attr" has > > > > member > > > > "counter_set_id": YES > > > > Checking whether type "struct ibv_counters_init_attr" has > > > > member > > > > "comp_mask": NO > > > > Configuring mlx5_autoconf.h using configuration > > > > Library libmusdk found: NO > > > > Library libmusdk found: NO > > > > Library pcap found: NO > > > > Compiler for C supports argument -Wno-unused-parameter: YES > > > > Compiler for C supports argument -Wno-sign-compare: YES > > > > Compiler for C supports argument -Wno-missing-prototypes: YES > > > > Compiler for C supports argument -Wno-cast-qual: YES > > > > Compiler for C supports argument -Wno-unused-function: YES > > > > Compiler for C supports argument -Wno-unused-variable: YES > > > > Compiler for C supports argument -Wno-strict-aliasing: YES > > > > Compiler for C supports argument -Wno-missing-prototypes: YES > > > > Compiler for C supports argument -Wno-unused-value: YES > > > > Compiler for C supports argument -Wno-format-nonliteral: YES > > > > Compiler for C supports argument -Wno-shift-negative-value: YES > > > > Compiler for C supports argument -Wno-unused-but-set-variable: > > > > YES > > > > Compiler for C supports argument -Wno-missing-declarations: YES > > > > Compiler for C supports argument -Wno-maybe-uninitialized: YES > > > > Compiler for C supports argument -Wno-strict-prototypes: YES > > > > Compiler for C supports argument -Wno-shift-negative-value: YES > > > > Compiler for C supports argument -Wno-implicit-fallthrough: YES > > > > Compiler for C supports argument -Wno-format-extra-args: YES > > > > Compiler for C supports argument -Wno-visibility: YES > > > > Compiler for C supports argument -Wno-empty-body: YES > > > > Compiler for C supports argument -Wno-invalid-source-encoding: > > > > YES > > > > Compiler for C supports argument -Wno-sometimes-uninitialized: > > > > YES > > > > Compiler for C supports argument -Wno-pointer-bool-conversion: > > > > YES > > > > Checking for size of "void *": 8 > > > > Compiler for C supports argument -Wno-strict-aliasing: YES > > > > Compiler for C supports argument -Wextra: YES > > > > Compiler for C supports argument -Wdisabled-optimization: YES > > > > Compiler for C supports argument -Waggregate-return: YES > > > > Compiler for C supports argument -Wnested-externs: YES > > > > Compiler for C supports argument -Wbad-function-cast: YES > > > > Compiler for C supports argument -Wno-sign-compare: YES > > > > Compiler for C supports argument -Wno-unused-parameter: YES > > > > Compiler for C supports argument -Wno-unused-variable: YES > > > > Compiler for C supports argument -Wno-empty-body: YES > > > > Compiler for C supports argument -Wno-unused-but-set-variable: > > > > YES > > > > Library sze2 found: NO > > > > Header has symbol "TCA_FLOWER_UNSPEC": YES > > > > Header has symbol "TCA_FLOWER_KEY_VLAN_PRIO": > > > > YES > > > > Header has symbol "TCA_BPF_UNSPEC": YES > > > > Header has symbol "TCA_BPF_FD": YES > > > > Header has symbol "TCA_ACT_BPF_UNSPEC": > > > > YES > > > > Header has symbol "TCA_ACT_BPF_FD": YES > > > > Configuring tap_autoconf.h using configuration > > > > Compiler for C supports argument -fno-prefetch-loop-arrays: YES > > > > Compiler for C supports argument -Wno-maybe-uninitialized: YES > > > > Compiler for C supports argument -Wall: YES > > > > Compiler for C supports argument -Wextra: YES > > > > Compiler for C supports argument -D_BSD_SOURCE: YES > > > > Compiler for C supports argument -D_DEFAULT_SOURCE: YES > > > > Compiler for C supports argument -D_XOPEN_SOURCE=3D600: YES > > > > Compiler for C supports argument -Wno-unused-parameter: YES > > > > Compiler for C supports argument -Wno-unused-value: YES > > > > Compiler for C supports argument -Wno-strict-aliasing: YES > > > > Compiler for C supports argument -Wno-format-extra-args: YES > > > > Library IPSec_MB found: NO > > > > Library IPSec_MB found: NO > > > > Found pkg-config: /usr/bin/pkg-config (0.29.1) > > > > Native dependency libcrypto found: YES 1.1.0g > > > > Library libsso_kasumi found: NO > > > > Library libmusdk found: NO > > > > Dependency libcrypto found: YES (cached) > > > > Dependency libcrypto found: YES (cached) > > > > Library libsso_zuc found: NO > > > > Dependency libisal found: NO > > > > Dependency zlib found: NO > > > > Compiler for C supports argument -Wno-sign-compare: YES > > > > Compiler for C supports argument -Wno-unused-value: YES > > > > Compiler for C supports argument -Wno-format: YES > > > > Compiler for C supports argument -Wno-error=3Dformat-security: > > > > YES > > > > Compiler for C supports argument -Wno-strict-aliasing: YES > > > > Compiler for C supports argument -Wno-unused-but-set-variable: > > > > YES > > > > Library execinfo found: NO > > > > Compiler for C supports argument -Wno-format-truncation: YES > > > > Dependency zlib found: NO > > > > Library execinfo found: NO > > > > Program doxygen found: NO > > > > Program sphinx-build found: NO > > > > kernel/linux/kni/meson.build:16: WARNING: Passed invalid > > > > keyword > > > > argument > > > > "console". > > > > WARNING: This will become a hard error in the future. > > > > WARNING: Unknown keyword arguments in target rte_kni: console > > > > Configuring rte_build_config.h using configuration > > > > Program buildtools/symlink-drivers-solibs.sh found: YES > > > > (/bin/sh > > > > /home/cburdick/dpdk/buildtools/symlink-drivers-solibs.sh) > > > > Message: > > > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > > > > Libraries Enabled > > > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > > > >=20 > > > > libs: > > > > \tcompat, cmdline, kvargs, eal, ring, mempool, mbuf, net, > > > > \tethdev, pci, metrics, hash, timer, acl, bbdev, bitratestats, > > > > \tcfgfile, compressdev, cryptodev, distributor, efd, eventdev, > > > > gro, > > > > gso, > > > > \tip_frag, jobstats, kni, latencystats, lpm, member, meter, > > > > power, > > > > \tpdump, rawdev, reorder, sched, security, vhost, port, table, > > > > \tpipeline, flow_classify, bpf, > > > >=20 > > > > Build targets in project: 411 > > > > Found ninja-1.8.2 at /usr/bin/ninja > > > > [cburdick@dev01 ~/dpdk] (master) > > > > $ cd build > > > > [cburdick@dev01 ~/dpdk/build] (master) > > > > $ ninja > > > > [1428/1431] Generating igb_uio with a custom command. > > > > make: Entering directory '/usr/src/linux-headers-4.15.0-20- > > > > generic' > > > > Makefile:976: "Cannot use CONFIG_STACK_VALIDATION=3Dy, please > > > > install > > > > libelf-dev, libelf-devel or elfutils-libelf-devel" > > > > =C2=A0 CC > > > > [M]=C2=A0=C2=A0/home/cburdick/dpdk/build/kernel/linux/igb_uio/igb_u= io.o > > > > =C2=A0 Building modules, stage 2. > > > > =C2=A0 MODPOST 1 modules > > > > =C2=A0 > > > > CC=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0/home/cburdick/dpdk/build/ker= nel/linux/igb_uio/igb_uio. > > > > mod. > > > > o > > > > =C2=A0 LD > > > > [M]=C2=A0=C2=A0/home/cburdick/dpdk/build/kernel/linux/igb_uio/igb_u= io.ko > > > > make: Leaving directory '/usr/src/linux-headers-4.15.0-20- > > > > generic' > > > > [1431/1431] Generating rte_kni with a custom command. > > > > make: Entering directory '/usr/src/linux-headers-4.15.0-20- > > > > generic' > > > > Makefile:976: "Cannot use CONFIG_STACK_VALIDATION=3Dy, please > > > > install > > > > libelf-dev, libelf-devel or elfutils-libelf-devel" > > > > =C2=A0 CC [M]=C2=A0=C2=A0/home/cburdick/dpdk/build/kernel/linux/kni= /kni_net.o > > > > =C2=A0 CC [M]=C2=A0=C2=A0/home/cburdick/dpdk/build/kernel/linux/kni= /kni_misc.o > > > > =C2=A0 CC > > > > [M]=C2=A0=C2=A0/home/cburdick/dpdk/build/kernel/linux/kni/kni_ethto= ol.o > > > > =C2=A0 CC [M] > > > > /home/cburdick/dpdk/build/kernel/linux/kni/ethtool/ixgbe/ixgbe_ > > > > etht > > > > ool.o > > > > =C2=A0 CC [M] > > > > /home/cburdick/dpdk/build/kernel/linux/kni/ethtool/ixgbe/ixgbe_ > > > > 8259 > > > > 9.o > > > > =C2=A0 CC [M] > > > > /home/cburdick/dpdk/build/kernel/linux/kni/ethtool/ixgbe/ixgbe_ > > > > api. > > > > o > > > > =C2=A0 CC [M] > > > > /home/cburdick/dpdk/build/kernel/linux/kni/ethtool/ixgbe/ixgbe_ > > > > x540 > > > > .o > > > > =C2=A0 CC [M] > > > > /home/cburdick/dpdk/build/kernel/linux/kni/ethtool/ixgbe/ixgbe_ > > > > comm > > > > on.o > > > > =C2=A0 CC [M] > > > > /home/cburdick/dpdk/build/kernel/linux/kni/ethtool/ixgbe/ixgbe_ > > > > phy. > > > > o > > > > =C2=A0 CC [M] > > > > /home/cburdick/dpdk/build/kernel/linux/kni/ethtool/ixgbe/ixgbe_ > > > > 8259 > > > > 8.o > > > > =C2=A0 CC [M] > > > > /home/cburdick/dpdk/build/kernel/linux/kni/ethtool/ixgbe/ixgbe_ > > > > main > > > > .o > > > > =C2=A0 CC [M] > > > > /home/cburdick/dpdk/build/kernel/linux/kni/ethtool/ixgbe/kcompa > > > > t.o > > > > =C2=A0 CC [M] > > > > /home/cburdick/dpdk/build/kernel/linux/kni/ethtool/igb/e1000_82 > > > > 575. > > > > o > > > > =C2=A0 CC [M] > > > > /home/cburdick/dpdk/build/kernel/linux/kni/ethtool/igb/e1000_i2 > > > > 10.o > > > > =C2=A0 CC [M] > > > > /home/cburdick/dpdk/build/kernel/linux/kni/ethtool/igb/e1000_mb > > > > x.o > > > > =C2=A0 CC [M] > > > > /home/cburdick/dpdk/build/kernel/linux/kni/ethtool/igb/e1000_ap > > > > i.o > > > > =C2=A0 CC [M] > > > > /home/cburdick/dpdk/build/kernel/linux/kni/ethtool/igb/igb_main > > > > .o > > > > =C2=A0 CC [M] > > > > /home/cburdick/dpdk/build/kernel/linux/kni/ethtool/igb/igb_vmdq > > > > .o > > > > =C2=A0 CC [M] > > > > /home/cburdick/dpdk/build/kernel/linux/kni/ethtool/igb/e1000_ma > > > > nage > > > > .o > > > > =C2=A0 CC [M] > > > > /home/cburdick/dpdk/build/kernel/linux/kni/ethtool/igb/igb_etht > > > > ool. > > > > o > > > > =C2=A0 CC [M] > > > > /home/cburdick/dpdk/build/kernel/linux/kni/ethtool/igb/igb_para > > > > m.o > > > > =C2=A0 CC [M] > > > > /home/cburdick/dpdk/build/kernel/linux/kni/ethtool/igb/e1000_ma > > > > c.o > > > > =C2=A0 CC [M] > > > > /home/cburdick/dpdk/build/kernel/linux/kni/ethtool/igb/e1000_ph > > > > y.o > > > > =C2=A0 CC [M] > > > > /home/cburdick/dpdk/build/kernel/linux/kni/ethtool/igb/e1000_nv > > > > m.o > > > > =C2=A0 LD [M]=C2=A0=C2=A0/home/cburdick/dpdk/build/kernel/linux/kni= /rte_kni.o > > > > =C2=A0 Building modules, stage 2. > > > > =C2=A0 MODPOST 1 modules > > > > =C2=A0 > > > > CC=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0/home/cburdick/dpdk/build/ker= nel/linux/kni/rte_kni.mod. > > > > o > > > > =C2=A0 LD [M]=C2=A0=C2=A0/home/cburdick/dpdk/build/kernel/linux/kni= /rte_kni.ko > > > > make: Leaving directory '/usr/src/linux-headers-4.15.0-20- > > > > generic' > > > > [cburdick@dev01 ~/dpdk/build] (master) > > > > $ PKG_CONFIG_PATH=3Dmeson-private/ pkg-config --libs --static > > > > libdpdk|grep > > > > mlx > > > > -L/usr/local/lib/x86_64-linux-gnu -lrte_flow_classify > > > > -lrte_eventdev - > > > > lrte_ip_frag -lrte_power -lrte_hash -lrte_pdump -lrte_pipeline > > > > -lrte_table > > > > -lrte_mbuf -lrte_bbdev -lrte_bpf -lrte_vhost -lrte_metrics > > > > -lrte_mempool - > > > > lrte_jobstats -lrte_reorder -lrte_net -lrte_security -lrte_eal > > > > -lrte_ring > > > > -lrte_ethdev -lrte_compressdev -lrte_rawdev -lrte_kvargs > > > > -lrte_pci > > > > - > > > > lrte_cfgfile -lrte_gro -lrte_gso -lrte_cryptodev > > > > -lrte_latencystats > > > > - > > > > lrte_sched -lrte_efd -lrte_distributor -lrte_acl -lrte_member - > > > > lrte_cmdline -lrte_lpm -lrte_meter -lrte_kni -lrte_bitratestats > > > > - > > > > lrte_timer -lrte_port -lrte_mempool_bucket > > > > -lrte_pmd_vdev_netvsc - > > > > lrte_pmd_ark -lrte_pmd_failsafe -lrte_pmd_netvsc > > > > -lrte_pmd_null_crypto - > > > > lrte_bus_ifpga -lrte_common_dpaax -lrte_pmd_ixgbe > > > > -lrte_mempool_ring - > > > > lrte_pmd_kni -lrte_pmd_vmxnet3 -lrte_pmd_mlx4 -lrte_pmd_virtio > > > > -Wl,--no- > > > > as-needed -lrte_mempool_dpaa -lrte_pmd_ena -lrte_bus_fslmc > > > > -lrte_pmd_avf - > > > > lrte_pmd_dpaa2_sec -lrte_common_octeontx > > > > -lrte_pmd_skeleton_rawdev > > > > - > > > > lrte_pmd_crypto_scheduler -lrte_pmd_dpaa2_qdma -lrte_pmd_vhost > > > > -ldl > > > > - > > > > lrte_bus_dpaa -lrte_pmd_fm10k -lrte_pmd_bnxt -lrte_pmd_qat > > > > -lrte_pmd_bond > > > > -lrte_pmd_axgbe -lrte_pmd_dpaa2 -lrte_pmd_skeleton_event - > > > > lrte_pmd_dpaa_event -lrte_mempool_stack -pthread -lrte_pmd_ccp > > > > - > > > > lrte_pmd_octeontx_compress -lrte_pmd_sw_event > > > > -lrte_mempool_octeontx -Wl,- > > > > Bdynamic -lrte_pmd_dpaa_sec -lrte_pmd_atlantic > > > > -lrte_pmd_octeontx_event - > > > > lrte_pmd_avp -lrte_bus_pci -lrte_pmd_dpaa2_cmdif -lrte_pmd_mlx5 > > > > - > > > > lrte_pmd_opdl_event -lrte_pmd_tap -lrte_pmd_caam_jr > > > > -lrte_pmd_sfc > > > > -lcrypto > > > > -lrte_pmd_enetc -lrte_mempool_dpaa2 -lrte_pmd_dpaa2_event > > > > -lrte_pmd_ifc - > > > > lrte_pmd_liquidio -lrte_pmd_cxgbe -lm -lrte_pmd_enic > > > > -lrte_bus_vdev > > > > - > > > > lrte_pmd_e1000 -lrte_pmd_softnic -lrte_pmd_ifpga_rawdev > > > > -lrte_bus_vmbus - > > > > lrte_pmd_octeontx_crypto -lrte_pmd_null -lnuma -lrte_common_cpt > > > > - > > > > lrte_pmd_nfp -lrte_pmd_qede -lrte_pmd_i40e -lrte_pmd_dpaa -Wl, > > > > --whole- > > > > archive -lrte_pmd_bbdev_null -lrte_pmd_af_packet > > > > -lrte_pmd_thunderx > > > > - > > > > lrte_pmd_openssl -lrte_pmd_octeontx -lrte_pmd_dsw_event -Wl, > > > > --no- > > > > whole- > > > > archive -lrte_pmd_ring -lrte_pmd_virtio_crypto > > >=20 > > > That is strange. Can you try one last thing - can you update > > > meson > > > with "pip3 install --upgrade meson" and see if that makes any > > > difference? [If you are using your distro's meson from /usr/bin > > > right > > > now, you'll probably also need to run "hash meson" afterwards > > > too]. > > > Perhaps we have a hidden dependency on later meson versions or > > > something like that. > > >=20 > > > /Bruce > >=20 > > We do - I can reproduce the same issue with 0.45.1, while normally > > I > > run 0.47.2. Should we bump the minimum version? Or simply document > > it? > >=20 >=20 > Bumping the minimum version would be really nice generally for DPDK, > but I > don't think this is the point in the release cycle to do so. I need > to try > and track down why this is broken with older mesons - most version > specific > things are harmless, and I'd like to keep it that way!=C2=A0 >=20 > If we can't fix this in rc4, then document, I suggest. That way we > don't > require absolutely everyone to use bleeding-edge meson. >=20 > /Bruce I don't think it's anything we do, it's a feature Meson gained in 0.45: "libraries: a list of built libraries (usually results of shared_library) that the user needs to link against. Arbitrary strings can also be provided and they will be added into the Libs field. Since 0.45.0 dependencies of built libraries will be automatically added to Libs.private field. If a dependency is provided by pkg-config then it will be added in Requires.private instead. Other type of dependency objects can also be passed and will result in their link_args and compile_args to be added to Libs and Cflags fields. libraries_private: list of built libraries or strings to put in the Libs.private field. Since 0.45.0 it can also contain dependency objects, their link_args will be added to Libs.private." https://mesonbuild.com/Pkgconfig-module.html We could do all of that manually, but IMHO it's fine to document and then bump the minimum version for 19.02. I'll send a patch to update the doc, let me know if you prefer another solution. --=20 Kind regards, Luca Boccassi