From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 49CE5A04E0; Thu, 28 Nov 2019 12:51:35 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 37883293C; Thu, 28 Nov 2019 12:51:34 +0100 (CET) Received: from wout4-smtp.messagingengine.com (wout4-smtp.messagingengine.com [64.147.123.20]) by dpdk.org (Postfix) with ESMTP id BFD14A3 for ; Thu, 28 Nov 2019 12:51:31 +0100 (CET) Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailout.west.internal (Postfix) with ESMTP id 6350D5D4; Thu, 28 Nov 2019 06:51:30 -0500 (EST) Received: from mailfrontend1 ([10.202.2.162]) by compute1.internal (MEProxy); Thu, 28 Nov 2019 06:51:30 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=monjalon.net; h= from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding:content-type; s=mesmtp; bh=8S+XdxfT4b77ADnjhg9kl/ReTTjZnGq2u22L3JQRdHU=; b=ev2xDi+1oakn OQosm6WeMJhWh6psLhhsuER+deuqcUty14G5P7ZRL/TJjIAtoPU+f8qUKEHsEqCh HLi/TiAjktp3IPq12GKCutoq8tjrMIp1TGcsbaoARgoB79QYsINxwv03sHK8tHJi BjmuvnB0q9Now2ofBy4q6laas026VWQ= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:content-type :date:from:in-reply-to:message-id:mime-version:references :subject:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender :x-sasl-enc; s=fm1; bh=8S+XdxfT4b77ADnjhg9kl/ReTTjZnGq2u22L3JQRd HU=; b=R5uiUytA5bmZPuGukS4Li95ge2TOpvKKevfKV+TRZwojsmV2wc5uWw/Gn 46H3sgy37/1T8/TD4gvm6ocbFR9wz1onUev6xgofZJ6ftuM5vTZDXgnj3yUp1hhB TwHZuxwNcku1MsHnRnjM7EksWLpwwgw4V+isZAgKJ70TTkWSUHjUG0P7vsbC/MTk k6d3QgNitCV05AIgmN24RyozqpNQkFxDqUwBsUpSY3O52ZN506tDE5aM4b5fUlh2 0WXYWQA36vBfE4h0sA4NxmaZZCdjYuS+kkHQNDwQ+b2f+9/g/Hz9dZ2Ffqg1R/OD GItwDD35cETnbco5tPQ4JbvIsNMaw== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedufedrudeijedgfedtucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhephffvufffkfgjfhgggfgtsehtufertddttddvnecuhfhrohhmpefvhhhomhgr shcuofhonhhjrghlohhnuceothhhohhmrghssehmohhnjhgrlhhonhdrnhgvtheqnecukf hppeejjedrudefgedrvddtfedrudekgeenucfrrghrrghmpehmrghilhhfrhhomhepthhh ohhmrghssehmohhnjhgrlhhonhdrnhgvthenucevlhhushhtvghrufhiiigvpedt X-ME-Proxy: Received: from xps.localnet (184.203.134.77.rev.sfr.net [77.134.203.184]) by mail.messagingengine.com (Postfix) with ESMTPA id D9E7580060; Thu, 28 Nov 2019 06:51:28 -0500 (EST) From: Thomas Monjalon To: Bruce Richardson Cc: dev@dpdk.org, john.mcnamara@intel.com Date: Thu, 28 Nov 2019 12:51:27 +0100 Message-ID: <1739137.btLB4cIjLT@xps> In-Reply-To: <20191122160359.11625-2-bruce.richardson@intel.com> References: <20191122160359.11625-1-bruce.richardson@intel.com> <20191122160359.11625-2-bruce.richardson@intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" Subject: Re: [dpdk-dev] [PATCH 1/8] doc: update Linux GSG system requirements section 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: , Errors-To: dev-bounces@dpdk.org Sender: "dev" 22/11/2019 17:03, Bruce Richardson: > Update the system requirements section of the doc to cover builds with > meson and ninja. This involves updating the package dependencies to include > meson, ninja and python 3.5, and also updating the optional dependencies > section to explain that the components are enabled/disabled automatically > by meson. > > As part of this update, the relevant sections were simplified to keep the > document shorter. For mandatory requirements, we can refer to the various > distro's development tools package groups rather than requiring gcc, core > tools etc. individually. The optional package list was very incomplete, and > if complete would duplicate information in the individual driver's guides. > Therefore we can simplify it by listing only the library optional > requirements and referring users to the driver docs to find details on > their dependencies. I agree with the intent. [...] > -* GNU ``make``. > +* General development tools including ``make``, and a supported C compiler such as ``gcc`` or ``clang``. Why referring to make and not meson? > -* coreutils: ``cmp``, ``sed``, ``grep``, ``arch``, etc. > + * For Red Hat/Fedora systems these can be installed using ``dnf groupinstall "Development Tools"`` > + * For Ubuntu/Debian systems these can be installed using ``apt install build-essential`` OK, this is very basic :) > -* gcc: versions 4.9 or later is recommended for all platforms. > - On some distributions, some specific compiler flags and linker flags are enabled by > - default and affect performance (``-fstack-protector``, for example). Please refer to the documentation > - of your distribution and to ``gcc -dumpspecs``. I think we need to keep some compiler requirement somewhere. What do you suggest? > -* libc headers, often packaged as ``gcc-multilib`` (``glibc-devel.i686`` / ``libc6-dev-i386``; > - ``glibc-devel.x86_64`` / ``libc6-dev`` for 64-bit compilation on Intel architecture; > - ``glibc-devel.ppc64`` for 64 bit IBM Power architecture;) [...] > -* Additional packages required for 32-bit compilation on 64-bit systems are: > - * glibc.i686, libgcc.i686, libstdc++.i686 and glibc-devel.i686 for Intel i686/x86_64; > - * glibc.ppc64, libgcc.ppc64, libstdc++.ppc64 and glibc-devel.ppc64 for IBM ppc_64; OK to drop libc requirements. > - .. note:: > - > - x86_x32 ABI is currently supported with distribution packages only on Ubuntu > - higher than 13.10 or recent Debian distribution. The only supported compiler is gcc 4.9+. No note at all about x32? Do we know how it is supported? > +* Python, recommended version 3.5+. > + * Python v3.5+ is needed to build DPDK using meson and ninja We cannot use meson at all with older Python? > -* Python, version 2.7+ or 3.2+, to use various helper scripts included in the DPDK package. > + * Python 2.7+ or 3.2+, to use various helper scripts included in the DPDK package. I didn't know about 3.2 for scripts. Any special reason? > +* Meson (v0.47.1+) and ninja > > + * Recommended to use the latest versions from Python's "pip" repository: > + ``pip3 install meson ninja`` Why recommending pip? Is 0.47.1 enough? > - .. note:: > - > - On systems with NUMA support, `libnuma-dev` (aka `numactl-devel`) > - is a recommended dependency when `--legacy-mem` switch is used, > - and a *required* dependency if default memory mode is used. > - While DPDK will compile and run without `libnuma` > - even on NUMA-enabled systems, > - both usability and performance will be degraded. I think libnuma is worth to be mentioned here as it is an EAL dependency. > +* Linux kernel headers or sources required to build kernel modules. This one is obvious, OK. > -* libpcap headers and libraries (libpcap-devel) to compile and use the libpcap-based poll-mode driver. > - This driver is disabled by default and can be enabled by setting ``CONFIG_RTE_LIBRTE_PMD_PCAP=y`` in the build time config file. OK to drop PMD-specific requirement. > +**Additional Libraries** > + > +A number of DPDK components, such as libraries and poll-mode drivers (PMDs) have additional dependencies. > +For DPDK builds using meson, the presence or absence of these dependencies will be > +automatically detected enabling or disabling the relevant components appropriately. > + > +For builds using make, these components are disabled in the default configuration and > +need to be enabled manually my changing the relevant setting to "y" in the build configuration file typo: s/my/by/ > +i.e. the ``.config`` file in the build folder. > + > +In each case, the relevant library development package (``-devel`` or ``-dev``) is needed to build the DPDK components. > + > +For libraries the additional dependencies include: > + > +* libarchive: for some unit tests using tar to get their resources. > + > +* jansson: to compile and use the telemetry library. > + > +* libelf: to compile and use the bpf library. I think these optional dependencies could go away, thanks to the text you added above and below. > +For poll-mode drivers, the additional dependencies for each driver can be > +found in that driver's documentation in the relevant DPDK guide document, > +e.g. Network Interface Controller Drivers Guide Please use a link here. You could also link the prog guide if talking about libraries.