The commit shortlog doesn't explain what is the problem here. Build
error with Fedora?

It looks like the commit from dpdk had this but why is this needed for
meta-dpdk. Please add proper log/message.

Thanks,

Anuj

On Mon, 2025-02-10 at 17:42 +0800, Xiangyu Chen via
lists.yoctoproject.org wrote:
> From: Xiangyu Chen <[email protected]>
> 
> Signed-off-by: Xiangyu Chen <[email protected]>
> ---
>  ...1-net-gve-base-fix-build-with-Fedora.patch | 96
> +++++++++++++++++++
>  ...0001-net-ionic-fix-build-with-Fedora.patch | 66 +++++++++++++
>  recipes-extended/dpdk/dpdk_23.11.1.bb         |  4 +-
>  3 files changed, 165 insertions(+), 1 deletion(-)
>  create mode 100644 recipes-extended/dpdk/dpdk/0001-net-gve-base-fix-
> build-with-Fedora.patch
>  create mode 100644 recipes-extended/dpdk/dpdk/0001-net-ionic-fix-
> build-with-Fedora.patch
> 
> diff --git a/recipes-extended/dpdk/dpdk/0001-net-gve-base-fix-build-
> with-Fedora.patch b/recipes-extended/dpdk/dpdk/0001-net-gve-base-fix-
> build-with-Fedora.patch
> new file mode 100644
> index 0000000..d3c923c
> --- /dev/null
> +++ b/recipes-extended/dpdk/dpdk/0001-net-gve-base-fix-build-with-
> Fedora.patch
> @@ -0,0 +1,96 @@
> +From f0d9e787747dda0715654da9f0501f54fe105868 Mon Sep 17 00:00:00
> 2001
> +From: Joshua Washington <[email protected]>
> +Date: Thu, 17 Oct 2024 16:42:33 -0700
> +Subject: net/gve/base: fix build with Fedora Rawhide
> +
> +Currently, a number of integer types are typedef'd to their
> corresponding
> +userspace or RTE values. This can be problematic if these types are
> +already defined somewhere else, as it would cause type collisions.
> +This patch changes the typedefs to #define macros which are only
> defined
> +if the types are not defined already.
> +
> +Note: this was reported by OBS CI on 2024/10/17, when compiling DPDK
> +in Fedora Rawhide.
> +
> +Fixes: c9ba2caf6302 ("net/gve/base: add OS-specific implementation")
> +Fixes: abf1242fbb84 ("net/gve: add struct members and typedefs for
> DQO")
> +Cc: [email protected]
> +
> +Upstream-Status: Backport from
> +[
> https://git.dpdk.org/dpdk/commit/?id=f0d9e787747dda0715654da9f0501f54
> fe105868]
> +
> +Reported-by: David Marchand <[email protected]>
> +Signed-off-by: Joshua Washington <[email protected]>
> +Signed-off-by: Xiangyu Chen <[email protected]>
> +---
> + drivers/net/gve/base/gve_osdep.h | 48
> ++++++++++++++++++++++++++++++----------
> + 1 file changed, 36 insertions(+), 12 deletions(-)
> +
> +(limited to 'drivers/net/gve/base/gve_osdep.h')
> +
> +diff --git a/drivers/net/gve/base/gve_osdep.h
> b/drivers/net/gve/base/gve_osdep.h
> +index c0ee0d567c..64181cebd6 100644
> +--- a/drivers/net/gve/base/gve_osdep.h
> ++++ b/drivers/net/gve/base/gve_osdep.h
> +@@ -29,22 +29,46 @@
> + #include <sys/utsname.h>
> + #endif
> + 
> +-typedef uint8_t u8;
> +-typedef uint16_t u16;
> +-typedef uint32_t u32;
> +-typedef uint64_t u64;
> ++#ifndef u8
> ++#define u8 uint8_t
> ++#endif
> ++#ifndef u16
> ++#define u16 uint16_t
> ++#endif
> ++#ifndef u32
> ++#define u32 uint32_t
> ++#endif
> ++#ifndef u64
> ++#define u64 uint64_t
> ++#endif
> + 
> +-typedef rte_be16_t __sum16;
> ++#ifndef __sum16
> ++#define __sum16 rte_be16_t
> ++#endif
> + 
> +-typedef rte_be16_t __be16;
> +-typedef rte_be32_t __be32;
> +-typedef rte_be64_t __be64;
> ++#ifndef __be16
> ++#define __be16 rte_be16_t
> ++#endif
> ++#ifndef __be32
> ++#define __be32 rte_be32_t
> ++#endif
> ++#ifndef __be64
> ++#define __be64 rte_be64_t
> ++#endif
> + 
> +-typedef rte_le16_t __le16;
> +-typedef rte_le32_t __le32;
> +-typedef rte_le64_t __le64;
> ++#ifndef __le16
> ++#define __le16 rte_le16_t
> ++#endif
> ++#ifndef __le32
> ++#define __le32 rte_le32_t
> ++#endif
> ++#ifndef __le64
> ++#define __le64 rte_le64_t
> ++#endif
> + 
> +-typedef rte_iova_t dma_addr_t;
> ++#ifndef dma_addr_t
> ++#define dma_addr_t rte_iova_t
> ++#endif
> + 
> + #define ETH_MIN_MTU RTE_ETHER_MIN_MTU
> + #define ETH_ALEN    RTE_ETHER_ADDR_LEN
> +-- 
> +cgit v1.2.3
> +
> diff --git a/recipes-extended/dpdk/dpdk/0001-net-ionic-fix-build-
> with-Fedora.patch b/recipes-extended/dpdk/dpdk/0001-net-ionic-fix-
> build-with-Fedora.patch
> new file mode 100644
> index 0000000..4f8e8b5
> --- /dev/null
> +++ b/recipes-extended/dpdk/dpdk/0001-net-ionic-fix-build-with-
> Fedora.patch
> @@ -0,0 +1,66 @@
> +From 45d48356e552d661885e1c29613891c11cd8ff4a Mon Sep 17 00:00:00
> 2001
> +From: Timothy Redaelli <[email protected]>
> +Date: Thu, 24 Oct 2024 11:30:06 +0200
> +Subject: net/ionic: fix build with Fedora Rawhide
> +
> +Currently, a number of integer types are typedef'd to their
> corresponding
> +userspace or RTE values. This can be problematic if these types are
> +already defined somewhere else, as it would cause type collisions.
> +This patch changes the typedefs to #define macros which are only
> defined
> +if the types are not defined already.
> +
> +Fixes: 5ef518098ec6 ("net/ionic: register and initialize adapter")
> +
> +Upstream-Status: Backport
> +[
> https://git.dpdk.org/dpdk-stable/patch/?id=45d48356e552d661885e1c2961
> 3891c11cd8ff4a]
> +
> +Signed-off-by: Timothy Redaelli <[email protected]>
> +Signed-off-by: Xiangyu Chen <[email protected]>
> +---
> + drivers/net/ionic/ionic_osdep.h | 30 ++++++++++++++++++++++--------
> + 1 file changed, 22 insertions(+), 8 deletions(-)
> +
> +diff --git a/drivers/net/ionic/ionic_osdep.h
> b/drivers/net/ionic/ionic_osdep.h
> +index 68f767b920..97188dfd59 100644
> +--- a/drivers/net/ionic/ionic_osdep.h
> ++++ b/drivers/net/ionic/ionic_osdep.h
> +@@ -30,14 +30,28 @@
> + 
> + #define __iomem
> + 
> +-typedef uint8_t      u8;
> +-typedef uint16_t u16;
> +-typedef uint32_t u32;
> +-typedef uint64_t u64;
> +-
> +-typedef uint16_t __le16;
> +-typedef uint32_t __le32;
> +-typedef uint64_t __le64;
> ++#ifndef u8
> ++#define u8 uint8_t
> ++#endif
> ++#ifndef u16
> ++#define u16 uint16_t
> ++#endif
> ++#ifndef u32
> ++#define u32 uint32_t
> ++#endif
> ++#ifndef u64
> ++#define u64 uint64_t
> ++#endif
> ++
> ++#ifndef __le16
> ++#define __le16 rte_le16_t
> ++#endif
> ++#ifndef __le32
> ++#define __le32 rte_le32_t
> ++#endif
> ++#ifndef __le64
> ++#define __le64 rte_le64_t
> ++#endif
> + 
> + #define ioread8(reg)                rte_read8(reg)
> + #define ioread32(reg)               rte_read32(rte_le_to_cpu_32(reg))
> +-- 
> +cgit v1.2.3
> +
> diff --git a/recipes-extended/dpdk/dpdk_23.11.1.bb b/recipes-
> extended/dpdk/dpdk_23.11.1.bb
> index e7a0a23..b505d55 100644
> --- a/recipes-extended/dpdk/dpdk_23.11.1.bb
> +++ b/recipes-extended/dpdk/dpdk_23.11.1.bb
> @@ -1,6 +1,8 @@
>  include dpdk.inc
>  
> -SRC_URI += "
> file://0001-config-meson-get-cpu_instruction_set-from-meson-opti.patch
>  "
> +SRC_URI += "
> file://0001-config-meson-get-cpu_instruction_set-from-meson-opti.patch
>  \
> +             file://0001-net-ionic-fix-build-with-Fedora.patch \
> +             file://0001-net-gve-base-fix-build-with-Fedora.patch"
>  
>  STABLE = "-stable"
>  BRANCH = "23.11"
> 
> 
> 

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#8485): 
https://lists.yoctoproject.org/g/meta-intel/message/8485
Mute This Topic: https://lists.yoctoproject.org/mt/111099372/21656
Group Owner: [email protected]
Unsubscribe: https://lists.yoctoproject.org/g/meta-intel/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to