DPDK patches and discussions
 help / color / mirror / Atom feed
From: Thomas Monjalon <thomas@monjalon.net>
To: Bruce Richardson <bruce.richardson@intel.com>
Cc: dev@dpdk.org, john.mcnamara@intel.com
Subject: Re: [dpdk-dev] [PATCH 1/8] doc: update Linux GSG system requirements section
Date: Thu, 28 Nov 2019 12:51:27 +0100	[thread overview]
Message-ID: <1739137.btLB4cIjLT@xps> (raw)
In-Reply-To: <20191122160359.11625-2-bruce.richardson@intel.com>

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.




  reply	other threads:[~2019-11-28 11:51 UTC|newest]

Thread overview: 47+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-11-22 16:03 [dpdk-dev] [PATCH 0/8] GSG Documentation updates Bruce Richardson
2019-11-22 16:03 ` [dpdk-dev] [PATCH 1/8] doc: update Linux GSG system requirements section Bruce Richardson
2019-11-28 11:51   ` Thomas Monjalon [this message]
2019-11-28 14:11     ` Bruce Richardson
2019-11-28 14:22       ` Thomas Monjalon
2019-11-28 14:30         ` Bruce Richardson
2019-11-28 14:34           ` Thomas Monjalon
2019-11-28 14:59             ` Bruce Richardson
2019-11-22 16:03 ` [dpdk-dev] [PATCH 2/8] doc: add building with meson to linux GSG Bruce Richardson
2019-11-25 13:19   ` Burakov, Anatoly
2019-11-25 13:27     ` Bruce Richardson
2019-11-25 13:54       ` Burakov, Anatoly
2019-11-25 14:40         ` Richardson, Bruce
2019-11-25 13:22   ` Burakov, Anatoly
2019-11-25 14:38     ` Richardson, Bruce
2019-11-22 16:03 ` [dpdk-dev] [PATCH 3/8] doc: reorder meson and make build instructions for arm Bruce Richardson
2019-11-24 11:25   ` Gavin Hu (Arm Technology China)
2019-11-22 16:03 ` [dpdk-dev] [PATCH 4/8] doc: remove reference to old versions of FreeBSD Bruce Richardson
2019-11-22 16:03 ` [dpdk-dev] [PATCH 5/8] doc: update examples output in FreeBSD GSG Bruce Richardson
2019-11-22 16:03 ` [dpdk-dev] [PATCH 6/8] doc: add meson install instructions for FreeBSD Bruce Richardson
2019-11-22 16:03 ` [dpdk-dev] [PATCH 7/8] doc: update documentation on build and running FreeBSD apps Bruce Richardson
2019-11-22 16:03 ` [dpdk-dev] [PATCH 8/8] doc: drop EAL command-line reference from FreeBSD GSG Bruce Richardson
2019-11-25 14:55 ` [dpdk-dev] [PATCH v2 0/8] GSG Documentation updates Bruce Richardson
2019-11-25 14:55   ` [dpdk-dev] [PATCH v2 1/8] doc: update Linux GSG system requirements section Bruce Richardson
2019-11-25 14:55   ` [dpdk-dev] [PATCH v2 2/8] doc: add building with meson to linux GSG Bruce Richardson
2019-11-25 15:11     ` Burakov, Anatoly
2019-11-25 14:55   ` [dpdk-dev] [PATCH v2 3/8] doc: reorder meson and make build instructions for arm Bruce Richardson
2019-11-25 14:55   ` [dpdk-dev] [PATCH v2 4/8] doc: remove reference to old versions of FreeBSD Bruce Richardson
2019-11-27 12:10     ` Burakov, Anatoly
2019-11-25 14:55   ` [dpdk-dev] [PATCH v2 5/8] doc: update examples output in FreeBSD GSG Bruce Richardson
2019-11-27 12:11     ` Burakov, Anatoly
2019-11-27 12:23       ` Bruce Richardson
2019-11-25 14:55   ` [dpdk-dev] [PATCH v2 6/8] doc: add meson install instructions for FreeBSD Bruce Richardson
2019-11-27 12:23     ` Burakov, Anatoly
2019-11-25 14:55   ` [dpdk-dev] [PATCH v2 7/8] doc: update documentation on build and running FreeBSD apps Bruce Richardson
2019-11-27 12:29     ` Burakov, Anatoly
2019-11-25 14:55   ` [dpdk-dev] [PATCH v2 8/8] doc: drop EAL command-line reference from FreeBSD GSG Bruce Richardson
2019-11-27 12:31     ` Burakov, Anatoly
2019-11-27 13:46       ` Bruce Richardson
2019-11-28 16:33 ` [dpdk-dev] [PATCH v3 0/5] GSG Documentation updates Bruce Richardson
2019-11-28 16:33   ` [dpdk-dev] [PATCH v3 1/5] doc: update Linux GSG system requirements section Bruce Richardson
2019-11-28 16:33   ` [dpdk-dev] [PATCH v3 2/5] doc: add building with meson to linux GSG Bruce Richardson
2019-11-28 16:33   ` [dpdk-dev] [PATCH v3 3/5] doc: reorder meson and make build instructions for arm Bruce Richardson
2019-11-28 16:33   ` [dpdk-dev] [PATCH v3 4/5] doc: remove reference to old versions of FreeBSD Bruce Richardson
2019-11-28 16:33   ` [dpdk-dev] [PATCH v3 5/5] doc: update examples output in FreeBSD GSG Bruce Richardson
2019-11-28 18:56   ` [dpdk-dev] [PATCH v3 0/5] GSG Documentation updates Thomas Monjalon
2020-01-03 15:37     ` Bruce Richardson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1739137.btLB4cIjLT@xps \
    --to=thomas@monjalon.net \
    --cc=bruce.richardson@intel.com \
    --cc=dev@dpdk.org \
    --cc=john.mcnamara@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).