From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 21A9643279; Fri, 3 Nov 2023 14:55:24 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id E110A4027F; Fri, 3 Nov 2023 14:55:23 +0100 (CET) Received: from mgamail.intel.com (mgamail.intel.com [134.134.136.20]) by mails.dpdk.org (Postfix) with ESMTP id D88CB40273 for ; Fri, 3 Nov 2023 14:55:21 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1699019722; x=1730555722; h=date:from:to:cc:subject:message-id:references: content-transfer-encoding:in-reply-to:mime-version; bh=S93bdTetNj8uJhrpNcjycqb/m4APqM+MpTBJC3Zjsqg=; b=hPm9ZOfot6e6aU+XUzBow0NnT25YdtsZgVb+Hpik1lCGsF0wKNmTLPT3 vZWgAwF5uvUusGsJa4o6uGUGltGJCRyA6XEemydmm1VAJiqoB/7Gog/eK x4v/em9yxT7qyahmOT128fx9DirJwHxypV9PWnL6E1UoxyTzyjvBtCY1r uAL0s/0wdbRc7vNJ8b4Syb9jPy3Ia5RnA8MCqWLBMXt3tyxlSc8npR+/l htZ53WqhtzXd/cnwT5V/IzQOoqu4yw8NCjHxUUCZ/LgfkkF4OeNb0D1ha akKbf1rENbEu/uDKarbGsMu4Z4oNUcAmDu+M5dx9TbhharJl8N/btS6L7 g==; X-IronPort-AV: E=McAfee;i="6600,9927,10883"; a="379347029" X-IronPort-AV: E=Sophos;i="6.03,273,1694761200"; d="scan'208";a="379347029" Received: from orsmga002.jf.intel.com ([10.7.209.21]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 03 Nov 2023 06:55:20 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10883"; a="761621357" X-IronPort-AV: E=Sophos;i="6.03,273,1694761200"; d="scan'208";a="761621357" Received: from orsmsx602.amr.corp.intel.com ([10.22.229.15]) by orsmga002.jf.intel.com with ESMTP/TLS/AES256-GCM-SHA384; 03 Nov 2023 06:55:20 -0700 Received: from orsmsx601.amr.corp.intel.com (10.22.229.14) by ORSMSX602.amr.corp.intel.com (10.22.229.15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.34; Fri, 3 Nov 2023 06:55:20 -0700 Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) by orsmsx601.amr.corp.intel.com (10.22.229.14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.34 via Frontend Transport; Fri, 3 Nov 2023 06:55:20 -0700 Received: from NAM10-DM6-obe.outbound.protection.outlook.com (104.47.58.101) by edgegateway.intel.com (134.134.137.102) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.34; Fri, 3 Nov 2023 06:55:19 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=jKdw7sY6BiQGvZeORAqvXWWBGS/x8UIm655ePYlvl1l2M7nTVLu4E5MI2ofd4tchibg9pi0PLOvUDeGCMtX9COaED2TOv9d/PhqC6Huk8GzdVVaMpQHOU4r2B+eHRSv/SvaG0bmA1jj+7hbbDA1R/NkBxcyRqVc2FGTvY7QX9yvpANR7UJKpVOatjHzYb1AHUFgpuK/xP2HdOj6cDpDXFJoFkGWQOKrmcSoGibECvRpea/FqMv9p4/IURztwk7+qfhulIVwkEDec62w7ihrDnibVQcYglks0wsBDxbwMBxlLxRmW4lcd1S+hg26ZmZyKPifCu91EBqN+EseipGXI4A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=zK3TNuGD2mLTpLBwg29G5V3ZIAEbGw5x8OeOdfriqgo=; b=iQsR/EKCHC/IeS+hj8B4MPmcmSF79jb/OPbFkPCBxGDJb//o0a+5iIBHUYFz0F8IZUikXw6tCN5cy0y97MH8Vu+KJ2RDU96A8tL4L/umHkakPpaS9bNwyooCJpXQVkupmfmh6u3aG2TOAXlHfFP0MKUyrebh1bXYwPHp9IgOPO65XLTeDO5yNTrIbAy298sEfFCkC+cUwXq2mpfu/hJ4Wm7K8GLdHEQeuuze1XhWfufNPXorLaQu3buJTxzJwBQdZnlMc0smZJCSPsQCe6o5Xn/8X1nJBtIZwOqoDrD6fd+iSTfMCBiObwWWH6mCcRM6EoE3BpoARNaqr1tJcGRobw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; Received: from DS0PR11MB7309.namprd11.prod.outlook.com (2603:10b6:8:13e::17) by SN7PR11MB7590.namprd11.prod.outlook.com (2603:10b6:806:348::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6954.19; Fri, 3 Nov 2023 13:55:17 +0000 Received: from DS0PR11MB7309.namprd11.prod.outlook.com ([fe80::d70b:11a0:d28f:ec44]) by DS0PR11MB7309.namprd11.prod.outlook.com ([fe80::d70b:11a0:d28f:ec44%6]) with mapi id 15.20.6954.021; Fri, 3 Nov 2023 13:55:17 +0000 Date: Fri, 3 Nov 2023 13:55:11 +0000 From: Bruce Richardson To: David Young CC: , Aaron Conole Subject: Re: [PATCH v3 2/7] Section 2: Install and Build DPDK Message-ID: References: <20231103040202.2849-1-dave@youngcopy.com> <20231103040202.2849-3-dave@youngcopy.com> Content-Type: text/plain; charset="utf-8" Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20231103040202.2849-3-dave@youngcopy.com> X-ClientProxiedBy: DB7PR02CA0007.eurprd02.prod.outlook.com (2603:10a6:10:52::20) To DS0PR11MB7309.namprd11.prod.outlook.com (2603:10b6:8:13e::17) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS0PR11MB7309:EE_|SN7PR11MB7590:EE_ X-MS-Office365-Filtering-Correlation-Id: 91a62eec-c203-42f2-7d96-08dbdc7482ac X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 088DyXiKcxtcwRzaIvr3A3Z61EDelNj7fpiGfG+A2xYw4ltIeP/PNZRVaXnrgmRopmzgi/Yw/sQMIjPJ0HjhADBWTJ+7CvCX+DvIiv0eTBG0TCWMHw3Juyl0iKaceHbNX57KiK1tyxBdgZ7T4Anqdjx180LepHW+p5QBV5NkhvnPc13JtgFGzJRHmKdXCN/rrseMRJd5neLXKLg4qfN2ols1WG3UR/K5KlsCeYt0nohTeg+syYVMGNmXg+v4BbzztXhSFiHv0QUwZ4X7OYA3Tby9ZSCm0GjqoMeVoI5b8pWNewQ2pf8/9v9PcZ5auVAJZiUe+zQgpbmObSD2AIbP/anyw1gdAsldhA3HD9BMyd0SNlR+VmR9qH0J0zH+MlIgg3LZKs80nmH1OUmsJy/2eTKfrajEzSeDjWhiE7ue7eHKtGwzSQ1IShffjeHVDqHtymlgG2r8GiNnb0UA+II4MVUAUNqn8l1AffYX3SoN6cgB3m1gZ27iDA84lM1E2tVfNcaqP9vSBDXYDd4LQwHXiqDEPP3v5rxfwf5DIHxR715XQPlgd8++OqCir0GqtkZrN/8xSuRSf9u03FMZcERGDTvWawzoULzXFuWFjhWRE+IpbjtaAr9bSV7iajiv2BCU X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DS0PR11MB7309.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(346002)(366004)(376002)(396003)(136003)(39860400002)(230922051799003)(230273577357003)(230173577357003)(1800799009)(451199024)(64100799003)(186009)(26005)(6512007)(30864003)(38100700002)(86362001)(16799955002)(82960400001)(2906002)(5660300002)(83380400001)(6506007)(6666004)(4326008)(44832011)(45080400002)(8936002)(966005)(6916009)(6486002)(316002)(66476007)(66556008)(478600001)(66946007)(8676002)(41300700001); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?YnlUbklYbGYxSXZITGdaMHczaktWWW1UN3dRcGh3L0h2cU5yMWx1eVNVLzlk?= =?utf-8?B?VWlUSm10WndaME1CZ1RwVFUzeFl2REVaajFId2ppTlByTVBGdWsvREd1YnB4?= =?utf-8?B?QlF3TFV6eHZTaEQwdFg3akRjOVpIRkhSZzVLL1h6Zm5oYmtkM3dudnE5NVVS?= =?utf-8?B?L0V6MWt6RFcySW56UGkzR2pwdXc1dE1wVUtVK2RjN3pIc2xxb0ZHYnpXTmts?= =?utf-8?B?T0JsQ2RVdndBMUpieUhoVzlJclFKK09xSHNnZHhoQ3k3VlBURkxhL1RmU1hy?= =?utf-8?B?L2EveWdXSDd3eXJlMld2QW1ud0szdUR0UkZpaFh4VE9jUGJvZDlnSzZObHBE?= =?utf-8?B?U1JGb08yaURESEQrSGx0ZmxFNUdQdmphTVVta0k2UjdYMG5LdzZaOWJFRVNP?= =?utf-8?B?RURKaDVIMWZuSWM2NzJWNDlTRVErb1Jxa25JZGxQREZlVytkeFBkTmh4N3F6?= =?utf-8?B?N2dta0xOT3FsakFaK2lmRzRhcFZXRzdRQ1JMeEs5bS8vaWoyQWIwNHpuZzNL?= =?utf-8?B?V1RLSm9McjJzV2xuQjZyVDdaSEV5LzBwd2RnZzU5N2tmejZQalFvSjdwWlRm?= =?utf-8?B?SWcrNkhPaDNVQ1E1dGJWdU02MGJGOExBYWVBZSs2bWpTV0hQU0g0dmZiaE5C?= =?utf-8?B?Nkxtci8yWkt5a0ZyU0JCbHprSlRIYVZ2UWtuVzhzUlBNcFFWbDVMQzZCWDFI?= =?utf-8?B?anNlMnRlSWF6MWxBSDNUODFieDNzZ2VXUjVzTERMWnY1SWRuWUtDdU1vdTZ3?= =?utf-8?B?Q1QzSE0vT0J3ejYxUm91SjBvbUNDQU91UEJ2VFlmRERySmVXQmFsTXpnTmFX?= =?utf-8?B?OC9vN0Z6QUZrNTRsMG83cnVxYUVoQmhzNDVqeThiYkNOTzUwVVBLOVY5eXpH?= =?utf-8?B?cTBaTm80VSt5VVJiL0dtbzRvRTNnNHFvcWFiQ1VmeG8yNFcwYUhiUTB2SmlE?= =?utf-8?B?UnloZm81UXluZzRUQzVIbE9FcVZ3VFZmZU93MmxMRWwxYmtXTDh1RDBFbTBT?= =?utf-8?B?ajdKalREMnlDMzJMeko2anBoRkUxWUFIK254bVIwbmZjWUVkSG1JaHEwYXds?= =?utf-8?B?am13SldoQ0cxQ0YwRU9wOGx3R2lyM1VlOEV3dy9IT3hGQjB4ZDF1MVAraUls?= =?utf-8?B?TmdFSUVvSHdpd1ZUZGpvWXo1MFI0dlBvVk8vb0pmOXRoWlJOdWZBK3BZWlQr?= =?utf-8?B?UDlPS1E0bEdPTTRoNDloL2YxcFgvU3d1dkNsRDhSdVJvZmtZT3V4NEVLY3VX?= =?utf-8?B?WTA4Wk50cUh3cHBsaXFpMHAybnZjQmxDRkt6d1FncnBoUGNGeXBtbDRya05N?= =?utf-8?B?cmpzV1hVNlVxa0tRekFDT2xQK3VUanpOcE1tcEVqNTAzZTZZSTdJZjJqWER2?= =?utf-8?B?MjBPWFBKOWVTbFZpRUNKSzN0N0JCMGZZL3J4cWN3bFlTcVJHSU93MHF6S2p4?= =?utf-8?B?ejN0S2JFY0tlZm1jY0RpQnVwcVlzdllHazdkQ0hLeE9tajg4OWZnVTM0RTlQ?= =?utf-8?B?aGNKY2V4Y0NhdGlFeDg3UTJiRUdTR3l5N0ltMzhtNWdXUVh6RVVJQ1N0a1Ba?= =?utf-8?B?S0dpOTNyNHIrc0x4K295S0JSSlp4dE5sWC9rK1VZOE0vZzJoSVh6ZUZYNVR0?= =?utf-8?B?YVo3WW9RaHduR2RjSE1EWVRFNE5NZUd0dXJweW9JbkdHQlhaTmIrTFh6dllO?= =?utf-8?B?c1hmSXp1QkFkTXQyNUZ0M1JKWTVCTjdyYzMxOTZYOEYvR2JmMEJsOFpSY1Uy?= =?utf-8?B?T1ljQksvdW94Qml5WUM1WE9jMmd6aC9DZkc2enRSbHZydUFGSytrWXpzZm9i?= =?utf-8?B?eWlVREFnQzYzc1R6Q256MTV0c0dGVzUxQ0JFTDBvcVEyZjhITjB3OW1lcGNO?= =?utf-8?B?K2xQZjVuU0NpSkozRTBpV1VGRy9CTXJ0TjA4cjlvTVVnb0ZKSVFQdnVDVDZo?= =?utf-8?B?cytMR2l5VGpWaWxtcXVpaDgyL2tjaEQwdFBiQUxud2kyaE11MldTT0gwU2lm?= =?utf-8?B?NW1nZVllemF2VlZOeUpBZFYyeENtSEVRdWF3YkdTbG9abTAySDl2bmx5UVJP?= =?utf-8?B?WlRrenUwdnMweEVub3d2RjVJWVliUEZ0a1BKR0NTaFV0QWJiMUk4S0s2cE5w?= =?utf-8?B?ai8vRVlyaVY2VmQwVUM0SGxZaUtLTE81ZTZKanhROThraUVVSXo1ejlOYklY?= =?utf-8?B?L1E9PQ==?= X-MS-Exchange-CrossTenant-Network-Message-Id: 91a62eec-c203-42f2-7d96-08dbdc7482ac X-MS-Exchange-CrossTenant-AuthSource: DS0PR11MB7309.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Nov 2023 13:55:17.1768 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: WwoN+39BdhP9DuqVc6hYyIUl26/Te7vjKXj85Ta2ezLaca7wp3uWE5ZZBUQwstbaI1X6wmJeBg+YE7Cp3QaPpMIpx5p6bfJ24XALLD4eb7g= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR11MB7590 X-OriginatorOrg: intel.com X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Thanks, David. More comments inline below. /Bruce On Fri, Nov 03, 2023 at 12:01:48AM -0400, David Young wrote: > Section 2: Install and Build DPDK - Updated based on feedback; Merged windows_install_build.rst into building_from_sources.rst; Updated Meson 0.57.x to be required for Windows. Please word-wrap commit log. > --- > .../building_from_sources.rst | 174 ++++++++++++++++++ > .../install_and_build/index.rst | 14 ++ > .../installing_prebuilt_packages.rst | 54 ++++++ > 3 files changed, 242 insertions(+) > create mode 100644 doc/guides/getting_started_guide/install_and_build/building_from_sources.rst > create mode 100644 doc/guides/getting_started_guide/install_and_build/index.rst > create mode 100644 doc/guides/getting_started_guide/install_and_build/installing_prebuilt_packages.rst > > diff --git a/doc/guides/getting_started_guide/install_and_build/building_from_sources.rst b/doc/guides/getting_started_guide/install_and_build/building_from_sources.rst > new file mode 100644 > index 0000000000..fd7e2e9b30 > --- /dev/null > +++ b/doc/guides/getting_started_guide/install_and_build/building_from_sources.rst > @@ -0,0 +1,174 @@ > +.. SPDX-License-Identifier: BSD-3-Clause > + Copyright(c) 2010-2025 Intel Corporation. > + > +.. _building_from_sources: > + > +Building and Installing DPDK from Sources > +========================================= > + > +This chapter provides a comprehensive guide for building DPDK from sources on Linux, FreeBSD, and Windows. It covers the necessary steps, prerequisites, > +and considerations for different architectures and compilers. > + I wonder if we need so many repetitions of "Linux, FreeBSD and Windows". We just referred to them in the previous intro section. > +Required Tools > +-------------- > + > +To build DPDK, you'll need the following tools: > + > +- A C compiler like ``gcc`` (version 5+) or ``clang`` (version 3.6+) > +- ``pkg-config`` or ``pkgconf`` > +- Python 3.6 or later > +- ``meson`` (version 0.57.0) and ``ninja`` > +- ``pyelftools`` (version 0.22+) > + > +Platform-Specific Tool Installation > +----------------------------------- > + > +Linux > +^^^^^ > + > +Common Tools for All Distributions: > + > +.. code-block:: bash > + > + sudo apt install gcc pkg-config python3 meson ninja pyelftools > + The tools may be common, but the command is for debian and derivatives like Ubuntu. Can you fold these packages into the individual lists per-distro below, since "apt install" doesn't work on Fedora or openSUSE. > +Alpine > + > +.. code-block:: bash > + > + sudo apk add alpine-sdk bsd-compat-headers > + > +Debian, Ubuntu, and derivatives > + > +.. code-block:: bash > + > + sudo apt install build-essential > + > +Fedora and RedHat Enterprise Linux RHEL > + > +.. code-block:: bash > + > + sudo dnf groupinstall "Development Tools" > + > +openSUSE > + > +.. code-block:: bash > + > + sudo zypper install -t pattern devel_basis python3-pyelftools > + Looking through these package lists, I think we need to add libnuma development packages to them. For debian/ubuntu, that would be "libnuma-dev". For Fedora, I think it's "numactl-devel". > +FreeBSD > +^^^^^^^ > + > +Common Tools for FreeBSD: > + > +.. code-block:: bash > + > + pkg install gcc pkgconf python3 meson ninja pyelftools Actually, we don't need gcc here. FreeBSD comes with clang and uses it as the default compiler. > + > +.. note:: > + > + If you're using FreeBSD, make sure kernel sources are included during the FreeBSD installation. > + > +Windows System Requirements > +^^^^^^^^^^^^^^^^^^^^^^^^^^^ > + > +Building the DPDK and its applications on Windows requires one of the following > +environments: > + > +- The Clang-LLVM C compiler and Microsoft MSVC linker. > +- The MinGW-w64 toolchain (either native or cross). > + > +The Meson Build system is used to prepare the sources for compilation with the Ninja backend. > + > +Option 1: Clang-LLVM C Compiler and Microsoft MSVC Linker > +""""""""""""""""""""""""""""""""""""""""""""""""""""""""" > + > +1. Install the Compiler: Download and install the Clang compiler from the > + `LLVM website `_. > + > +2. Install the Linker: Download and install the Build Tools for Visual Studio from the > + `Microsoft website `_. > + When installing build tools, select the “Visual C++ build tools” option and make sure > + the Windows SDK is selected. > + > +Option 2: MinGW-w64 Toolchain > +"""""""""""""""""""""""""""""" > + > +1. On Linux (for cross-compilation): Install MinGW-w64 via a package manager. > + Version 4.0.4 for Ubuntu 16.04 cannot be used due to a MinGW-w64 bug. > + > +2. On Windows: Obtain the latest version installer from the > + `MinGW-w64 repository `_. > + Any thread model (POSIX or Win32) can be chosen, DPDK does not rely on it. > + Install to a folder without spaces in its name, like ``C:\MinGW``. > + This path is assumed for the rest of this guide. > + > +Install the Build System > +^^^^^^^^^^^^^^^^^^^^^^^^ > + > +Download and install the build system from the > +`Meson website `_. > +A good option to choose is the MSI installer for both meson and ninja together. > +Required version is Meson 0.57.x (baseline). > + > +Getting the DPDK Source > +----------------------- > + > +Linux and FreeBSD > +^^^^^^^^^^^^^^^^^ > + > +.. code-block:: bash > + > + wget https://fast.dpdk.org/rel/dpdk-.tar.xz > + tar -xvf dpdk-.tar.xz For "xz" files, I believe tar uses -J flag, so this should be "tar -xJf", not "tar -xvf" > + cd dpdk- > + > +Windows > +^^^^^^^ > + > +Download the DPDK source code from `DPDK's official website `_ or clone the repository using a Git client. Extract the downloaded archive, if applicable, and navigate to the DPDK directory. > + > +Navigate to the directory where the DPDK source code is located: > + > +.. code-block:: bash > + > + cd C:\path\to\dpdk- > + > +Building DPDK > +------------- > + > +Linux and FreeBSD > +^^^^^^^^^^^^^^^^^ > + > +.. code-block:: bash > + > + meson build "meson build" now gives a warning with latest versions of meson, since we don't specify and operation. Change this to "meson setup build". You should add a note immediately after the "Building DPDK" header, stating that in all examples "build" is used as the name of the build directory. This should ensure readers don't think it's part of the command itself. > + ninja -C build For consistency with windows, do we want to change this to "meson compile -C build"? If we do, it would allow us to have subsections only for "configuring the build with meson" and have a common "build" section if we want. [I don't think we should do this yet, but we may want to in future]. > + > +Windows > +^^^^^^^ > + > +**Option 1: Using Clang-LLVM** > + > +.. code-block:: bash > + > + set CC=clang > + meson setup -Dexamples=helloworld build > + meson compile -C build > + > +**Option 2: Using MinGW-w64** > + > +.. code-block:: bash > + > + set PATH=C:\MinGW\mingw64\bin;%PATH% > + meson setup -Dexamples=helloworld build > + meson compile -C build > + > +.. note:: > + > + For detailed information on Meson build configuration options specific to DPDK, see :ref:`DPDK Meson Build Configuration Options `. > + > +Cross-Compilation Instructions for Different Architectures > +---------------------------------------------------------- > + > +For instructions on building DPDK for ARM64, LoongArch, and RISC-V, refer to :ref:`cross_compile_dpdk`. > \ No newline at end of file > diff --git a/doc/guides/getting_started_guide/install_and_build/index.rst b/doc/guides/getting_started_guide/install_and_build/index.rst > new file mode 100644 > index 0000000000..48e438282f > --- /dev/null > +++ b/doc/guides/getting_started_guide/install_and_build/index.rst > @@ -0,0 +1,14 @@ > +.. SPDX-License-Identifier: BSD-3-Clause > + Copyright(c) 2010-2025 Intel Corporation. > + > +.. _install_and_build: > + > +Install and Build DPDK > +====================== > + > +.. toctree:: > + :maxdepth: 2 > + > + > + installing_prebuilt_packages > + building_from_sources > \ No newline at end of file > diff --git a/doc/guides/getting_started_guide/install_and_build/installing_prebuilt_packages.rst b/doc/guides/getting_started_guide/install_and_build/installing_prebuilt_packages.rst > new file mode 100644 > index 0000000000..3e395d65f1 > --- /dev/null > +++ b/doc/guides/getting_started_guide/install_and_build/installing_prebuilt_packages.rst > @@ -0,0 +1,54 @@ > +.. SPDX-License-Identifier: BSD-3-Clause > + Copyright(c) 2010-2025 Intel Corporation. > + > +.. _installing_prebuilt_packages: > + > +Installing Pre-built Packages > +============================= > + > +Pre-built packages provide a convenient way to install DPDK without the need to compile > +the source code manually. These packages are created and maintained by the DPDK > +community or OS vendors and are available for various operating systems and > +distributions. > + > +Available Distributions > +----------------------- > + > +Linux > +^^^^^ > + > +Pre-built DPDK packages are available for several popular Linux distributions, > +including but not limited to: > + > +Alpine > + > +.. code-block:: bash > + > + sudo apk add dpdk > + > +Debian and Ubuntu and derivatives > + > +.. code-block:: bash > + > + sudo apt-get install dpdk > + > +Fedora and RedHat Enterprise Linux RHEL > + > +.. code-block:: bash > + > + sudo dnf install dpdk > + > +openSUSE > + > +.. code-block:: bash > + > + sudo zypper install dpdk > + > +FreeBSD > +^^^^^^^ > + > +To install DPDK on FreeBSD, use the following command: > + > +.. code-block:: bash > + > + sudo pkg install dpdk Update this to dpdk-20.11, since that is the latest DPDK version available (sadly) at this time. I need to chase up more on getting 22.11 merged there, and soon 23.11! > \ No newline at end of file > -- > 2.41.0.windows.1 >