Hello, I have a fix that changes all typedefs in gve_osdep.h to
#defines. It should be going out shortly.

On Thu, Oct 17, 2024 at 5:12 AM David Marchand
<david.march...@redhat.com> wrote:
>
> Hello guys,
>
> I am not clear if this issue is new (and what caused it), but
> compilation fails on Rawhide for the net/gve driver (see below for the
> log).
>
> Afaics, Intel drivers wrapped __le16 types (and friends) using macros
> (example: 
> https://git.dpdk.org/dpdk/tree/drivers/net/i40e/base/i40e_osdep.h#n47),
> and I suspect it was to avoid such conflicts.
>
> Can you send a fix please?
>
> [  224s] FAILED: drivers/libtmp_rte_net_gve.a.p/net_gve_base_gve_adminq.c.o
> [  224s] cc -Idrivers/libtmp_rte_net_gve.a.p -Idrivers -I../drivers
> -Idrivers/net/gve -I../drivers/net/gve -I../drivers/net/gve/base
> -Ilib/ethdev -I../lib/ethdev -I. -I.. -Iconfig -I../config
> -Ilib/eal/include -I../lib/eal/include -Ilib/eal/linux/include
> -I../lib/eal/linux/include -Ilib/eal/x86/include
> -I../lib/eal/x86/include -Ilib/eal/common -I../lib/eal/common
> -Ilib/eal -I../lib/eal -Ilib/kvargs -I../lib/kvargs -Ilib/log
> -I../lib/log -Ilib/metrics -I../lib/metrics -Ilib/telemetry
> -I../lib/telemetry -Ilib/net -I../lib/net -Ilib/mbuf -I../lib/mbuf
> -Ilib/mempool -I../lib/mempool -Ilib/ring -I../lib/ring -Ilib/meter
> -I../lib/meter -Idrivers/bus/pci -I../drivers/bus/pci
> -I../drivers/bus/pci/linux -Ilib/pci -I../lib/pci -Idrivers/bus/vdev
> -I../drivers/bus/vdev -fdiagnostics-color=always
> -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -std=c11 -O3
> -include rte_config.h -Wcast-qual -Wdeprecated -Wformat
> -Wmissing-declarations -Wmissing-prototypes -Wnested-externs
> -Wold-style-definition -Wpointer-arith -Wsign-compare
> -Wstrict-prototypes -Wundef -Wwrite-strings
> -Wno-address-of-packed-member -Wno-packed-not-aligned
> -Wno-missing-field-initializers -Wno-zero-length-bounds -D_GNU_SOURCE
> -fcommon -Werror -fPIC -march=corei7 -mrtm -DALLOW_EXPERIMENTAL_API
> -DALLOW_INTERNAL_API -Wno-format-truncation
> -DRTE_LOG_DEFAULT_LOGTYPE=pmd.net.gve -MD -MQ
> drivers/libtmp_rte_net_gve.a.p/net_gve_base_gve_adminq.c.o -MF
> drivers/libtmp_rte_net_gve.a.p/net_gve_base_gve_adminq.c.o.d -o
> drivers/libtmp_rte_net_gve.a.p/net_gve_base_gve_adminq.c.o -c
> ../drivers/net/gve/base/gve_adminq.c
> [  224s] In file included from ../drivers/net/gve/base/../base/gve_desc.h:11,
> [  224s]                  from ../drivers/net/gve/base/../base/gve.h:9,
> [  224s]                  from ../drivers/net/gve/base/../gve_ethdev.h:13,
> [  224s]                  from ../drivers/net/gve/base/gve_adminq.c:6:
> [  224s] ../drivers/net/gve/base/../base/gve_osdep.h:41:20: error:
> conflicting types for ‘__be64’; have ‘rte_be64_t’ {aka ‘long
> unsigned int’}
> [  224s]    41 | typedef rte_be64_t __be64;
> [  224s]       |                    ^~~~~~
> [  224s] In file included from /usr/include/linux/sched/types.h:5,
> [  224s]                  from /usr/include/bits/sched.h:60,
> [  224s]                  from /usr/include/sched.h:43,
> [  224s]                  from /usr/include/pthread.h:22,
> [  224s]                  from ../lib/ethdev/ethdev_driver.h:17,
> [  224s]                  from ../drivers/net/gve/base/../gve_ethdev.h:8:
> [  224s] /usr/include/linux/types.h:36:25: note: previous declaration
> of ‘__be64’ with type ‘__be64’ {aka ‘long long unsigned
> int’}
> [  224s]    36 | typedef __u64 __bitwise __be64;
> [  224s]       |                         ^~~~~~
> [  224s] ../drivers/net/gve/base/../base/gve_osdep.h:45:20: error:
> conflicting types for ‘__le64’; have ‘rte_le64_t’ {aka ‘long
> unsigned int’}
> [  224s]    45 | typedef rte_le64_t __le64;
> [  224s]       |                    ^~~~~~
> [  224s] /usr/include/linux/types.h:35:25: note: previous declaration
> of ‘__le64’ with type ‘__le64’ {aka ‘long long unsigned
> int’}
> [  224s]    35 | typedef __u64 __bitwise __le64;
> [  224s]       |                         ^~~~~~
>
>
>
> --
> David Marchand
>


-- 

Joshua Washington | Software Engineer | joshw...@google.com | (414) 366-4423

Reply via email to