From mboxrd@z Thu Jan 1 00:00:00 1970 From: Luca Boccassi Subject: Re: [RFCv2 00/40] Building DPDK with meson and ninja Date: Fri, 18 Aug 2017 10:33:00 +0100 Message-ID: <1503048780.14701.3.camel@gmail.com> References: <20170814095208.166496-1-bruce.richardson@intel.com> <1502979024.15962.10.camel@suse.com> <1502983536.31476.4.camel@gmail.com> <20170818083544.GA22884@bricha3-MOBL3.ger.corp.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Cc: Marco Varlese , dev@dpdk.org, thomas@monjalon.net To: Bruce Richardson Return-path: Received: from mail-wr0-f196.google.com (mail-wr0-f196.google.com [209.85.128.196]) by dpdk.org (Postfix) with ESMTP id 82ABF7D47 for ; Fri, 18 Aug 2017 11:33:02 +0200 (CEST) Received: by mail-wr0-f196.google.com with SMTP id z91so9524292wrc.4 for ; Fri, 18 Aug 2017 02:33:02 -0700 (PDT) In-Reply-To: <20170818083544.GA22884@bricha3-MOBL3.ger.corp.intel.com> List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" On Fri, 2017-08-18 at 09:35 +0100, Bruce Richardson wrote: > On Thu, Aug 17, 2017 at 04:25:36PM +0100, Luca Boccassi wrote: > > On Thu, 2017-08-17 at 16:10 +0200, Marco Varlese wrote: > > > Hi Bruce, > > >=20 > > > On Mon, 2017-08-14 at 10:51 +0100, Bruce Richardson wrote: > > > > Following on from previous RFC [http://dpdk.org/dev/patchwork/p > > > > atch > > > > /25104/] > > > > here is a second draft implementation for building DPDK with > > > > meson > > > > and > > > > ninja. While still not building all of DPDK, and needing patch > > > > cleanup so > > > > that patches don't overwrite previous work, it is more complete > > > > in > > > > many > > > > ways than the previous version and includes: > > > >=20 > > > > * dynamic build configuration e.g. building pcap driver only if > > > > pcap is > > > > =C2=A0 found, only build af_packet if the target is linux, and only > > > > building QAT > > > > =C2=A0 and openssl crypto drivers if libcrypto is found > > > > * support for pmdinfo inside the PMDs(for shared builds) and > > > > binaries (for > > > > =C2=A0 static builds) > > > > * generalized/standardized way of building libs and drivers, > > > > though > > > > the > > > > =C2=A0 drivers code still needs generalization at the driver, rathe= r > > > > than > > > > =C2=A0 driver-class level. > > > > * support for having a pkgconfig file for DPDK on install, and > > > > helloworld > > > > =C2=A0 and l2fwd can be built using the pkgconfig info (via make, > > > > not > > > > ninja) > > > > * support for library versions > > > > * an implementation for FreeBSD as well as Linux > > > > * all libraries are included in the build, as well as a number > > > > of > > > > NIC, > > > > =C2=A0 crypto, and mempool drivers > > > > * the igb_uio kernel module is build via the kernel Kbuild > > > > system > > > > as part > > > > =C2=A0 of a meson/ninja DPDK build > > >=20 > > > This is really great to see. I do have one suggestion. > > > Would it be possible to version the libraries built by the build- > > > system > > > following the same version of the DPDK release? > > >=20 > > > For instance, in DPDK 17.08 we currently have: > > > # objdump -p librte_pmd_ixgbe.so.1 |grep SONAME > > > =C2=A0 SONAME=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0librte_pmd_ixgbe.so.1 > > >=20 > > > Would it make sense to instead have librte_pmd_ixgbe.so.17.08 > > >=20 > > > I think it would help to facilitate the installation of multiple > > > DPDK > > > library > > > versions on the same system.=C2=A0 > > >=20 > > > For example, we could have the following scenario: > > >=20 > > > 1) OpenVSwithc linked with version 17.02 of DPDK > > > 2) VPP linked with version 17.08 of DPDK > > > 3) DPDK 18.xx installed in the system for any cutting-edge > > > application > > > prototyping. > > >=20 > > > Is this something which could be incorporated as part of this > > > work? > >=20 > > Christian sent a patch a while ago, which was merged, to enable > > this in > > the current build system, it's the CONFIG_RTE_MAJOR_ABI option, we > > use > > it in Debian and Ubuntu for the reasons you mentioned. > >=20 > > And if it's not been translated yet, I agree it's an important one. > >=20 >=20 > No, it's not translated yet - mainly for the reasons that I had > forgotten > it existed, and that there is a lot yet unported. >=20 > General question: should this be the default or not? It looks to me > that > it should probably be, but what do others think? >=20 > /Bruce Well, to maintain backward compatibility, you might not want to have it on by default - it's the equivalent of declaring all ABIs compatibility broken on all releases, some users might not like that. For us distro maintainers it's very easy to enable. But I don't have a strong opinion either way - just thinking about consequences for others. --=20 Kind regards, Luca Boccassi