DPDK patches and discussions
 help / color / Atom feed
From: Bruce Richardson <bruce.richardson@intel.com>
To: dev@dpdk.org
Cc: john.mcnamara@intel.com, bluca@debian.org, thomas@monjalon.net,
	Bruce Richardson <bruce.richardson@intel.com>
Subject: [dpdk-dev] [PATCH] doc: add instructions for building 32-bit DPDK
Date: Fri, 16 Oct 2020 16:09:55 +0100
Message-ID: <20201016150955.2765-1-bruce.richardson@intel.com> (raw)

For users with 32-bit applications who wish to use DPDK we need to provide
instructions on creating a 32-bit build of DPDK with meson. Therefore add a
section with this information to the GSG.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
---
 doc/guides/linux_gsg/build_dpdk.rst | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/doc/guides/linux_gsg/build_dpdk.rst b/doc/guides/linux_gsg/build_dpdk.rst
index 1d867dedf..e76642efc 100644
--- a/doc/guides/linux_gsg/build_dpdk.rst
+++ b/doc/guides/linux_gsg/build_dpdk.rst
@@ -113,6 +113,31 @@ dependencies are met on the current system are built.
 When `-Dexamples=all` is set as a meson option, meson will check each example application to see if it can be built,
 and add all which can be built to the list of tasks in the ninja build configuration file.
 
+
+Building 32-bit DPDK on 64-bit Systems
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+To build a 32-bit copy of DPDK on a 64-bit OS,
+the ``-m32`` flag should be passed to the compiler and linker to force the generation of 32-bit objects and binaries.
+This can be done either by setting ``CFLAGS`` and ``LDFLAGS`` in the environment,
+or by passing the value to meson using ``-Dc_args=-m32`` and ``-Dc_link_args=-m32``.
+For correctly identifying and using any dependency packages,
+the ``pkg-config`` tool must also be configured to look in the appropriate directory for .pc files for 32-bit libraries.
+This is done by setting ``PKG_CONFIG_LIBDIR`` to the appropriate path.
+
+The following meson command can be used on RHEL/Fedora systems to configure a 32-bit build,
+assuming the relevant 32-bit development packages, such as a 32-bit libc, are installed::
+
+  PKG_CONFIG_LIBDIR=/usr/lib/pkgconfig meson -Dc_args='-m32' -Dc_link_args='-m32' build
+
+For Debian/Ubuntu systems, the equivalent command is::
+
+  PKG_CONFIG_LIBDIR=/usr/lib/i386-linux-gnu/pkgconfig meson -Dc_args='-m32' \
+      -Dc_link_args='-m32' build
+
+Once the build directory has been configured, DPDK can be compiled using ``ninja`` as described above.
+
+
 .. _building_app_using_installed_dpdk:
 
 Building Applications Using Installed DPDK
-- 
2.25.1


             reply index

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-10-16 15:09 Bruce Richardson [this message]
2020-10-16 17:25 ` Luca Boccassi
2020-11-06 17:47   ` Thomas Monjalon

Reply instructions:

You may reply publically 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=20201016150955.2765-1-bruce.richardson@intel.com \
    --to=bruce.richardson@intel.com \
    --cc=bluca@debian.org \
    --cc=dev@dpdk.org \
    --cc=john.mcnamara@intel.com \
    --cc=thomas@monjalon.net \
    /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

DPDK patches and discussions

Archives are clonable:
	git clone --mirror http://inbox.dpdk.org/dev/0 dev/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 dev dev/ http://inbox.dpdk.org/dev \
		dev@dpdk.org
	public-inbox-index dev


Newsgroup available over NNTP:
	nntp://inbox.dpdk.org/inbox.dpdk.dev


AGPL code for this site: git clone https://public-inbox.org/ public-inbox