From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wm1-f45.google.com (mail-wm1-f45.google.com [209.85.128.45]) by dpdk.org (Postfix) with ESMTP id 7E4654CA5 for ; Thu, 15 Nov 2018 18:05:20 +0100 (CET) Received: by mail-wm1-f45.google.com with SMTP id p2-v6so18593963wmc.2 for ; Thu, 15 Nov 2018 09:05:20 -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=CJuoZ5LN10O+xjMONjzhQm/HUgim4Hs0e8Wk/AmjVYw=; b=oK+0M68bcvBTYSOLpyleHZjo9TEEZmPEDMlKIRUW5JZZjgnNrqv7aEFLDQmN4NDb8Z xXgJS+VR01wJTaQMxLZFaGXBADMoWLzVEzKThcE+Q5v6bu6w8cNTvyKR6gJu3nsx8J4r RsCz+QjEBWsbpeQndv7wypayqMcXW81MWRSHfZ4sRMj+pbVVG3RnSbrDf3dTNd8flUq5 6z+AXPd28RdasaI7LJ1mBtWL3s/FJdIAA5qve5z0gXKFoyCLhkTGsewb7JCu5yvzY3y6 gRx+HN8/X0IUnerccR3bLoJL40OKeRDEXTxSvNmDjjOahFzvlU7z+dWGA/K8v9Jixap0 fVew== X-Gm-Message-State: AA+aEWYdje+4NaDr6h1FO5X7SF9ZN2WmqsbD1+0yKTvNP4iIIVApD2z+ rFpk7sTO7rWdxuC1Dcsfw4tAjnO4 X-Google-Smtp-Source: AJdET5cEAXnvmhyLAruszU5hdI3atUocllDbcoz8bDzZ4e3fWbsIr+VYXmce8E0HFHX1iDLLnxKw4w== X-Received: by 2002:a1c:650b:: with SMTP id z11mr2042692wmb.23.1542301519796; Thu, 15 Nov 2018 09:05:19 -0800 (PST) Received: from localhost ([2a01:4b00:f419:6f00:8361:8946:ba2b:d556]) by smtp.gmail.com with ESMTPSA id l3sm343605wru.36.2018.11.15.09.05.17 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Thu, 15 Nov 2018 09:05:17 -0800 (PST) Message-ID: <1542301516.11515.21.camel@debian.org> From: Luca Boccassi To: "Richardson, Bruce" , "Burdick, Cliff" Cc: Thomas Monjalon , "Burakov, Anatoly" , "dev@dpdk.org" Date: Thu, 15 Nov 2018 17:05:16 +0000 In-Reply-To: <59AF69C657FD0841A61C55336867B5B0726E0748@IRSMSX103.ger.corp.intel.com> References: <2172258.pSIRIAPMh3@xps> <03A7D9A58FAFB54FBB01FEE199D7308A0134B8F4C4@wdc1exchmbxp02.hq.corp.viasat.com> <1843907.qCN5czUxPS@xps> <03A7D9A58FAFB54FBB01FEE199D7308A0134B8F564@wdc1exchmbxp02.hq.corp.viasat.com> <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> 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 17:05:20 -0000 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 > > ; > > 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@intel.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@monjalon > > > > > > > > > > > > > .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 > > > > > > > > > > > > > > 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/url?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=3DBMoBlwkqljwWIBY3SE3pPMCfVnOU > > > > > > > > > > > > > > lDuZLrn > > > > > > > > > > > > > > o4- > > > > > > > > > > > > > > SojKM&e=3D > > > > > > > > > > > > > >=20 > > > > > > > > > > > > > > They don't use primary/secondary processes, > > > > > > > > > > > > > > though, so the issue is=C2=A0=C2=A0never hit. 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 that we= re not > > > > > > > > > > > > > > available in C/C++. At some point I=C2=A0=C2=A0= bet > > > > > > > > > > > > > > someone > > > > > > > > > > > > > > would use Cython to start linking against > > > > > > > > > > > > > > DPDK as > > > > > > > > > > > > > > well,=C2=A0=C2=A0and we'd likely run into the s= ame > > > > > > > > > > > > > > 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=3DYYn2N7WrzJpH1ptNrLZad0nPAQdrUyqB > > > > > > > > > > > > > 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=3Dhttp > > > > > > > > > > > > -3A__gi > > > > > > > > > > > > t.d > > > > > > > > > > > > pdk. > > > > > > > > > > > > org_dp > > > > > > > > > > > > dk_tree_doc_build-2Dsdk-2Dmeson.txt- > > > > > > > > > > > > 23n182&d=3DDwICAg&c=3Djcv3orpCsv7C4 > > > > > > > > > > > > ly8- > > > > > > > > > > > > ubDoUfrxF5xIGWmptxGWP5vi5w&r=3Dm1RLQOGOkz9MauvVLZ > > > > > > > > > > > > miGtyWc > > > > > > > > > > > > 5mA > > > > > > > > > > > > 7Dej > > > > > > > > > > > > bP > > > > > > > > > > > > FNE1IDj- > > > > > > > > > > > > > 4&m=3DC69wDgrjDX8_oXp1M_3bnmWOOZdGqwBBG9vzkyGDW > > > > > > > > > > > > > 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 -sf $(= APP)-shared build/$(APP) > > > > > > > > > static: build/$(APP)-static > > > > > > > > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0ln -sf $(= 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) $(C= FLAGS) $(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) $(C= FLAGS) $(SRCS-y) -o $@ $(LDFLAGS) > > > > > > > > > $(LDFLAGS_STATIC) > > > > > > > > >=20 > > > > > > > > > build: > > > > > > > > > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0@mkdir -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: 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_uio.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/kernel/= linux/igb_uio/igb_uio.mod. > > o > > =C2=A0 LD [M]=C2=A0=C2=A0/home/cburdick/dpdk/build/kernel/linux/igb_uio= /igb_uio.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= _ethtool.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/kcompat.o > > =C2=A0 CC [M] > > /home/cburdick/dpdk/build/kernel/linux/kni/ethtool/igb/e1000_82575. > > o > > =C2=A0 CC [M] > > /home/cburdick/dpdk/build/kernel/linux/kni/ethtool/igb/e1000_i210.o > > =C2=A0 CC [M] > > /home/cburdick/dpdk/build/kernel/linux/kni/ethtool/igb/e1000_mbx.o > > =C2=A0 CC [M] > > /home/cburdick/dpdk/build/kernel/linux/kni/ethtool/igb/e1000_api.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_manage > > .o > > =C2=A0 CC [M] > > /home/cburdick/dpdk/build/kernel/linux/kni/ethtool/igb/igb_ethtool. > > o > > =C2=A0 CC [M] > > /home/cburdick/dpdk/build/kernel/linux/kni/ethtool/igb/igb_param.o > > =C2=A0 CC [M] > > /home/cburdick/dpdk/build/kernel/linux/kni/ethtool/igb/e1000_mac.o > > =C2=A0 CC [M] > > /home/cburdick/dpdk/build/kernel/linux/kni/ethtool/igb/e1000_phy.o > > =C2=A0 CC [M] > > /home/cburdick/dpdk/build/kernel/linux/kni/ethtool/igb/e1000_nvm.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/= kernel/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 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 Kind regards, Luca Boccassi